validateAsync method
Implementation
Future<JarResult> validateAsync(T? value,
[Map<String, dynamic>? allValues, String? path, Object? root]) async {
final syncResult = validate(value, allValues, path, root);
if (!syncResult.isValid || asyncTests.isEmpty) return syncResult;
final issues = <JarIssue>[];
for (final test in asyncTests) {
final context = JarTestContext(
parent: allValues, root: root ?? value, path: path, issues: issues);
final message = await test(value, context);
if (message != null) context.addIssue(message);
}
if (issues.isEmpty) return syncResult;
return JarResult(
isValid: false, error: issues.first.message, issues: issues);
}