$checkedNew<T> function
T
$checkedNew<T>(})
Helper function used in generated code when
JsonSerializableGenerator.checked
is true
.
Should not be used directly.
Implementation
T $checkedNew<T>(
String className,
Map map,
T Function() constructor, {
Map<String, String>? fieldKeyMap,
}) {
fieldKeyMap ??= const {};
try {
return constructor();
} on CheckedFromJsonException catch (e) {
if (identical(e.map, map) && e._className == null) {
e._className = className;
}
rethrow;
} catch (error, stack) {
String? key;
if (error is ArgumentError) {
key = fieldKeyMap[error.name] ?? error.name;
} else if (error is MissingRequiredKeysException) {
key = error.missingKeys.first;
} else if (error is DisallowedNullValueException) {
key = error.keysWithNullValues.first;
}
throw CheckedFromJsonException._(
error,
stack,
map,
key,
className: className,
);
}
}