safeParseAsync method
Async variant of safeParse. Use this when the schema has async
validators (added via refineAsync).
final result = await schema.safeParseAsync(value);
Implementation
Future<VResult<T?>> safeParseAsync(Object? value) async {
Object? input = await runPreprocessorsAsync(value);
final resolution = _resolveNull<T>(_defaultValue, _hasDefault, input);
if (resolution.earlyReturn != null) return resolution.earlyReturn!;
input = resolution.input;
final T typed;
if (coercer != null) {
try {
typed = coercer!(input!);
} catch (_) {
return _typeError<T>(T.toString(), input!);
}
} else {
try {
typed = input as T;
} catch (_) {
return _typeError<T>(T.toString(), input!);
}
}
return _runPipelineAsync(typed);
}