@modern-js/utils 2.58.4-alpha.2 → 2.60.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. package/dist/cjs/cli/index.js +2 -0
  2. package/dist/cjs/{universal/route.server.js → cli/route.js} +5 -26
  3. package/dist/esm/cli/index.js +1 -0
  4. package/dist/esm/cli/is/type.js +3 -2
  5. package/dist/esm/{universal/route.server.js → cli/route.js} +1 -21
  6. package/dist/esm/universal/formatWebpack.js +2 -1
  7. package/dist/esm-node/cli/index.js +1 -0
  8. package/dist/esm-node/{universal/route.server.js → cli/route.js} +1 -21
  9. package/dist/types/cli/index.d.ts +1 -0
  10. package/dist/types/{universal/route.server.d.ts → cli/route.d.ts} +0 -1
  11. package/package.json +6 -14
  12. package/dist/cjs/universal/route.js +0 -1
  13. package/dist/compiled/ajv/codegen.js +0 -1
  14. package/dist/compiled/ajv/index.js +0 -9
  15. package/dist/compiled/ajv/license +0 -22
  16. package/dist/compiled/ajv/package.json +0 -1
  17. package/dist/compiled/ajv/types/ajv.d.ts +0 -16
  18. package/dist/compiled/ajv/types/compile/codegen/code.d.ts +0 -40
  19. package/dist/compiled/ajv/types/compile/codegen/index.d.ts +0 -79
  20. package/dist/compiled/ajv/types/compile/codegen/scope.d.ts +0 -79
  21. package/dist/compiled/ajv/types/compile/errors.d.ts +0 -13
  22. package/dist/compiled/ajv/types/compile/index.d.ts +0 -80
  23. package/dist/compiled/ajv/types/compile/ref_error.d.ts +0 -6
  24. package/dist/compiled/ajv/types/compile/resolve.d.ts +0 -12
  25. package/dist/compiled/ajv/types/compile/rules.d.ts +0 -28
  26. package/dist/compiled/ajv/types/compile/util.d.ts +0 -40
  27. package/dist/compiled/ajv/types/compile/validate/index.d.ts +0 -42
  28. package/dist/compiled/ajv/types/compile/validate/subschema.d.ts +0 -47
  29. package/dist/compiled/ajv/types/core.d.ts +0 -173
  30. package/dist/compiled/ajv/types/runtime/validation_error.d.ts +0 -7
  31. package/dist/compiled/ajv/types/types/index.d.ts +0 -183
  32. package/dist/compiled/ajv/types/types/json-schema.d.ts +0 -124
  33. package/dist/compiled/ajv/types/types/jtd-schema.d.ts +0 -169
  34. package/dist/compiled/ajv/types/vocabularies/errors.d.ts +0 -1
  35. package/dist/compiled/ajv/uri-js.d.ts +0 -59
  36. package/dist/compiled/ajv-keywords/index.d.ts +0 -1
  37. package/dist/compiled/ajv-keywords/index.js +0 -1
  38. package/dist/compiled/ajv-keywords/license +0 -21
  39. package/dist/compiled/ajv-keywords/package.json +0 -1
  40. package/dist/compiled/better-ajv-errors/index.d.ts +0 -1
  41. package/dist/compiled/better-ajv-errors/index.js +0 -1
  42. package/dist/compiled/better-ajv-errors/license +0 -13
  43. package/dist/compiled/better-ajv-errors/package.json +0 -1
  44. package/dist/compiled/recursive-readdir/index.d.ts +0 -21
  45. package/dist/compiled/recursive-readdir/index.js +0 -1
  46. package/dist/compiled/recursive-readdir/license +0 -21
  47. package/dist/compiled/recursive-readdir/package.json +0 -1
  48. package/dist/compiled/schema-utils3/index.d.ts +0 -1
  49. package/dist/compiled/schema-utils3/index.js +0 -3
  50. package/dist/compiled/schema-utils3/license +0 -20
  51. package/dist/compiled/schema-utils3/package.json +0 -1
  52. package/dist/compiled/webpack-dev-middleware/index.js +0 -7
  53. package/dist/compiled/webpack-dev-middleware/license +0 -20
  54. package/dist/compiled/webpack-dev-middleware/package.json +0 -1
  55. package/dist/compiled/webpack-dev-middleware/types/index.d.ts +0 -262
  56. package/dist/esm/universal/route.js +0 -0
  57. package/dist/esm-node/universal/route.js +0 -0
  58. package/dist/types/universal/route.d.ts +0 -0
@@ -1,13 +0,0 @@
1
- import type { KeywordErrorCxt, KeywordErrorDefinition } from '../types';
2
- import { CodeGen, Code, Name } from './codegen';
3
- export declare const keywordError: KeywordErrorDefinition;
4
- export declare const keyword$DataError: KeywordErrorDefinition;
5
- export interface ErrorPaths {
6
- instancePath?: Code;
7
- schemaPath?: string;
8
- parentSchema?: boolean;
9
- }
10
- export declare function reportError(cxt: KeywordErrorCxt, error?: KeywordErrorDefinition, errorPaths?: ErrorPaths, overrideAllErrors?: boolean): void;
11
- export declare function reportExtraError(cxt: KeywordErrorCxt, error?: KeywordErrorDefinition, errorPaths?: ErrorPaths): void;
12
- export declare function resetErrorsCount(gen: CodeGen, errsCount: Name): void;
13
- export declare function extendErrors({ gen, keyword, schemaValue, data, errsCount, it, }: KeywordErrorCxt): void;
@@ -1,80 +0,0 @@
1
- import type { AnySchema, AnySchemaObject, AnyValidateFunction, EvaluatedProperties, EvaluatedItems } from '../types';
2
- import type Ajv from '../core';
3
- import type { InstanceOptions } from '../core';
4
- import { CodeGen, Name, Code, ValueScopeName } from './codegen';
5
- import { LocalRefs } from './resolve';
6
- import { JSONType } from './rules';
7
- export declare type SchemaRefs = {
8
- [Ref in string]?: SchemaEnv | AnySchema;
9
- };
10
- export interface SchemaCxt {
11
- readonly gen: CodeGen;
12
- readonly allErrors?: boolean;
13
- readonly data: Name;
14
- readonly parentData: Name;
15
- readonly parentDataProperty: Code | number;
16
- readonly dataNames: Name[];
17
- readonly dataPathArr: (Code | number)[];
18
- readonly dataLevel: number;
19
- dataTypes: JSONType[];
20
- definedProperties: Set<string>;
21
- readonly topSchemaRef: Code;
22
- readonly validateName: Name;
23
- evaluated?: Name;
24
- readonly ValidationError?: Name;
25
- readonly schema: AnySchema;
26
- readonly schemaEnv: SchemaEnv;
27
- readonly rootId: string;
28
- baseId: string;
29
- readonly schemaPath: Code;
30
- readonly errSchemaPath: string;
31
- readonly errorPath: Code;
32
- readonly propertyName?: Name;
33
- readonly compositeRule?: boolean;
34
- props?: EvaluatedProperties | Name;
35
- items?: EvaluatedItems | Name;
36
- jtdDiscriminator?: string;
37
- jtdMetadata?: boolean;
38
- readonly createErrors?: boolean;
39
- readonly opts: InstanceOptions;
40
- readonly self: Ajv;
41
- }
42
- export interface SchemaObjCxt extends SchemaCxt {
43
- readonly schema: AnySchemaObject;
44
- }
45
- interface SchemaEnvArgs {
46
- readonly schema: AnySchema;
47
- readonly schemaId?: "$id" | "id";
48
- readonly root?: SchemaEnv;
49
- readonly baseId?: string;
50
- readonly schemaPath?: string;
51
- readonly localRefs?: LocalRefs;
52
- readonly meta?: boolean;
53
- }
54
- export declare class SchemaEnv implements SchemaEnvArgs {
55
- readonly schema: AnySchema;
56
- readonly schemaId?: "$id" | "id";
57
- readonly root: SchemaEnv;
58
- baseId: string;
59
- schemaPath?: string;
60
- localRefs?: LocalRefs;
61
- readonly meta?: boolean;
62
- readonly $async?: boolean;
63
- readonly refs: SchemaRefs;
64
- readonly dynamicAnchors: {
65
- [Ref in string]?: true;
66
- };
67
- validate?: AnyValidateFunction;
68
- validateName?: ValueScopeName;
69
- serialize?: (data: unknown) => string;
70
- serializeName?: ValueScopeName;
71
- parse?: (data: string) => unknown;
72
- parseName?: ValueScopeName;
73
- constructor(env: SchemaEnvArgs);
74
- }
75
- export declare function compileSchema(this: Ajv, sch: SchemaEnv): SchemaEnv;
76
- export declare function resolveRef(this: Ajv, root: SchemaEnv, baseId: string, ref: string): AnySchema | SchemaEnv | undefined;
77
- export declare function getCompilingSchema(this: Ajv, schEnv: SchemaEnv): SchemaEnv | void;
78
- export declare function resolveSchema(this: Ajv, root: SchemaEnv, // root object with properties schema, refs TODO below SchemaEnv is assigned to it
79
- ref: string): SchemaEnv | undefined;
80
- export {};
@@ -1,6 +0,0 @@
1
- import type { UriResolver } from '../types';
2
- export default class MissingRefError extends Error {
3
- readonly missingRef: string;
4
- readonly missingSchema: string;
5
- constructor(resolver: UriResolver, baseId: string, ref: string, msg?: string);
6
- }
@@ -1,12 +0,0 @@
1
- import type { AnySchema, AnySchemaObject, UriResolver } from '../types';
2
- import type Ajv from '../ajv';
3
- import type { URIComponents } from '../../uri-js';
4
- export declare type LocalRefs = {
5
- [Ref in string]?: AnySchemaObject;
6
- };
7
- export declare function inlineRef(schema: AnySchema, limit?: boolean | number): boolean;
8
- export declare function getFullPath(resolver: UriResolver, id?: string, normalize?: boolean): string;
9
- export declare function _getFullPath(resolver: UriResolver, p: URIComponents): string;
10
- export declare function normalizeId(id: string | undefined): string;
11
- export declare function resolveUrl(resolver: UriResolver, baseId: string, id: string): string;
12
- export declare function getSchemaRefs(this: Ajv, schema: AnySchema, baseId: string): LocalRefs;
@@ -1,28 +0,0 @@
1
- import type { AddedKeywordDefinition } from '../types';
2
- declare const _jsonTypes: readonly ["string", "number", "integer", "boolean", "null", "object", "array"];
3
- export declare type JSONType = typeof _jsonTypes[number];
4
- export declare function isJSONType(x: unknown): x is JSONType;
5
- declare type ValidationTypes = {
6
- [K in JSONType]: boolean | RuleGroup | undefined;
7
- };
8
- export 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
- }
19
- export interface RuleGroup {
20
- type?: JSONType;
21
- rules: Rule[];
22
- }
23
- export interface Rule {
24
- keyword: string;
25
- definition: AddedKeywordDefinition;
26
- }
27
- export declare function getRules(): ValidationRules;
28
- export {};
@@ -1,40 +0,0 @@
1
- import type { AnySchema, EvaluatedProperties, EvaluatedItems } from '../types';
2
- import type { SchemaCxt, SchemaObjCxt } from '.';
3
- import { Code, Name, CodeGen } from './codegen';
4
- import type { Rule, ValidationRules } from './rules';
5
- export declare function toHash<T extends string = string>(arr: T[]): {
6
- [K in T]?: true;
7
- };
8
- export declare function alwaysValidSchema(it: SchemaCxt, schema: AnySchema): boolean | void;
9
- export declare function checkUnknownRules(it: SchemaCxt, schema?: AnySchema): void;
10
- export declare function schemaHasRules(schema: AnySchema, rules: {
11
- [Key in string]?: boolean | Rule;
12
- }): boolean;
13
- export declare function schemaHasRulesButRef(schema: AnySchema, RULES: ValidationRules): boolean;
14
- export declare function schemaRefOrVal({ topSchemaRef, schemaPath }: SchemaObjCxt, schema: unknown, keyword: string, $data?: string | false): Code | number | boolean;
15
- export declare function unescapeFragment(str: string): string;
16
- export declare function escapeFragment(str: string | number): string;
17
- export declare function escapeJsonPointer(str: string | number): string;
18
- export declare function unescapeJsonPointer(str: string): string;
19
- export declare function eachItem<T>(xs: T | T[], f: (x: T) => void): void;
20
- declare type SomeEvaluated = EvaluatedProperties | EvaluatedItems;
21
- declare type MergeEvaluatedFunc<T extends SomeEvaluated> = (gen: CodeGen, from: Name | T, to: Name | Exclude<T, true> | undefined, toName?: typeof Name) => Name | T;
22
- interface MergeEvaluated {
23
- props: MergeEvaluatedFunc<EvaluatedProperties>;
24
- items: MergeEvaluatedFunc<EvaluatedItems>;
25
- }
26
- export declare const mergeEvaluated: MergeEvaluated;
27
- export declare function evaluatedPropsToName(gen: CodeGen, ps?: EvaluatedProperties): Name;
28
- export declare function setEvaluated(gen: CodeGen, props: Name, ps: {
29
- [K in string]?: true;
30
- }): void;
31
- export declare function useFunc(gen: CodeGen, f: {
32
- code: string;
33
- }): Name;
34
- export declare enum Type {
35
- Num = 0,
36
- Str = 1
37
- }
38
- export declare function getErrorPath(dataProp: Name | string | number, dataPropType?: Type, jsPropertySyntax?: boolean): Code | string;
39
- export declare function checkStrictMode(it: SchemaCxt, msg: string, mode?: boolean | "log"): void;
40
- export {};
@@ -1,42 +0,0 @@
1
- import type { AddedKeywordDefinition, AnySchemaObject, KeywordErrorCxt, KeywordCxtParams } from '../../types';
2
- import type { SchemaCxt, SchemaObjCxt } from '..';
3
- import { SubschemaArgs } from './subschema';
4
- import { Code, Name, CodeGen } from '../codegen';
5
- import type { JSONType } from '../rules';
6
- import { ErrorPaths } from '../errors';
7
- export declare function validateFunctionCode(it: SchemaCxt): void;
8
- export declare class KeywordCxt implements KeywordErrorCxt {
9
- readonly gen: CodeGen;
10
- readonly allErrors?: boolean;
11
- readonly keyword: string;
12
- readonly data: Name;
13
- readonly $data?: string | false;
14
- schema: any;
15
- readonly schemaValue: Code | number | boolean;
16
- readonly schemaCode: Code | number | boolean;
17
- readonly schemaType: JSONType[];
18
- readonly parentSchema: AnySchemaObject;
19
- readonly errsCount?: Name;
20
- params: KeywordCxtParams;
21
- readonly it: SchemaObjCxt;
22
- readonly def: AddedKeywordDefinition;
23
- constructor(it: SchemaObjCxt, def: AddedKeywordDefinition, keyword: string);
24
- result(condition: Code, successAction?: () => void, failAction?: () => void): void;
25
- failResult(condition: Code, successAction?: () => void, failAction?: () => void): void;
26
- pass(condition: Code, failAction?: () => void): void;
27
- fail(condition?: Code): void;
28
- fail$data(condition: Code): void;
29
- error(append?: boolean, errorParams?: KeywordCxtParams, errorPaths?: ErrorPaths): void;
30
- private _error;
31
- $dataError(): void;
32
- reset(): void;
33
- ok(cond: Code | boolean): void;
34
- setParams(obj: KeywordCxtParams, assign?: true): void;
35
- block$data(valid: Name, codeBlock: () => void, $dataValid?: Code): void;
36
- check$data(valid?: Name, $dataValid?: Code): void;
37
- invalid$data(): Code;
38
- subschema(appl: SubschemaArgs, valid: Name): SchemaCxt;
39
- mergeEvaluated(schemaCxt: SchemaCxt, toName?: typeof Name): void;
40
- mergeValidEvaluated(schemaCxt: SchemaCxt, valid: Name): boolean | void;
41
- }
42
- export declare function getData($data: string, { dataLevel, dataNames, dataPathArr }: SchemaCxt): Code | number;
@@ -1,47 +0,0 @@
1
- import type { AnySchema } from '../../types';
2
- import type { SchemaObjCxt } from '..';
3
- import { Code, Name } from '../codegen';
4
- import { Type } from '../util';
5
- import type { JSONType } from '../rules';
6
- export interface SubschemaContext {
7
- schema: AnySchema;
8
- schemaPath: Code;
9
- errSchemaPath: string;
10
- topSchemaRef?: Code;
11
- errorPath?: Code;
12
- dataLevel?: number;
13
- dataTypes?: JSONType[];
14
- data?: Name;
15
- parentData?: Name;
16
- parentDataProperty?: Code | number;
17
- dataNames?: Name[];
18
- dataPathArr?: (Code | number)[];
19
- propertyName?: Name;
20
- jtdDiscriminator?: string;
21
- jtdMetadata?: boolean;
22
- compositeRule?: true;
23
- createErrors?: boolean;
24
- allErrors?: boolean;
25
- }
26
- export declare type SubschemaArgs = Partial<{
27
- keyword: string;
28
- schemaProp: string | number;
29
- schema: AnySchema;
30
- schemaPath: Code;
31
- errSchemaPath: string;
32
- topSchemaRef: Code;
33
- data: Name | Code;
34
- dataProp: Code | string | number;
35
- dataTypes: JSONType[];
36
- definedProperties: Set<string>;
37
- propertyName: Name;
38
- dataPropType: Type;
39
- jtdDiscriminator: string;
40
- jtdMetadata: boolean;
41
- compositeRule: true;
42
- createErrors: boolean;
43
- allErrors: boolean;
44
- }>;
45
- export declare function getSubschema(it: SchemaObjCxt, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }: SubschemaArgs): SubschemaContext;
46
- export declare function extendSubschemaData(subschema: SubschemaContext, it: SchemaObjCxt, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }: SubschemaArgs): void;
47
- export declare function extendSubschemaMode(subschema: SubschemaContext, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }: SubschemaArgs): void;
@@ -1,173 +0,0 @@
1
- export { Format, FormatDefinition, AsyncFormatDefinition, KeywordDefinition, KeywordErrorDefinition, CodeKeywordDefinition, MacroKeywordDefinition, FuncKeywordDefinition, Vocabulary, Schema, SchemaObject, AnySchemaObject, AsyncSchema, AnySchema, ValidateFunction, AsyncValidateFunction, AnyValidateFunction, ErrorObject, ErrorNoParams, } from "./types";
2
- export { SchemaCxt, SchemaObjCxt } from "./compile";
3
- export interface Plugin<Opts> {
4
- (ajv: Ajv, options?: Opts): Ajv;
5
- [prop: string]: any;
6
- }
7
- export { KeywordCxt } from "./compile/validate";
8
- export { DefinedError } from "./vocabularies/errors";
9
- export { JSONType } from "./compile/rules";
10
- export { JSONSchemaType } from "./types/json-schema";
11
- export { JTDSchemaType, SomeJTDSchemaType, JTDDataType } from "./types/jtd-schema";
12
- export { _, str, stringify, nil, Name, Code, CodeGen, CodeGenOptions } from "./compile/codegen";
13
- import type { Schema, AnySchema, AnySchemaObject, SchemaObject, AsyncSchema, Vocabulary, KeywordDefinition, AddedKeywordDefinition, AnyValidateFunction, ValidateFunction, AsyncValidateFunction, ErrorObject, Format, AddedFormat, RegExpEngine, UriResolver } from './types';
14
- import type { JSONSchemaType } from './types/json-schema';
15
- import type { JTDSchemaType, SomeJTDSchemaType, JTDDataType } from './types/jtd-schema';
16
- import ValidationError from './runtime/validation_error';
17
- import MissingRefError from './compile/ref_error';
18
- import { ValidationRules } from './compile/rules';
19
- import { SchemaEnv } from './compile';
20
- import { Code, ValueScope } from './compile/codegen';
21
- export declare type Options = CurrentOptions & DeprecatedOptions;
22
- export interface CurrentOptions {
23
- strict?: boolean | "log";
24
- strictSchema?: boolean | "log";
25
- strictNumbers?: boolean | "log";
26
- strictTypes?: boolean | "log";
27
- strictTuples?: boolean | "log";
28
- strictRequired?: boolean | "log";
29
- allowMatchingProperties?: boolean;
30
- allowUnionTypes?: boolean;
31
- validateFormats?: boolean;
32
- $data?: boolean;
33
- allErrors?: boolean;
34
- verbose?: boolean;
35
- discriminator?: boolean;
36
- unicodeRegExp?: boolean;
37
- timestamp?: "string" | "date";
38
- parseDate?: boolean;
39
- allowDate?: boolean;
40
- $comment?: true | ((comment: string, schemaPath?: string, rootSchema?: AnySchemaObject) => unknown);
41
- formats?: {
42
- [Name in string]?: Format;
43
- };
44
- keywords?: Vocabulary;
45
- schemas?: AnySchema[] | {
46
- [Key in string]?: AnySchema;
47
- };
48
- logger?: Logger | false;
49
- loadSchema?: (uri: string) => Promise<AnySchemaObject>;
50
- removeAdditional?: boolean | "all" | "failing";
51
- useDefaults?: boolean | "empty";
52
- coerceTypes?: boolean | "array";
53
- next?: boolean;
54
- unevaluated?: boolean;
55
- dynamicRef?: boolean;
56
- schemaId?: "id" | "$id";
57
- jtd?: boolean;
58
- meta?: SchemaObject | boolean;
59
- defaultMeta?: string | AnySchemaObject;
60
- validateSchema?: boolean | "log";
61
- addUsedSchema?: boolean;
62
- inlineRefs?: boolean | number;
63
- passContext?: boolean;
64
- loopRequired?: number;
65
- loopEnum?: number;
66
- ownProperties?: boolean;
67
- multipleOfPrecision?: number;
68
- int32range?: boolean;
69
- messages?: boolean;
70
- code?: CodeOptions;
71
- uriResolver?: UriResolver;
72
- }
73
- export interface CodeOptions {
74
- es5?: boolean;
75
- esm?: boolean;
76
- lines?: boolean;
77
- optimize?: boolean | number;
78
- formats?: Code;
79
- source?: boolean;
80
- process?: (code: string, schema?: SchemaEnv) => string;
81
- regExp?: RegExpEngine;
82
- }
83
- interface InstanceCodeOptions extends CodeOptions {
84
- regExp: RegExpEngine;
85
- optimize: number;
86
- }
87
- interface DeprecatedOptions {
88
- /** @deprecated */
89
- ignoreKeywordsWithRef?: boolean;
90
- /** @deprecated */
91
- jsPropertySyntax?: boolean;
92
- /** @deprecated */
93
- unicode?: boolean;
94
- }
95
- declare type RequiredInstanceOptions = {
96
- [K in "strictSchema" | "strictNumbers" | "strictTypes" | "strictTuples" | "strictRequired" | "inlineRefs" | "loopRequired" | "loopEnum" | "meta" | "messages" | "schemaId" | "addUsedSchema" | "validateSchema" | "validateFormats" | "int32range" | "unicodeRegExp" | "uriResolver"]: NonNullable<Options[K]>;
97
- } & {
98
- code: InstanceCodeOptions;
99
- };
100
- export declare type InstanceOptions = Options & RequiredInstanceOptions;
101
- export interface Logger {
102
- log(...args: unknown[]): unknown;
103
- warn(...args: unknown[]): unknown;
104
- error(...args: unknown[]): unknown;
105
- }
106
- export default class Ajv {
107
- opts: InstanceOptions;
108
- errors?: ErrorObject[] | null;
109
- logger: Logger;
110
- readonly scope: ValueScope;
111
- readonly schemas: {
112
- [Key in string]?: SchemaEnv;
113
- };
114
- readonly refs: {
115
- [Ref in string]?: SchemaEnv | string;
116
- };
117
- readonly formats: {
118
- [Name in string]?: AddedFormat;
119
- };
120
- readonly RULES: ValidationRules;
121
- readonly _compilations: Set<SchemaEnv>;
122
- private readonly _loading;
123
- private readonly _cache;
124
- private readonly _metaOpts;
125
- static ValidationError: typeof ValidationError;
126
- static MissingRefError: typeof MissingRefError;
127
- constructor(opts?: Options);
128
- _addVocabularies(): void;
129
- _addDefaultMetaSchema(): void;
130
- defaultMeta(): string | AnySchemaObject | undefined;
131
- validate(schema: Schema | string, data: unknown): boolean;
132
- validate(schemaKeyRef: AnySchema | string, data: unknown): boolean | Promise<unknown>;
133
- validate<T>(schema: Schema | JSONSchemaType<T> | string, data: unknown): data is T;
134
- validate<T>(schema: JTDSchemaType<T>, data: unknown): data is T;
135
- validate<N extends never, T extends SomeJTDSchemaType>(schema: T, data: unknown): data is JTDDataType<T>;
136
- validate<T>(schema: AsyncSchema, data: unknown | T): Promise<T>;
137
- validate<T>(schemaKeyRef: AnySchema | string, data: unknown): data is T | Promise<T>;
138
- compile<T = unknown>(schema: Schema | JSONSchemaType<T>, _meta?: boolean): ValidateFunction<T>;
139
- compile<T = unknown>(schema: JTDSchemaType<T>, _meta?: boolean): ValidateFunction<T>;
140
- compile<N extends never, T extends SomeJTDSchemaType>(schema: T, _meta?: boolean): ValidateFunction<JTDDataType<T>>;
141
- compile<T = unknown>(schema: AsyncSchema, _meta?: boolean): AsyncValidateFunction<T>;
142
- compile<T = unknown>(schema: AnySchema, _meta?: boolean): AnyValidateFunction<T>;
143
- compileAsync<T = unknown>(schema: SchemaObject | JSONSchemaType<T>, _meta?: boolean): Promise<ValidateFunction<T>>;
144
- compileAsync<T = unknown>(schema: JTDSchemaType<T>, _meta?: boolean): Promise<ValidateFunction<T>>;
145
- compileAsync<T = unknown>(schema: AsyncSchema, meta?: boolean): Promise<AsyncValidateFunction<T>>;
146
- compileAsync<T = unknown>(schema: AnySchemaObject, meta?: boolean): Promise<AnyValidateFunction<T>>;
147
- addSchema(schema: AnySchema | AnySchema[], // If array is passed, `key` will be ignored
148
- key?: string, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.
149
- _meta?: boolean, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.
150
- _validateSchema?: boolean | "log"): Ajv;
151
- addMetaSchema(schema: AnySchemaObject, key?: string, // schema key
152
- _validateSchema?: boolean | "log"): Ajv;
153
- validateSchema(schema: AnySchema, throwOrLogError?: boolean): boolean | Promise<unknown>;
154
- getSchema<T = unknown>(keyRef: string): AnyValidateFunction<T> | undefined;
155
- removeSchema(schemaKeyRef?: AnySchema | string | RegExp): Ajv;
156
- addVocabulary(definitions: Vocabulary): Ajv;
157
- addKeyword(kwdOrDef: string | KeywordDefinition, def?: KeywordDefinition): Ajv;
158
- getKeyword(keyword: string): AddedKeywordDefinition | boolean;
159
- removeKeyword(keyword: string): Ajv;
160
- addFormat(name: string, format: Format): Ajv;
161
- errorsText(errors?: ErrorObject[] | null | undefined, // optional array of validation errors
162
- { separator, dataVar }?: ErrorsTextOptions): string;
163
- $dataMetaSchema(metaSchema: AnySchemaObject, keywordsJsonPointers: string[]): AnySchemaObject;
164
- private _removeAllSchemas;
165
- _addSchema(schema: AnySchema, meta?: boolean, baseId?: string, validateSchema?: boolean | "log", addSchema?: boolean): SchemaEnv;
166
- private _checkUnique;
167
- private _compileSchemaEnv;
168
- private _compileMetaSchema;
169
- }
170
- export interface ErrorsTextOptions {
171
- separator?: string;
172
- dataVar?: string;
173
- }
@@ -1,7 +0,0 @@
1
- import type { ErrorObject } from '../types';
2
- export default class ValidationError extends Error {
3
- readonly errors: Partial<ErrorObject>[];
4
- readonly ajv: true;
5
- readonly validation: true;
6
- constructor(errors: Partial<ErrorObject>[]);
7
- }
@@ -1,183 +0,0 @@
1
- import * as URI from '../../uri-js';
2
- import type { CodeGen, Code, Name, ScopeValueSets, ValueScopeName } from '../compile/codegen';
3
- import type { SchemaEnv, SchemaCxt, SchemaObjCxt } from '../compile';
4
- import type { JSONType } from '../compile/rules';
5
- import type { KeywordCxt } from '../compile/validate';
6
- import type Ajv from '../core';
7
- interface _SchemaObject {
8
- id?: string;
9
- $id?: string;
10
- $schema?: string;
11
- [x: string]: any;
12
- }
13
- export interface SchemaObject extends _SchemaObject {
14
- id?: string;
15
- $id?: string;
16
- $schema?: string;
17
- $async?: false;
18
- [x: string]: any;
19
- }
20
- export interface AsyncSchema extends _SchemaObject {
21
- $async: true;
22
- }
23
- export declare type AnySchemaObject = SchemaObject | AsyncSchema;
24
- export declare type Schema = SchemaObject | boolean;
25
- export declare type AnySchema = Schema | AsyncSchema;
26
- export declare type SchemaMap = {
27
- [Key in string]?: AnySchema;
28
- };
29
- export interface SourceCode {
30
- validateName: ValueScopeName;
31
- validateCode: string;
32
- scopeValues: ScopeValueSets;
33
- evaluated?: Code;
34
- }
35
- export interface DataValidationCxt<T extends string | number = string | number> {
36
- instancePath: string;
37
- parentData: {
38
- [K in T]: any;
39
- };
40
- parentDataProperty: T;
41
- rootData: Record<string, any> | any[];
42
- dynamicAnchors: {
43
- [Ref in string]?: ValidateFunction;
44
- };
45
- }
46
- export interface ValidateFunction<T = unknown> {
47
- (this: Ajv | any, data: any, dataCxt?: DataValidationCxt): data is T;
48
- errors?: null | ErrorObject[];
49
- evaluated?: Evaluated;
50
- schema: AnySchema;
51
- schemaEnv: SchemaEnv;
52
- source?: SourceCode;
53
- }
54
- export interface JTDParser<T = unknown> {
55
- (json: string): T | undefined;
56
- message?: string;
57
- position?: number;
58
- }
59
- export declare type EvaluatedProperties = {
60
- [K in string]?: true;
61
- } | true;
62
- export declare type EvaluatedItems = number | true;
63
- export interface Evaluated {
64
- props?: EvaluatedProperties;
65
- items?: EvaluatedItems;
66
- dynamicProps: boolean;
67
- dynamicItems: boolean;
68
- }
69
- export interface AsyncValidateFunction<T = unknown> extends ValidateFunction<T> {
70
- (...args: Parameters<ValidateFunction<T>>): Promise<T>;
71
- $async: true;
72
- }
73
- export declare type AnyValidateFunction<T = any> = ValidateFunction<T> | AsyncValidateFunction<T>;
74
- export interface ErrorObject<K extends string = string, P = Record<string, any>, S = unknown> {
75
- keyword: K;
76
- instancePath: string;
77
- schemaPath: string;
78
- params: P;
79
- propertyName?: string;
80
- message?: string;
81
- schema?: S;
82
- parentSchema?: AnySchemaObject;
83
- data?: unknown;
84
- }
85
- export declare type ErrorNoParams<K extends string, S = unknown> = ErrorObject<K, Record<string, never>, S>;
86
- interface _KeywordDef {
87
- keyword: string | string[];
88
- type?: JSONType | JSONType[];
89
- schemaType?: JSONType | JSONType[];
90
- allowUndefined?: boolean;
91
- $data?: boolean;
92
- implements?: string[];
93
- before?: string;
94
- post?: boolean;
95
- metaSchema?: AnySchemaObject;
96
- validateSchema?: AnyValidateFunction;
97
- dependencies?: string[];
98
- error?: KeywordErrorDefinition;
99
- $dataError?: KeywordErrorDefinition;
100
- }
101
- export interface CodeKeywordDefinition extends _KeywordDef {
102
- code: (cxt: KeywordCxt, ruleType?: string) => void;
103
- trackErrors?: boolean;
104
- }
105
- export declare type MacroKeywordFunc = (schema: any, parentSchema: AnySchemaObject, it: SchemaCxt) => AnySchema;
106
- export declare type CompileKeywordFunc = (schema: any, parentSchema: AnySchemaObject, it: SchemaObjCxt) => DataValidateFunction;
107
- export interface DataValidateFunction {
108
- (...args: Parameters<ValidateFunction>): boolean | Promise<any>;
109
- errors?: Partial<ErrorObject>[];
110
- }
111
- export interface SchemaValidateFunction {
112
- (schema: any, data: any, parentSchema?: AnySchemaObject, dataCxt?: DataValidationCxt): boolean | Promise<any>;
113
- errors?: Partial<ErrorObject>[];
114
- }
115
- export interface FuncKeywordDefinition extends _KeywordDef {
116
- validate?: SchemaValidateFunction | DataValidateFunction;
117
- compile?: CompileKeywordFunc;
118
- schema?: boolean;
119
- modifying?: boolean;
120
- async?: boolean;
121
- valid?: boolean;
122
- errors?: boolean | "full";
123
- }
124
- export interface MacroKeywordDefinition extends FuncKeywordDefinition {
125
- macro: MacroKeywordFunc;
126
- }
127
- export declare type KeywordDefinition = CodeKeywordDefinition | FuncKeywordDefinition | MacroKeywordDefinition;
128
- export declare type AddedKeywordDefinition = KeywordDefinition & {
129
- type: JSONType[];
130
- schemaType: JSONType[];
131
- };
132
- export interface KeywordErrorDefinition {
133
- message: string | Code | ((cxt: KeywordErrorCxt) => string | Code);
134
- params?: Code | ((cxt: KeywordErrorCxt) => Code);
135
- }
136
- export declare type Vocabulary = (KeywordDefinition | string)[];
137
- export interface KeywordErrorCxt {
138
- gen: CodeGen;
139
- keyword: string;
140
- data: Name;
141
- $data?: string | false;
142
- schema: any;
143
- parentSchema?: AnySchemaObject;
144
- schemaCode: Code | number | boolean;
145
- schemaValue: Code | number | boolean;
146
- schemaType?: JSONType[];
147
- errsCount?: Name;
148
- params: KeywordCxtParams;
149
- it: SchemaCxt;
150
- }
151
- export declare type KeywordCxtParams = {
152
- [P in string]?: Code | string | number;
153
- };
154
- export declare type FormatValidator<T extends string | number> = (data: T) => boolean;
155
- export declare type FormatCompare<T extends string | number> = (data1: T, data2: T) => number | undefined;
156
- export declare type AsyncFormatValidator<T extends string | number> = (data: T) => Promise<boolean>;
157
- export interface FormatDefinition<T extends string | number> {
158
- type?: T extends string ? "string" | undefined : "number";
159
- validate: FormatValidator<T> | (T extends string ? string | RegExp : never);
160
- async?: false | undefined;
161
- compare?: FormatCompare<T>;
162
- }
163
- export interface AsyncFormatDefinition<T extends string | number> {
164
- type?: T extends string ? "string" | undefined : "number";
165
- validate: AsyncFormatValidator<T>;
166
- async: true;
167
- compare?: FormatCompare<T>;
168
- }
169
- export declare type AddedFormat = true | RegExp | FormatValidator<string> | FormatDefinition<string> | FormatDefinition<number> | AsyncFormatDefinition<string> | AsyncFormatDefinition<number>;
170
- export declare type Format = AddedFormat | string;
171
- export interface RegExpEngine {
172
- (pattern: string, u: string): RegExpLike;
173
- code: string;
174
- }
175
- export interface RegExpLike {
176
- test: (s: string) => boolean;
177
- }
178
- export interface UriResolver {
179
- parse(uri: string): URI.URIComponents;
180
- resolve(base: string, path: string): string;
181
- serialize(component: URI.URIComponents): string;
182
- }
183
- export {};