domain/services/domain_grouping library

Classes

DomainGroupItem
Either a standalone domain row, or a family card grouping multiple variants under a single row (the active variant decides the displayed name).
FamilyDomain
SingleDomain

Constants

variantOrder → const List<String>
Variant tier order — earlier entries are "more complete", later entries are "more condensed". Used both for sort order in family groupings and for fallback variant selection when no override/preference is set.

Functions

groupDomainsByFamily(List<DomainEntity> domains) List<DomainGroupItem>
Groups a flat list of DomainEntity by domain_family. Domains with a null family stay as SingleDomain; multiple domains sharing a family collapse into one FamilyDomain whose variants are sorted by variantOrder. The first family encountered wins the slot — duplicates are skipped.
resolveActiveVariant(FamilyGroup group, Map<String, String> overrides, Map<String, String> persisted) DomainEntity
Returns the variant inside group that should be currently active, given session-level overrides (e.g. the family picker on the Domains list) and persisted user preferences. Falls back to the first variant in variantOrder.
stripVariantSuffix(String name) String

Typedefs

FamilyGroup = ({String family, List<DomainEntity> variants})
Cross-file shape for a domain family + its variants. Variants are sorted by variantOrder.