Object schema interface.

interface ObjectSchema<
    TEntries extends ObjectEntries,
    TMessage extends ErrorMessage<ObjectIssue> | undefined,
> {
    "~run": (
        dataset: UnknownDataset,
        config: Config<BaseIssue<unknown>>,
    ) => OutputDataset<
        {
            [TKey in string
            | number
            | symbol]: OutputWithReadonly<
                TEntries,
                OutputWithQuestionMarks<TEntries, InferEntriesOutput<TEntries>>,
            >[TKey]
        },
        ObjectIssue
        | InferObjectIssue<TEntries>,
    >;
    "~standard": StandardProps<
        {
            [TKey in string
            | number
            | symbol]: InputWithQuestionMarks<TEntries, InferEntriesInput<TEntries>>[TKey]
        },
        {
            [TKey in string
            | number
            | symbol]: OutputWithReadonly<
                TEntries,
                OutputWithQuestionMarks<TEntries, InferEntriesOutput<TEntries>>,
            >[TKey]
        },
    >;
    "~types"?: {
        input: {
            [TKey in string
            | number
            | symbol]: InputWithQuestionMarks<TEntries, InferEntriesInput<TEntries>>[TKey]
        };
        issue: ObjectIssue
        | InferObjectIssue<TEntries>;
        output: {
            [TKey in string | number | symbol]: OutputWithReadonly<
                TEntries,
                OutputWithQuestionMarks<TEntries, InferEntriesOutput<TEntries>>,
            >[TKey]
        };
    };
    async: false;
    entries: TEntries;
    expects: "Object";
    kind: "schema";
    message: TMessage;
    reference: {
        <const TEntries extends ObjectEntries>(
            entries: TEntries,
        ): ObjectSchema<TEntries, undefined>;
        <
            const TEntries extends ObjectEntries,
            const TMessage extends undefined | ErrorMessage<ObjectIssue>,
        >(
            entries: TEntries,
            message: TMessage,
        ): ObjectSchema<TEntries, TMessage>;
    };
    type: "object";
}

Type Parameters

Hierarchy (View Summary)

Properties

"~run": (
    dataset: UnknownDataset,
    config: Config<BaseIssue<unknown>>,
) => OutputDataset<
    {
        [TKey in string
        | number
        | symbol]: OutputWithReadonly<
            TEntries,
            OutputWithQuestionMarks<TEntries, InferEntriesOutput<TEntries>>,
        >[TKey]
    },
    ObjectIssue
    | InferObjectIssue<TEntries>,
>

Parses unknown input values.

Type declaration

"~standard": StandardProps<
    {
        [TKey in string
        | number
        | symbol]: InputWithQuestionMarks<TEntries, InferEntriesInput<TEntries>>[TKey]
    },
    {
        [TKey in string
        | number
        | symbol]: OutputWithReadonly<
            TEntries,
            OutputWithQuestionMarks<TEntries, InferEntriesOutput<TEntries>>,
        >[TKey]
    },
>

The Standard Schema properties.

"~types"?: {
    input: {
        [TKey in string | number | symbol]: InputWithQuestionMarks<
            TEntries,
            InferEntriesInput<TEntries>,
        >[TKey]
    };
    issue: ObjectIssue
    | InferObjectIssue<TEntries>;
    output: {
        [TKey in string | number | symbol]: OutputWithReadonly<
            TEntries,
            OutputWithQuestionMarks<TEntries, InferEntriesOutput<TEntries>>,
        >[TKey]
    };
}

The input, output and issue type.

async: false

Whether it's async.

entries: TEntries

The entries schema.

expects: "Object"

The expected property.

kind: "schema"

The object kind.

message: TMessage

The error message.

reference: {
    <const TEntries extends ObjectEntries>(
        entries: TEntries,
    ): ObjectSchema<TEntries, undefined>;
    <
        const TEntries extends ObjectEntries,
        const TMessage extends undefined | ErrorMessage<ObjectIssue>,
    >(
        entries: TEntries,
        message: TMessage,
    ): ObjectSchema<TEntries, TMessage>;
}

The schema reference.

Type declaration

type: "object"

The schema type.