ensureAsync()
ensureAsync<
T>(schema,input):ResultAsync<T,string>
Parses a value against a Kanon schema and returns a Zygos ResultAsync.
Async variant of ensure β designed for ResultAsync chains
where validation is one step in an async pipeline.
Type Parametersβ
T: Tβ
The expected output type of the schema.
Parametersβ
schema: Schema<T>β
Kanon schema to validate against.
input: unknownβ
Value to validate.
Returns: ResultAsync<T, string>β
OkAsync<T> if validation succeeds, ErrAsync<string> otherwise.
Sinceβ
2.1.0
Exampleβ
import { ensureAsync } from "pithos/bridges/ensureAsync";
import { object, string, number } from "pithos/kanon";
safeFetch("/api/user")
.andThen(res => safeJson(res))
.andThen(data => ensureAsync(UserSchema, data))
.map(user => user.name);