BloomRuntimeFingerprint.fromMap constructor
Creates a fingerprint from raw manifest/lockfile JSON or Map map data.
Implementation
factory BloomRuntimeFingerprint.fromMap(Map<String, dynamic> map) {
final modules = <String, String>{};
final rawModules = map['native_modules'] ?? map['nativeModuleFingerprints'];
if (rawModules is Map) {
rawModules.forEach((k, v) {
if (v is Map && v['fingerprint'] != null) {
modules[k.toString()] = v['fingerprint'].toString();
} else if (v is String) {
modules[k.toString()] = v;
}
});
}
final perms = <String>[];
final rawPerms = map['permissions'] ?? map['plugins'];
if (rawPerms is List) {
for (final p in rawPerms) {
perms.add(p.toString());
}
}
return BloomRuntimeFingerprint(
bloomVersion: map['bloom_version']?.toString() ?? '1.0.0',
flutterEngineRevision: map['flutter_engine']?.toString() ?? map['flutter_version']?.toString() ?? '3.27.0',
dartSdkVersion: map['dart_sdk']?.toString() ?? map['dart_version']?.toString() ?? '3.6.0',
nativeModuleFingerprints: modules,
permissions: perms,
);
}