@donmahallem/turbo-validate-request 0.3.22 → 0.4.3

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.
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const turbo = require('@donmahallem/turbo');
6
+
7
+ /*
8
+ * Package @donmahallem/turbo-validate-request
9
+ * Source https://donmahallem.github.io/js-libs/
10
+ */
11
+ const convertValidationError = (error) => {
12
+ const errorPath = error.instancePath === '' ? 'root' : error.instancePath;
13
+ switch (error.keyword) {
14
+ case 'required':
15
+ return new turbo.RequestError(`Missing property ${error.params.missingProperty} at '${errorPath}'`, 400);
16
+ case 'pattern':
17
+ return new turbo.RequestError(`Value doesn't match pattern at: '${errorPath}'`, 400);
18
+ case 'type':
19
+ return new turbo.RequestError(`Invalid type at '${errorPath}'. Expected ${error.params.type}`, 400);
20
+ default:
21
+ return new turbo.RequestError(`Invalid '${errorPath}'`, 400);
22
+ }
23
+ };
24
+
25
+ exports.convertValidationError = convertValidationError;
26
+ //# sourceMappingURL=convert-validation-error.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-validation-error.cjs","sources":["../../src/convert-validation-error.ts"],"sourcesContent":[null],"names":["RequestError"],"mappings":";;;;;;AAAA;;;AAGG;AAKU,MAAA,sBAAsB,GAA0C,CAAC,KAAmB,KAAkB;AAC/G,IAAA,MAAM,SAAS,GAAW,KAAK,CAAC,YAAY,KAAK,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAClF,QAAQ,KAAK,CAAC,OAAO;AACjB,QAAA,KAAK,UAAU;AACX,YAAA,OAAO,IAAIA,kBAAY,CAAC,CAAA,iBAAA,EAAoB,KAAK,CAAC,MAAM,CAAC,eAAe,QAAQ,SAAS,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC,CAAC;AACvG,QAAA,KAAK,SAAS;YACV,OAAO,IAAIA,kBAAY,CAAC,CAAA,iCAAA,EAAoC,SAAS,CAAG,CAAA,CAAA,EAAE,GAAG,CAAC,CAAC;AACnF,QAAA,KAAK,MAAM;AACP,YAAA,OAAO,IAAIA,kBAAY,CAAC,CAAA,iBAAA,EAAoB,SAAS,CAAe,YAAA,EAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA,CAAE,EAAE,GAAG,CAAC,CAAC;AAClG,QAAA;YACI,OAAO,IAAIA,kBAAY,CAAC,CAAA,SAAA,EAAY,SAAS,CAAG,CAAA,CAAA,EAAE,GAAG,CAAC,CAAC;AAC9D,KAAA;AACL;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const validateRequest = require('./validate-request.cjs');
6
+
7
+
8
+
9
+ exports.validateRequest = validateRequest.validateRequest;
10
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -3,55 +3,35 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const Ajv = require('ajv');
6
- const turbo = require('@donmahallem/turbo');
6
+ const convertValidationError = require('./convert-validation-error.cjs');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
9
 
10
10
  const Ajv__default = /*#__PURE__*/_interopDefaultLegacy(Ajv);
11
11
 
12
- /*
13
- * Package @donmahallem/turbo-validate-request
14
- * Source https://donmahallem.github.io/js-libs/
15
- */
16
- const convertValidationError = (error) => {
17
- const errorPath = error.instancePath === '' ? 'root' : error.instancePath;
18
- switch (error.keyword) {
19
- case 'required':
20
- return new turbo.RequestError(`Missing property ${error.params.missingProperty} at '${errorPath}'`, 400);
21
- case 'pattern':
22
- return new turbo.RequestError(`Value doesn't match pattern at: '${errorPath}'`, 400);
23
- case 'type':
24
- return new turbo.RequestError(`Invalid type at '${errorPath}'. Expected ${error.params.type}`, 400);
25
- default:
26
- return new turbo.RequestError(`Invalid '${errorPath}'`, 400);
27
- }
28
- };
29
-
30
- /*
31
- * Package @donmahallem/turbo-validate-request
32
- * Source https://donmahallem.github.io/js-libs/
33
- */
34
- /**
35
- * Checks a request against the given schema
36
- *
37
- * @param {string} key property of the request to check the schema against
38
- * @param {JSONSchemaType} schema the jsonschema
39
- * @param {Ajv} ajvInstance optional ajv to be used
40
- * @returns {RequestHandler} express middleware
41
- */
42
- const validateRequest = (key, schema, ajvInstance = new Ajv__default["default"]()) => {
43
- const validateFunction = ajvInstance.compile(schema);
44
- return (req, res, next) => {
45
- if (!validateFunction(req[key])) {
46
- const errors = validateFunction.errors;
47
- next(convertValidationError(errors[0]));
48
- return;
49
- }
50
- next();
51
- };
12
+ /*
13
+ * Package @donmahallem/turbo-validate-request
14
+ * Source https://donmahallem.github.io/js-libs/
15
+ */
16
+ /**
17
+ * Checks a request against the given schema
18
+ *
19
+ * @param {string} key property of the request to check the schema against
20
+ * @param {JSONSchemaType} schema the jsonschema
21
+ * @param {Ajv} ajvInstance optional ajv to be used
22
+ * @returns {RequestHandler} express middleware
23
+ */
24
+ const validateRequest = (key, schema, ajvInstance = new Ajv__default["default"]()) => {
25
+ const validateFunction = ajvInstance.compile(schema);
26
+ return (req, res, next) => {
27
+ if (!validateFunction(req[key])) {
28
+ const errors = validateFunction.errors;
29
+ next(convertValidationError.convertValidationError(errors[0]));
30
+ return;
31
+ }
32
+ next();
33
+ };
52
34
  };
53
35
 
54
36
  exports.validateRequest = validateRequest;
55
- // BUILD: Mon Apr 11 2022 12:14:20 GMT+0000 (Coordinated Universal Time)
56
-
57
- //# sourceMappingURL=index.js.map
37
+ //# sourceMappingURL=validate-request.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-request.cjs","sources":["../../src/validate-request.ts"],"sourcesContent":[null],"names":["Ajv","convertValidationError"],"mappings":";;;;;;;;;;;AAAA;;;AAGG;AAQH;;;;;;;AAOG;AACI,MAAM,eAAe,GAAoB,CAC5C,GAAc,EACd,MAAyB,EACzB,WAAmB,GAAA,IAAIA,uBAAG,EAAE,KACZ;IAChB,MAAM,gBAAgB,GAAqB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACvE,IAAA,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,KAAU;QAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;AAC7B,YAAA,MAAM,MAAM,GAAmB,gBAAgB,CAAC,MAAwB,CAAC;YACzE,IAAI,CAACC,6CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO;AACV,SAAA;AACD,QAAA,IAAI,EAAE,CAAC;AACX,KAAC,CAAC;AACN;;;;"}
@@ -0,0 +1,22 @@
1
+ import { RequestError } from '@donmahallem/turbo';
2
+
3
+ /*
4
+ * Package @donmahallem/turbo-validate-request
5
+ * Source https://donmahallem.github.io/js-libs/
6
+ */
7
+ const convertValidationError = (error) => {
8
+ const errorPath = error.instancePath === '' ? 'root' : error.instancePath;
9
+ switch (error.keyword) {
10
+ case 'required':
11
+ return new RequestError(`Missing property ${error.params.missingProperty} at '${errorPath}'`, 400);
12
+ case 'pattern':
13
+ return new RequestError(`Value doesn't match pattern at: '${errorPath}'`, 400);
14
+ case 'type':
15
+ return new RequestError(`Invalid type at '${errorPath}'. Expected ${error.params.type}`, 400);
16
+ default:
17
+ return new RequestError(`Invalid '${errorPath}'`, 400);
18
+ }
19
+ };
20
+
21
+ export { convertValidationError };
22
+ //# sourceMappingURL=convert-validation-error.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-validation-error.mjs","sources":["../../src/convert-validation-error.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAKU,MAAA,sBAAsB,GAA0C,CAAC,KAAmB,KAAkB;AAC/G,IAAA,MAAM,SAAS,GAAW,KAAK,CAAC,YAAY,KAAK,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAClF,QAAQ,KAAK,CAAC,OAAO;AACjB,QAAA,KAAK,UAAU;AACX,YAAA,OAAO,IAAI,YAAY,CAAC,CAAA,iBAAA,EAAoB,KAAK,CAAC,MAAM,CAAC,eAAe,QAAQ,SAAS,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC,CAAC;AACvG,QAAA,KAAK,SAAS;YACV,OAAO,IAAI,YAAY,CAAC,CAAA,iCAAA,EAAoC,SAAS,CAAG,CAAA,CAAA,EAAE,GAAG,CAAC,CAAC;AACnF,QAAA,KAAK,MAAM;AACP,YAAA,OAAO,IAAI,YAAY,CAAC,CAAA,iBAAA,EAAoB,SAAS,CAAe,YAAA,EAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA,CAAE,EAAE,GAAG,CAAC,CAAC;AAClG,QAAA;YACI,OAAO,IAAI,YAAY,CAAC,CAAA,SAAA,EAAY,SAAS,CAAG,CAAA,CAAA,EAAE,GAAG,CAAC,CAAC;AAC9D,KAAA;AACL;;;;"}
@@ -0,0 +1,2 @@
1
+ export { validateRequest } from './validate-request.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import Ajv from 'ajv';
2
+ import { convertValidationError } from './convert-validation-error.mjs';
3
+
4
+ /*
5
+ * Package @donmahallem/turbo-validate-request
6
+ * Source https://donmahallem.github.io/js-libs/
7
+ */
8
+ /**
9
+ * Checks a request against the given schema
10
+ *
11
+ * @param {string} key property of the request to check the schema against
12
+ * @param {JSONSchemaType} schema the jsonschema
13
+ * @param {Ajv} ajvInstance optional ajv to be used
14
+ * @returns {RequestHandler} express middleware
15
+ */
16
+ const validateRequest = (key, schema, ajvInstance = new Ajv()) => {
17
+ const validateFunction = ajvInstance.compile(schema);
18
+ return (req, res, next) => {
19
+ if (!validateFunction(req[key])) {
20
+ const errors = validateFunction.errors;
21
+ next(convertValidationError(errors[0]));
22
+ return;
23
+ }
24
+ next();
25
+ };
26
+ };
27
+
28
+ export { validateRequest };
29
+ //# sourceMappingURL=validate-request.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-request.mjs","sources":["../../src/validate-request.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;AAGG;AAQH;;;;;;;AAOG;AACI,MAAM,eAAe,GAAoB,CAC5C,GAAc,EACd,MAAyB,EACzB,WAAmB,GAAA,IAAI,GAAG,EAAE,KACZ;IAChB,MAAM,gBAAgB,GAAqB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACvE,IAAA,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,KAAU;QAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;AAC7B,YAAA,MAAM,MAAM,GAAmB,gBAAgB,CAAC,MAAwB,CAAC;YACzE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO;AACV,SAAA;AACD,QAAA,IAAI,EAAE,CAAC;AACX,KAAC,CAAC;AACN;;;;"}
@@ -1,4 +1,3 @@
1
- import { RequestError } from '@donmahallem/turbo';
2
- import { DefinedError } from 'ajv';
3
- export declare const convertValidationError: (error: DefinedError) => RequestError;
4
- //# sourceMappingURL=convert-validation-error.d.ts.map
1
+ import { RequestError } from '@donmahallem/turbo';
2
+ import { DefinedError } from 'ajv';
3
+ export declare const convertValidationError: (error: DefinedError) => RequestError;
@@ -1,2 +1 @@
1
- export { validateRequest } from './validate-request';
2
- //# sourceMappingURL=index.d.ts.map
1
+ export { validateRequest } from './validate-request';
@@ -1,15 +1,14 @@
1
- import Ajv, { JSONSchemaType } from 'ajv';
2
- import { RequestHandler } from 'express';
3
- declare type CheckKeys = 'query' | 'params' | 'body';
4
- declare type MethodSignature = <T = object>(key: CheckKeys, schema: JSONSchemaType<T>, ajvInstance?: Ajv) => RequestHandler;
5
- /**
6
- * Checks a request against the given schema
7
- *
8
- * @param {string} key property of the request to check the schema against
9
- * @param {JSONSchemaType} schema the jsonschema
10
- * @param {Ajv} ajvInstance optional ajv to be used
11
- * @returns {RequestHandler} express middleware
12
- */
13
- export declare const validateRequest: MethodSignature;
14
- export {};
15
- //# sourceMappingURL=validate-request.d.ts.map
1
+ import Ajv, { JSONSchemaType } from 'ajv';
2
+ import { RequestHandler } from 'express';
3
+ declare type CheckKeys = 'query' | 'params' | 'body';
4
+ declare type MethodSignature = <T = object>(key: CheckKeys, schema: JSONSchemaType<T>, ajvInstance?: Ajv) => RequestHandler;
5
+ /**
6
+ * Checks a request against the given schema
7
+ *
8
+ * @param {string} key property of the request to check the schema against
9
+ * @param {JSONSchemaType} schema the jsonschema
10
+ * @param {Ajv} ajvInstance optional ajv to be used
11
+ * @returns {RequestHandler} express middleware
12
+ */
13
+ export declare const validateRequest: MethodSignature;
14
+ export {};
package/package.json CHANGED
@@ -1,67 +1,66 @@
1
1
  {
2
- "name": "@donmahallem/turbo-validate-request",
3
- "version": "0.3.22",
4
- "description": "Turbo Helpers for express.js",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/esm/index.js",
7
- "types": "dist/types/index.d.ts",
8
- "private": false,
9
- "keywords": [
10
- "express",
11
- "helpers"
12
- ],
13
- "scripts": {
14
- "build": "rollup -c ./rollup.config.js && npm run build:types",
15
- "build:types": "tsc --project ./tsconfig.json -d --declarationDir dist/types --declarationMap --emitDeclarationOnly",
16
- "build:readme": "npx @appnest/readme generate --input ../package_readme_blueprint.md --config readme_config.json",
17
- "test": "mocha --config ../../.mocharc.yml",
18
- "test:coverage": "nyc --nycrc-path ../../.nycrc.json npm run test",
19
- "lint": "eslint -c ./.eslintrc.js --ext .ts ./src",
20
- "postlint": "prettier --config ./../../.prettierrc src/**/*.ts --check",
21
- "lint:fix": "eslint -c ./.eslintrc.js --ext .ts ./src --fix",
22
- "postlint:fix": "prettier --config ./../../.prettierrc src/**/*.ts --write",
23
- "docs": "typedoc --options ./typedoc.config.js",
24
- "prepublishOnly": "npm run test && npm run docs && npm run build",
25
- "version": "npm run build:readme && git add README.md"
26
- },
27
- "homepage": "https://donmahallem.github.io/js-libs/",
28
- "author": {
29
- "name": "donmahallem",
30
- "email": "donmahallem@users.noreply.github.com",
31
- "url": "https://github.com/donmahallem"
32
- },
33
- "license": "Apache-2.0",
34
- "bugs": {
35
- "url": "https://github.com/donmahallem/js-libs/issues"
36
- },
37
- "repository": {
38
- "type": "git",
39
- "url": "https://github.com/donmahallem/js-libs.git"
40
- },
41
- "engines": {
42
- "node": ">=14"
43
- },
44
- "files": [
45
- "dist/*",
46
- "src/*",
47
- "!src/**/*.spec.ts"
48
- ],
49
- "publishConfig": {
50
- "access": "public"
51
- },
52
- "devDependencies": {
53
- "@types/express": "4.17.13",
54
- "@types/supertest": "2.0.12",
55
- "ajv": "8.11.0",
56
- "express": "4.17.3",
57
- "supertest": "6.2.2"
58
- },
59
- "peerDependencies": {
60
- "ajv": "^8.0.0",
61
- "express": "^4.17.1"
62
- },
63
- "dependencies": {
64
- "@donmahallem/turbo": "^2.3.18"
65
- },
66
- "gitHead": "7197bb601e1c5f18087dd6f53f16dcb5cb8ba476"
2
+ "name": "@donmahallem/turbo-validate-request",
3
+ "version": "0.4.3",
4
+ "description": "Turbo Helpers for express.js",
5
+ "main": "./dist/cjs/index.cjs",
6
+ "types": "./dist/types/index.d.ts",
7
+ "module": "./dist/esm/index.mjs",
8
+ "private": false,
9
+ "keywords": [
10
+ "express",
11
+ "helpers"
12
+ ],
13
+ "typedocMain": "./src/index.ts",
14
+ "scripts": {
15
+ "build": "rollup -c rollup.config.js",
16
+ "build:readme": "npx @appnest/readme generate --input ../package_readme_blueprint.md --config readme_config.json",
17
+ "test": "mocha --config ../../.mocharc.json",
18
+ "test:coverage": "c8 --config ../../.nycrc.json npm run test",
19
+ "lint": "eslint -c ./.eslintrc.js --ext .ts ./src",
20
+ "postlint": "prettier --config ./../../.prettierrc src/**/*.ts --check",
21
+ "lint:fix": "eslint -c ./.eslintrc.js --ext .ts ./src --fix",
22
+ "postlint:fix": "prettier --config ./../../.prettierrc src/**/*.ts --write",
23
+ "prepublishOnly": "npm run test && npm run build",
24
+ "version": "npm run build:readme && git add README.md"
25
+ },
26
+ "homepage": "https://donmahallem.github.io/js-libs/",
27
+ "author": {
28
+ "name": "donmahallem",
29
+ "email": "donmahallem@users.noreply.github.com",
30
+ "url": "https://github.com/donmahallem"
31
+ },
32
+ "license": "Apache-2.0",
33
+ "bugs": {
34
+ "url": "https://github.com/donmahallem/js-libs/issues"
35
+ },
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/donmahallem/js-libs.git"
39
+ },
40
+ "engines": {
41
+ "node": ">=14"
42
+ },
43
+ "files": [
44
+ "dist/*",
45
+ "src/*",
46
+ "!src/**/*.spec.ts"
47
+ ],
48
+ "publishConfig": {
49
+ "access": "public"
50
+ },
51
+ "devDependencies": {
52
+ "@types/express": "4.17.13",
53
+ "@types/supertest": "2.0.12",
54
+ "ajv": "8.11.0",
55
+ "express": "4.18.1",
56
+ "supertest": "6.2.4"
57
+ },
58
+ "peerDependencies": {
59
+ "ajv": "^8.0.0",
60
+ "express": "^4.17.1"
61
+ },
62
+ "dependencies": {
63
+ "@donmahallem/turbo": "^2.4.3"
64
+ },
65
+ "gitHead": "fbac1ca446cf28c9d62f83765a442464a6829687"
67
66
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/convert-validation-error.ts","../../src/validate-request.ts"],"sourcesContent":[null,null],"names":["RequestError","Ajv"],"mappings":"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"}
package/dist/esm/index.js DELETED
@@ -1,49 +0,0 @@
1
- import Ajv from 'ajv';
2
- import { RequestError } from '@donmahallem/turbo';
3
-
4
- /*
5
- * Package @donmahallem/turbo-validate-request
6
- * Source https://donmahallem.github.io/js-libs/
7
- */
8
- const convertValidationError = (error) => {
9
- const errorPath = error.instancePath === '' ? 'root' : error.instancePath;
10
- switch (error.keyword) {
11
- case 'required':
12
- return new RequestError(`Missing property ${error.params.missingProperty} at '${errorPath}'`, 400);
13
- case 'pattern':
14
- return new RequestError(`Value doesn't match pattern at: '${errorPath}'`, 400);
15
- case 'type':
16
- return new RequestError(`Invalid type at '${errorPath}'. Expected ${error.params.type}`, 400);
17
- default:
18
- return new RequestError(`Invalid '${errorPath}'`, 400);
19
- }
20
- };
21
-
22
- /*
23
- * Package @donmahallem/turbo-validate-request
24
- * Source https://donmahallem.github.io/js-libs/
25
- */
26
- /**
27
- * Checks a request against the given schema
28
- *
29
- * @param {string} key property of the request to check the schema against
30
- * @param {JSONSchemaType} schema the jsonschema
31
- * @param {Ajv} ajvInstance optional ajv to be used
32
- * @returns {RequestHandler} express middleware
33
- */
34
- const validateRequest = (key, schema, ajvInstance = new Ajv()) => {
35
- const validateFunction = ajvInstance.compile(schema);
36
- return (req, res, next) => {
37
- if (!validateFunction(req[key])) {
38
- const errors = validateFunction.errors;
39
- next(convertValidationError(errors[0]));
40
- return;
41
- }
42
- next();
43
- };
44
- };
45
-
46
- export { validateRequest };
47
- // BUILD: Mon Apr 11 2022 12:14:20 GMT+0000 (Coordinated Universal Time)
48
-
49
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/convert-validation-error.ts","../../src/validate-request.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-validation-error.d.ts","sourceRoot":"","sources":["../../src/convert-validation-error.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEnC,eAAO,MAAM,sBAAsB,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,YAY7D,CAAC"}
@@ -1,2 +0,0 @@
1
- import 'mocha';
2
- //# sourceMappingURL=convert-validation-error.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-validation-error.spec.d.ts","sourceRoot":"","sources":["../../src/convert-validation-error.spec.ts"],"names":[],"mappings":"AAQA,OAAO,OAAO,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-request.d.ts","sourceRoot":"","sources":["../../src/validate-request.ts"],"names":[],"mappings":"AAKA,OAAO,GAAG,EAAE,EAAgB,cAAc,EAAoB,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAyB,cAAc,EAAY,MAAM,SAAS,CAAC;AAG1E,aAAK,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC7C,aAAK,eAAe,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,GAAG,KAAK,cAAc,CAAC;AACpH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,eAc7B,CAAC"}
@@ -1,2 +0,0 @@
1
- import 'mocha';
2
- //# sourceMappingURL=validate-request.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-request.spec.d.ts","sourceRoot":"","sources":["../../src/validate-request.spec.ts"],"names":[],"mappings":"AASA,OAAO,OAAO,CAAC"}