@tsed/ajv 8.10.0 → 8.11.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.
- package/lib/browser/fn/validate.js +9 -0
- package/lib/browser/fn/validate.js.map +1 -0
- package/lib/browser/index.js +9 -7
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/services/Ajv.js.map +1 -1
- package/lib/esm/fn/validate.js +11 -0
- package/lib/esm/fn/validate.js.map +1 -0
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/services/Ajv.js.map +1 -1
- package/lib/types/fn/validate.d.ts +8 -0
- package/lib/types/index.d.ts +1 -0
- package/package.json +7 -7
- package/src/fn/validate.spec.ts +20 -0
- package/src/fn/validate.ts +13 -0
- package/src/index.ts +1 -0
- package/src/services/Ajv.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sources":["../../../src/fn/validate.ts"],"sourcesContent":["import {inject} from \"@tsed/di\";\nimport {JsonSchema} from \"@tsed/schema\";\n\nimport {AjvService, type AjvValidateOptions} from \"../services/AjvService.js\";\n\n/**\n * Validate a value against a JSON schema or a type.\n * @param value\n * @param options\n */\nexport function validate(value: unknown, options: AjvValidateOptions | JsonSchema) {\n return inject(AjvService).validate(value, options);\n}\n"],"names":["validate","value","options","inject","AjvService"],"mappings":";;AAUgB,SAAAA,EAASC,GAAgBC,GAA0C;AACjF,SAAOC,EAAOC,CAAU,EAAE,SAASH,GAAOC,CAAO;AACnD;"}
|
package/lib/browser/index.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { Formats as e } from "./decorators/formats.js";
|
|
2
|
-
import { Keyword as
|
|
2
|
+
import { Keyword as m } from "./decorators/keyword.js";
|
|
3
3
|
import { AjvValidationError as p } from "./errors/AjvValidationError.js";
|
|
4
|
+
import { validate as i } from "./fn/validate.js";
|
|
4
5
|
import "./services/Ajv.js";
|
|
5
|
-
import { AjvService as
|
|
6
|
+
import { AjvService as v } from "./services/AjvService.js";
|
|
6
7
|
import { defaultErrorFormatter as n } from "./utils/defaultErrorFormatter.js";
|
|
7
|
-
import { getInstancePath as
|
|
8
|
+
import { getInstancePath as g, getPath as h } from "./utils/getPath.js";
|
|
8
9
|
export {
|
|
9
|
-
|
|
10
|
+
v as AjvService,
|
|
10
11
|
p as AjvValidationError,
|
|
11
12
|
e as Formats,
|
|
12
|
-
|
|
13
|
+
m as Keyword,
|
|
13
14
|
n as defaultErrorFormatter,
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
g as getInstancePath,
|
|
16
|
+
h as getPath,
|
|
17
|
+
i as validate
|
|
16
18
|
};
|
|
17
19
|
//# sourceMappingURL=index.js.map
|
package/lib/browser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ajv.js","sources":["../../../src/services/Ajv.ts"],"sourcesContent":["import {cleanObject} from \"@tsed/core\";\nimport {constant, inject, injectable, injector,
|
|
1
|
+
{"version":3,"file":"Ajv.js","sources":["../../../src/services/Ajv.ts"],"sourcesContent":["import {cleanObject} from \"@tsed/core\";\nimport {constant, inject, injectable, injector, ProviderScope} from \"@tsed/di\";\nimport {Ajv, Format, KeywordDefinition, Options, Vocabulary} from \"ajv\";\nimport AjvErrors from \"ajv-errors\";\nimport AjvFormats from \"ajv-formats\";\n\nimport {FormatsMethods} from \"../interfaces/FormatsMethods.js\";\nimport {IAjvSettings} from \"../interfaces/IAjvSettings.js\";\n\nfunction getHandler(key: string, service: any) {\n if (service[key]) {\n return service[key].bind(service);\n }\n}\n\nfunction getKeywordProviders() {\n return injector().getProviders(\"ajv:keyword\");\n}\n\nfunction bindKeywords(): Vocabulary {\n return getKeywordProviders().map((provider) => {\n const options = provider.store.get<Omit<KeywordDefinition, \"compile\">>(\"ajv:keyword\", {})!;\n const service = inject(provider.token);\n\n return <KeywordDefinition>cleanObject({\n coerceTypes: \"array\",\n ...options,\n validate: getHandler(\"validate\", service),\n compile: getHandler(\"compile\", service),\n code: getHandler(\"code\", service),\n macro: getHandler(\"macro\", service)\n });\n });\n}\n\nfunction getFormatsProviders() {\n return injector().getProviders(\"ajv:formats\");\n}\n\nfunction getFormats(): {name: string; options: Format}[] {\n return getFormatsProviders().map((provider) => {\n const {name, options} = provider.store.get<any>(\"ajv:formats\", {})!;\n const service = inject<FormatsMethods<any>>(provider.token);\n\n return {\n name,\n options: {\n ...options,\n validate: service.validate.bind(service),\n compare: service.compare?.bind(service)\n }\n };\n });\n}\n\ninjectable(Ajv)\n .scope(ProviderScope.SINGLETON)\n .factory(() => {\n const {errorFormatter, keywords = [], ...props} = constant<IAjvSettings>(\"ajv\") || {};\n const options: Options = {\n verbose: false,\n coerceTypes: true,\n strict: false,\n keywords: [...keywords, ...bindKeywords()],\n discriminator: true,\n allErrors: true,\n ...props\n };\n\n // @ts-ignore\n const ajv = new Ajv(options);\n\n // add support for custom error messages\n // @ts-ignore\n AjvErrors(ajv);\n // @ts-ignore\n AjvFormats(ajv as any);\n\n getFormats().forEach(({name, options}) => {\n ajv.addFormat(name, options);\n });\n\n return ajv;\n });\n"],"names":["getHandler","key","service","getKeywordProviders","injector","bindKeywords","provider","options","inject","cleanObject","getFormatsProviders","getFormats","name","_a","injectable","Ajv","ProviderScope","errorFormatter","keywords","props","constant","ajv","AjvErrors","AjvFormats"],"mappings":";;;;;AASA,SAASA,EAAWC,GAAaC,GAAc;AACzC,MAAAA,EAAQD,CAAG;AACb,WAAOC,EAAQD,CAAG,EAAE,KAAKC,CAAO;AAEpC;AAEA,SAASC,IAAsB;AACtB,SAAAC,EAAA,EAAW,aAAa,aAAa;AAC9C;AAEA,SAASC,IAA2B;AAClC,SAAOF,EAAoB,EAAE,IAAI,CAACG,MAAa;AAC7C,UAAMC,IAAUD,EAAS,MAAM,IAAwC,eAAe,CAAA,CAAE,GAClFJ,IAAUM,EAAOF,EAAS,KAAK;AAErC,WAA0BG,EAAY;AAAA,MACpC,aAAa;AAAA,MACb,GAAGF;AAAA,MACH,UAAUP,EAAW,YAAYE,CAAO;AAAA,MACxC,SAASF,EAAW,WAAWE,CAAO;AAAA,MACtC,MAAMF,EAAW,QAAQE,CAAO;AAAA,MAChC,OAAOF,EAAW,SAASE,CAAO;AAAA,IAAA,CACnC;AAAA,EAAA,CACF;AACH;AAEA,SAASQ,IAAsB;AACtB,SAAAN,EAAA,EAAW,aAAa,aAAa;AAC9C;AAEA,SAASO,IAAgD;AACvD,SAAOD,EAAoB,EAAE,IAAI,CAACJ,MAAa;;AACvC,UAAA,EAAC,MAAAM,GAAM,SAAAL,MAAWD,EAAS,MAAM,IAAS,eAAe,EAAE,GAC3DJ,IAAUM,EAA4BF,EAAS,KAAK;AAEnD,WAAA;AAAA,MACL,MAAAM;AAAA,MACA,SAAS;AAAA,QACP,GAAGL;AAAA,QACH,UAAUL,EAAQ,SAAS,KAAKA,CAAO;AAAA,QACvC,UAASW,IAAAX,EAAQ,YAAR,gBAAAW,EAAiB,KAAKX;AAAA,MAAO;AAAA,IAE1C;AAAA,EAAA,CACD;AACH;AAEAY,EAAWC,CAAG,EACX,MAAMC,EAAc,SAAS,EAC7B,QAAQ,MAAM;AACP,QAAA,EAAC,gBAAAC,GAAgB,UAAAC,IAAW,CAAC,GAAG,GAAGC,MAASC,EAAuB,KAAK,KAAK,CAAC,GAC9Eb,IAAmB;AAAA,IACvB,SAAS;AAAA,IACT,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,UAAU,CAAC,GAAGW,GAAU,GAAGb,GAAc;AAAA,IACzC,eAAe;AAAA,IACf,WAAW;AAAA,IACX,GAAGc;AAAA,EACL,GAGME,IAAM,IAAIN,EAAIR,CAAO;AAI3B,SAAAe,EAAUD,CAAG,GAEbE,EAAWF,CAAU,GAErBV,EAAA,EAAa,QAAQ,CAAC,EAAC,MAAAC,GAAM,SAAAL,QAAa;AACpC,IAAAc,EAAA,UAAUT,GAAML,CAAO;AAAA,EAAA,CAC5B,GAEMc;AACT,CAAC;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { inject } from "@tsed/di";
|
|
2
|
+
import { AjvService } from "../services/AjvService.js";
|
|
3
|
+
/**
|
|
4
|
+
* Validate a value against a JSON schema or a type.
|
|
5
|
+
* @param value
|
|
6
|
+
* @param options
|
|
7
|
+
*/
|
|
8
|
+
export function validate(value, options) {
|
|
9
|
+
return inject(AjvService).validate(value, options);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/fn/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAC,UAAU,EAA0B,MAAM,2BAA2B,CAAC;AAE9E;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc,EAAE,OAAwC;IAC/E,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
export * from "./decorators/formats.js";
|
|
5
5
|
export * from "./decorators/keyword.js";
|
|
6
6
|
export * from "./errors/AjvValidationError.js";
|
|
7
|
+
export * from "./fn/validate.js";
|
|
7
8
|
export * from "./interfaces/FormatsMethods.js";
|
|
8
9
|
export * from "./interfaces/IAjvSettings.js";
|
|
9
10
|
export * from "./interfaces/interfaces.js";
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ajv.js","sourceRoot":"","sources":["../../../src/services/Ajv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"Ajv.js","sourceRoot":"","sources":["../../../src/services/Ajv.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JsonSchema } from "@tsed/schema";
|
|
2
|
+
import { type AjvValidateOptions } from "../services/AjvService.js";
|
|
3
|
+
/**
|
|
4
|
+
* Validate a value against a JSON schema or a type.
|
|
5
|
+
* @param value
|
|
6
|
+
* @param options
|
|
7
|
+
*/
|
|
8
|
+
export declare function validate(value: unknown, options: AjvValidateOptions | JsonSchema): Promise<any>;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
export * from "./decorators/formats.js";
|
|
5
5
|
export * from "./decorators/keyword.js";
|
|
6
6
|
export * from "./errors/AjvValidationError.js";
|
|
7
|
+
export * from "./fn/validate.js";
|
|
7
8
|
export * from "./interfaces/FormatsMethods.js";
|
|
8
9
|
export * from "./interfaces/IAjvSettings.js";
|
|
9
10
|
export * from "./interfaces/interfaces.js";
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@tsed/ajv",
|
|
3
3
|
"description": "AJV package for Ts.ED framework",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "8.
|
|
5
|
+
"version": "8.11.0",
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
7
|
"main": "./lib/esm/index.js",
|
|
8
8
|
"module": "./lib/esm/index.js",
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"tslib": "2.7.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@tsed/barrels": "8.
|
|
36
|
-
"@tsed/core": "8.
|
|
37
|
-
"@tsed/di": "8.
|
|
38
|
-
"@tsed/exceptions": "8.
|
|
39
|
-
"@tsed/schema": "8.
|
|
40
|
-
"@tsed/typescript": "8.
|
|
35
|
+
"@tsed/barrels": "8.11.0",
|
|
36
|
+
"@tsed/core": "8.11.0",
|
|
37
|
+
"@tsed/di": "8.11.0",
|
|
38
|
+
"@tsed/exceptions": "8.11.0",
|
|
39
|
+
"@tsed/schema": "8.11.0",
|
|
40
|
+
"@tsed/typescript": "8.11.0",
|
|
41
41
|
"ajv": "^8.17.1",
|
|
42
42
|
"eslint": "9.12.0",
|
|
43
43
|
"typescript": "5.4.5",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {DITest} from "@tsed/di";
|
|
2
|
+
import {object, string} from "@tsed/schema";
|
|
3
|
+
|
|
4
|
+
import {validate} from "./validate.js";
|
|
5
|
+
|
|
6
|
+
describe("validate", () => {
|
|
7
|
+
beforeEach(() => DITest.create());
|
|
8
|
+
afterEach(() => DITest.reset());
|
|
9
|
+
|
|
10
|
+
it("should validate a value against a JSON schema or a type", async () => {
|
|
11
|
+
const value = {name: "John"};
|
|
12
|
+
const options = object({
|
|
13
|
+
name: string()
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const result = await validate(value, options);
|
|
17
|
+
|
|
18
|
+
expect(result).toEqual(value);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {inject} from "@tsed/di";
|
|
2
|
+
import {JsonSchema} from "@tsed/schema";
|
|
3
|
+
|
|
4
|
+
import {AjvService, type AjvValidateOptions} from "../services/AjvService.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Validate a value against a JSON schema or a type.
|
|
8
|
+
* @param value
|
|
9
|
+
* @param options
|
|
10
|
+
*/
|
|
11
|
+
export function validate(value: unknown, options: AjvValidateOptions | JsonSchema) {
|
|
12
|
+
return inject(AjvService).validate(value, options);
|
|
13
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
export * from "./decorators/formats.js";
|
|
5
5
|
export * from "./decorators/keyword.js";
|
|
6
6
|
export * from "./errors/AjvValidationError.js";
|
|
7
|
+
export * from "./fn/validate.js";
|
|
7
8
|
export * from "./interfaces/FormatsMethods.js";
|
|
8
9
|
export * from "./interfaces/IAjvSettings.js";
|
|
9
10
|
export * from "./interfaces/interfaces.js";
|
package/src/services/Ajv.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {cleanObject} from "@tsed/core";
|
|
2
|
-
import {constant, inject, injectable, injector,
|
|
2
|
+
import {constant, inject, injectable, injector, ProviderScope} from "@tsed/di";
|
|
3
3
|
import {Ajv, Format, KeywordDefinition, Options, Vocabulary} from "ajv";
|
|
4
4
|
import AjvErrors from "ajv-errors";
|
|
5
5
|
import AjvFormats from "ajv-formats";
|