@spinajs/validation 2.0.180 → 2.0.182
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/cjs/bootstrap.d.ts +4 -4
- package/lib/cjs/bootstrap.js +23 -23
- package/lib/cjs/bootstrap.js.map +1 -1
- package/lib/cjs/config/validation.d.ts +9 -9
- package/lib/cjs/config/validation.js +15 -15
- package/lib/cjs/decorators.d.ts +8 -8
- package/lib/cjs/decorators.js +16 -16
- package/lib/cjs/exceptions/index.d.ts +11 -11
- package/lib/cjs/exceptions/index.js +14 -14
- package/lib/cjs/index.d.ts +13 -13
- package/lib/cjs/index.js +34 -34
- package/lib/cjs/schemas/validation.d.ts +21 -21
- package/lib/cjs/schemas/validation.js +15 -15
- package/lib/cjs/sources.d.ts +13 -13
- package/lib/cjs/sources.js +92 -93
- package/lib/cjs/sources.js.map +1 -1
- package/lib/cjs/types.d.ts +17 -17
- package/lib/cjs/types.js +6 -6
- package/lib/cjs/validator.d.ts +61 -61
- package/lib/cjs/validator.js +164 -164
- package/lib/cjs/validator.js.map +1 -1
- package/lib/mjs/bootstrap.d.ts +4 -4
- package/lib/mjs/bootstrap.js +17 -17
- package/lib/mjs/bootstrap.js.map +1 -1
- package/lib/mjs/config/validation.d.ts +9 -9
- package/lib/mjs/config/validation.js +13 -13
- package/lib/mjs/decorators.d.ts +8 -8
- package/lib/mjs/decorators.js +12 -12
- package/lib/mjs/exceptions/index.d.ts +11 -11
- package/lib/mjs/exceptions/index.js +10 -10
- package/lib/mjs/index.d.ts +13 -13
- package/lib/mjs/index.js +13 -13
- package/lib/mjs/schemas/validation.d.ts +21 -21
- package/lib/mjs/schemas/validation.js +13 -13
- package/lib/mjs/sources.d.ts +13 -13
- package/lib/mjs/sources.js +63 -63
- package/lib/mjs/sources.js.map +1 -1
- package/lib/mjs/types.d.ts +17 -17
- package/lib/mjs/types.js +2 -2
- package/lib/mjs/validator.d.ts +61 -61
- package/lib/mjs/validator.js +158 -158
- package/lib/mjs/validator.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +5 -5
package/lib/mjs/validator.js
CHANGED
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { Autoinject, Container, AsyncService, Singleton } from '@spinajs/di';
|
|
11
|
-
import Ajv from 'ajv';
|
|
12
|
-
import { Config } from '@spinajs/configuration';
|
|
13
|
-
import { ValidationFailed } from './exceptions/index.js';
|
|
14
|
-
import { InvalidArgument, InvalidOperation } from '@spinajs/exceptions';
|
|
15
|
-
import { SCHEMA_SYMBOL } from './decorators.js';
|
|
16
|
-
import { SchemaSource } from './types.js';
|
|
17
|
-
import { Logger, Log } from '@spinajs/log-common';
|
|
18
|
-
// import default souces
|
|
19
|
-
import './sources.js';
|
|
20
|
-
import { default as ajvMergePath } from 'ajv-merge-patch';
|
|
21
|
-
import { default as ajvFormats } from 'ajv-formats';
|
|
22
|
-
import { default as ajvKeywords } from 'ajv-keywords';
|
|
23
|
-
/**
|
|
24
|
-
* HACK:
|
|
25
|
-
* Becouse of ajv not supporting esm default exports we need to
|
|
26
|
-
* check for default export module property and if not provided use module itself
|
|
27
|
-
*/
|
|
28
|
-
let DataValidator = class DataValidator extends AsyncService {
|
|
29
|
-
async resolve() {
|
|
30
|
-
if (!this.Sources || this.Sources.length === 0) {
|
|
31
|
-
throw new InvalidOperation('No schema sources avaible. Register any in DI container');
|
|
32
|
-
}
|
|
33
|
-
const ajvConfig = {
|
|
34
|
-
logger: {
|
|
35
|
-
log: (msg) => this.Log.info(msg),
|
|
36
|
-
warn: (msg) => this.Log.warn(msg),
|
|
37
|
-
error: (msg) => this.Log.error(msg),
|
|
38
|
-
},
|
|
39
|
-
...this.Options,
|
|
40
|
-
$data: true,
|
|
41
|
-
};
|
|
42
|
-
// @ts-ignore
|
|
43
|
-
if (Ajv.default) {
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
46
|
-
this.Validator = new Ajv.default(ajvConfig);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
// @ts-ignore
|
|
50
|
-
this.Validator = new Ajv(ajvConfig);
|
|
51
|
-
}
|
|
52
|
-
// add $merge & $patch for json schema
|
|
53
|
-
ajvMergePath(this.Validator);
|
|
54
|
-
// add common formats validation eg: date time
|
|
55
|
-
ajvFormats.default(this.Validator);
|
|
56
|
-
// add keywords
|
|
57
|
-
ajvKeywords.default(this.Validator);
|
|
58
|
-
const pSources = this.Sources.map((x) => x.Load());
|
|
59
|
-
const result = await Promise.all(pSources);
|
|
60
|
-
result
|
|
61
|
-
.reduce((prev, curr) => {
|
|
62
|
-
return prev.concat(curr);
|
|
63
|
-
}, [])
|
|
64
|
-
.filter((s) => {
|
|
65
|
-
// validate schema can throw sometimes
|
|
66
|
-
try {
|
|
67
|
-
const vResult = this.Validator.validateSchema(s.schema, true);
|
|
68
|
-
if (!vResult) {
|
|
69
|
-
this.Log.error(`Schema at ${s.file} invalid`, 'validator');
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
this.Log.error(`Schema at ${s.file} invalid, reason: ${err.message}`, 'validator');
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
})
|
|
79
|
-
.forEach((s) => {
|
|
80
|
-
this.addSchema(s.schema, s.schema.$id);
|
|
81
|
-
});
|
|
82
|
-
await super.resolve();
|
|
83
|
-
}
|
|
84
|
-
addSchema(schemaObject, identifier) {
|
|
85
|
-
if (!this.hasSchema(identifier)) {
|
|
86
|
-
this.Validator.addSchema(schemaObject, identifier);
|
|
87
|
-
this.Log.trace(`Schema ${identifier} added !`, 'validator');
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
*
|
|
92
|
-
* Checks if schema is loaded ( from file )
|
|
93
|
-
*
|
|
94
|
-
* @param schemaId - schema id to check
|
|
95
|
-
* @returns true if schema is loaded, false otherwise
|
|
96
|
-
*/
|
|
97
|
-
hasSchema(schemaId) {
|
|
98
|
-
return !!this.Validator.getSchema(schemaId);
|
|
99
|
-
}
|
|
100
|
-
tryValidate(schemaOrData, data) {
|
|
101
|
-
let schema = null;
|
|
102
|
-
if (data === null || data === undefined) {
|
|
103
|
-
schema = Reflect.getMetadata(SCHEMA_SYMBOL, schemaOrData);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
if (typeof schemaOrData === 'string') {
|
|
107
|
-
/* eslint-disable */
|
|
108
|
-
schema = this.Validator.getSchema(schemaOrData)?.schema ?? null;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
schema = schemaOrData;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (schema) {
|
|
115
|
-
const result = this.Validator.validate(schema, data !== null && data !== undefined ? data : schemaOrData);
|
|
116
|
-
if (!result) {
|
|
117
|
-
return [false, this.Validator.errors ?? null];
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return [true, null];
|
|
121
|
-
}
|
|
122
|
-
extractSchema(object) {
|
|
123
|
-
return Reflect.getMetadata(SCHEMA_SYMBOL, object);
|
|
124
|
-
}
|
|
125
|
-
validate(schemaOrData, data) {
|
|
126
|
-
const [isValid, errors] = this.tryValidate(schemaOrData, data);
|
|
127
|
-
if (!isValid) {
|
|
128
|
-
switch (errors[0].keyword) {
|
|
129
|
-
case 'invalid_argument':
|
|
130
|
-
throw new InvalidArgument('data is null or undefined');
|
|
131
|
-
case 'empty_schema':
|
|
132
|
-
throw new InvalidArgument('objects schema is not set');
|
|
133
|
-
default:
|
|
134
|
-
throw new ValidationFailed('validation error', errors);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
__decorate([
|
|
140
|
-
Config('validation'),
|
|
141
|
-
__metadata("design:type", Object)
|
|
142
|
-
], DataValidator.prototype, "Options", void 0);
|
|
143
|
-
__decorate([
|
|
144
|
-
Autoinject(SchemaSource),
|
|
145
|
-
__metadata("design:type", Array)
|
|
146
|
-
], DataValidator.prototype, "Sources", void 0);
|
|
147
|
-
__decorate([
|
|
148
|
-
Logger('validation'),
|
|
149
|
-
__metadata("design:type", Log)
|
|
150
|
-
], DataValidator.prototype, "Log", void 0);
|
|
151
|
-
__decorate([
|
|
152
|
-
Autoinject(),
|
|
153
|
-
__metadata("design:type", Container)
|
|
154
|
-
], DataValidator.prototype, "Container", void 0);
|
|
155
|
-
DataValidator = __decorate([
|
|
156
|
-
Singleton()
|
|
157
|
-
], DataValidator);
|
|
158
|
-
export { DataValidator };
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Autoinject, Container, AsyncService, Singleton } from '@spinajs/di';
|
|
11
|
+
import Ajv from 'ajv';
|
|
12
|
+
import { Config } from '@spinajs/configuration';
|
|
13
|
+
import { ValidationFailed } from './exceptions/index.js';
|
|
14
|
+
import { InvalidArgument, InvalidOperation } from '@spinajs/exceptions';
|
|
15
|
+
import { SCHEMA_SYMBOL } from './decorators.js';
|
|
16
|
+
import { SchemaSource } from './types.js';
|
|
17
|
+
import { Logger, Log } from '@spinajs/log-common';
|
|
18
|
+
// import default souces
|
|
19
|
+
import './sources.js';
|
|
20
|
+
import { default as ajvMergePath } from 'ajv-merge-patch';
|
|
21
|
+
import { default as ajvFormats } from 'ajv-formats';
|
|
22
|
+
import { default as ajvKeywords } from 'ajv-keywords';
|
|
23
|
+
/**
|
|
24
|
+
* HACK:
|
|
25
|
+
* Becouse of ajv not supporting esm default exports we need to
|
|
26
|
+
* check for default export module property and if not provided use module itself
|
|
27
|
+
*/
|
|
28
|
+
let DataValidator = class DataValidator extends AsyncService {
|
|
29
|
+
async resolve() {
|
|
30
|
+
if (!this.Sources || this.Sources.length === 0) {
|
|
31
|
+
throw new InvalidOperation('No schema sources avaible. Register any in DI container');
|
|
32
|
+
}
|
|
33
|
+
const ajvConfig = {
|
|
34
|
+
logger: {
|
|
35
|
+
log: (msg) => this.Log.info(msg),
|
|
36
|
+
warn: (msg) => this.Log.warn(msg),
|
|
37
|
+
error: (msg) => this.Log.error(msg),
|
|
38
|
+
},
|
|
39
|
+
...this.Options,
|
|
40
|
+
$data: true,
|
|
41
|
+
};
|
|
42
|
+
// @ts-ignore
|
|
43
|
+
if (Ajv.default) {
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
46
|
+
this.Validator = new Ajv.default(ajvConfig);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// @ts-ignore
|
|
50
|
+
this.Validator = new Ajv(ajvConfig);
|
|
51
|
+
}
|
|
52
|
+
// add $merge & $patch for json schema
|
|
53
|
+
ajvMergePath(this.Validator);
|
|
54
|
+
// add common formats validation eg: date time
|
|
55
|
+
ajvFormats.default(this.Validator);
|
|
56
|
+
// add keywords
|
|
57
|
+
ajvKeywords.default(this.Validator);
|
|
58
|
+
const pSources = this.Sources.map((x) => x.Load());
|
|
59
|
+
const result = await Promise.all(pSources);
|
|
60
|
+
result
|
|
61
|
+
.reduce((prev, curr) => {
|
|
62
|
+
return prev.concat(curr);
|
|
63
|
+
}, [])
|
|
64
|
+
.filter((s) => {
|
|
65
|
+
// validate schema can throw sometimes
|
|
66
|
+
try {
|
|
67
|
+
const vResult = this.Validator.validateSchema(s.schema, true);
|
|
68
|
+
if (!vResult) {
|
|
69
|
+
this.Log.error(`Schema at ${s.file} invalid`, 'validator');
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
this.Log.error(`Schema at ${s.file} invalid, reason: ${err.message}`, 'validator');
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
})
|
|
79
|
+
.forEach((s) => {
|
|
80
|
+
this.addSchema(s.schema, s.schema.$id);
|
|
81
|
+
});
|
|
82
|
+
await super.resolve();
|
|
83
|
+
}
|
|
84
|
+
addSchema(schemaObject, identifier) {
|
|
85
|
+
if (!this.hasSchema(identifier)) {
|
|
86
|
+
this.Validator.addSchema(schemaObject, identifier);
|
|
87
|
+
this.Log.trace(`Schema ${identifier} added !`, 'validator');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
* Checks if schema is loaded ( from file )
|
|
93
|
+
*
|
|
94
|
+
* @param schemaId - schema id to check
|
|
95
|
+
* @returns true if schema is loaded, false otherwise
|
|
96
|
+
*/
|
|
97
|
+
hasSchema(schemaId) {
|
|
98
|
+
return !!this.Validator.getSchema(schemaId);
|
|
99
|
+
}
|
|
100
|
+
tryValidate(schemaOrData, data) {
|
|
101
|
+
let schema = null;
|
|
102
|
+
if (data === null || data === undefined) {
|
|
103
|
+
schema = Reflect.getMetadata(SCHEMA_SYMBOL, schemaOrData);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
if (typeof schemaOrData === 'string') {
|
|
107
|
+
/* eslint-disable */
|
|
108
|
+
schema = this.Validator.getSchema(schemaOrData)?.schema ?? null;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
schema = schemaOrData;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (schema) {
|
|
115
|
+
const result = this.Validator.validate(schema, data !== null && data !== undefined ? data : schemaOrData);
|
|
116
|
+
if (!result) {
|
|
117
|
+
return [false, this.Validator.errors ?? null];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return [true, null];
|
|
121
|
+
}
|
|
122
|
+
extractSchema(object) {
|
|
123
|
+
return Reflect.getMetadata(SCHEMA_SYMBOL, object);
|
|
124
|
+
}
|
|
125
|
+
validate(schemaOrData, data) {
|
|
126
|
+
const [isValid, errors] = this.tryValidate(schemaOrData, data);
|
|
127
|
+
if (!isValid) {
|
|
128
|
+
switch (errors[0].keyword) {
|
|
129
|
+
case 'invalid_argument':
|
|
130
|
+
throw new InvalidArgument('data is null or undefined');
|
|
131
|
+
case 'empty_schema':
|
|
132
|
+
throw new InvalidArgument('objects schema is not set');
|
|
133
|
+
default:
|
|
134
|
+
throw new ValidationFailed('validation error', errors);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
__decorate([
|
|
140
|
+
Config('validation'),
|
|
141
|
+
__metadata("design:type", Object)
|
|
142
|
+
], DataValidator.prototype, "Options", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
Autoinject(SchemaSource),
|
|
145
|
+
__metadata("design:type", Array)
|
|
146
|
+
], DataValidator.prototype, "Sources", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
Logger('validation'),
|
|
149
|
+
__metadata("design:type", Log)
|
|
150
|
+
], DataValidator.prototype, "Log", void 0);
|
|
151
|
+
__decorate([
|
|
152
|
+
Autoinject(),
|
|
153
|
+
__metadata("design:type", Container)
|
|
154
|
+
], DataValidator.prototype, "Container", void 0);
|
|
155
|
+
DataValidator = __decorate([
|
|
156
|
+
Singleton()
|
|
157
|
+
], DataValidator);
|
|
158
|
+
export { DataValidator };
|
|
159
159
|
//# sourceMappingURL=validator.js.map
|
package/lib/mjs/validator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"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"}
|