Utilities for working with Emerge.Engine.Element trees.
Summary
Functions
Assign ids to elements missing an id.
Assign ids using a previous tree (compatibility wrapper).
Compute a hash of attributes excluding volatile fields.
Merge nearby mounts back into an attrs map.
Return nearby mounted children in canonical order.
Return the fixed nearby slot tag order used across encoding.
Return the list of runtime-only attributes.
Split nearby mount attrs from ordinary attrs.
Drop nearby mounts from an attrs map.
Drop runtime-only attributes from an attrs map.
Types
@type id_state() :: %{explicit_seen: term()}
Functions
@spec assign_ids(Emerge.Engine.Element.t(), id_state()) :: {Emerge.Engine.Element.t(), id_state()}
Assign ids to elements missing an id.
@spec assign_ids_with_prev( Emerge.Engine.Element.t(), Emerge.Engine.Element.t() | nil, id_state() ) :: {Emerge.Engine.Element.t(), id_state()}
Assign ids using a previous tree (compatibility wrapper).
@spec attrs_hash(map()) :: non_neg_integer()
Compute a hash of attributes excluding volatile fields.
Merge nearby mounts back into an attrs map.
Return nearby mounted children in canonical order.
Return the fixed nearby slot tag order used across encoding.
Return the list of runtime-only attributes.
Split nearby mount attrs from ordinary attrs.
Drop nearby mounts from an attrs map.
Drop runtime-only attributes from an attrs map.