UNPKG

zod-enum-forge

Version:

Tiny helpers to extend Zod enums for open-set/iterative classification workflows.

35 lines (33 loc) 1.71 kB
declare function isFlexEnum(x: unknown): boolean; /** * Creates a flexible enum that allows for dynamic extension. */ declare function flexEnum(values: string[], description?: string): any; declare function flexEnum(enumDef: any, description?: string): any; declare function flexEnum(schema: any, dataJson: unknown): any; declare function flexEnum(zodInstance: any, values: string[], description?: string): any; declare function flexEnum(zodInstance: any, enumDef: any, description?: string): any; /** * Extends a ZodEnum with new values. */ declare function forgeEnum(values: string[], add: string[] | string): any; declare function forgeEnum(enumDef: any, add: string[] | string): any; declare function forgeEnum(schema: any, key: string, add: string[] | string): any; interface FlexityInfo { values: string[]; description?: string; } type FlexityLayer = Record<string, FlexityInfo>; declare function addToEnum(...args: any[]): any; declare function limitEnum(values: string[], remove: string | string[]): any; declare function limitEnum(enumOrFlex: any, remove: string | string[]): any; declare function limitEnum(schema: any, key: string, remove: string | string[]): any; declare function deleteFromEnum(...args: any[]): any; declare function strictEnum(schemaOrFlex: any): any; declare function deflexStructure(schema: any): any; declare function separateFlexibility(schema: any): { schema: any; flexityLayer: FlexityLayer; }; declare function integrateFlexibility(schema: any, flexityLayer: FlexityLayer): any; export { type FlexityLayer, addToEnum, deflexStructure, deleteFromEnum, flexEnum, forgeEnum, integrateFlexibility, isFlexEnum, limitEnum, separateFlexibility, strictEnum };