NativeTrackingProtocol.fromMap constructor

NativeTrackingProtocol.fromMap(
  1. Map<Object?, Object?> map
)

Implementation

factory NativeTrackingProtocol.fromMap(Map<Object?, Object?> map) {
  final rawVersion = map['version'];
  final version = rawVersion is num ? rawVersion.toInt() : 1;
  final rawCapabilities = map['capabilityCodes'] ?? map['capabilities'];
  final capabilityCodes = switch (rawCapabilities) {
    Iterable<Object?> values => values.whereType<String>(),
    String value => <String>[value],
    _ => const <String>[],
  };
  return NativeTrackingProtocol(
    version: version,
    capabilityCodes: capabilityCodes,
  );
}