runtime library
Runtime support library imported by the generated *.easy.dart files.
This is not intended to be imported directly by application code — use
package:dart_easy_json/easy_json.dart for the annotations and
EasyIssue. It is public only so that generated code does not need to
reach into src/.
Classes
- EasyIssue
- A single problem found while parsing or validating a JSON payload.
Functions
-
asBool(
Object? v, {bool fallback = false}) → bool -
asBoolOrNull(
Object? v) → bool? -
asDouble(
Object? v, {double fallback = 0.0}) → double -
asDoubleOrNull(
Object? v) → double? -
asInt(
Object? v, {int fallback = 0}) → int -
asIntOrNull(
Object? v) → int? - Coerções básicas usadas no SAFE e no fast parse. Todas são "permissivas" e nunca lançam exceção.
-
asString(
Object? v, {String fallback = ''}) → String -
asStringOrNull(
Object? v) → String? -
coerceKeyIntOrNull(
Object? k) → int? - Map key coercion
-
coerceKeyString(
Object? k) → String -
decodeBigInt(
Object? v) → BigInt? - String decimal, ou um número inteiro.
-
decodeBytes(
Object? v) → Uint8List? - String em Base64.
-
decodeDateTime(
Object? v) → DateTime? - String ISO-8601, ou milissegundos desde a epoch.
-
decodeDuration(
Object? v) → Duration? - Número de microssegundos (ou String numérica).
-
decodeNum(
Object? v) → num? -
num, ou uma String numérica ("3.5"). -
decodeUri(
Object? v) → Uri? - String com uma URI válida.
-
dedupeIssues(
void onIssue(EasyIssue)?) → void Function(EasyIssue)? -
Envolve
onIssuepara descartar issues repetidas (mesmopathecode). -
enumByNameOr<
T extends Enum> (List< T> values, Object? v, T fallback) → T - Enums
-
mapListOrNull<
T> (Object? raw, ListItemMapper< T> f) → List<T> ? -
mapMapOrNull<
K, V> (Object? raw, MapEntryMapper< K, V> f) → Map<K, V> ? -
mapSetOrNull<
T> (Object? raw, SetItemMapper< T> f) → Set<T> ? -
parseDateTime(
Object? v, {DateTime? fallback}) → DateTime -
parseDateTimeOrNull(
Object? v) → DateTime? - DateTime helpers
-
writePath(
Map< String, dynamic> json, List<String> path, Object? value) → void -
Escreve
valueemjsonno caminho aninhadopath(ex.:['shipping', 'address', 'city']), criando os mapas intermediários. Usado pelotoJsongerado para campos com@EasyPath, para que a saída tenha o mesmo formato aninhado que ofromJsonlê.
Typedefs
-
ListItemMapper<
T> = T Function(int index, Object? raw) - Iteradores com índice (para List/Set/Map) — economizam código gerado
-
MapEntryMapper<
K, V> = MapEntry< K, V> ? Function(Object key, Object? value) -
SetItemMapper<
T> = T Function(int index, Object? raw)
Exceptions / Errors
- EasyValidationException
-
Thrown by the generated
fromJsonof a class annotated with@EasyJson(strict: true)when the payload fails validation.