JsonDecodedBuilder class

Builder for JSON-decoded data with both map and iterable methods.

Usage Examples:

// JSON string to object validation
final jsonValidator = v().string().toJson().jsonObject().build();

// JSON array validation
final jsonArrayValidator = v().string().toJson()
  .jsonArray()
  .jsonArrayEach(v().string().build())
  .build();

// Complex JSON structure
final apiResponseValidator = v().string().toJson().schema({
  'success': v().bool_().build(),
  'data': v().map().jsonObject().build(),
  'errors': v().list().jsonArray().optional().build(),
}).build();
Inheritance
Mixed-in types
Available extensions

Constructors

JsonDecodedBuilder({Chain? chain})

Properties

chain → Chain
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
isNullable → bool
finalinherited
isOptional → bool
finalinherited
negated ↔ bool
getter/setter pairinherited
not → JsonDecodedBuilder
Return a negated version of the builder (the negation flag is consumed by the next added validator)
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
self → JsonDecodedBuilder
no setterinherited

Methods

add(IValidator validator, {String? message}) → JsonDecodedBuilder
Add a validator to the chain.
inherited
build() → IValidator
Build resulting validator.
inherited
containsKey(dynamic key, {String? message}) → JsonDecodedBuilder
Validate that the map contains the specified key.
inherited
copyWith({bool? nullable, bool? optional}) → IValidator
inherited
deepEq(dynamic value, {String? message}) → JsonDecodedBuilder
Require the value to be deeply equal to the specified value.
inherited
each(IValidator elementValidator) → JsonDecodedBuilder
Validate that each element in the iterable satisfies the provided validator.
inherited
eq(dynamic value, {String? message}) → JsonDecodedBuilder
Require the value to be equal to the specified value.
inherited
error(String message) → JsonDecodedBuilder
Override final error message (retains codes).
inherited
flattenKeys([String delimiter = '.']) → JsonDecodedBuilder
Flatten nested map keys using the specified delimiter.
inherited
isNotValid(dynamic value) → bool
inherited
isNotValidAsync(dynamic value) → FutureOr<bool>
inherited
isValid(dynamic value) → bool
inherited
isValidAsync(dynamic value) → FutureOr<bool>
inherited
jsonArray({String? message}) → JsonDecodedBuilder
Validate that the value is a valid JSON array.
inherited
jsonArrayEach(IValidator elementValidator, {String? message}) → JsonDecodedBuilder
Validate that each element in a JSON array satisfies the provided validator.
inherited
jsonArrayLen({int? min, int? max, String? message}) → JsonDecodedBuilder
Validate the length of a JSON array.
inherited
jsonContainer({String? message}) → JsonDecodedBuilder
Validate that the value is a valid JSON container (object or array).
inherited
jsonObject({String? message}) → JsonDecodedBuilder
Validate that the value is a valid JSON object.
inherited
jsonRequiresKeys(Iterable<String> keys, {String? message}) → JsonDecodedBuilder
Validate that the JSON object contains all required keys.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
nullable<_>({String? message}) → JsonDecodedBuilder
Mark current chain nullable (null accepted as valid).
inherited
oneOf(Iterable values, {String? message}) → JsonDecodedBuilder
Require the value to be one of the specified options.
inherited
optional<_>() → JsonDecodedBuilder
Mark current chain optional (skipped when key absent).
inherited
pick(Iterable<String> keys) → JsonDecodedBuilder
Extract only the specified keys from the map.
inherited
pluck(String key) → JsonDecodedBuilder
Extract a single key from the map, keeping the map structure. @return The builder for chaining
inherited
pluckValue(String key) → GenericBuilder
Extract a single value from the map, returning a GenericBuilder for further operations. @return A GenericBuilder for the extracted value
inherited
schema(Map<String, IValidator> schema) → JsonDecodedBuilder
Validate the map against a schema where keys are optional unless specified.
inherited
strict(Map<String, IValidator> schema) → JsonDecodedBuilder
Validate the map against a strict schema where all keys must be present and match the validators.
inherited
toBigInt() → NumberBuilder
Transform the value to a BigInt.
inherited
toBool({String? message}) → BoolBuilder
Transform the value to a boolean using standard parsing.
inherited
toBoolLenient({String? message}) → BoolBuilder
Transform the value to a boolean using lenient parsing.
inherited
toBoolStrict({String? message}) → BoolBuilder
Transform the value to a boolean using strict parsing.
inherited
toDateTime() → DateTimeBuilder
Transform string to DateTime using standard parsing.
inherited
toDouble({String? message}) → DoubleBuilder
Transform the value to a double using standard parsing.
inherited
toInt({String? message}) → IntBuilder
Transform the value to an integer using standard parsing.
inherited
toIntSafe({String? message}) → IntBuilder
Transform the value to an integer using safe parsing (returns null on failure).
inherited
toIntStrict({String? message}) → IntBuilder
Transform the value to an integer using strict parsing (no fallback to 0).
inherited
toJson() → JsonDecodedBuilder
Transform JSON string to decoded object (Map/List).
inherited
toNum() → NumberBuilder
Transform the value to a number (int or double).
inherited
toString() → String
A string representation of this object.
inherited
toString_({String? message}) → StringBuilder
Transform the value to a string.
inherited
use(CustomPivot pivot) → GenericBuilder
Apply a custom transformation using the provided pivot.
inherited
validate(dynamic value, {bool? exists}) → Result
Convenience validate (sync only chain).
inherited
validateAsync(dynamic value, {bool? exists}) → Future<Result>
Convenience validateAsync (mixed / async).
inherited
validateOrThrow(dynamic value) → Result
inherited
validator(dynamic value) → FutureOr<Result>
inherited
wrap(IValidator fn(IValidator), {String? message}) → JsonDecodedBuilder
Wrap the current chain with a custom function.
inherited

Operators

operator &(IValidator other) → IValidator

Available on IValidator, provided by the EskemaEskValidatorOperations extension

Combines two validators with a logical AND, same as using all
operator ==(Object other) → bool
The equality operator.
inherited
operator >(Expectation error) → IValidator

Available on IValidator, provided by the EskemaEskValidatorOperations extension

Returns a new validator that will return the error message if the validation fails
operator |(IValidator other) → IValidator

Available on IValidator, provided by the EskemaEskValidatorOperations extension

Combines two validators with a logical OR, same as using any