SelectDict
In bxl, Select = bxl.SelectDict | bxl.SelectConcat
. bxl.SelectDict
is a dict-like object that represents a select. One example of this type is python select({
You can: * Iterate over its keys (e.g., for key in select_dict.select_keys():
). * Iterate over key-value pairs using select_dict.select_items() (e.g., for key, value in select_dict.select_items():
). * Get the select entry with a string or a ProvidersLabel (e.g., select_dict.get_select_entry("root//constraints:a")
). * Check its type using `isinstance(select_dict, bxl.SelectDict)``.
SelectDict.get_select_entry
def SelectDict.get_select_entry(
key: providers_label | str,
/,
)
Return the entry of the select for the given key. It accepts either a string or a ProvidersLabel
.
Sample usage:
def _impl_select_dict(ctx):
node = ctx.lazy.unconfigured_target_node("root//:select_dict").resolve()
attr = node.get_attr("select_attr")
ctx.output.print(attr.get_select_entry("root//constraints:a"))
ctx.output.print(attr.get_select_entry("DEFAULT"))
# provider_label's type here is `ProvidersLabel`
ctx.output.print(attr.get_select_entry(provider_label))