AgeGatingResult.fromMap constructor

AgeGatingResult.fromMap(
  1. Map map
)

Implementation

factory AgeGatingResult.fromMap(
  Map<dynamic, dynamic> map,
) {
  final rawPlatform =
      map['platform']
          ?.toString()
          .trim()
          .toLowerCase();

  return AgeGatingResult(
    platform: switch (rawPlatform) {
      'ios' => AgeGatingPlatform.ios,
      'android' => AgeGatingPlatform.android,
      _ => AgeGatingPlatform.unknown,
    },

    isEligibleForAgeFeatures:
        map['isEligibleForAgeFeatures'] == true,

    ageRange:
        map['ageRange']?.toString(),

    requiredRegulatoryFeatures:
        List<String>.from(
      map['requiredRegulatoryFeatures'] ??
          const <String>[],
    ),

    ageSignalsAccessStatus:
        switch (
          map['ageSignalsAccessStatus']?.toString()
        ) {
      'shared' =>
        AgeSignalsAccessStatus.shared,

      'notShared' =>
        AgeSignalsAccessStatus.notShared,

      'verificationRequired' =>
        AgeSignalsAccessStatus.verificationRequired,

      'unspecified' =>
        AgeSignalsAccessStatus.unspecified,

      _ =>
        AgeSignalsAccessStatus.notApplicable,
    },
  );
}