fromMap static method

MemberEntity? fromMap(
  1. Object? o, {
  2. Map<String, String>? newDocumentIds,
})

Implementation

static MemberEntity? fromMap(Object? o,
    {Map<String, String>? newDocumentIds}) {
  if (o == null) return null;
  var map = o as Map<String, dynamic>;

  var subscriptionsFromMap = map['subscriptions'];
  List<MemberSubscriptionEntity> subscriptionsList;
  if (subscriptionsFromMap != null) {
    subscriptionsList = (map['subscriptions'] as List<dynamic>)
        .map((dynamic item) => MemberSubscriptionEntity.fromMap(item as Map,
            newDocumentIds: newDocumentIds)!)
        .toList();
  } else {
    subscriptionsList = [];
  }
  var photoIdNewDocmentId = map['photoId'];
  if ((newDocumentIds != null) && (photoIdNewDocmentId != null)) {
    var photoIdOldDocmentId = photoIdNewDocmentId;
    photoIdNewDocmentId = newRandomKey();
    newDocumentIds[photoIdOldDocmentId] = photoIdNewDocmentId;
  }

  return MemberEntity(
    name: map['name'],
    subscriptions: subscriptionsList,
    subscriptionsAsStrArr: map['subscriptionsAsStrArr'] == null
        ? null
        : List.from(map['subscriptionsAsStrArr']),
    photoId: photoIdNewDocmentId,
    photoURL: map['photoURL'],
    shipStreet1: map['shipStreet1'],
    shipStreet2: map['shipStreet2'],
    shipCity: map['shipCity'],
    shipState: map['shipState'],
    postcode: map['postcode'],
    country: map['country'],
    invoiceSame: map['invoiceSame'],
    invoiceStreet1: map['invoiceStreet1'],
    invoiceStreet2: map['invoiceStreet2'],
    invoiceCity: map['invoiceCity'],
    invoiceState: map['invoiceState'],
    invoicePostcode: map['invoicePostcode'],
    invoiceCountry: map['invoiceCountry'],
    email: map['email'],
    isAnonymous: map['isAnonymous'],
  );
}