NativeProject.fromJson constructor

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

Implementation

factory NativeProject.fromJson(Map<String, dynamic> json) {
  return NativeProject(
    name: json['name'] as String,
    asset: NativeAssetSpec.fromJson(json['asset'] as Map<String, dynamic>),
    prebuilts: PrebuiltManifest.fromJson(
      json['prebuilts'] as Map<String, dynamic>,
    ),
    sources: (json['sources'] as List<dynamic>? ?? const [])
        .map(
          (source) =>
              SourceSpecification.fromJson(source as Map<String, dynamic>),
        )
        .toList(),
    build: NativeBuildDefinition.fromJson(
      json['build'] as Map<String, dynamic>,
    ),
    prebuiltPolicy: switch (json['prebuilt_policy'] as String?) {
      'force_source_build' => PrebuiltPolicy.forceSourceBuild,
      _ => PrebuiltPolicy.preferPrebuilt,
    },
  );
}