@spinajs/validation 2.0.85 → 2.0.87
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/{bootstrap.d.ts → cjs/bootstrap.d.ts} +0 -0
- package/lib/cjs/bootstrap.d.ts.map +1 -0
- package/lib/cjs/bootstrap.js +24 -0
- package/lib/cjs/bootstrap.js.map +1 -0
- package/lib/{config → cjs/config}/validation.d.ts +0 -0
- package/lib/cjs/config/validation.d.ts.map +1 -0
- package/lib/cjs/config/validation.js +16 -0
- package/lib/cjs/config/validation.js.map +1 -0
- package/lib/{decorators.d.ts → cjs/decorators.d.ts} +0 -0
- package/lib/cjs/decorators.d.ts.map +1 -0
- package/lib/cjs/decorators.js +17 -0
- package/lib/cjs/decorators.js.map +1 -0
- package/lib/{exceptions → cjs/exceptions}/index.d.ts +0 -0
- package/lib/cjs/exceptions/index.d.ts.map +1 -0
- package/lib/cjs/exceptions/index.js +15 -0
- package/lib/cjs/exceptions/index.js.map +1 -0
- package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +35 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/{schemas → cjs/schemas}/validation.d.ts +0 -0
- package/lib/cjs/schemas/validation.d.ts.map +1 -0
- package/lib/cjs/schemas/validation.js +16 -0
- package/lib/cjs/schemas/validation.js.map +1 -0
- package/lib/{sources.d.ts → cjs/sources.d.ts} +0 -0
- package/lib/cjs/sources.d.ts.map +1 -0
- package/lib/cjs/sources.js +94 -0
- package/lib/cjs/sources.js.map +1 -0
- package/lib/{types.d.ts → cjs/types.d.ts} +0 -0
- package/lib/cjs/types.d.ts.map +1 -0
- package/lib/cjs/types.js +7 -0
- package/lib/cjs/types.js.map +1 -0
- package/lib/{validator.d.ts → cjs/validator.d.ts} +10 -2
- package/lib/cjs/validator.d.ts.map +1 -0
- package/lib/cjs/validator.js +165 -0
- package/lib/cjs/validator.js.map +1 -0
- package/lib/mjs/bootstrap.d.ts +5 -0
- package/lib/mjs/bootstrap.d.ts.map +1 -0
- package/lib/{bootstrap.js → mjs/bootstrap.js} +0 -0
- package/lib/mjs/bootstrap.js.map +1 -0
- package/lib/mjs/config/validation.d.ts +10 -0
- package/lib/mjs/config/validation.d.ts.map +1 -0
- package/lib/{config → mjs/config}/validation.js +0 -0
- package/lib/mjs/config/validation.js.map +1 -0
- package/lib/mjs/decorators.d.ts +9 -0
- package/lib/mjs/decorators.d.ts.map +1 -0
- package/lib/{decorators.js → mjs/decorators.js} +0 -0
- package/lib/mjs/decorators.js.map +1 -0
- package/lib/mjs/exceptions/index.d.ts +12 -0
- package/lib/mjs/exceptions/index.d.ts.map +1 -0
- package/lib/{exceptions → mjs/exceptions}/index.js +0 -0
- package/lib/mjs/exceptions/index.js.map +1 -0
- package/lib/mjs/index.d.ts +14 -0
- package/lib/mjs/index.d.ts.map +1 -0
- package/lib/{index.js → mjs/index.js} +0 -0
- package/lib/mjs/index.js.map +1 -0
- package/lib/mjs/schemas/validation.d.ts +22 -0
- package/lib/mjs/schemas/validation.d.ts.map +1 -0
- package/lib/{schemas → mjs/schemas}/validation.js +0 -0
- package/lib/mjs/schemas/validation.js.map +1 -0
- package/lib/mjs/sources.d.ts +14 -0
- package/lib/mjs/sources.d.ts.map +1 -0
- package/lib/{sources.js → mjs/sources.js} +0 -0
- package/lib/mjs/sources.js.map +1 -0
- package/lib/mjs/types.d.ts +18 -0
- package/lib/mjs/types.d.ts.map +1 -0
- package/lib/{types.js → mjs/types.js} +0 -0
- package/lib/mjs/types.js.map +1 -0
- package/lib/mjs/validator.d.ts +62 -0
- package/lib/mjs/validator.d.ts.map +1 -0
- package/lib/{validator.js → mjs/validator.js} +15 -1
- package/lib/mjs/validator.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/package.json +15 -6
- package/lib/bootstrap.d.ts.map +0 -1
- package/lib/bootstrap.js.map +0 -1
- package/lib/config/validation.d.ts.map +0 -1
- package/lib/config/validation.js.map +0 -1
- package/lib/decorators.d.ts.map +0 -1
- package/lib/decorators.js.map +0 -1
- package/lib/exceptions/index.d.ts.map +0 -1
- package/lib/exceptions/index.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/schemas/validation.d.ts.map +0 -1
- package/lib/schemas/validation.js.map +0 -1
- package/lib/sources.d.ts.map +0 -1
- package/lib/sources.js.map +0 -1
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/validator.d.ts.map +0 -1
- package/lib/validator.js.map +0 -1
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAG3D,qBACa,oBAAqB,SAAQ,YAAY;IAC7C,SAAS,IAAI,IAAI;CAGzB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ValidatorBootstraper = void 0;
|
|
13
|
+
const di_1 = require("@spinajs/di");
|
|
14
|
+
const validation_js_1 = __importDefault(require("./schemas/validation.js"));
|
|
15
|
+
let ValidatorBootstraper = class ValidatorBootstraper extends di_1.Bootstrapper {
|
|
16
|
+
bootstrap() {
|
|
17
|
+
di_1.DI.register(validation_js_1.default).asValue('__configurationSchema__');
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
ValidatorBootstraper = __decorate([
|
|
21
|
+
(0, di_1.Injectable)(di_1.Bootstrapper)
|
|
22
|
+
], ValidatorBootstraper);
|
|
23
|
+
exports.ValidatorBootstraper = ValidatorBootstraper;
|
|
24
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAA2D;AAC3D,4EAA2D;AAGpD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,iBAAY;IAC7C,SAAS;QACd,OAAE,CAAC,QAAQ,CAAC,uBAAoB,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvE,CAAC;CACF,CAAA;AAJY,oBAAoB;IADhC,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,oBAAoB,CAIhC;AAJY,oDAAoB"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/config/validation.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;;;;;;;CAcX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const config = {
|
|
4
|
+
validation: {
|
|
5
|
+
// enable all errors on validation, not only first one that occurred
|
|
6
|
+
allErrors: true,
|
|
7
|
+
// remove properties that are not defined in schema
|
|
8
|
+
removeAdditional: true,
|
|
9
|
+
// set default values if possible
|
|
10
|
+
useDefaults: true,
|
|
11
|
+
// The option coerceTypes allows you to have your data types coerced to the types specified in your schema type keywords
|
|
12
|
+
coerceTypes: true,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
exports.default = config;
|
|
16
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/config/validation.ts"],"names":[],"mappings":";;AAAA,MAAM,MAAM,GAAG;IACb,UAAU,EAAE;QACV,qEAAqE;QACrE,SAAS,EAAE,IAAI;QAEf,mDAAmD;QACnD,gBAAgB,EAAE,IAAI;QAEtB,iCAAiC;QACjC,WAAW,EAAE,IAAI;QAEjB,wHAAwH;QACxH,WAAW,EAAE,IAAI;KAClB;CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,YAC5B,GAAG,UAGpB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Schema = exports.SCHEMA_SYMBOL = void 0;
|
|
4
|
+
exports.SCHEMA_SYMBOL = Symbol('SCHEMA_SYMBOL');
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* Add schema for object eg. model or dto.
|
|
8
|
+
*
|
|
9
|
+
* @param schema - schema for object or schema name
|
|
10
|
+
*/
|
|
11
|
+
function Schema(schema) {
|
|
12
|
+
return (target) => {
|
|
13
|
+
Reflect.defineMetadata(exports.SCHEMA_SYMBOL, schema, target.prototype ?? target);
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
exports.Schema = Schema;
|
|
17
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAErD;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,MAAuB;IAC5C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,qBAAa,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC;AACJ,CAAC;AAJD,wBAIC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exceptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAClC;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IACtC,SAAS,EAAE,GAAG,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE;CAIlE;AAGD,MAAM,WAAW,gBAAiB,SAAQ,WAAW;CAAG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidationFailed = void 0;
|
|
4
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
5
|
+
/**
|
|
6
|
+
* The exception that is thrown when JSON entity is checked against schema and is invalid
|
|
7
|
+
*/
|
|
8
|
+
class ValidationFailed extends exceptions_1.Exception {
|
|
9
|
+
constructor(message, validationErrors) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.parameter = validationErrors;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.ValidationFailed = ValidationFailed;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEhD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,sBAAS;IAG7C,YAAY,OAAe,EAAE,gBAAoC;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACpC,CAAC;CACF;AAPD,4CAOC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
package/lib/cjs/index.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.default = void 0;
|
|
21
|
+
/**
|
|
22
|
+
* We export default configuration for webpack modules
|
|
23
|
+
* Normally we load configuration from disk via filesystem
|
|
24
|
+
* But webpack is bundlig all files into one.
|
|
25
|
+
*
|
|
26
|
+
* When we export, we can see configuration variable
|
|
27
|
+
* in webpack module cache and webpack config loader can see it
|
|
28
|
+
*/
|
|
29
|
+
var validation_js_1 = require("./config/validation.js");
|
|
30
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(validation_js_1).default; } });
|
|
31
|
+
__exportStar(require("./decorators.js"), exports);
|
|
32
|
+
__exportStar(require("./exceptions/index.js"), exports);
|
|
33
|
+
__exportStar(require("./sources.js"), exports);
|
|
34
|
+
__exportStar(require("./validator.js"), exports);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,wDAAiD;AAAxC,yHAAA,OAAO,OAAA;AAChB,kDAAgC;AAChC,wDAAsC;AACtC,+CAA6B;AAC7B,iDAA+B"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/schemas/validation.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;CAWzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const CONFIGURATION_SCHEMA = {
|
|
4
|
+
$id: 'spinajs/validation.configuration.schema.json',
|
|
5
|
+
$configurationModule: 'validation',
|
|
6
|
+
description: 'Validation module configuration schema',
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
allErrors: { type: 'boolean' },
|
|
10
|
+
removeAdditional: { type: 'boolean' },
|
|
11
|
+
useDefaults: { type: 'boolean' },
|
|
12
|
+
coerceTypes: { type: 'boolean' },
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
exports.default = CONFIGURATION_SCHEMA;
|
|
16
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/schemas/validation.ts"],"names":[],"mappings":";;AAAA,MAAM,oBAAoB,GAAG;IAC3B,GAAG,EAAE,8CAA8C;IACnD,oBAAoB,EAAE,YAAY;IAClC,WAAW,EAAE,wCAAwC;IACrD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAChC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KACjC;CACF,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/sources.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElE,qBACa,gBAAiB,SAAQ,YAAY;IAEzC,UAAU,EAAE,MAAM,EAAE,CAAC;IAEf,YAAY;;;;IAuBlB,cAAc;;;;IAaR,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAMxC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.FileSystemSource = void 0;
|
|
39
|
+
const configuration_1 = require("@spinajs/configuration");
|
|
40
|
+
const di_1 = require("@spinajs/di");
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const glob_1 = __importDefault(require("glob"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const types_js_1 = require("./types.js");
|
|
45
|
+
let FileSystemSource = class FileSystemSource extends types_js_1.SchemaSource {
|
|
46
|
+
async LoadJSSchema() {
|
|
47
|
+
if (!this.SchemaDirs)
|
|
48
|
+
return [];
|
|
49
|
+
const promises = this.SchemaDirs.filter((dir) => fs.existsSync(dir))
|
|
50
|
+
.flatMap((d) => glob_1.default.sync(path.join(d, '/**/*.+(js|cjs)').replace(/\\/g, '/')))
|
|
51
|
+
.map((f) => {
|
|
52
|
+
var _a;
|
|
53
|
+
return (_a = `file://${f}`, Promise.resolve().then(() => __importStar(require(_a)))).then((result) => {
|
|
54
|
+
return {
|
|
55
|
+
result: result,
|
|
56
|
+
file: path.basename(f),
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
const result = await Promise.all(promises);
|
|
61
|
+
return result.map((x) => {
|
|
62
|
+
return {
|
|
63
|
+
schema: x.result.default,
|
|
64
|
+
file: x.file,
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
LoadJSONSchema() {
|
|
69
|
+
if (!this.SchemaDirs)
|
|
70
|
+
return [];
|
|
71
|
+
return this.SchemaDirs.filter((dir) => fs.existsSync(dir))
|
|
72
|
+
.flatMap((d) => glob_1.default.sync(path.join(d, '/**/*.+(json)').replace(/\\/g, '/')))
|
|
73
|
+
.map((f) => {
|
|
74
|
+
return {
|
|
75
|
+
schema: JSON.parse(fs.readFileSync(f, 'utf-8')),
|
|
76
|
+
file: path.basename(f),
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
async Load() {
|
|
81
|
+
const sJS = await this.LoadJSSchema();
|
|
82
|
+
const sJSON = this.LoadJSONSchema();
|
|
83
|
+
return sJS.concat(sJSON);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, configuration_1.Config)('system.dirs.schemas'),
|
|
88
|
+
__metadata("design:type", Array)
|
|
89
|
+
], FileSystemSource.prototype, "SchemaDirs", void 0);
|
|
90
|
+
FileSystemSource = __decorate([
|
|
91
|
+
(0, di_1.Injectable)(types_js_1.SchemaSource)
|
|
92
|
+
], FileSystemSource);
|
|
93
|
+
exports.FileSystemSource = FileSystemSource;
|
|
94
|
+
//# sourceMappingURL=sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/sources.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAgD;AAChD,oCAAyC;AACzC,uCAAyB;AACzB,gDAAwB;AACxB,2CAA6B;AAC7B,yCAAkE;AAG3D,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,uBAAY;IAIzC,KAAK,CAAC,YAAY;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACjE,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aACtF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;;YACT,OAAO,MAAO,UAAU,CAAC,EAAE,2DAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC3C,OAAO;oBACL,MAAM,EAAE,MAA8B;oBACtC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACvB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,OAAO;gBACL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAwB;gBACzC,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvD,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aACpF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAkB;gBAChE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEpC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF,CAAA;AA7CC;IAAC,IAAA,sBAAM,EAAC,qBAAqB,CAAC;;oDACF;AAFjB,gBAAgB;IAD5B,IAAA,eAAU,EAAC,uBAAY,CAAC;GACZ,gBAAgB,CA8C5B;AA9CY,4CAAgB"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,8BAAsB,YAAY;aAChB,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IAEjC,SAAS,EAAE,OAAO,CAAC;IAGnB,gBAAgB,EAAE,OAAO,CAAC;IAG1B,WAAW,EAAE,OAAO,CAAC;IAGrB,WAAW,EAAE,OAAO,CAAC;CACtB"}
|
package/lib/cjs/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAUA,MAAsB,YAAY;CAEjC;AAFD,oCAEC"}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { Container, AsyncService } from '@spinajs/di';
|
|
2
|
-
import Ajv from 'ajv';
|
|
3
2
|
import { IValidationError } from './exceptions/index.js';
|
|
4
3
|
import { IValidationOptions, SchemaSource, ISchemaObject } from './types.js';
|
|
5
4
|
import { ILog } from '@spinajs/log';
|
|
6
5
|
import './sources.js';
|
|
6
|
+
/**
|
|
7
|
+
* HACK:
|
|
8
|
+
* Becouse of ajv not supporting esm default exports we need to
|
|
9
|
+
* check for default export module property and if not provided use module itself
|
|
10
|
+
*/
|
|
7
11
|
export declare class DataValidator extends AsyncService {
|
|
8
12
|
Options: IValidationOptions;
|
|
9
13
|
protected Sources: SchemaSource[];
|
|
10
14
|
protected Log: ILog;
|
|
11
|
-
|
|
15
|
+
/**
|
|
16
|
+
* We ignore this error because ajv have problems with
|
|
17
|
+
* commonjs / esm default exports
|
|
18
|
+
*/
|
|
19
|
+
protected Validator: any;
|
|
12
20
|
protected Container: Container;
|
|
13
21
|
resolve(): Promise<void>;
|
|
14
22
|
addSchema(schemaObject: object, identifier: string): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,YAAY,EAAa,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAG3E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAU,IAAI,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,cAAc,CAAC;AAQtB;;;;GAIG;AAGH,qBACa,aAAc,SAAQ,YAAY;IAEtC,OAAO,EAAE,kBAAkB,CAAC;IAGnC,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IAGlC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC;IAEpB;;;OAGG;IAEH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC;IAGzB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAElB,OAAO;IAkEb,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAOzD;;;;;;OAMG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;OAKG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC/D;;;;;OAKG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAyBjF,aAAa,CAAC,MAAM,EAAE,OAAO;IAIpC;;;;;OAKG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAEnC;;;;;;OAMG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAc7D"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.DataValidator = void 0;
|
|
16
|
+
const di_1 = require("@spinajs/di");
|
|
17
|
+
const ajv_1 = __importDefault(require("ajv"));
|
|
18
|
+
const configuration_1 = require("@spinajs/configuration");
|
|
19
|
+
const index_js_1 = require("./exceptions/index.js");
|
|
20
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
21
|
+
const decorators_js_1 = require("./decorators.js");
|
|
22
|
+
const types_js_1 = require("./types.js");
|
|
23
|
+
const log_1 = require("@spinajs/log");
|
|
24
|
+
// import default souces
|
|
25
|
+
require("./sources.js");
|
|
26
|
+
const ajv_merge_patch_1 = __importDefault(require("ajv-merge-patch"));
|
|
27
|
+
const ajv_formats_1 = __importDefault(require("ajv-formats"));
|
|
28
|
+
const ajv_keywords_1 = __importDefault(require("ajv-keywords"));
|
|
29
|
+
/**
|
|
30
|
+
* HACK:
|
|
31
|
+
* Becouse of ajv not supporting esm default exports we need to
|
|
32
|
+
* check for default export module property and if not provided use module itself
|
|
33
|
+
*/
|
|
34
|
+
let DataValidator = class DataValidator extends di_1.AsyncService {
|
|
35
|
+
async resolve() {
|
|
36
|
+
if (!this.Sources || this.Sources.length === 0) {
|
|
37
|
+
throw new exceptions_1.InvalidOperation('No schema sources avaible. Register any in DI container');
|
|
38
|
+
}
|
|
39
|
+
const ajvConfig = {
|
|
40
|
+
logger: {
|
|
41
|
+
log: (msg) => this.Log.info(msg),
|
|
42
|
+
warn: (msg) => this.Log.warn(msg),
|
|
43
|
+
error: (msg) => this.Log.error(msg),
|
|
44
|
+
},
|
|
45
|
+
...this.Options,
|
|
46
|
+
$data: true,
|
|
47
|
+
};
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
if (ajv_1.default.default) {
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
52
|
+
this.Validator = new ajv_1.default.default(ajvConfig);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// @ts-ignore
|
|
56
|
+
this.Validator = new ajv_1.default(ajvConfig);
|
|
57
|
+
}
|
|
58
|
+
// add $merge & $patch for json schema
|
|
59
|
+
(0, ajv_merge_patch_1.default)(this.Validator);
|
|
60
|
+
// add common formats validation eg: date time
|
|
61
|
+
ajv_formats_1.default.default(this.Validator);
|
|
62
|
+
// add keywords
|
|
63
|
+
ajv_keywords_1.default.default(this.Validator);
|
|
64
|
+
const pSources = this.Sources.map((x) => x.Load());
|
|
65
|
+
const result = await Promise.all(pSources);
|
|
66
|
+
result
|
|
67
|
+
.reduce((prev, curr) => {
|
|
68
|
+
return prev.concat(curr);
|
|
69
|
+
}, [])
|
|
70
|
+
.filter((s) => {
|
|
71
|
+
// validate schema can throw sometimes
|
|
72
|
+
try {
|
|
73
|
+
const vResult = this.Validator.validateSchema(s.schema, true);
|
|
74
|
+
if (!vResult) {
|
|
75
|
+
this.Log.error(`Schema at ${s.file} invalid`, 'validator');
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
this.Log.error(`Schema at ${s.file} invalid, reason: ${err.message}`, 'validator');
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
.forEach((s) => {
|
|
86
|
+
this.addSchema(s.schema, s.schema.$id);
|
|
87
|
+
});
|
|
88
|
+
await super.resolve();
|
|
89
|
+
}
|
|
90
|
+
addSchema(schemaObject, identifier) {
|
|
91
|
+
if (!this.hasSchema(identifier)) {
|
|
92
|
+
this.Validator.addSchema(schemaObject, identifier);
|
|
93
|
+
this.Log.trace(`Schema ${identifier} added !`, 'validator');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
*
|
|
98
|
+
* Checks if schema is loaded ( from file )
|
|
99
|
+
*
|
|
100
|
+
* @param schemaId - schema id to check
|
|
101
|
+
* @returns true if schema is loaded, false otherwise
|
|
102
|
+
*/
|
|
103
|
+
hasSchema(schemaId) {
|
|
104
|
+
return !!this.Validator.getSchema(schemaId);
|
|
105
|
+
}
|
|
106
|
+
tryValidate(schemaOrData, data) {
|
|
107
|
+
let schema = null;
|
|
108
|
+
if (data === null || data === undefined) {
|
|
109
|
+
schema = Reflect.getMetadata(decorators_js_1.SCHEMA_SYMBOL, schemaOrData);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
if (typeof schemaOrData === 'string') {
|
|
113
|
+
/* eslint-disable */
|
|
114
|
+
schema = this.Validator.getSchema(schemaOrData)?.schema ?? null;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
schema = schemaOrData;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (schema) {
|
|
121
|
+
const result = this.Validator.validate(schema, data !== null && data !== undefined ? data : schemaOrData);
|
|
122
|
+
if (!result) {
|
|
123
|
+
return [false, this.Validator.errors ?? null];
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return [true, null];
|
|
127
|
+
}
|
|
128
|
+
extractSchema(object) {
|
|
129
|
+
return Reflect.getMetadata(decorators_js_1.SCHEMA_SYMBOL, object);
|
|
130
|
+
}
|
|
131
|
+
validate(schemaOrData, data) {
|
|
132
|
+
const [isValid, errors] = this.tryValidate(schemaOrData, data);
|
|
133
|
+
if (!isValid) {
|
|
134
|
+
switch (errors[0].keyword) {
|
|
135
|
+
case 'invalid_argument':
|
|
136
|
+
throw new exceptions_1.InvalidArgument('data is null or undefined');
|
|
137
|
+
case 'empty_schema':
|
|
138
|
+
throw new exceptions_1.InvalidArgument('objects schema is not set');
|
|
139
|
+
default:
|
|
140
|
+
throw new index_js_1.ValidationFailed('validation error', errors);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
__decorate([
|
|
146
|
+
(0, configuration_1.Config)('validation'),
|
|
147
|
+
__metadata("design:type", Object)
|
|
148
|
+
], DataValidator.prototype, "Options", void 0);
|
|
149
|
+
__decorate([
|
|
150
|
+
(0, di_1.Autoinject)(types_js_1.SchemaSource),
|
|
151
|
+
__metadata("design:type", Array)
|
|
152
|
+
], DataValidator.prototype, "Sources", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
(0, log_1.Logger)('validation'),
|
|
155
|
+
__metadata("design:type", Object)
|
|
156
|
+
], DataValidator.prototype, "Log", void 0);
|
|
157
|
+
__decorate([
|
|
158
|
+
(0, di_1.Autoinject)(),
|
|
159
|
+
__metadata("design:type", di_1.Container)
|
|
160
|
+
], DataValidator.prototype, "Container", void 0);
|
|
161
|
+
DataValidator = __decorate([
|
|
162
|
+
(0, di_1.Singleton)()
|
|
163
|
+
], DataValidator);
|
|
164
|
+
exports.DataValidator = DataValidator;
|
|
165
|
+
//# sourceMappingURL=validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAG3D,qBACa,oBAAqB,SAAQ,YAAY;IAC7C,SAAS,IAAI,IAAI;CAGzB"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAGpD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,YAAY;IAC7C,SAAS;QACd,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvE,CAAC;CACF,CAAA;AAJY,oBAAoB;IADhC,UAAU,CAAC,YAAY,CAAC;GACZ,oBAAoB,CAIhC;SAJY,oBAAoB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/config/validation.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;;;;;;;CAcX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/config/validation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG;IACb,UAAU,EAAE;QACV,qEAAqE;QACrE,SAAS,EAAE,IAAI;QAEf,mDAAmD;QACnD,gBAAgB,EAAE,IAAI;QAEtB,iCAAiC;QACjC,WAAW,EAAE,IAAI;QAEjB,wHAAwH;QACxH,WAAW,EAAE,IAAI;KAClB;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const SCHEMA_SYMBOL: unique symbol;
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* Add schema for object eg. model or dto.
|
|
5
|
+
*
|
|
6
|
+
* @param schema - schema for object or schema name
|
|
7
|
+
*/
|
|
8
|
+
export declare function Schema(schema: object | string): (target: any) => void;
|
|
9
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,YAC5B,GAAG,UAGpB"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,MAAuB;IAC5C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Exception } from '@spinajs/exceptions';
|
|
2
|
+
import { ErrorObject } from 'ajv';
|
|
3
|
+
/**
|
|
4
|
+
* The exception that is thrown when JSON entity is checked against schema and is invalid
|
|
5
|
+
*/
|
|
6
|
+
export declare class ValidationFailed extends Exception {
|
|
7
|
+
parameter: any;
|
|
8
|
+
constructor(message: string, validationErrors: IValidationError[]);
|
|
9
|
+
}
|
|
10
|
+
export interface IValidationError extends ErrorObject {
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exceptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAClC;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IACtC,SAAS,EAAE,GAAG,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE;CAIlE;AAGD,MAAM,WAAW,gBAAiB,SAAQ,WAAW;CAAG"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exceptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAG7C,YAAY,OAAe,EAAE,gBAAoC;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We export default configuration for webpack modules
|
|
3
|
+
* Normally we load configuration from disk via filesystem
|
|
4
|
+
* But webpack is bundlig all files into one.
|
|
5
|
+
*
|
|
6
|
+
* When we export, we can see configuration variable
|
|
7
|
+
* in webpack module cache and webpack config loader can see it
|
|
8
|
+
*/
|
|
9
|
+
export { default } from './config/validation.js';
|
|
10
|
+
export * from './decorators.js';
|
|
11
|
+
export * from './exceptions/index.js';
|
|
12
|
+
export * from './sources.js';
|
|
13
|
+
export * from './validator.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
File without changes
|