ModuleDefinition.fromMap constructor

ModuleDefinition.fromMap(
  1. Map map
)

Creates a module definition from the provided map.

Implementation

factory ModuleDefinition.fromMap(Map<dynamic, dynamic> map) {
  final optionsMap = Map<dynamic, dynamic>.from(map['options'] ?? const {});

  return ModuleDefinition(
    name: map['name'].toString(),
    displayName: map['display_name'].toString(),
    description: map['description'].toString(),
    version: map['version'].toString(),
    files: (map['files'] as List)
        .map(
          (e) => ModuleFile.fromMap(
            Map<dynamic, dynamic>.from(e),
          ),
        )
        .toList(),
    requirements: ModuleRequirements.fromMap(
      Map<dynamic, dynamic>.from(map['requires'] ?? const {}),
    ),
    options: optionsMap.map(
      (key, value) => MapEntry(
        key.toString(),
        ModuleOption.fromMap(
          name: key.toString(),
          map: Map<dynamic, dynamic>.from(value),
        ),
      ),
    ),
    integration: ModuleIntegration.fromMap(
      Map<dynamic, dynamic>.from(map['integration'] ?? const {}),
    ),
  );
}