in chz/blueprint/_argv.py [0:0]
def _collapse_layer(ordered_args: Sequence[tuple[str, Any]], layer: Layer) -> list[tuple[str, Any]]:
"""Collapses `layer` into `ordered_args`, overriding any old keys as necessary."""
layer_args: list[tuple[str, Any]] = []
keys_to_remove: set[str] = set()
previous_keys = {prev_key for prev_key, _ in ordered_args}
for key, value in itertools.chain(layer.qualified.items(), layer.wildcard.items()):
# Remove any previous args that would be overwritten by this one.
wildcard = wildcard_key_to_regex(key) if "..." in key else None
if wildcard:
for prev_key, _ in ordered_args:
# TODO(shantanu): usually this regex is only matched against concrete keys
# However, here we're matching against other wildcards
if wildcard.fullmatch(prev_key):
keys_to_remove.add(prev_key)
else:
if key in previous_keys:
keys_to_remove.add(key)
layer_args.append((key, value))
# Commit the new layer.
return [arg for arg in ordered_args if arg[0] not in keys_to_remove] + layer_args