UNPKG

823 BTypeScriptView Raw
1import type { AddedKeywordDefinition } from "../types";
2declare const _jsonTypes: readonly ["string", "number", "integer", "boolean", "null", "object", "array"];
3export declare type JSONType = typeof _jsonTypes[number];
4export declare function isJSONType(x: unknown): x is JSONType;
5declare type ValidationTypes = {
6 [K in JSONType]: boolean | RuleGroup | undefined;
7};
8export interface ValidationRules {
9 rules: RuleGroup[];
10 post: RuleGroup;
11 all: {
12 [Key in string]?: boolean | Rule;
13 };
14 keywords: {
15 [Key in string]?: boolean;
16 };
17 types: ValidationTypes;
18}
19export interface RuleGroup {
20 type?: JSONType;
21 rules: Rule[];
22}
23export interface Rule {
24 keyword: string;
25 definition: AddedKeywordDefinition;
26}
27export declare function getRules(): ValidationRules;
28export {};