Interface OptionalSchemaAsync<TWrapped, TDefault>

Optional schema async interface.

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

Type Parameters

Hierarchy (View Summary)

Properties

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

Parses unknown input values.

Type declaration

"~standard": StandardProps<
    undefined
    | InferInput<TWrapped>,
    InferOptionalOutput<TWrapped, TDefault>,
>

The Standard Schema properties.

"~types"?: {
    input: undefined | InferInput<TWrapped>;
    issue: InferIssue;
    output: InferOptionalOutput;
}

The input, output and issue type.

async: true

Whether it's async.

default: TDefault

The default value.

expects: `(${TWrapped["expects"]} | undefined)`

The expected property.

kind: "schema"

The object kind.

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

The schema reference.

Type declaration

type: "optional"

The schema type.

wrapped: TWrapped

The wrapped schema.