BuiltNativeArtifact.fromJson constructor

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

Implementation

factory BuiltNativeArtifact.fromJson(Map<String, dynamic> json) {
  final target = json['target'] as Map<String, dynamic>;
  final ios = switch (target['iOSSdk'] as String?) {
    'iPhoneSimulator' => IOSSdk.iPhoneSimulator,
    'iPhoneOS' => IOSSdk.iPhoneOS,
    _ => null,
  };
  return BuiltNativeArtifact(
    id: json['id'] as String,
    target: NativeTarget(
      os: OS.values.firstWhere((o) => o.name == target['os']),
      architecture: Architecture.values.firstWhere(
        (a) => a.name == target['architecture'],
      ),
      iOSSdk: ios,
    ),
    kind: NativeArtifactKind.values.firstWhere(
      (k) => k.name == json['kind'],
      orElse: () => NativeArtifactKind.dynamicLibrary,
    ),
    primary: NativeArtifactEntry.fromJson(
      json['primary'] as Map<String, dynamic>,
    ),
    companions: (json['companions'] as List<dynamic>? ?? const [])
        .map((c) => NativeArtifactEntry.fromJson(c as Map<String, dynamic>))
        .toList(),
    metadata: (json['metadata'] as Map<String, dynamic>? ?? const {}),
  );
}