@jetio/validator 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1362 -0
  3. package/dist/cli.js +219 -0
  4. package/dist/compileSchema.d.ts +148 -0
  5. package/dist/compileSchema.js +2199 -0
  6. package/dist/compileSchema.js.map +1 -0
  7. package/dist/formats.d.ts +41 -0
  8. package/dist/formats.js +166 -0
  9. package/dist/formats.js.map +1 -0
  10. package/dist/index.cjs.js +6167 -0
  11. package/dist/index.d.ts +9 -0
  12. package/dist/index.esm.js +6148 -0
  13. package/dist/index.js +28 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/jet-validator.d.ts +88 -0
  16. package/dist/jet-validator.js +983 -0
  17. package/dist/jet-validator.js.map +1 -0
  18. package/dist/resolver.d.ts +348 -0
  19. package/dist/resolver.js +2459 -0
  20. package/dist/resolver.js.map +1 -0
  21. package/dist/scripts/load-metaschemas.d.ts +1 -0
  22. package/dist/scripts/metaschema-loader.d.ts +2 -0
  23. package/dist/src/compileSchema.d.ts +148 -0
  24. package/dist/src/formats.d.ts +41 -0
  25. package/dist/src/index.d.ts +9 -0
  26. package/dist/src/jet-validator.d.ts +88 -0
  27. package/dist/src/resolver.d.ts +348 -0
  28. package/dist/src/types/format.d.ts +7 -0
  29. package/dist/src/types/keywords.d.ts +78 -0
  30. package/dist/src/types/schema.d.ts +123 -0
  31. package/dist/src/types/standalone.d.ts +4 -0
  32. package/dist/src/types/validation.d.ts +49 -0
  33. package/dist/src/utilities/index.d.ts +11 -0
  34. package/dist/src/utilities/schema.d.ts +10 -0
  35. package/dist/types/format.d.ts +7 -0
  36. package/dist/types/format.js +3 -0
  37. package/dist/types/format.js.map +1 -0
  38. package/dist/types/keywords.d.ts +78 -0
  39. package/dist/types/keywords.js +4 -0
  40. package/dist/types/keywords.js.map +1 -0
  41. package/dist/types/schema.d.ts +123 -0
  42. package/dist/types/schema.js +3 -0
  43. package/dist/types/schema.js.map +1 -0
  44. package/dist/types/standalone.d.ts +4 -0
  45. package/dist/types/standalone.js +3 -0
  46. package/dist/types/standalone.js.map +1 -0
  47. package/dist/types/validation.d.ts +49 -0
  48. package/dist/types/validation.js +3 -0
  49. package/dist/types/validation.js.map +1 -0
  50. package/dist/utilities/index.d.ts +11 -0
  51. package/dist/utilities/index.js +146 -0
  52. package/dist/utilities/index.js.map +1 -0
  53. package/dist/utilities/schema.d.ts +10 -0
  54. package/dist/utilities/schema.js +232 -0
  55. package/dist/utilities/schema.js.map +1 -0
  56. package/dist/validator.umd.js +6196 -0
  57. package/package.json +79 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export type SchemaVersion = "draft-06" | "draft-07" | "draft/2019-09" | "draft/2020-12" | "all";
2
+ export declare function loadMetaschema(version: SchemaVersion, outputDir?: string): Promise<void>;
@@ -0,0 +1,148 @@
1
+ import { ArraySchema, ObjectSchema, SchemaDefinition } from "./types/schema";
2
+ import { ValidatorOptions } from "./types/validation";
3
+ import { CompiledValidateFunction } from "./types/keywords";
4
+ import { JetValidator } from "./jet-validator";
5
+ export type Extra = {
6
+ before: string;
7
+ after: string;
8
+ refAfter?: string;
9
+ };
10
+ interface ErrorInfo {
11
+ keyword: string;
12
+ value: string;
13
+ message: string;
14
+ expected?: string;
15
+ dataPath?: string;
16
+ schemaPath?: string;
17
+ }
18
+ /**
19
+ * PathContext: Lightweight object containing only path strings.
20
+ * Created on every recursion but only contains 4 strings (cheap to allocate).
21
+ *
22
+ * TrackingState: Mutable state for unevaluated* tracking.
23
+ * Mutated in place when possible to avoid allocations.
24
+ * Only spread when crossing schema boundaries that introduce new tracking requirements.
25
+ *
26
+ * this.options: Immutable config stored in class instance.
27
+ * Never passed as parameter - accessed via this.options.
28
+ *
29
+ * Performance: This design reduces allocations by ~60% compared to
30
+ * spreading a single 13-property object on every recursion.
31
+ */
32
+ interface PathContext {
33
+ schema: string;
34
+ data: string;
35
+ $data: string;
36
+ alt?: string;
37
+ alt2?: string;
38
+ }
39
+ interface TrackingState {
40
+ isSubschema?: boolean;
41
+ parentHasUnevaluatedProperties?: boolean;
42
+ hasOwnUnevaluatedProperties?: boolean;
43
+ shouldTrackEvaluatedProperties?: boolean;
44
+ parentHasUnevaluatedItems?: boolean;
45
+ hasOwnUnevaluatedItems?: boolean;
46
+ shouldTrackEvaluatedItems?: boolean;
47
+ parentUnevaluatedPropVar?: string;
48
+ unevaluatedPropVar?: string;
49
+ parentUnevaluatedItemVar?: string;
50
+ unevaluatedItemVar?: string;
51
+ unEvaluatedPropertiesSetVar?: string;
52
+ unEvaluatedItemsSetVar?: string;
53
+ }
54
+ export declare class Compiler {
55
+ private refables;
56
+ private ranRefables;
57
+ private refCall;
58
+ private schema;
59
+ private options;
60
+ private errorVariableDeclared;
61
+ private errorVariable;
62
+ private compiledKeywords;
63
+ regexCache: Map<string, string>;
64
+ private validateKeywords;
65
+ private allKeywords;
66
+ private jetValidator;
67
+ private notLogic;
68
+ private noreturn;
69
+ private neutralError;
70
+ private compileContext;
71
+ private standAlone;
72
+ private hasCompileKeyword;
73
+ needslen_of: boolean;
74
+ needsStringify: boolean;
75
+ needsDeepEqual: boolean;
76
+ mainFunctionName: string;
77
+ hoistedFunctions: string[];
78
+ constructor(refables: any[] | undefined, schema: SchemaDefinition | boolean, options: Partial<ValidatorOptions>, jetValidator: JetValidator, allKeywords: Set<string>, compileContext: {
79
+ hasUnevaluatedProperties: boolean;
80
+ hasUnevaluatedItems: boolean;
81
+ hasRootReference: boolean;
82
+ referencedFunctions: string[];
83
+ uses$Data: boolean;
84
+ }, standalone?: boolean);
85
+ getCompiledKeywords(): {
86
+ compiledKeywords: Map<string, CompiledValidateFunction>;
87
+ validateKeywords: Set<string>;
88
+ hasCompileKeyword: boolean;
89
+ };
90
+ private createSubschemaOptions;
91
+ private handleCustomKeywords;
92
+ private handleCodeKeyword;
93
+ private handleCompileKeyword;
94
+ private handleValidateKeyword;
95
+ compileSchema(rootSchema: SchemaDefinition | boolean, pathContext?: PathContext, trackingState?: TrackingState, accessPattern?: string, extra?: Extra, inlined?: boolean, first?: boolean): string;
96
+ initializeDefault(src: string[], schema: SchemaDefinition, varName: string, accessPattern: string, inlined: boolean): void;
97
+ private initializePropertyTracking;
98
+ private initializeItemTracking;
99
+ inilineRefFunction(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
100
+ initializeRefables(pathContext: PathContext): void;
101
+ initializeSchemaRefables(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
102
+ handleReference(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): string | void;
103
+ private buildRefCallArgs;
104
+ handleLogicalOperators(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
105
+ handleNotOperator(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
106
+ handleAnyOfOperator(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
107
+ handleOneOfOperator(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
108
+ handleAllOfOperator(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
109
+ handleConditionalLogic(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
110
+ handleElseIfConditions(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, previousIfValid: string, elseIfVariableArray: string[]): any;
111
+ handleElseIfThen(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, elseIfVariableArray: any, extra: Extra): void;
112
+ handleTypeValidation(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
113
+ private generateTypeCheck;
114
+ handlePrimitive(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
115
+ private handleConst;
116
+ private handleMinLength;
117
+ private handleMaxLength;
118
+ private handleMinimum;
119
+ private handleMaximum;
120
+ private handleExclusiveMinimum;
121
+ private handleExclusiveMaximum;
122
+ handleMultipleOf(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
123
+ handlePattern(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
124
+ handleEnum(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
125
+ handleFormat(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, extra: Extra): void;
126
+ handleObject(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, condition: boolean, extra: Extra): void;
127
+ handleRequiredProperties(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
128
+ collectAllAllowedProperties(schema: SchemaDefinition | boolean): {
129
+ allowedProperties: Set<string>;
130
+ patternProperties: string[];
131
+ };
132
+ handlePatternProperties(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
133
+ handleAdditionalProperties(src: string[], schema: SchemaDefinition, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
134
+ handlePropertyConstraints(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, extra: Extra): void;
135
+ handlePropertyNames(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, extra: Extra): void;
136
+ handleDependentSchemas(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
137
+ private handleRequiredFields;
138
+ private handleDependentSchema;
139
+ handleObjectProperties(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, propertyKeys: string[], extra: Extra): void;
140
+ handleUnevaluatedProperties(src: string[], schema: ObjectSchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
141
+ handleArray(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, trackingState: TrackingState, condition: boolean, extra: Extra): void;
142
+ handleArrayConstraints(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, extra: Extra): void;
143
+ handleArrayItems(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
144
+ handleArrayContains(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
145
+ handleUnevaluatedItems(src: string[], schema: ArraySchema, varName: string, pathContext: PathContext, trackingState: TrackingState, extra: Extra): void;
146
+ buildErrorReturn(pathContext: PathContext, error: ErrorInfo, spreads?: string): string;
147
+ }
148
+ export {};
@@ -0,0 +1,41 @@
1
+ declare function format_date(str: string): boolean;
2
+ declare function format_time(str: string): boolean;
3
+ declare function format_date_time(str: string): boolean;
4
+ declare function format_iso_time(str: string): boolean;
5
+ declare function format_iso_date_time(str: string): boolean;
6
+ declare function format_regex(str: string): boolean;
7
+ declare function format_int32(value: number): boolean;
8
+ declare function format_int64(value: number): boolean;
9
+ export declare const FULL_FORMAT_VALIDATORS: {
10
+ readonly email: RegExp;
11
+ readonly ipv4: RegExp;
12
+ readonly ipv6: RegExp;
13
+ readonly uuid: RegExp;
14
+ readonly hostname: RegExp;
15
+ readonly url: RegExp;
16
+ readonly "uri-template": RegExp;
17
+ readonly duration: RegExp;
18
+ readonly "json-pointer": RegExp;
19
+ readonly "json-pointer-uri-fragment": RegExp;
20
+ readonly "relative-json-pointer": RegExp;
21
+ readonly uri: RegExp;
22
+ readonly "uri-reference": RegExp;
23
+ readonly byte: RegExp;
24
+ readonly date: typeof format_date;
25
+ readonly time: typeof format_time;
26
+ readonly "date-time": typeof format_date_time;
27
+ readonly "iso-time": typeof format_iso_time;
28
+ readonly "iso-date-time": typeof format_iso_date_time;
29
+ readonly regex: typeof format_regex;
30
+ readonly int32: typeof format_int32;
31
+ readonly int64: typeof format_int64;
32
+ readonly "idn-email": RegExp;
33
+ readonly "idn-hostname": RegExp;
34
+ readonly iri: RegExp;
35
+ readonly "iri-reference": RegExp;
36
+ };
37
+ export declare const FAST_FORMAT_VALIDATORS: Record<string, RegExp | ((value: any) => boolean)>;
38
+ export declare function getSupportedFormats(): string[];
39
+ export declare function getFormatValidator(formatName: string, mode?: "fast" | "full"): Function | RegExp | undefined;
40
+ export declare const PREDEFINED_FORMATS: readonly ["email", "ipv4", "ipv6", "uuid", "hostname", "url", "date", "time", "date-time", "iso-time", "iso-date-time", "uri", "uri-reference", "uri-template", "json-pointer", "json-pointer-uri-fragment", "relative-json-pointer", "idn-email", "idn-hostname", "iri", "iri-reference", "duration", "byte", "regex", "int32", "int64"];
41
+ export {};
@@ -0,0 +1,9 @@
1
+ export { JetValidator } from "./jet-validator";
2
+ export * from "./resolver";
3
+ export * from "./formats";
4
+ export * from "./compileSchema";
5
+ export * from "./types/format";
6
+ export * from "./types/keywords";
7
+ export * from "./types/schema";
8
+ export * from "./types/validation";
9
+ export * from "./utilities";
@@ -0,0 +1,88 @@
1
+ import { SchemaDefinition } from "./types/schema";
2
+ import { ErrorAttachedValidatorFn, ValidationResult, ValidatorOptions } from "./types/validation";
3
+ import { CodeKeywordDefinition, CompileKeywordDefinition, KeywordDefinition, MacroKeywordDefinition, ValidateKeywordDefinition } from "./types/keywords";
4
+ import { FormatDefinition } from "./types/format";
5
+ export declare class JetValidator {
6
+ private schemas;
7
+ private metaSchemas;
8
+ private customKeywords;
9
+ private formatValidators;
10
+ private hasMacros;
11
+ private compilationCache;
12
+ options: Required<ValidatorOptions>;
13
+ private counter;
14
+ private aliases;
15
+ constructor(options?: ValidatorOptions);
16
+ addFormat(key: string, validator: FormatDefinition, options?: {
17
+ override?: boolean;
18
+ }): void;
19
+ removeFormat(key: string): void;
20
+ getFormat(format: string): FormatDefinition | undefined;
21
+ testFormat(value: string, format: string): boolean | Promise<boolean>;
22
+ isFormatRegistered(key: string): boolean;
23
+ getRegisteredFormats(): string[];
24
+ validateFormat(value: string, format: string): any;
25
+ getAllFormats(): Record<string, FormatDefinition>;
26
+ addKeyword(definition: MacroKeywordDefinition | CompileKeywordDefinition | ValidateKeywordDefinition | CodeKeywordDefinition): this;
27
+ removeKeyword(keyword: string): this;
28
+ hasMacroKeywords(): boolean;
29
+ getKeyword(keyword: string): MacroKeywordDefinition | CompileKeywordDefinition | ValidateKeywordDefinition | CodeKeywordDefinition | undefined;
30
+ private validateKeywordDefinition;
31
+ isKeywordAdded(key: string): boolean;
32
+ getAddedKeywords(): string[];
33
+ clearKeywords(): void;
34
+ getAllKeywords(): Map<string, KeywordDefinition>;
35
+ addSchema(schema: SchemaDefinition, id?: string): void;
36
+ getSchema(key: string): SchemaDefinition | undefined;
37
+ getCompiledSchema(key: string, config?: ValidatorOptions): Function;
38
+ getCompiledSchemaAsync(key: string, config?: ValidatorOptions): Promise<Function>;
39
+ isSchemaAdded(key: string): boolean;
40
+ getAddedSchemas(): string[];
41
+ removeSchema(pattern?: string | RegExp | object): void;
42
+ clearSchemas(): void;
43
+ getAllSchemas(): Record<string, SchemaDefinition>;
44
+ validate(schema: object | boolean | string, data: any, config?: ValidatorOptions): ValidationResult;
45
+ validateAsync(schema: object | boolean | string, data: any, config?: ValidatorOptions): Promise<ValidationResult>;
46
+ getMetaSchema($schema?: string, options?: ValidatorOptions): {
47
+ metaSchema: object | undefined;
48
+ metaSchemaId: string;
49
+ };
50
+ validateSchemaSync(schema: SchemaDefinition, options?: ValidatorOptions): {
51
+ valid: boolean;
52
+ errors: any;
53
+ };
54
+ validateSchemaAsync(schema: SchemaDefinition, options?: ValidatorOptions): Promise<{
55
+ valid: boolean;
56
+ errors: any;
57
+ }>;
58
+ addMetaSchema(schema: SchemaDefinition, key?: string): this;
59
+ clearRegistries(): void;
60
+ private compileResolved;
61
+ compile(fschema: object | boolean, config?: ValidatorOptions): ErrorAttachedValidatorFn;
62
+ compileAsync(fschema: SchemaDefinition | boolean, config?: ValidatorOptions): Promise<ErrorAttachedValidatorFn>;
63
+ logErrors(errors: any, indent?: number): void;
64
+ getFieldFromPath(dataPath: string): string;
65
+ getFullFieldPath(dataPath: string): string;
66
+ getFieldErrors(errors: any[]): Record<string, string[]>;
67
+ errorsText(errors: any[], options?: {
68
+ separator?: string;
69
+ dataVar?: string;
70
+ }): string;
71
+ generateStandalone(schema: object, sconfig?: ValidatorOptions): {
72
+ code: string;
73
+ functionName: string;
74
+ formatSetup?: string;
75
+ imports: string[];
76
+ };
77
+ private inlineUsedFormats;
78
+ private resolveFormats;
79
+ private inlineAllConfiguredFormats;
80
+ private resolve$DataFormat;
81
+ private createFormatObject;
82
+ private getSafeFormatName;
83
+ private formatNeedsExternalDeps;
84
+ private inlineFormatWithDeps;
85
+ private serializeFormatFunction;
86
+ private isSelfContained;
87
+ private generateFormatSetup;
88
+ }