@contember/schema-utils 1.2.1 → 1.3.0-alpha.13
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/dist/src/SchemaDatabaseMetadata.d.ts +40 -0
- package/dist/src/SchemaDatabaseMetadata.d.ts.map +1 -0
- package/dist/src/SchemaDatabaseMetadata.js +20 -0
- package/dist/src/SchemaDatabaseMetadata.js.map +1 -0
- package/dist/src/acl/PredicateDefinitionProcessor.d.ts.map +1 -1
- package/dist/src/acl/PredicateDefinitionProcessor.js +49 -44
- package/dist/src/acl/PredicateDefinitionProcessor.js.map +1 -1
- package/dist/src/definition-generator/AclDefinitionCodeGenerator.d.ts +19 -0
- package/dist/src/definition-generator/AclDefinitionCodeGenerator.d.ts.map +1 -0
- package/dist/src/definition-generator/AclDefinitionCodeGenerator.js +116 -0
- package/dist/src/definition-generator/AclDefinitionCodeGenerator.js.map +1 -0
- package/dist/src/definition-generator/DefinitionCodeGenerator.d.ts +27 -0
- package/dist/src/definition-generator/DefinitionCodeGenerator.d.ts.map +1 -0
- package/dist/src/definition-generator/DefinitionCodeGenerator.js +216 -0
- package/dist/src/definition-generator/DefinitionCodeGenerator.js.map +1 -0
- package/dist/src/definition-generator/DefinitionNamingConventions.d.ts +7 -0
- package/dist/src/definition-generator/DefinitionNamingConventions.d.ts.map +1 -0
- package/dist/src/definition-generator/DefinitionNamingConventions.js +18 -0
- package/dist/src/definition-generator/DefinitionNamingConventions.js.map +1 -0
- package/dist/src/definition-generator/TsDefinitionGenerator.d.ts +4 -18
- package/dist/src/definition-generator/TsDefinitionGenerator.d.ts.map +1 -1
- package/dist/src/definition-generator/TsDefinitionGenerator.js +6 -232
- package/dist/src/definition-generator/TsDefinitionGenerator.js.map +1 -1
- package/dist/src/definition-generator/index.d.ts +3 -0
- package/dist/src/definition-generator/index.d.ts.map +1 -1
- package/dist/src/definition-generator/index.js +3 -0
- package/dist/src/definition-generator/index.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lax/LaxSchemaConverter.d.ts.map +1 -1
- package/dist/src/lax/LaxSchemaConverter.js +4 -5
- package/dist/src/lax/LaxSchemaConverter.js.map +1 -1
- package/dist/src/model/index.d.ts +0 -1
- package/dist/src/model/index.d.ts.map +1 -1
- package/dist/src/model/index.js +0 -1
- package/dist/src/model/index.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/type-schema/actions.d.ts +31 -0
- package/dist/src/type-schema/actions.d.ts.map +1 -0
- package/dist/src/type-schema/actions.js +75 -0
- package/dist/src/type-schema/actions.js.map +1 -0
- package/dist/src/type-schema/model.d.ts +8 -6
- package/dist/src/type-schema/model.d.ts.map +1 -1
- package/dist/src/type-schema/model.js +6 -6
- package/dist/src/type-schema/model.js.map +1 -1
- package/dist/src/type-schema/where.d.ts +7 -0
- package/dist/src/type-schema/where.d.ts.map +1 -0
- package/dist/src/type-schema/where.js +50 -0
- package/dist/src/type-schema/where.js.map +1 -0
- package/dist/src/utils/deepCompare.d.ts +8 -2
- package/dist/src/utils/deepCompare.d.ts.map +1 -1
- package/dist/src/utils/deepCompare.js +32 -4
- package/dist/src/utils/deepCompare.js.map +1 -1
- package/dist/src/utils/printJsValue.d.ts +13 -0
- package/dist/src/utils/printJsValue.d.ts.map +1 -0
- package/dist/src/utils/printJsValue.js +57 -0
- package/dist/src/utils/printJsValue.js.map +1 -0
- package/dist/src/validation/ActionsValidator.d.ts +13 -0
- package/dist/src/validation/ActionsValidator.d.ts.map +1 -0
- package/dist/src/validation/ActionsValidator.js +134 -0
- package/dist/src/validation/ActionsValidator.js.map +1 -0
- package/dist/src/validation/ModelValidator.d.ts.map +1 -1
- package/dist/src/validation/ModelValidator.js +5 -31
- package/dist/src/validation/ModelValidator.js.map +1 -1
- package/dist/src/validation/SchemaValidator.d.ts.map +1 -1
- package/dist/src/validation/SchemaValidator.js +4 -1
- package/dist/src/validation/SchemaValidator.js.map +1 -1
- package/dist/src/validation/errors.d.ts +1 -1
- package/dist/src/validation/errors.d.ts.map +1 -1
- package/dist/src/validation/errors.js.map +1 -1
- package/dist/tests/cases/unit/deepCompare.test.d.ts +2 -0
- package/dist/tests/cases/unit/deepCompare.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/deepCompare.test.js +43 -0
- package/dist/tests/cases/unit/deepCompare.test.js.map +1 -0
- package/dist/tests/cases/unit/modelValidator.test.js +6 -72
- package/dist/tests/cases/unit/modelValidator.test.js.map +1 -1
- package/dist/tests/cases/unit/printJsvalue.test.d.ts +2 -0
- package/dist/tests/cases/unit/printJsvalue.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/printJsvalue.test.js +90 -0
- package/dist/tests/cases/unit/printJsvalue.test.js.map +1 -0
- package/dist/tests/cases/unit/schemas/acl.d.ts +13 -0
- package/dist/tests/cases/unit/schemas/acl.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/acl.js +47 -0
- package/dist/tests/cases/unit/schemas/acl.js.map +1 -0
- package/dist/tests/cases/unit/schemas/basic.d.ts.map +1 -1
- package/dist/tests/cases/unit/schemas/basic.js.map +1 -1
- package/dist/tests/cases/unit/schemas/enum.d.ts.map +1 -1
- package/dist/tests/cases/unit/schemas/enum.js.map +1 -1
- package/dist/tests/cases/unit/schemas/relations.d.ts.map +1 -1
- package/dist/tests/cases/unit/schemas/relations.js.map +1 -1
- package/dist/tests/cases/unit/schemas/unique.d.ts.map +1 -1
- package/dist/tests/cases/unit/schemas/unique.js.map +1 -1
- package/dist/tests/cases/unit/tsDefinitionGenerator.test.js +5 -3
- package/dist/tests/cases/unit/tsDefinitionGenerator.test.js.map +1 -1
- package/dist/tests/cases/unit/whereSchema.test.d.ts +2 -0
- package/dist/tests/cases/unit/whereSchema.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/whereSchema.test.js +85 -0
- package/dist/tests/cases/unit/whereSchema.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -4
- package/src/SchemaDatabaseMetadata.ts +66 -0
- package/src/acl/PredicateDefinitionProcessor.ts +59 -60
- package/src/definition-generator/AclDefinitionCodeGenerator.ts +126 -0
- package/src/definition-generator/DefinitionCodeGenerator.ts +250 -0
- package/src/definition-generator/DefinitionNamingConventions.ts +16 -0
- package/src/definition-generator/TsDefinitionGenerator.ts +8 -264
- package/src/definition-generator/index.ts +3 -0
- package/src/index.ts +5 -1
- package/src/lax/LaxSchemaConverter.ts +4 -5
- package/src/model/index.ts +0 -1
- package/src/tsconfig.json +2 -6
- package/src/type-schema/actions.ts +79 -0
- package/src/type-schema/model.ts +21 -8
- package/src/type-schema/where.ts +28 -0
- package/src/utils/deepCompare.ts +37 -4
- package/src/utils/printJsValue.ts +62 -0
- package/src/validation/ActionsValidator.ts +119 -0
- package/src/validation/ModelValidator.ts +12 -36
- package/src/validation/SchemaValidator.ts +6 -1
- package/src/validation/errors.ts +7 -0
- package/tests/cases/unit/__snapshots__/laxSchemaConverter.test.ts.snap +30 -14
- package/tests/cases/unit/deepCompare.test.ts +44 -0
- package/tests/cases/unit/modelValidator.test.ts +6 -73
- package/tests/cases/unit/printJsvalue.test.ts +100 -0
- package/tests/cases/unit/schemas/acl.ts +34 -0
- package/tests/cases/unit/schemas/basic.ts +1 -1
- package/tests/cases/unit/schemas/enum.ts +1 -1
- package/tests/cases/unit/schemas/relations.ts +1 -1
- package/tests/cases/unit/schemas/unique.ts +1 -1
- package/tests/cases/unit/tsDefinitionGenerator.test.ts +6 -4
- package/tests/cases/unit/whereSchema.test.ts +89 -0
- package/tests/tsconfig.json +1 -3
- package/tsconfig.json +2 -6
- package/dist/src/model/NamingHelper.d.ts +0 -9
- package/dist/src/model/NamingHelper.d.ts.map +0 -1
- package/dist/src/model/NamingHelper.js +0 -46
- package/dist/src/model/NamingHelper.js.map +0 -1
- package/src/model/NamingHelper.ts +0 -42
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deepCompare = void 0;
|
|
3
|
+
exports.deepCompare = exports.compareArraysIgnoreOrder = void 0;
|
|
4
4
|
const getType = (val) => {
|
|
5
5
|
if (val === null) {
|
|
6
6
|
return 'null';
|
|
@@ -20,10 +20,38 @@ const getType = (val) => {
|
|
|
20
20
|
}
|
|
21
21
|
return 'object';
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
const compareArraysIgnoreOrder = (a, b, path) => {
|
|
24
|
+
if (!Array.isArray(a) || !Array.isArray(b)) {
|
|
25
|
+
return [{ path, message: 'Invalid type, expected array' }];
|
|
26
|
+
}
|
|
27
|
+
if (a.length !== b.length) {
|
|
28
|
+
return [{ path, message: `Array length: ${a.length} != ${b.length}` }];
|
|
29
|
+
}
|
|
30
|
+
const haystack = [...b];
|
|
31
|
+
for (const needle of a) {
|
|
32
|
+
const index = haystack.findIndex(it => {
|
|
33
|
+
const errors = deepCompare(needle, it, path);
|
|
34
|
+
return errors.length === 0;
|
|
35
|
+
});
|
|
36
|
+
if (index < 0) {
|
|
37
|
+
return [{ path, message: `Array item: ${JSON.stringify(needle)} not found in ${JSON.stringify(haystack)}` }];
|
|
38
|
+
}
|
|
39
|
+
haystack.splice(index, 1);
|
|
40
|
+
}
|
|
41
|
+
if (haystack.length > 0) {
|
|
42
|
+
return [{ path, message: `Array items: ${JSON.stringify(haystack)} not found in ${JSON.stringify(a)}` }];
|
|
43
|
+
}
|
|
44
|
+
return [];
|
|
45
|
+
};
|
|
46
|
+
exports.compareArraysIgnoreOrder = compareArraysIgnoreOrder;
|
|
47
|
+
function deepCompare(a, b, path = [], getCustomComparator) {
|
|
24
48
|
if (a === b) {
|
|
25
49
|
return [];
|
|
26
50
|
}
|
|
51
|
+
const comparator = getCustomComparator === null || getCustomComparator === void 0 ? void 0 : getCustomComparator(path);
|
|
52
|
+
if (comparator) {
|
|
53
|
+
return comparator(a, b);
|
|
54
|
+
}
|
|
27
55
|
const aType = getType(a);
|
|
28
56
|
const bType = getType(b);
|
|
29
57
|
if (aType !== bType) {
|
|
@@ -47,7 +75,7 @@ function deepCompare(a, b, path) {
|
|
|
47
75
|
}
|
|
48
76
|
const errors = [];
|
|
49
77
|
for (let i = 0; i < aLength; i++) {
|
|
50
|
-
errors.push(...deepCompare(a[i], b[i], [...path, i]));
|
|
78
|
+
errors.push(...deepCompare(a[i], b[i], [...path, i], getCustomComparator));
|
|
51
79
|
}
|
|
52
80
|
return errors;
|
|
53
81
|
}
|
|
@@ -84,7 +112,7 @@ function deepCompare(a, b, path) {
|
|
|
84
112
|
});
|
|
85
113
|
}
|
|
86
114
|
else {
|
|
87
|
-
errors.push(...deepCompare(a[key], b[key], [...path, key]));
|
|
115
|
+
errors.push(...deepCompare(a[key], b[key], [...path, key], getCustomComparator));
|
|
88
116
|
}
|
|
89
117
|
}
|
|
90
118
|
for (const key of bKeys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepCompare.js","sourceRoot":"","sources":["../../../src/utils/deepCompare.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"deepCompare.js","sourceRoot":"","sources":["../../../src/utils/deepCompare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class Literal {
|
|
2
|
+
readonly value: string;
|
|
3
|
+
constructor(value: string);
|
|
4
|
+
}
|
|
5
|
+
export declare type FormatterPath = ({
|
|
6
|
+
type: 'array';
|
|
7
|
+
} | {
|
|
8
|
+
type: 'object';
|
|
9
|
+
key: string;
|
|
10
|
+
})[];
|
|
11
|
+
export declare type IndentDecider = (value: any, path: FormatterPath) => boolean;
|
|
12
|
+
export declare const printJsValue: (value: any, shouldIndentCb?: IndentDecider, path?: FormatterPath) => string;
|
|
13
|
+
//# sourceMappingURL=printJsValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printJsValue.d.ts","sourceRoot":"","sources":["../../../src/utils/printJsValue.ts"],"names":[],"mappings":"AAAA,qBAAa,OAAO;aACS,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAEzC;AAED,oBAAY,aAAa,GAAG,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAAA;AACnF,oBAAY,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,KAAK,OAAO,CAAA;AAGxE,eAAO,MAAM,YAAY,UAAW,GAAG,mBAAkB,aAAa,2BAA2C,MAgDhH,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printJsValue = exports.Literal = void 0;
|
|
4
|
+
class Literal {
|
|
5
|
+
constructor(value) {
|
|
6
|
+
this.value = value;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.Literal = Literal;
|
|
10
|
+
const printJsValue = (value, shouldIndentCb = () => false, path = []) => {
|
|
11
|
+
if (value instanceof Literal) {
|
|
12
|
+
return value.value;
|
|
13
|
+
}
|
|
14
|
+
if (value === undefined || value === null || typeof value === 'boolean' || typeof value === 'number' || typeof value === 'function') {
|
|
15
|
+
return String(value);
|
|
16
|
+
}
|
|
17
|
+
if (typeof value === 'bigint') {
|
|
18
|
+
return value.toString(10) + 'n';
|
|
19
|
+
}
|
|
20
|
+
if (typeof value === 'string') {
|
|
21
|
+
return `'${value.replaceAll(/'/g, '\\\'')}'`;
|
|
22
|
+
}
|
|
23
|
+
const shouldIndent = shouldIndentCb(value, path);
|
|
24
|
+
if (!shouldIndent) {
|
|
25
|
+
shouldIndentCb = () => false;
|
|
26
|
+
}
|
|
27
|
+
const indent = (inc) => '\t'.repeat(path.length + inc);
|
|
28
|
+
const nl = '\n';
|
|
29
|
+
if (Array.isArray(value)) {
|
|
30
|
+
return ''
|
|
31
|
+
+ '['
|
|
32
|
+
+ value.map((it, index, arr) => (shouldIndent ? nl + indent(1) : '')
|
|
33
|
+
+ (0, exports.printJsValue)(it, shouldIndentCb, [...path, { type: 'array' }])
|
|
34
|
+
+ (shouldIndent ? ',' : ((index + 1) < arr.length ? ', ' : ''))).join('')
|
|
35
|
+
+ (shouldIndent ? nl + indent(0) : '')
|
|
36
|
+
+ ']';
|
|
37
|
+
}
|
|
38
|
+
return ''
|
|
39
|
+
+ '{'
|
|
40
|
+
+ (shouldIndent ? '' : ' ')
|
|
41
|
+
+ Object.entries(value).map(([key, value], index, arr) => {
|
|
42
|
+
const formattedKey = isSimpleIdentifier(key) ? key : `[${(0, exports.printJsValue)(key)}]`;
|
|
43
|
+
return ''
|
|
44
|
+
+ (shouldIndent ? nl + indent(1) : '')
|
|
45
|
+
+ formattedKey
|
|
46
|
+
+ ': '
|
|
47
|
+
+ (0, exports.printJsValue)(value, shouldIndentCb, [...path, { type: 'object', key }])
|
|
48
|
+
+ (shouldIndent ? ',' : ((index + 1) < arr.length ? ', ' : ''));
|
|
49
|
+
}).join('')
|
|
50
|
+
+ (shouldIndent ? nl + indent(0) : ' ')
|
|
51
|
+
+ '}';
|
|
52
|
+
};
|
|
53
|
+
exports.printJsValue = printJsValue;
|
|
54
|
+
const isSimpleIdentifier = (identifier) => {
|
|
55
|
+
return !!identifier.match(/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/);
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=printJsValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printJsValue.js","sourceRoot":"","sources":["../../../src/utils/printJsValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Actions, Model } from '@contember/schema';
|
|
2
|
+
import { ValidationError } from './errors';
|
|
3
|
+
export declare class ActionsValidator {
|
|
4
|
+
private readonly model;
|
|
5
|
+
constructor(model: Model.Schema);
|
|
6
|
+
validate(schema: Actions.Schema): ValidationError[];
|
|
7
|
+
private validateTriggers;
|
|
8
|
+
private validateTrigger;
|
|
9
|
+
private validateWatchTrigger;
|
|
10
|
+
private validateBasicTrigger;
|
|
11
|
+
private validateSelection;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ActionsValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsValidator.d.ts","sourceRoot":"","sources":["../../../src/validation/ActionsValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAYxD,qBAAa,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK,CAAC,MAAM;IAEzC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,eAAe,EAAE;IAM1D,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,iBAAiB;CAyCzB"}
|
|
@@ -0,0 +1,134 @@
|
|
|
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 __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ActionsValidator = void 0;
|
|
27
|
+
const model_1 = require("../model");
|
|
28
|
+
const errors_1 = require("./errors");
|
|
29
|
+
const utils_1 = require("../utils");
|
|
30
|
+
const Typesafe = __importStar(require("@contember/typesafe"));
|
|
31
|
+
const where_1 = require("../type-schema/where");
|
|
32
|
+
const manyArgsSchema = (args) => Typesafe.partial({
|
|
33
|
+
limit: Typesafe.integer,
|
|
34
|
+
offset: Typesafe.integer,
|
|
35
|
+
orderBy: Typesafe.array(Typesafe.anyJsonObject),
|
|
36
|
+
filter: (0, where_1.whereSchema)(args),
|
|
37
|
+
});
|
|
38
|
+
class ActionsValidator {
|
|
39
|
+
constructor(model) {
|
|
40
|
+
this.model = model;
|
|
41
|
+
}
|
|
42
|
+
validate(schema) {
|
|
43
|
+
const errorBuilder = new errors_1.ErrorBuilder([], ['actions']);
|
|
44
|
+
this.validateTriggers(schema, errorBuilder.for('triggers'));
|
|
45
|
+
return errorBuilder.errors;
|
|
46
|
+
}
|
|
47
|
+
validateTriggers(schema, errorBuilder) {
|
|
48
|
+
for (const [name, def] of Object.entries(schema.triggers)) {
|
|
49
|
+
const triggerErrorBuilder = errorBuilder.for(name);
|
|
50
|
+
if (name !== def.name) {
|
|
51
|
+
triggerErrorBuilder.add('ACTIONS_NAME_MISMATCH', `Trigger name ${def.name} does not match the name in a map ${name}`);
|
|
52
|
+
}
|
|
53
|
+
if (!schema.targets[def.target]) {
|
|
54
|
+
triggerErrorBuilder.add('ACTIONS_UNDEFINED_TRIGGER_TARGET', `Trigger target ${def.target} not found`);
|
|
55
|
+
}
|
|
56
|
+
this.validateTrigger(def, triggerErrorBuilder);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
validateTrigger(trigger, errorBuilder) {
|
|
60
|
+
const entity = this.model.entities[trigger.entity];
|
|
61
|
+
if (!entity) {
|
|
62
|
+
errorBuilder.add('ACTIONS_UNDEFINED_ENTITY', `Entity ${trigger.entity} not found.`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
switch (trigger.type) {
|
|
66
|
+
case 'watch':
|
|
67
|
+
this.validateWatchTrigger(trigger, entity, errorBuilder);
|
|
68
|
+
break;
|
|
69
|
+
case 'basic':
|
|
70
|
+
this.validateBasicTrigger(trigger, entity, errorBuilder);
|
|
71
|
+
break;
|
|
72
|
+
default:
|
|
73
|
+
(0, utils_1.assertNever)(trigger);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
validateWatchTrigger(trigger, entity, errorBuilder) {
|
|
77
|
+
this.validateSelection(trigger.watch, entity, errorBuilder.for('watch'));
|
|
78
|
+
if (trigger.selection) {
|
|
79
|
+
this.validateSelection(trigger.selection, entity, errorBuilder.for('selection'));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
validateBasicTrigger(trigger, entity, errorBuilder) {
|
|
83
|
+
if (trigger.selection) {
|
|
84
|
+
this.validateSelection(trigger.selection, entity, errorBuilder.for('selection'));
|
|
85
|
+
}
|
|
86
|
+
if (Array.isArray(trigger.update)) {
|
|
87
|
+
for (const field of trigger.update) {
|
|
88
|
+
if (!entity.fields[field]) {
|
|
89
|
+
errorBuilder.for('update').add('ACTIONS_UNDEFINED_FIELD', `Field ${field} of entity ${entity.name} not found.`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
validateSelection(selectionNode, entity, errorBuilder) {
|
|
95
|
+
for (const part of selectionNode) {
|
|
96
|
+
const [field, args, selection] = Array.isArray(part) ? part : [part, {}, []];
|
|
97
|
+
const fieldErrorBuilder = errorBuilder.for(field);
|
|
98
|
+
if (!entity.fields[field]) {
|
|
99
|
+
fieldErrorBuilder.add('ACTIONS_UNDEFINED_FIELD', `Undefined field ${field} on entity ${entity.name}`);
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
(0, model_1.acceptFieldVisitor)(this.model, entity, field, {
|
|
103
|
+
visitColumn: () => {
|
|
104
|
+
if (selection.length) {
|
|
105
|
+
fieldErrorBuilder.add('ACTIONS_INVALID_SELECTION', `Unexpected sub selection on a column.`);
|
|
106
|
+
}
|
|
107
|
+
if (Object.keys(args).length !== 0) {
|
|
108
|
+
fieldErrorBuilder.add('ACTIONS_INVALID_SELECTION', `Unexpected args on a column.`);
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
visitHasMany: ({ targetEntity }) => {
|
|
112
|
+
if (selection.length === 0) {
|
|
113
|
+
fieldErrorBuilder.add('ACTIONS_INVALID_SELECTION', `Sub-selection expected on a relation.`);
|
|
114
|
+
}
|
|
115
|
+
this.validateSelection(selection, targetEntity, fieldErrorBuilder);
|
|
116
|
+
try {
|
|
117
|
+
manyArgsSchema({ schema: this.model, entity: targetEntity })(args);
|
|
118
|
+
}
|
|
119
|
+
catch (e) {
|
|
120
|
+
fieldErrorBuilder.add('ACTIONS_INVALID_SELECTION', `Selection args are not valid: ` + e.message);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
visitHasOne: ({ targetEntity }) => {
|
|
124
|
+
if (selection.length === 0) {
|
|
125
|
+
fieldErrorBuilder.add('ACTIONS_INVALID_SELECTION', `Sub-selection expected on a relation.`);
|
|
126
|
+
}
|
|
127
|
+
this.validateSelection(selection, targetEntity, fieldErrorBuilder);
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.ActionsValidator = ActionsValidator;
|
|
134
|
+
//# sourceMappingURL=ActionsValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsValidator.js","sourceRoot":"","sources":["../../../src/validation/ActionsValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelValidator.d.ts","sourceRoot":"","sources":["../../../src/validation/ModelValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAOxD,qBAAa,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK,CAAC,MAAM;IAEzC,QAAQ,IAAI,eAAe,EAAE;IAQpC,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"ModelValidator.d.ts","sourceRoot":"","sources":["../../../src/validation/ModelValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAOxD,qBAAa,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK,CAAC,MAAM;IAEzC,QAAQ,IAAI,eAAe,EAAE;IAQpC,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IAyHxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,kBAAkB;CA0D1B"}
|
|
@@ -46,15 +46,10 @@ class ModelValidator {
|
|
|
46
46
|
this.validateUniqueConstraints(entity.unique, new Set(Object.keys(entity.fields)), errors.for('unique'));
|
|
47
47
|
}
|
|
48
48
|
validateUniqueConstraints(uniqueConstraints, fields, errors) {
|
|
49
|
-
for (const
|
|
50
|
-
const uniqueErrors = errors.for(constraintName);
|
|
51
|
-
if (constraint.name !== constraintName) {
|
|
52
|
-
uniqueErrors.add('MODEL_NAME_MISMATCH', `Constraint name ${constraint.name} does not match the name in a map "${constraintName}"`);
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
49
|
+
for (const constraint of uniqueConstraints) {
|
|
55
50
|
for (const field of constraint.fields) {
|
|
56
51
|
if (!fields.has(field)) {
|
|
57
|
-
|
|
52
|
+
errors.add('MODEL_UNDEFINED_FIELD', `Referenced field ${field} in a constraint does not exists`);
|
|
58
53
|
}
|
|
59
54
|
}
|
|
60
55
|
}
|
|
@@ -85,7 +80,7 @@ class ModelValidator {
|
|
|
85
80
|
const orderByField = entity.fields[it.path[i]];
|
|
86
81
|
const pathStr = it.path.slice(0, i + 1).join('.');
|
|
87
82
|
if (!orderByField) {
|
|
88
|
-
errors.add('
|
|
83
|
+
errors.add('MODEL_UNDEFINED_FIELD', `Invalid orderBy of ${entityName}::${field.name}: field ${pathStr} is not defined`);
|
|
89
84
|
return;
|
|
90
85
|
}
|
|
91
86
|
if (i + 1 < it.path.length) {
|
|
@@ -134,7 +129,7 @@ class ModelValidator {
|
|
|
134
129
|
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} inverse relation is not set`);
|
|
135
130
|
}
|
|
136
131
|
if (targetField.inversedBy !== field.name) {
|
|
137
|
-
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference ${entityName}::${field.name}
|
|
132
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference ${entityName}::${field.name} expected, ${targetField.target}::${targetField.inversedBy} given`);
|
|
138
133
|
}
|
|
139
134
|
if (field.type === schema_1.Model.RelationType.OneHasOne && targetField.type !== schema_1.Model.RelationType.OneHasOne) {
|
|
140
135
|
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "OneHasOne" type expected, "${targetField.type}" given`);
|
|
@@ -172,7 +167,7 @@ class ModelValidator {
|
|
|
172
167
|
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} owning relation is not set`);
|
|
173
168
|
}
|
|
174
169
|
if (targetField.ownedBy !== field.name) {
|
|
175
|
-
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference ${entityName}::${field.name}
|
|
170
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference ${entityName}::${field.name} expected, ${targetField.target}::${targetField.ownedBy} given`);
|
|
176
171
|
}
|
|
177
172
|
if (field.type === schema_1.Model.RelationType.OneHasOne && targetField.type !== schema_1.Model.RelationType.OneHasOne) {
|
|
178
173
|
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "OneHasOne" type expected, "${targetField.type}" given`);
|
|
@@ -250,27 +245,6 @@ class ModelValidator {
|
|
|
250
245
|
visitManyHasOne: () => { },
|
|
251
246
|
});
|
|
252
247
|
}
|
|
253
|
-
for (const entity of entities) {
|
|
254
|
-
const entityErrorBuilder = errorBuilder.for(entity.name);
|
|
255
|
-
for (const index of Object.values(entity.indexes)) {
|
|
256
|
-
const description = `index name ${index.name} of entity ${entity.name}`;
|
|
257
|
-
if (relationNames[index.name]) {
|
|
258
|
-
entityErrorBuilder.add('MODEL_NAME_COLLISION', `${description} collides with ${relationNames[index.name]}`);
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
relationNames[index.name] = description;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
for (const unique of Object.values(entity.unique)) {
|
|
265
|
-
const description = `unique index name ${unique.name} of entity ${entity.name}`;
|
|
266
|
-
if (relationNames[unique.name]) {
|
|
267
|
-
entityErrorBuilder.add('MODEL_NAME_COLLISION', `${description} collides with ${relationNames[unique.name]}`);
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
relationNames[unique.name] = description;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
248
|
}
|
|
275
249
|
}
|
|
276
250
|
exports.ModelValidator = ModelValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelValidator.js","sourceRoot":"","sources":["../../../src/validation/ModelValidator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModelValidator.js","sourceRoot":"","sources":["../../../src/validation/ModelValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/validation/SchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"SchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/validation/SchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAM/D,MAAM,WAAW,4BAA4B;IAC5C,IAAI,EAAE,mBAAmB,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,eAAe;WACb,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,GAAE,4BAA4B,EAAO,GAAG,eAAe,EAAE;CAyB7G"}
|
|
@@ -4,6 +4,7 @@ exports.SchemaValidator = void 0;
|
|
|
4
4
|
const AclValidator_1 = require("./AclValidator");
|
|
5
5
|
const ModelValidator_1 = require("./ModelValidator");
|
|
6
6
|
const ValidationValidator_1 = require("./ValidationValidator");
|
|
7
|
+
const ActionsValidator_1 = require("./ActionsValidator");
|
|
7
8
|
class SchemaValidator {
|
|
8
9
|
static validate(schema, skippedErrors = []) {
|
|
9
10
|
const modelValidator = new ModelValidator_1.ModelValidator(schema.model);
|
|
@@ -12,7 +13,9 @@ class SchemaValidator {
|
|
|
12
13
|
const aclErrors = aclValidator.validate(schema.acl);
|
|
13
14
|
const validationValidator = new ValidationValidator_1.ValidationValidator(schema.model);
|
|
14
15
|
const validationErrors = validationValidator.validate(schema.validation);
|
|
15
|
-
const
|
|
16
|
+
const actionsValidator = new ActionsValidator_1.ActionsValidator(schema.model);
|
|
17
|
+
const actionsErrors = actionsValidator.validate(schema.actions);
|
|
18
|
+
const allErrors = [...aclErrors, ...modelErrors, ...validationErrors, ...actionsErrors];
|
|
16
19
|
if (skippedErrors.length === 0) {
|
|
17
20
|
return allErrors;
|
|
18
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaValidator.js","sourceRoot":"","sources":["../../../src/validation/SchemaValidator.ts"],"names":[],"mappings":";;;AAEA,iDAA6C;AAC7C,qDAAiD;AACjD,+DAA2D;
|
|
1
|
+
{"version":3,"file":"SchemaValidator.js","sourceRoot":"","sources":["../../../src/validation/SchemaValidator.ts"],"names":[],"mappings":";;;AAEA,iDAA6C;AAC7C,qDAAiD;AACjD,+DAA2D;AAC3D,yDAAqD;AAOrD,MAAa,eAAe;IACpB,MAAM,CAAC,QAAQ,CAAC,MAAc,EAAE,gBAAgD,EAAE;QACxF,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;QAE7C,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAGnD,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACjE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAExE,MAAM,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3D,MAAM,aAAa,GAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAEhE,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,gBAAgB,EAAE,GAAG,aAAa,CAAC,CAAA;QACvF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,SAAS,CAAA;SAChB;QACD,OAAO,SAAS,CAAC,MAAM,CACtB,GAAG,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CACzB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;eAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CACpD,CACD,CAAA;IACF,CAAC;CACD;AA1BD,0CA0BC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare type ValidationErrorCode = 'MODEL_NAME_MISMATCH' | 'MODEL_UNDEFINED_FIELD' | 'MODEL_UNDEFINED_ENTITY' | 'MODEL_RELATION_REQUIRED' | 'MODEL_INVALID_RELATION_DEFINITION' | 'MODEL_INVALID_COLUMN_DEFINITION' | 'MODEL_INVALID_VIEW_USAGE' | 'MODEL_INVALID_IDENTIFIER' | 'MODEL_NAME_COLLISION' | 'ACL_INVALID_CONDITION' | 'ACL_UNDEFINED_VARIABLE' | 'ACL_UNDEFINED_FIELD' | 'ACL_UNDEFINED_PREDICATE' | 'ACL_UNDEFINED_ROLE' | 'ACL_UNDEFINED_ENTITY' | 'VALIDATION_UNDEFINED_ENTITY' | 'VALIDATION_UNDEFINED_FIELD' | 'VALIDATION_NOT_IMPLEMENTED';
|
|
1
|
+
export declare type ValidationErrorCode = 'MODEL_NAME_MISMATCH' | 'MODEL_UNDEFINED_FIELD' | 'MODEL_UNDEFINED_ENTITY' | 'MODEL_RELATION_REQUIRED' | 'MODEL_INVALID_RELATION_DEFINITION' | 'MODEL_INVALID_COLUMN_DEFINITION' | 'MODEL_INVALID_VIEW_USAGE' | 'MODEL_INVALID_IDENTIFIER' | 'MODEL_NAME_COLLISION' | 'ACL_INVALID_CONDITION' | 'ACL_UNDEFINED_VARIABLE' | 'ACL_UNDEFINED_FIELD' | 'ACL_UNDEFINED_PREDICATE' | 'ACL_UNDEFINED_ROLE' | 'ACL_UNDEFINED_ENTITY' | 'ACTIONS_NAME_MISMATCH' | 'ACTIONS_INVALID_CONDITION' | 'ACTIONS_UNDEFINED_FIELD' | 'ACTIONS_UNDEFINED_ENTITY' | 'ACTIONS_UNDEFINED_TRIGGER_TARGET' | 'ACTIONS_INVALID_SELECTION' | 'VALIDATION_UNDEFINED_ENTITY' | 'VALIDATION_UNDEFINED_FIELD' | 'VALIDATION_NOT_IMPLEMENTED';
|
|
2
2
|
export interface ValidationError {
|
|
3
3
|
path: (string | number)[];
|
|
4
4
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/validation/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB,GAC5B,qBAAqB,GACrB,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,GACzB,mCAAmC,GACnC,iCAAiC,GACjC,0BAA0B,GAC1B,0BAA0B,GAC1B,sBAAsB,GAEtB,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,oBAAoB,GACpB,sBAAsB,GAEtB,6BAA6B,GAC7B,4BAA4B,GAC5B,4BAA4B,CAAA;AAE/B,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,mBAAmB,CAAA;CACzB;AAED,qBAAa,YAAY;aACI,MAAM,EAAE,eAAe,EAAE;IAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAhD,MAAM,EAAE,eAAe,EAAE,EAAmB,IAAI,GAAE,MAAM,EAAO;IAE3F,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY;IAIpC,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAGrD"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/validation/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB,GAC5B,qBAAqB,GACrB,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,GACzB,mCAAmC,GACnC,iCAAiC,GACjC,0BAA0B,GAC1B,0BAA0B,GAC1B,sBAAsB,GAEtB,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,oBAAoB,GACpB,sBAAsB,GAEtB,uBAAuB,GACvB,2BAA2B,GAC3B,yBAAyB,GACzB,0BAA0B,GAC1B,kCAAkC,GAClC,2BAA2B,GAE3B,6BAA6B,GAC7B,4BAA4B,GAC5B,4BAA4B,CAAA;AAE/B,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,mBAAmB,CAAA;CACzB;AAED,qBAAa,YAAY;aACI,MAAM,EAAE,eAAe,EAAE;IAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAhD,MAAM,EAAE,eAAe,EAAE,EAAmB,IAAI,GAAE,MAAM,EAAO;IAE3F,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY;IAIpC,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAGrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/validation/errors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/validation/errors.ts"],"names":[],"mappings":";;;AAmCA,MAAa,YAAY;IACxB,YAA4B,MAAyB,EAAmB,OAAiB,EAAE;QAA/D,WAAM,GAAN,MAAM,CAAmB;QAAmB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAE/F,GAAG,CAAC,GAAG,IAAc;QACpB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,GAAG,CAAC,IAAyB,EAAE,OAAe;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;CACD;AAVD,oCAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepCompare.test.d.ts","sourceRoot":"","sources":["../../../../tests/cases/unit/deepCompare.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const src_1 = require("../../../src");
|
|
5
|
+
(0, vitest_1.describe)('deep compare', () => {
|
|
6
|
+
(0, vitest_1.test)('compare array ignore order - success', () => {
|
|
7
|
+
const actual = (0, src_1.compareArraysIgnoreOrder)([
|
|
8
|
+
{ foo: 'bar' },
|
|
9
|
+
{ lorem: 'ipsum' },
|
|
10
|
+
], [
|
|
11
|
+
{ lorem: 'ipsum' },
|
|
12
|
+
{ foo: 'bar' },
|
|
13
|
+
], []);
|
|
14
|
+
vitest_1.assert.deepStrictEqual(actual, []);
|
|
15
|
+
});
|
|
16
|
+
(0, vitest_1.test)('compare array ignore order - missing in A', () => {
|
|
17
|
+
const actual = (0, src_1.compareArraysIgnoreOrder)([
|
|
18
|
+
{ lorem: 'ipsum' },
|
|
19
|
+
{ lorem: 'ipsum' },
|
|
20
|
+
], [
|
|
21
|
+
{ lorem: 'ipsum' },
|
|
22
|
+
{ foo: 'bar' },
|
|
23
|
+
], []);
|
|
24
|
+
vitest_1.assert.deepStrictEqual(actual, [{
|
|
25
|
+
path: [],
|
|
26
|
+
message: 'Array item: {"lorem":"ipsum"} not found in [{"foo":"bar"}]',
|
|
27
|
+
}]);
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.test)('compare array ignore order - missing in B', () => {
|
|
30
|
+
const actual = (0, src_1.compareArraysIgnoreOrder)([
|
|
31
|
+
{ foo: 'bar' },
|
|
32
|
+
{ lorem: 'ipsum' },
|
|
33
|
+
], [
|
|
34
|
+
{ lorem: 'ipsum' },
|
|
35
|
+
{ lorem: 'ipsum' },
|
|
36
|
+
], []);
|
|
37
|
+
vitest_1.assert.deepStrictEqual(actual, [{
|
|
38
|
+
path: [],
|
|
39
|
+
message: 'Array item: {"foo":"bar"} not found in [{"lorem":"ipsum"},{"lorem":"ipsum"}]',
|
|
40
|
+
}]);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=deepCompare.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepCompare.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/deepCompare.test.ts"],"names":[],"mappings":";;AAAA,mCAA+C;AAC/C,sCAAuD;AAEvD,IAAA,iBAAQ,EAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,IAAA,aAAI,EAAC,sCAAsC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,IAAA,8BAAwB,EAAC;YACvC,EAAE,GAAG,EAAE,KAAK,EAAE;YACd,EAAE,KAAK,EAAE,OAAO,EAAE;SAClB,EAAE;YACF,EAAE,KAAK,EAAE,OAAO,EAAE;YAClB,EAAE,GAAG,EAAE,KAAK,EAAE;SACd,EAAE,EAAE,CAAC,CAAA;QACN,eAAM,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,IAAA,aAAI,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,IAAA,8BAAwB,EAAC;YACvC,EAAE,KAAK,EAAE,OAAO,EAAE;YAClB,EAAE,KAAK,EAAE,OAAO,EAAE;SAClB,EAAE;YACF,EAAE,KAAK,EAAE,OAAO,EAAE;YAClB,EAAE,GAAG,EAAE,KAAK,EAAE;SACd,EAAE,EAAE,CAAC,CAAA;QACN,eAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,4DAA4D;aACrE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAA,aAAI,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,IAAA,8BAAwB,EAAC;YACvC,EAAE,GAAG,EAAE,KAAK,EAAE;YACd,EAAE,KAAK,EAAE,OAAO,EAAE;SAClB,EAAE;YACF,EAAE,KAAK,EAAE,OAAO,EAAE;YAClB,EAAE,KAAK,EAAE,OAAO,EAAE;SAClB,EAAE,EAAE,CAAC,CAAA;QACN,eAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,8EAA8E;aACvF,CAAC,CACD,CAAA;IACF,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|