ProjectTemplate.fromJson constructor

ProjectTemplate.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory ProjectTemplate.fromJson(Map<String, dynamic> json) {
  Map<String, ProjectTemplateConfigValue>? config;
  final rawConfig = json['config'];
  if (rawConfig is Map) {
    config = <String, ProjectTemplateConfigValue>{};
    for (final entry in rawConfig.entries) {
      final value = entry.value;
      if (value is Map<String, dynamic>) {
        config['${entry.key}'] = ProjectTemplateConfigValue.fromJson(value);
      } else if (value is Map) {
        config['${entry.key}'] = ProjectTemplateConfigValue.fromJson(
          value.map((key, value) => MapEntry('$key', value)),
        );
      }
    }
  }

  return ProjectTemplate(
    description: json['description'] == null
        ? null
        : '${json['description']}',
    quickstart: json['quickstart'] == null ? null : '${json['quickstart']}',
    config: config,
    important: json['important'] == null ? null : json['important'] == true,
  );
}