BuiltNativeArtifact.fromJson constructor
BuiltNativeArtifact.fromJson(
- 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 {}),
);
}