Interface NullishSchemaAsync<TWrapped, TDefault>

Nullish schema async interface.

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

Type Parameters

Hierarchy (View Summary)

Properties

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

Parses unknown input values.

Type declaration

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

The Standard Schema properties.

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

The input, output and issue type.

async: true

Whether it's async.

default: TDefault

The default value.

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

The expected property.

kind: "schema"

The object kind.

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

The schema reference.

Type declaration

type: "nullish"

The schema type.

wrapped: TWrapped

The wrapped schema.