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
groupthat should be currently active, given session-leveloverrides(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.