TemplateDefinition.fromMap constructor

TemplateDefinition.fromMap(
  1. Map map
)

Creates a template definition from the provided map.

Implementation

factory TemplateDefinition.fromMap(Map<dynamic, dynamic> map) {
  final componentMap =
      Map<dynamic, dynamic>.from(map['components'] ?? const {});
  final groupMap = Map<dynamic, dynamic>.from(map['groups'] ?? const {});
  final moduleMap = Map<dynamic, dynamic>.from(map['modules'] ?? const {});

  return TemplateDefinition(
    schema: map['schema'] as int,
    name: map['name'] as String,
    displayName: map['display_name'] as String,
    setup: TemplateSetup.fromMap(
      Map<dynamic, dynamic>.from(map['setup'] ?? const {}),
    ),
    requirements: TemplateRequirements.fromMap(
      Map<dynamic, dynamic>.from(map['requires'] ?? const {}),
    ),
    description: map['description'] as String,
    di: TemplateDi.fromMap(
      Map<dynamic, dynamic>.from(map['di'] ?? const {}),
    ),
    barrel: TemplateBarrel.fromMap(
      Map<dynamic, dynamic>.from(map['barrel'] ?? const {}),
    ),
    version: map['version'].toString(),
    author: map['author'] as String,
    supports: List<String>.from(map['supports'] ?? const []),
    feature: TemplateFeature.fromMap(
      Map<dynamic, dynamic>.from(map['feature']),
    ),
    modules: moduleMap.map(
      (key, value) => MapEntry(
        key.toString(),
        TemplateModule.fromMap(
          Map<dynamic, dynamic>.from(value),
        ),
      ),
    ),
    groups: groupMap.map(
      (key, value) => MapEntry(
        key.toString(),
        TemplateGroup.fromMap(
          Map<dynamic, dynamic>.from(value),
        ),
      ),
    ),
    router: TemplateRouter.fromMap(
      Map<dynamic, dynamic>.from(map['router'] ?? const {}),
    ),
    components: componentMap.map(
      (key, value) => MapEntry(
        key.toString(),
        TemplateComponent.fromMap(
          Map<dynamic, dynamic>.from(value),
        ),
      ),
    ),
  );
}