fromJSON method

  1. @override
Object? fromJSON(
  1. dynamic jsonValue,
  2. DeserializationContext context
)
override

Implementation

@override
Object? fromJSON(dynamic jsonValue, DeserializationContext context) {
  dynamic transformDescriptorValue(value) =>
      _transformValue(value, context, doubleMapping: true);
  dynamic transformJsonValue(value) =>
      _transformValue(value, context, preTransform: true);
  dynamic convert(value) =>
      _enumDescriptor!.values.firstWhereOrNull((eValue) =>
          _enumDescriptor!.caseInsensitive == true
              ? transformJsonValue(value).toLowerCase() ==
                  transformDescriptorValue(eValue).toLowerCase()
              : transformJsonValue(value) ==
                  transformDescriptorValue(eValue)) ??
      _enumDescriptor!.defaultValue;
  return jsonValue is Iterable
      ? jsonValue.map(convert).toList()
      : convert(jsonValue);
}