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