<S extends ConstraintEncoder<unknown>>(
schema: S,
options?: SchemaAST.ParseOptions
): (
input: S["Type"],
options?: SchemaAST.ParseOptions
) => Promise<S["Encoded"]>Encodes a typed input (the schema's Type) against a schema, returning a
Promise that resolves with the encoded value or rejects with a
SchemaError for schema mismatches.
When to use
Use when you already have a value typed as the schema's Type and need
encoding to return a JavaScript Promise that rejects with SchemaError for
schema mismatches.
Details
For unknown input use encodeUnknownPromise.
Options may be provided either when creating the encoder or when applying it;
application options override creation options.
Gotchas
Non-schema failures may reject with a runtime failure instead of
SchemaError.
export const const encodePromise: <
S extends ConstraintEncoder<unknown>
>(
schema: S,
options?: SchemaAST.ParseOptions
) => (
input: S["Type"],
options?: SchemaAST.ParseOptions
) => Promise<S["Encoded"]>
Encodes a typed input (the schema's Type) against a schema, returning a
Promise that resolves with the encoded value or rejects with a
SchemaError
for schema mismatches.
When to use
Use when you already have a value typed as the schema's Type and need
encoding to return a JavaScript Promise that rejects with SchemaError for
schema mismatches.
Details
For unknown input use
encodeUnknownPromise
.
Options may be provided either when creating the encoder or when applying it;
application options override creation options.
Gotchas
Non-schema failures may reject with a runtime failure instead of
SchemaError.
encodePromise: <function (type parameter) S in <S extends ConstraintEncoder<unknown>>(schema: S, options?: SchemaAST.ParseOptions): (input: S["Type"], options?: SchemaAST.ParseOptions) => Promise<S["Encoded"]>S extends interface ConstraintEncoder<out E, out RE = never>Lightweight structural constraint for APIs that need encoder type views but
do not need the full schema protocol.
When to use
Use when you need to preserve a schema's encoded type and encoding services,
but the API does not constrain the decoded type, decoding services, or call
schema methods such as annotate, check, rebuild, make, or
makeEffect.
ConstraintEncoder<unknown>>(
schema: S extends ConstraintEncoder<unknown>schema: function (type parameter) S in <S extends ConstraintEncoder<unknown>>(schema: S, options?: SchemaAST.ParseOptions): (input: S["Type"], options?: SchemaAST.ParseOptions) => Promise<S["Encoded"]>S,
options: SchemaAST.ParseOptionsoptions?: import SchemaASTSchemaAST.ParseOptions
) => (input: S["Type"]input: function (type parameter) S in <S extends ConstraintEncoder<unknown>>(schema: S, options?: SchemaAST.ParseOptions): (input: S["Type"], options?: SchemaAST.ParseOptions) => Promise<S["Encoded"]>S["Type"], options: SchemaAST.ParseOptionsoptions?: import SchemaASTSchemaAST.ParseOptions) => interface Promise<T>Represents the completion of an asynchronous operation
Promise<function (type parameter) S in <S extends ConstraintEncoder<unknown>>(schema: S, options?: SchemaAST.ParseOptions): (input: S["Type"], options?: SchemaAST.ParseOptions) => Promise<S["Encoded"]>S["Encoded"]> = function encodeUnknownPromise<
S extends ConstraintEncoder<unknown>
>(
schema: S,
options?: SchemaAST.ParseOptions
): (
input: unknown,
options?: SchemaAST.ParseOptions
) => Promise<S["Encoded"]>
Encodes an unknown input against a schema, returning a Promise that
resolves with the encoded value or rejects with a
SchemaError
for
schema mismatches.
When to use
Use when you need encoding of unknown input to return a JavaScript Promise
that rejects with SchemaError for schema mismatches.
Details
For values already typed as the schema's Type use
encodePromise
.
Options may be provided either when creating the encoder or when applying it;
application options override creation options.
Gotchas
Non-schema failures may reject with a runtime failure instead of
SchemaError.
encodeUnknownPromise