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.
19 lines (18 loc) • 969 B
TypeScript
import { Node, Schema, type ISchemaOptions, type StrictOptions, type WalkOptions } from "../schema";
import type { Simplify, Static, StaticCoerced } from "../static";
type RecordStatic<AP extends Schema> = Simplify<Record<string, Static<AP>>>;
type RecordCoerced<AP extends Schema> = Simplify<Record<string, StaticCoerced<AP>>>;
export interface IRecordOptions extends ISchemaOptions {
additionalProperties?: never;
maxProperties?: number;
minProperties?: number;
propertyNames?: Schema;
}
export declare class RecordSchema<AP extends Schema, O extends IRecordOptions = IRecordOptions> extends Schema<O, RecordStatic<AP>, RecordCoerced<AP>> {
readonly type = "object";
additionalProperties: AP;
constructor(ap: AP, o?: O);
children(opts?: WalkOptions): Node[];
}
export declare const record: <const AP extends Schema, const O extends IRecordOptions>(ap: AP, options?: StrictOptions<IRecordOptions, O>) => RecordSchema<AP, O>;
export {};