fromMap static method

PermissionResponse? fromMap(
  1. Map<String, dynamic>? map, {
  2. EnumMethod? enumMethod,
})

Gets a possible PermissionResponse instance from a Map value.

Implementation

static PermissionResponse? fromMap(
  Map<String, dynamic>? map, {
  EnumMethod? enumMethod,
}) {
  if (map == null) {
    return null;
  }
  final instance = PermissionResponse();
  instance.action = switch (enumMethod ?? EnumMethod.nativeValue) {
    EnumMethod.nativeValue => PermissionResponseAction.fromNativeValue(
      map['action'],
    ),
    EnumMethod.value => PermissionResponseAction.fromValue(map['action']),
    EnumMethod.name => PermissionResponseAction.byName(map['action']),
  };
  if (map['resources'] != null) {
    instance.resources = List<PermissionResourceType>.from(
      map['resources']
          .map(
            (e) => switch (enumMethod ?? EnumMethod.nativeValue) {
              EnumMethod.nativeValue =>
                PermissionResourceType.fromNativeValue(e),
              EnumMethod.value => PermissionResourceType.fromValue(e),
              EnumMethod.name => PermissionResourceType.byName(e),
            },
          )
          .whereType<PermissionResourceType>(),
    );
  }
  return instance;
}