UNPKG

jsonv-ts

Version:

JSON Schema builder and validator for TypeScript with static type inference, Hono middleware for OpenAPI generation and validation, and MCP server/client implementation. Lightweight, dependency-free, and built on Web Standards.

23 lines (22 loc) 1.06 kB
import { Node, Schema, type ISchemaOptions, type StrictOptions, type WalkOptions } from "../schema/schema"; import type { Static, StaticCoerced } from "../static"; type ArrayStatic<T extends Schema> = Static<T>[] & {}; type ArrayCoerced<T extends Schema> = StaticCoerced<T>[] & {}; export interface IArrayOptions extends ISchemaOptions { $defs?: Record<string, Schema>; contains?: Schema; minContains?: number; maxContains?: number; prefixItems?: Schema[]; uniqueItems?: boolean; maxItems?: number; minItems?: number; } export declare class ArraySchema<const Items extends Schema, const O extends IArrayOptions> extends Schema<O, ArrayStatic<Items>, ArrayCoerced<Items>> { readonly items?: Items | undefined; readonly type = "array"; constructor(items?: Items | undefined, options?: O); children(opts?: WalkOptions): Node[]; } export declare const array: <const Items extends Schema, const O extends IArrayOptions>(items?: Items, options?: StrictOptions<IArrayOptions, O>) => ArraySchema<Items, O> & O; export {};