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.

46 lines (45 loc) 6.03 kB
export { Schema, type ISchemaOptions, type StrictOptions, booleanSchema, type TSchemaTemplateOptions, type Node, } from "./schema/schema"; export { any, literal, type IAnyOptions, type ILiteralOptions, } from "./schema/misc"; export type { Static, Merge, OptionalUndefined, OptionallyOptional, StaticConstEnum, StaticCoerced, Writeable, DeepWriteable, RemoveUnknownAdditionalProperties, Simplify, } from "./static"; export { object, ObjectSchema, type IObjectOptions, type TProperties, strictObject, partialObject, type ObjectStatic, type ObjectCoerced, type ObjectDefaults, } from "./object/object"; export { record, RecordSchema, type IRecordOptions } from "./object/record"; export { string, StringSchema, type IStringOptions } from "./string/string"; export { number, type INumberOptions, integer } from "./number/number"; export { array, ArraySchema, type IArrayOptions } from "./array/array"; export { boolean, type IBooleanOptions } from "./boolean/boolean"; export { type IUnionOptions, anyOf, oneOf } from "./union/union"; export { allOf } from "./union/all-of"; export { fromSchema } from "./schema/from-schema"; export { RefType, ref, refId, recursive } from "./ref/ref"; export type { ValidationResult, ValidationOptions, } from "./validation/validate"; export { error, type ErrorDetail, valid, makeOpts } from "./utils/details"; export { invariant, isSchema } from "./utils"; export { type CoercionOptions } from "./validation/coerce"; export { type ParseOptions, parse, InvalidSchemaError, } from "./validation/parse"; export type { JSONSchemaDefinition, JSONSchema } from "./types"; export { registerFormat, getFormats } from "./validation/format"; export declare const s: { boolean: <const O extends import(".").IBooleanOptions>(config?: import("./schema").StrictOptions<import(".").IBooleanOptions, O>) => import("./schema").Schema<O, boolean> & O; any: <const O extends import(".").IAnyOptions>(o?: O) => import("./schema").Schema<O, any, any> & O; literal: <const L, const O extends import(".").ILiteralOptions>(value: L extends string | number | bigint | boolean | null | undefined ? L : L extends object ? L extends import("./schema").Schema<import("./schema").ISchemaOptions, unknown, unknown> ? never : L : never, o?: import("./schema").StrictOptions<import(".").ILiteralOptions, O>) => import("./schema").Schema<O, L, L> & import("./static").Merge<O & { const: L; }>; object: <const P extends import("./object/object").TProperties2<P>, const O extends import(".").IObjectOptions>(properties: P, options?: import("./schema").StrictOptions<import(".").IObjectOptions, O>) => import(".").ObjectSchema<P, O> & O; strictObject: <const P extends import("./object/object").TProperties2<P>, const O extends import(".").IObjectOptions>(properties: P, options?: import("./schema").StrictOptions<import(".").IObjectOptions, O>) => import(".").ObjectSchema<P, import("./static").Merge<O & { additionalProperties: false; }>>; partialObject: <const P extends import("./object/object").TProperties2<P>, const O extends import(".").IObjectOptions>(properties: P, options?: import("./schema").StrictOptions<import(".").IObjectOptions, O>) => import(".").ObjectSchema<{ [Key in keyof P]: P[Key] extends import("./schema").Schema<infer O_1 extends import("./schema").ISchemaOptions, infer T, infer C> ? import("./schema").Schema<O_1, P[Key][typeof import("./shared").schemaSymbol]["static"] | undefined, P[Key][typeof import("./shared").schemaSymbol]["coerced"] | undefined> : never; }, O>; record: <const AP extends import("./schema").Schema, const O extends import(".").IRecordOptions>(ap: AP, options?: import("./schema").StrictOptions<import(".").IRecordOptions, O>) => import(".").RecordSchema<AP, O>; string: <const O extends import(".").IStringOptions>(o?: import("./schema").StrictOptions<import(".").IStringOptions, O>) => import(".").StringSchema<O> & O; number: <const O extends import(".").INumberOptions>(config?: import("./schema").StrictOptions<import(".").INumberOptions, O>) => import("./schema").Schema<O, number> & O; integer: <const O extends import(".").INumberOptions>(config?: import("./schema").StrictOptions<import(".").INumberOptions, O>) => import("./schema").Schema<O, number> & O; array: <const Items extends import("./schema").Schema, const O extends import(".").IArrayOptions>(items?: Items, options?: import("./schema").StrictOptions<import(".").IArrayOptions, O>) => import(".").ArraySchema<Items, O> & O; anyOf: <const T extends import("./schema").Schema[], const O extends import(".").IUnionOptions>(schemas: T, options?: import("./schema").StrictOptions<import(".").IUnionOptions, O>) => import("./schema").Schema<O, import("./union/union").StaticUnion<T>, import("./union/union").StaticUnionCoercedOptions<O, T>> & import("./static").Merge<O & { anyOf: T; }>; oneOf: <const T extends import("./schema").Schema[], const O extends import(".").IUnionOptions>(schemas: T, options?: import("./schema").StrictOptions<import(".").IUnionOptions, O>) => import("./schema").Schema<O, import("./union/union").StaticUnion<T>, import("./union/union").StaticUnionCoercedOptions<O, T>> & O; allOf: <const T extends import("./schema").Schema[], const O extends import(".").IUnionOptions>(schemas: T, options?: import("./schema").StrictOptions<import(".").IUnionOptions, O>) => import("./schema").Schema<O, import("./union/all-of").StaticUnionAllOf<T>, import("./union/all-of").StaticUnionAllOf<T>> & O; ref: <const T extends import("./ref/ref").TRefType, const Ref extends string>(ref: T, $ref?: Ref) => import(".").RefType<T, Ref, T extends import("./ref/ref").TRefType ? import("./static").Static<T> : T, T extends import("./ref/ref").TRefType ? import("./static").StaticCoerced<T> : T>; refId: <T = unknown, const Ref extends string = string>($ref: Ref) => import(".").RefType<T, Ref>; recursive: <const T extends import("./schema").Schema>(cb: (thisSchema: import("./schema").Schema) => T) => T; };