Blueprint.fromJson constructor
Blueprint.fromJson(
- Map<String, dynamic> json
)
Implementation
factory Blueprint.fromJson(Map<String, dynamic> json) {
final schemaVersion = json['schemaVersion'] as int;
if (schemaVersion == 2 || schemaVersion == 3) {
return Blueprint(
schemaVersion: schemaVersion,
projectName: json['projectName'] as String,
organization: json['organization'] as String,
destination: json['destination'] as String,
flutterSdkRequirement: json['flutterSdkRequirement'] as String,
targetPlatforms: Set<String>.from(json['targetPlatforms'] as Iterable),
validationProfile: ValidationProfile.values.firstWhere(
(e) => e.name == json['validationProfile'],
orElse: () => ValidationProfile.standard,
),
gitPreference: json['gitPreference'] as bool,
setupMode: json['setupMode'] == null
? null
: SetupMode.values.firstWhere((e) => e.name == json['setupMode']),
singleSelections: Map<String, String>.from(
json['singleSelections'] as Map? ?? const {},
),
multiSelections: {
for (final entry
in (json['multiSelections'] as Map? ?? const {}).entries)
entry.key as String: List<String>.from(entry.value as Iterable),
},
);
}
return Blueprint(
schemaVersion: schemaVersion,
projectName: json['projectName'] as String,
description: json['description'] as String,
organization: json['organization'] as String,
destination: json['destination'] as String,
flutterSdkRequirement: json['flutterSdkRequirement'] as String,
targetPlatforms: Set<String>.from(json['targetPlatforms'] as Iterable),
recipeId: json['recipeId'] as String,
recipeVersion: json['recipeVersion'] as String,
engineVersion: json['engineVersion'] as String,
integrations: Set<String>.from(json['integrations'] as Iterable),
validationProfile: ValidationProfile.values.firstWhere(
(e) => e.name == json['validationProfile'],
orElse: () => ValidationProfile.standard,
),
gitPreference: json['gitPreference'] as bool,
toolchainPolicy: Map<String, dynamic>.from(
json['toolchainPolicy'] as Map,
),
);
}