defaultFieldValueResolver static method

Object? defaultFieldValueResolver(
  1. String field,
  2. Object? value,
  3. TypeReflection type,
  4. JsonDecoder jsonDecoder,
  5. EntityHandlerProvider? entityHandlerProvider,
)

Implementation

static Object? defaultFieldValueResolver(
    String field,
    Object? value,
    TypeReflection type,
    JsonDecoder jsonDecoder,
    EntityHandlerProvider? entityHandlerProvider) {
  if (type.isListEntity && value is Iterable) {
    return _iterableCaster(value, type, jsonDecoder, entityHandlerProvider);
  } else {
    if (value == null) {
      return null;
    } else if (type.type == value.runtimeType) {
      return value;
    } else if (type.isEntityReferenceType && value is EntityReference) {
      if (type.arguments0?.type == value.type) {
        return value;
      }
    } else if (type.isEntityReferenceListType &&
        value is EntityReferenceList) {
      if (type.arguments0?.type == value.type) {
        return value;
      }
    }

    return jsonDecoder.fromJson(value,
        typeInfo: type.typeInfo, autoResetEntityCache: false);
  }
}