Interface ExactOptionalSchemaAsync<TWrapped, TDefault>

Exact optional schema async interface.

interface ExactOptionalSchemaAsync<
    TWrapped extends
        | BaseSchema<unknown, unknown, BaseIssue<unknown>>
        | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>,
    TDefault extends DefaultAsync<TWrapped, never>,
> {
    "~run": (
        dataset: UnknownDataset,
        config: Config<BaseIssue<unknown>>,
    ) => Promise<OutputDataset<InferOutput<TWrapped>, InferIssue<TWrapped>>>;
    "~standard": StandardProps<InferInput<TWrapped>, InferOutput<TWrapped>>;
    "~types"?: { input: InferInput; issue: InferIssue; output: InferOutput };
    async: true;
    default: TDefault;
    expects: TWrapped["expects"];
    kind: "schema";
    reference:
        | {
            <
                const TWrapped extends
                    BaseSchema<unknown, unknown, BaseIssue<unknown>>,
            >(
                wrapped: TWrapped,
            ): ExactOptionalSchema<TWrapped, undefined>;
            <
                const TWrapped extends
                    BaseSchema<unknown, unknown, BaseIssue<unknown>>,
                const TDefault extends unknown,
            >(
                wrapped: TWrapped,
                default_: TDefault,
            ): ExactOptionalSchema<TWrapped, TDefault>;
        }
        | {
            <
                const TWrapped extends
                    | BaseSchema<unknown, unknown, BaseIssue<unknown>>
                    | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>,
            >(
                wrapped: TWrapped,
            ): ExactOptionalSchemaAsync<TWrapped, undefined>;
            <
                const TWrapped extends
                    | BaseSchema<unknown, unknown, BaseIssue<unknown>>
                    | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>,
                const TDefault extends unknown,
            >(
                wrapped: TWrapped,
                default_: TDefault,
            ): ExactOptionalSchemaAsync<TWrapped, TDefault>;
        };
    type: "exact_optional";
    wrapped: TWrapped;
}

Type Parameters

Hierarchy (View Summary)

Properties

"~run": (
    dataset: UnknownDataset,
    config: Config<BaseIssue<unknown>>,
) => Promise<OutputDataset<InferOutput<TWrapped>, InferIssue<TWrapped>>>

Parses unknown input values.

Type declaration

The Standard Schema properties.

"~types"?: { input: InferInput; issue: InferIssue; output: InferOutput }

The input, output and issue type.

async: true

Whether it's async.

default: TDefault

The default value.

expects: TWrapped["expects"]

The expected property.

kind: "schema"

The object kind.

reference:
    | {
        <
            const TWrapped extends
                BaseSchema<unknown, unknown, BaseIssue<unknown>>,
        >(
            wrapped: TWrapped,
        ): ExactOptionalSchema<TWrapped, undefined>;
        <
            const TWrapped extends
                BaseSchema<unknown, unknown, BaseIssue<unknown>>,
            const TDefault extends unknown,
        >(
            wrapped: TWrapped,
            default_: TDefault,
        ): ExactOptionalSchema<TWrapped, TDefault>;
    }
    | {
        <
            const TWrapped extends
                | BaseSchema<unknown, unknown, BaseIssue<unknown>>
                | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>,
        >(
            wrapped: TWrapped,
        ): ExactOptionalSchemaAsync<TWrapped, undefined>;
        <
            const TWrapped extends
                | BaseSchema<unknown, unknown, BaseIssue<unknown>>
                | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>,
            const TDefault extends unknown,
        >(
            wrapped: TWrapped,
            default_: TDefault,
        ): ExactOptionalSchemaAsync<TWrapped, TDefault>;
    }

The schema reference.

Type declaration

type: "exact_optional"

The schema type.

wrapped: TWrapped

The wrapped schema.