NativeArtifactEntry.fromJson constructor

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

Implementation

factory NativeArtifactEntry.fromJson(Map<String, dynamic> json) {
  final sourcePath = json['source_path'] as String;
  final sourceKind = json['source_kind'] as String? ?? 'file';
  final source = sourceKind == 'directory'
      ? Directory(sourcePath)
      : File(sourcePath);
  return NativeArtifactEntry(
    source: source,
    path: json['path'] as String,
    role: NativeArtifactRole.values.firstWhere(
      (r) => r.name == json['role'],
      orElse: () => NativeArtifactRole.primary,
    ),
    optional: json['optional'] as bool? ?? false,
  );
}