SK2SubscriptionInfo.fromMap constructor

SK2SubscriptionInfo.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory SK2SubscriptionInfo.fromMap(Map<String, dynamic> map) {
  final legacyIsTrialEligible = map['isTrialEligible'] as bool?;
  final introOfferEligibility = map['introOfferEligibility'] != null
      ? SK2EligibilityStatus.values.byName(
          map['introOfferEligibility'] as String,
        )
      : legacyIsTrialEligible == null
      ? SK2EligibilityStatus.unknown
      : legacyIsTrialEligible
      ? SK2EligibilityStatus.eligible
      : SK2EligibilityStatus.ineligible;

  final introOfferMap = map['introOffer'] ?? map['trial'];

  return SK2SubscriptionInfo(
    period: map['period'] != null
        ? SK2Period.fromMap(Map<String, dynamic>.from(map['period'] as Map))
        : SK2Period(
            value: (map['periodDays'] as int?) ?? 0,
            unit: SK2PeriodUnit.day,
          ),
    isAutoRenewable: map['isAutoRenewable'] as bool,
    introOfferEligibility: introOfferEligibility,
    introOffer: introOfferMap != null
        ? SK2IntroOfferInfo.fromMap(
            Map<String, dynamic>.from(introOfferMap as Map),
          )
        : null,
  );
}