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.

122 lines (121 loc) 5.48 kB
import type { Schema } from "../schema/schema"; import type { ValidationOptions } from "./validate"; export type KeywordResult = string | boolean; type Opts = ValidationOptions; /** * Default keywords */ export declare const _type: ({ type }: { type?: string | string[]; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const _const: ({ const: _constValue }: { const?: unknown; }, _value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const _enum: ({ enum: _enumValues }: { enum?: unknown[]; }, _value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare function matches<T extends Schema[]>(schemas: T, value: unknown, opts?: Opts): Schema[]; export declare const anyOf: ({ anyOf }: { anyOf?: Schema[]; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const oneOf: ({ oneOf }: { oneOf?: Schema[]; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const allOf: ({ allOf }: { allOf?: Schema[]; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const not: ({ not }: { not?: Schema; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const ifThenElse: ({ if: _if, then: _then, else: _else, }: { if?: Schema; then?: Schema; else?: Schema; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; /** * Strings */ export declare const pattern: ({ pattern }: { pattern?: string | RegExp; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const minLength: ({ minLength }: { minLength?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const maxLength: ({ maxLength }: { maxLength?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; /** * Numbers */ export declare const multipleOf: ({ multipleOf }: { multipleOf?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const maximum: ({ maximum }: { maximum?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const exclusiveMaximum: ({ exclusiveMaximum }: { exclusiveMaximum?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const minimum: ({ minimum }: { minimum?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const exclusiveMinimum: ({ exclusiveMinimum }: { exclusiveMinimum?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; /** * Objects */ export declare const properties: ({ properties }: { properties?: Record<string, Schema>; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const additionalProperties: ({ properties, additionalProperties, patternProperties, }: { properties?: Record<string, Schema>; additionalProperties?: Schema | false; patternProperties?: Record<string, Schema>; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const dependentRequired: ({ dependentRequired }: { dependentRequired?: Record<string, string[]>; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const required: ({ required }: { required?: string[]; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const dependentSchemas: ({ dependentSchemas }: { dependentSchemas?: Record<string, Schema>; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const minProperties: ({ minProperties }: { minProperties?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const maxProperties: ({ maxProperties }: { maxProperties?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const patternProperties: ({ patternProperties }: { patternProperties?: Record<string, Schema>; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const propertyNames: ({ propertyNames }: { propertyNames?: Schema; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; /** * Arrays */ export declare const items: ({ items, prefixItems }: { items?: Schema; prefixItems?: Schema[]; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const minItems: ({ minItems }: { minItems?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const maxItems: ({ maxItems }: { maxItems?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const uniqueItems: ({ uniqueItems }: { uniqueItems?: boolean; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const contains: ({ contains, minContains, maxContains, }: { contains?: Schema; minContains?: number; maxContains?: number; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export declare const prefixItems: ({ prefixItems }: { prefixItems?: Schema[]; }, value: unknown, opts?: Opts) => import("./validate").ValidationResult; export {};