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