You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					29 lines
				
				823 B
			
		
		
			
		
	
	
					29 lines
				
				823 B
			| 
											3 years ago
										 | import type { AddedKeywordDefinition } from "../types"; | ||
|  | declare const _jsonTypes: readonly ["string", "number", "integer", "boolean", "null", "object", "array"]; | ||
|  | export declare type JSONType = typeof _jsonTypes[number]; | ||
|  | export declare function isJSONType(x: unknown): x is JSONType; | ||
|  | declare type ValidationTypes = { | ||
|  |     [K in JSONType]: boolean | RuleGroup | undefined; | ||
|  | }; | ||
|  | export interface ValidationRules { | ||
|  |     rules: RuleGroup[]; | ||
|  |     post: RuleGroup; | ||
|  |     all: { | ||
|  |         [Key in string]?: boolean | Rule; | ||
|  |     }; | ||
|  |     keywords: { | ||
|  |         [Key in string]?: boolean; | ||
|  |     }; | ||
|  |     types: ValidationTypes; | ||
|  | } | ||
|  | export interface RuleGroup { | ||
|  |     type?: JSONType; | ||
|  |     rules: Rule[]; | ||
|  | } | ||
|  | export interface Rule { | ||
|  |     keyword: string; | ||
|  |     definition: AddedKeywordDefinition; | ||
|  | } | ||
|  | export declare function getRules(): ValidationRules; | ||
|  | export {}; |