Interface ExactOptionalSchema<TWrapped, TDefault>

Exact optional schema interface.

interface ExactOptionalSchema<
    TWrapped extends BaseSchema<unknown, unknown, BaseIssue<unknown>>,
    TDefault extends Default<TWrapped, never>,
> {
    "~run": (
        dataset: UnknownDataset,
        config: Config<BaseIssue<unknown>>,
    ) => OutputDataset<InferOutput<TWrapped>, InferIssue<TWrapped>>;
    "~standard": StandardProps<InferInput<TWrapped>, InferOutput<TWrapped>>;
    "~types"?: { input: InferInput; issue: InferIssue; output: InferOutput };
    async: false;
    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>;
    };
    type: "exact_optional";
    wrapped: TWrapped;
}

Type Parameters

Hierarchy (View Summary)

Properties

"~run": (
    dataset: UnknownDataset,
    config: Config<BaseIssue<unknown>>,
) => 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: false

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>;
}

The schema reference.

Type declaration

type: "exact_optional"

The schema type.

wrapped: TWrapped

The wrapped schema.