validateAll method

  1. @override
JarResult validateAll(
  1. dynamic value, [
  2. Map<String, dynamic>? allValues,
  3. String? path,
  4. Object? root,
])
override

Implementation

@override
JarResult validateAll(dynamic value,
    [Map<String, dynamic>? allValues, String? path, Object? root]) {
  final base = super.validateAll(value, allValues, path, root ?? value);
  if (!base.isValid) return base;
  if (schemas.isEmpty) return JarResult.success(value);

  JarResult? firstFailure;
  for (final schema in schemas) {
    final result = schema.validateAll(value, allValues, path, root ?? value);
    if (result.isValid) return JarResult.success(result.value);
    firstFailure ??= result;
  }
  return JarResult(
    isValid: false,
    error: firstFailure?.error ?? 'No matching schema in union',
    issues: firstFailure?.issues ??
        [
          JarIssue(
              path: path,
              code: 'invalid_union',
              message: 'No matching schema in union')
        ],
  );
}