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
TypeScript
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 {};