@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.
Files changed (45) hide show
  1. package/lib/cjs/bootstrap.d.ts +4 -4
  2. package/lib/cjs/bootstrap.js +23 -23
  3. package/lib/cjs/bootstrap.js.map +1 -1
  4. package/lib/cjs/config/validation.d.ts +9 -9
  5. package/lib/cjs/config/validation.js +15 -15
  6. package/lib/cjs/decorators.d.ts +8 -8
  7. package/lib/cjs/decorators.js +16 -16
  8. package/lib/cjs/exceptions/index.d.ts +11 -11
  9. package/lib/cjs/exceptions/index.js +14 -14
  10. package/lib/cjs/index.d.ts +13 -13
  11. package/lib/cjs/index.js +34 -34
  12. package/lib/cjs/schemas/validation.d.ts +21 -21
  13. package/lib/cjs/schemas/validation.js +15 -15
  14. package/lib/cjs/sources.d.ts +13 -13
  15. package/lib/cjs/sources.js +92 -93
  16. package/lib/cjs/sources.js.map +1 -1
  17. package/lib/cjs/types.d.ts +17 -17
  18. package/lib/cjs/types.js +6 -6
  19. package/lib/cjs/validator.d.ts +61 -61
  20. package/lib/cjs/validator.js +164 -164
  21. package/lib/cjs/validator.js.map +1 -1
  22. package/lib/mjs/bootstrap.d.ts +4 -4
  23. package/lib/mjs/bootstrap.js +17 -17
  24. package/lib/mjs/bootstrap.js.map +1 -1
  25. package/lib/mjs/config/validation.d.ts +9 -9
  26. package/lib/mjs/config/validation.js +13 -13
  27. package/lib/mjs/decorators.d.ts +8 -8
  28. package/lib/mjs/decorators.js +12 -12
  29. package/lib/mjs/exceptions/index.d.ts +11 -11
  30. package/lib/mjs/exceptions/index.js +10 -10
  31. package/lib/mjs/index.d.ts +13 -13
  32. package/lib/mjs/index.js +13 -13
  33. package/lib/mjs/schemas/validation.d.ts +21 -21
  34. package/lib/mjs/schemas/validation.js +13 -13
  35. package/lib/mjs/sources.d.ts +13 -13
  36. package/lib/mjs/sources.js +63 -63
  37. package/lib/mjs/sources.js.map +1 -1
  38. package/lib/mjs/types.d.ts +17 -17
  39. package/lib/mjs/types.js +2 -2
  40. package/lib/mjs/validator.d.ts +61 -61
  41. package/lib/mjs/validator.js +158 -158
  42. package/lib/mjs/validator.js.map +1 -1
  43. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  44. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  45. package/package.json +5 -5
@@ -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
@@ -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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"}