import { type SchemaWithOmit } from "https://deno.land/x/valibot@v1.0.0-beta.2-to-json-schema/src/methods/omit/omit.ts";
Schema with omit type.
Type Parameters
TKeys extends ObjectKeys<TSchema>
definition: TSchema extends ObjectSchema<infer TEntries, ErrorMessage<ObjectIssue> | undefined> | StrictObjectSchema<infer TEntries, ErrorMessage<StrictObjectIssue> | undefined> ? Omit<TSchema, "entries" | "~types" | "~validate"> & { readonly entries: Omit<TEntries, TKeys[number]>; readonly ~types?: { readonly input: InferObjectInput<Omit<TEntries, TKeys[number]>>; readonly output: InferObjectOutput<Omit<TEntries, TKeys[number]>>; readonly issue: Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>>; } | undefined; readonly ~validate: (dataset: UnknownDataset, config?: Config<BaseIssue<unknown>>) => OutputDataset<InferObjectOutput<Omit<TEntries, TKeys[number]>>, Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>>>; } : TSchema extends ObjectSchemaAsync<infer TEntries, ErrorMessage<ObjectIssue> | undefined> | StrictObjectSchemaAsync<infer TEntries, ErrorMessage<StrictObjectIssue> | undefined> ? Omit<TSchema, "entries" | "~types" | "~validate"> & { readonly entries: Omit<TEntries, TKeys[number]>; readonly ~types?: { readonly input: InferObjectInput<Omit<TEntries, TKeys[number]>>; readonly output: InferObjectOutput<Omit<TEntries, TKeys[number]>>; readonly issue: Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>>; } | undefined; readonly ~validate: (dataset: UnknownDataset, config?: Config<BaseIssue<unknown>>) => Promise<OutputDataset<InferObjectOutput<Omit<TEntries, TKeys[number]>>, Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>>>>; } : TSchema extends LooseObjectSchema<infer TEntries, ErrorMessage<LooseObjectIssue> | undefined> ? Omit<TSchema, "entries" | "~types" | "~validate"> & { readonly entries: Omit<TEntries, TKeys[number]>; readonly ~types?: { readonly input: InferObjectInput<Omit<TEntries, TKeys[number]>> & { [key: string]: unknown; }; readonly output: InferObjectOutput<Omit<TEntries, TKeys[number]>> & { [key: string]: unknown; }; readonly issue: Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>>; } | undefined; readonly ~validate: (dataset: UnknownDataset, config?: Config<BaseIssue<unknown>>) => OutputDataset<InferObjectOutput<Omit<TEntries, TKeys[number]>> & { [key: string]: unknown; }, Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>>>; } : TSchema extends LooseObjectSchemaAsync<infer TEntries, ErrorMessage<LooseObjectIssue> | undefined> ? Omit<TSchema, "entries" | "~types" | "~validate"> & { readonly entries: Omit<TEntries, TKeys[number]>; readonly ~types?: { readonly input: InferObjectInput<Omit<TEntries, TKeys[number]>> & { [key: string]: unknown; }; readonly output: InferObjectOutput<Omit<TEntries, TKeys[number]>> & { [key: string]: unknown; }; readonly issue: Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>>; } | undefined; readonly ~validate: (dataset: UnknownDataset, config?: Config<BaseIssue<unknown>>) => Promise<OutputDataset<InferObjectOutput<Omit<TEntries, TKeys[number]>> & { [key: string]: unknown; }, Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>>>>; } : TSchema extends ObjectWithRestSchema<infer TEntries, BaseSchema<unknown, unknown, BaseIssue<unknown>>, ErrorMessage<ObjectWithRestIssue> | undefined> ? Omit<TSchema, "entries" | "~types" | "~validate"> & { readonly entries: Omit<TEntries, TKeys[number]>; readonly ~types?: { readonly input: InferObjectInput<Omit<TEntries, TKeys[number]>> & { [key: string]: InferInput<TSchema["rest"]>; }; readonly output: InferObjectOutput<Omit<TEntries, TKeys[number]>> & { [key: string]: InferOutput<TSchema["rest"]>; }; readonly issue: Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>> | InferIssue<TSchema["rest"]>; } | undefined; readonly ~validate: (dataset: UnknownDataset, config?: Config<BaseIssue<unknown>>) => OutputDataset<InferObjectOutput<Omit<TEntries, TKeys[number]>> & { [key: string]: InferOutput<TSchema["rest"]>; }, Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>> | InferIssue<TSchema["rest"]>>; } : TSchema extends ObjectWithRestSchemaAsync<infer TEntries, BaseSchema<unknown, unknown, BaseIssue<unknown>>, ErrorMessage<ObjectWithRestIssue> | undefined> ? Omit<TSchema, "entries" | "~types" | "~validate"> & { readonly entries: Omit<TEntries, TKeys[number]>; readonly ~types?: { readonly input: InferObjectInput<Omit<TEntries, TKeys[number]>> & { [key: string]: InferInput<TSchema["rest"]>; }; readonly output: InferObjectOutput<Omit<TEntries, TKeys[number]>> & { [key: string]: InferOutput<TSchema["rest"]>; }; readonly issue: Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>> | InferIssue<TSchema["rest"]>; } | undefined; readonly ~validate: (dataset: UnknownDataset, config?: Config<BaseIssue<unknown>>) => Promise<OutputDataset<InferObjectOutput<Omit<TEntries, TKeys[number]>> & { [key: string]: InferOutput<TSchema["rest"]>; }, Extract<InferIssue<TSchema>, { type: TSchema["type"]; }> | InferObjectIssue<Omit<TEntries, TKeys[number]>> | InferIssue<TSchema["rest"]>>>; } : never