UiSection.fromPagesList constructor

UiSection.fromPagesList(
  1. List<PageDefinition> pages, {
  2. String schemaVersion = '1.0.0',
  3. Map<String, WidgetDefinition> widgets = const {},
  4. ThemeConfig? theme,
  5. NavigationConfig? navigation,
  6. Map<String, StateDefinition> state = const {},
  7. Map<String, dynamic> raw = const {},
})

Legacy list → map adapter. Generators and consumers that built pages into a List<PageDefinition> (the pre-0.4.0 form) can call this factory directly — the synthesized map uses PageDefinition.id as the key. New code should use the literal map form UiSection(pages: {'id': PageDefinition(...)}).

Implementation

factory UiSection.fromPagesList(
  List<PageDefinition> pages, {
  String schemaVersion = '1.0.0',
  Map<String, WidgetDefinition> widgets = const {},
  ThemeConfig? theme,
  NavigationConfig? navigation,
  Map<String, StateDefinition> state = const {},
  Map<String, dynamic> raw = const {},
}) {
  final map = <String, PageDefinition>{};
  for (final page in pages) {
    map[page.id] = page;
  }
  return UiSection(
    schemaVersion: schemaVersion,
    pages: map,
    widgets: widgets,
    theme: theme,
    navigation: navigation,
    state: state,
    raw: raw,
  );
}