@contember/schema-utils 1.2.0 → 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.
Files changed (140) hide show
  1. package/dist/src/SchemaDatabaseMetadata.d.ts +40 -0
  2. package/dist/src/SchemaDatabaseMetadata.d.ts.map +1 -0
  3. package/dist/src/SchemaDatabaseMetadata.js +20 -0
  4. package/dist/src/SchemaDatabaseMetadata.js.map +1 -0
  5. package/dist/src/acl/PredicateDefinitionProcessor.d.ts.map +1 -1
  6. package/dist/src/acl/PredicateDefinitionProcessor.js +49 -44
  7. package/dist/src/acl/PredicateDefinitionProcessor.js.map +1 -1
  8. package/dist/src/definition-generator/AclDefinitionCodeGenerator.d.ts +19 -0
  9. package/dist/src/definition-generator/AclDefinitionCodeGenerator.d.ts.map +1 -0
  10. package/dist/src/definition-generator/AclDefinitionCodeGenerator.js +116 -0
  11. package/dist/src/definition-generator/AclDefinitionCodeGenerator.js.map +1 -0
  12. package/dist/src/definition-generator/DefinitionCodeGenerator.d.ts +27 -0
  13. package/dist/src/definition-generator/DefinitionCodeGenerator.d.ts.map +1 -0
  14. package/dist/src/definition-generator/DefinitionCodeGenerator.js +216 -0
  15. package/dist/src/definition-generator/DefinitionCodeGenerator.js.map +1 -0
  16. package/dist/src/definition-generator/DefinitionNamingConventions.d.ts +7 -0
  17. package/dist/src/definition-generator/DefinitionNamingConventions.d.ts.map +1 -0
  18. package/dist/src/definition-generator/DefinitionNamingConventions.js +18 -0
  19. package/dist/src/definition-generator/DefinitionNamingConventions.js.map +1 -0
  20. package/dist/src/definition-generator/TsDefinitionGenerator.d.ts +4 -18
  21. package/dist/src/definition-generator/TsDefinitionGenerator.d.ts.map +1 -1
  22. package/dist/src/definition-generator/TsDefinitionGenerator.js +6 -232
  23. package/dist/src/definition-generator/TsDefinitionGenerator.js.map +1 -1
  24. package/dist/src/definition-generator/index.d.ts +3 -0
  25. package/dist/src/definition-generator/index.d.ts.map +1 -1
  26. package/dist/src/definition-generator/index.js +3 -0
  27. package/dist/src/definition-generator/index.js.map +1 -1
  28. package/dist/src/index.d.ts +2 -1
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +6 -1
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/lax/LaxSchemaConverter.d.ts.map +1 -1
  33. package/dist/src/lax/LaxSchemaConverter.js +4 -5
  34. package/dist/src/lax/LaxSchemaConverter.js.map +1 -1
  35. package/dist/src/model/index.d.ts +0 -1
  36. package/dist/src/model/index.d.ts.map +1 -1
  37. package/dist/src/model/index.js +0 -1
  38. package/dist/src/model/index.js.map +1 -1
  39. package/dist/src/tsconfig.tsbuildinfo +1 -1
  40. package/dist/src/type-schema/actions.d.ts +31 -0
  41. package/dist/src/type-schema/actions.d.ts.map +1 -0
  42. package/dist/src/type-schema/actions.js +75 -0
  43. package/dist/src/type-schema/actions.js.map +1 -0
  44. package/dist/src/type-schema/model.d.ts +8 -6
  45. package/dist/src/type-schema/model.d.ts.map +1 -1
  46. package/dist/src/type-schema/model.js +6 -6
  47. package/dist/src/type-schema/model.js.map +1 -1
  48. package/dist/src/type-schema/where.d.ts +7 -0
  49. package/dist/src/type-schema/where.d.ts.map +1 -0
  50. package/dist/src/type-schema/where.js +50 -0
  51. package/dist/src/type-schema/where.js.map +1 -0
  52. package/dist/src/utils/deepCompare.d.ts +8 -2
  53. package/dist/src/utils/deepCompare.d.ts.map +1 -1
  54. package/dist/src/utils/deepCompare.js +32 -4
  55. package/dist/src/utils/deepCompare.js.map +1 -1
  56. package/dist/src/utils/printJsValue.d.ts +13 -0
  57. package/dist/src/utils/printJsValue.d.ts.map +1 -0
  58. package/dist/src/utils/printJsValue.js +57 -0
  59. package/dist/src/utils/printJsValue.js.map +1 -0
  60. package/dist/src/validation/ActionsValidator.d.ts +13 -0
  61. package/dist/src/validation/ActionsValidator.d.ts.map +1 -0
  62. package/dist/src/validation/ActionsValidator.js +134 -0
  63. package/dist/src/validation/ActionsValidator.js.map +1 -0
  64. package/dist/src/validation/ModelValidator.d.ts.map +1 -1
  65. package/dist/src/validation/ModelValidator.js +5 -31
  66. package/dist/src/validation/ModelValidator.js.map +1 -1
  67. package/dist/src/validation/SchemaValidator.d.ts.map +1 -1
  68. package/dist/src/validation/SchemaValidator.js +4 -1
  69. package/dist/src/validation/SchemaValidator.js.map +1 -1
  70. package/dist/src/validation/errors.d.ts +1 -1
  71. package/dist/src/validation/errors.d.ts.map +1 -1
  72. package/dist/src/validation/errors.js.map +1 -1
  73. package/dist/tests/cases/unit/deepCompare.test.d.ts +2 -0
  74. package/dist/tests/cases/unit/deepCompare.test.d.ts.map +1 -0
  75. package/dist/tests/cases/unit/deepCompare.test.js +43 -0
  76. package/dist/tests/cases/unit/deepCompare.test.js.map +1 -0
  77. package/dist/tests/cases/unit/modelValidator.test.js +6 -72
  78. package/dist/tests/cases/unit/modelValidator.test.js.map +1 -1
  79. package/dist/tests/cases/unit/printJsvalue.test.d.ts +2 -0
  80. package/dist/tests/cases/unit/printJsvalue.test.d.ts.map +1 -0
  81. package/dist/tests/cases/unit/printJsvalue.test.js +90 -0
  82. package/dist/tests/cases/unit/printJsvalue.test.js.map +1 -0
  83. package/dist/tests/cases/unit/schemas/acl.d.ts +13 -0
  84. package/dist/tests/cases/unit/schemas/acl.d.ts.map +1 -0
  85. package/dist/tests/cases/unit/schemas/acl.js +47 -0
  86. package/dist/tests/cases/unit/schemas/acl.js.map +1 -0
  87. package/dist/tests/cases/unit/schemas/basic.d.ts.map +1 -1
  88. package/dist/tests/cases/unit/schemas/basic.js.map +1 -1
  89. package/dist/tests/cases/unit/schemas/enum.d.ts.map +1 -1
  90. package/dist/tests/cases/unit/schemas/enum.js.map +1 -1
  91. package/dist/tests/cases/unit/schemas/relations.d.ts.map +1 -1
  92. package/dist/tests/cases/unit/schemas/relations.js.map +1 -1
  93. package/dist/tests/cases/unit/schemas/unique.d.ts.map +1 -1
  94. package/dist/tests/cases/unit/schemas/unique.js.map +1 -1
  95. package/dist/tests/cases/unit/tsDefinitionGenerator.test.js +5 -3
  96. package/dist/tests/cases/unit/tsDefinitionGenerator.test.js.map +1 -1
  97. package/dist/tests/cases/unit/whereSchema.test.d.ts +2 -0
  98. package/dist/tests/cases/unit/whereSchema.test.d.ts.map +1 -0
  99. package/dist/tests/cases/unit/whereSchema.test.js +85 -0
  100. package/dist/tests/cases/unit/whereSchema.test.js.map +1 -0
  101. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  102. package/package.json +9 -4
  103. package/src/SchemaDatabaseMetadata.ts +66 -0
  104. package/src/acl/PredicateDefinitionProcessor.ts +59 -60
  105. package/src/definition-generator/AclDefinitionCodeGenerator.ts +126 -0
  106. package/src/definition-generator/DefinitionCodeGenerator.ts +250 -0
  107. package/src/definition-generator/DefinitionNamingConventions.ts +16 -0
  108. package/src/definition-generator/TsDefinitionGenerator.ts +8 -264
  109. package/src/definition-generator/index.ts +3 -0
  110. package/src/index.ts +5 -1
  111. package/src/lax/LaxSchemaConverter.ts +4 -5
  112. package/src/model/index.ts +0 -1
  113. package/src/tsconfig.json +2 -6
  114. package/src/type-schema/actions.ts +79 -0
  115. package/src/type-schema/model.ts +21 -8
  116. package/src/type-schema/where.ts +28 -0
  117. package/src/utils/deepCompare.ts +37 -4
  118. package/src/utils/printJsValue.ts +62 -0
  119. package/src/validation/ActionsValidator.ts +119 -0
  120. package/src/validation/ModelValidator.ts +12 -36
  121. package/src/validation/SchemaValidator.ts +6 -1
  122. package/src/validation/errors.ts +7 -0
  123. package/tests/cases/unit/__snapshots__/laxSchemaConverter.test.ts.snap +30 -14
  124. package/tests/cases/unit/deepCompare.test.ts +44 -0
  125. package/tests/cases/unit/modelValidator.test.ts +6 -73
  126. package/tests/cases/unit/printJsvalue.test.ts +100 -0
  127. package/tests/cases/unit/schemas/acl.ts +34 -0
  128. package/tests/cases/unit/schemas/basic.ts +1 -1
  129. package/tests/cases/unit/schemas/enum.ts +1 -1
  130. package/tests/cases/unit/schemas/relations.ts +1 -1
  131. package/tests/cases/unit/schemas/unique.ts +1 -1
  132. package/tests/cases/unit/tsDefinitionGenerator.test.ts +6 -4
  133. package/tests/cases/unit/whereSchema.test.ts +89 -0
  134. package/tests/tsconfig.json +1 -3
  135. package/tsconfig.json +2 -6
  136. package/dist/src/model/NamingHelper.d.ts +0 -9
  137. package/dist/src/model/NamingHelper.d.ts.map +0 -1
  138. package/dist/src/model/NamingHelper.js +0 -46
  139. package/dist/src/model/NamingHelper.js.map +0 -1
  140. 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
- function deepCompare(a, b, path) {
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":"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"}
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":";;;AAAA,MAAa,OAAO;IACnB,YAA4B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IACzC,CAAC;CACD;AAHD,0BAGC;AAMM,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,iBAAgC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAU,EAAE;IACzH,IAAI,KAAK,YAAY,OAAO,EAAE;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAA;KAClB;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QACpI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;KACpB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;KAC/B;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA;KAC5C;IACD,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAChD,IAAI,CAAC,YAAY,EAAE;QAClB,cAAc,GAAG,GAAG,EAAE,CAAC,KAAK,CAAA;KAC5B;IAED,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IAC9D,MAAM,EAAE,GAAG,IAAI,CAAA;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,OAAQ,EAAE;cACN,GAAG;cACH,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAC9B,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;kBAClC,IAAA,oBAAY,EAAC,EAAE,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;kBAC9D,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC/D,CAAC,IAAI,CAAC,EAAE,CAAC;cACR,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;cACpC,GAAG,CAAA;KACP;IAED,OAAO,EAAE;UACL,GAAG;UACH,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;UACzB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxD,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAA,oBAAY,EAAC,GAAG,CAAC,GAAG,CAAA;YAC7E,OAAO,EAAE;kBACN,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;kBACpC,YAAY;kBACZ,IAAI;kBACJ,IAAA,oBAAY,EAAC,KAAK,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;kBACvE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;UACT,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;UACrC,GAAG,CAAA;AAER,CAAC,CAAA;AAhDY,QAAA,YAAY,gBAgDxB;AAED,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAW,EAAE;IAC1D,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;AAC9E,CAAC,CAAA"}
@@ -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;IAejC,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IAyHxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,kBAAkB;CA6E1B"}
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 [constraintName, constraint] of Object.entries(uniqueConstraints)) {
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
- uniqueErrors.add('MODEL_UNDEFINED_FIELD', `Referenced field ${field} in a constraint does not exists`);
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('ACL_UNDEFINED_FIELD', `Invalid orderBy of ${entityName}::${field.name}: field ${pathStr} is not defined`);
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} exepcted, ${targetField.target}::${targetField.inversedBy} given`);
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} exepcted, ${targetField.target}::${targetField.ownedBy} given`);
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;AAK/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;CAqB7G"}
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 allErrors = [...aclErrors, ...modelErrors, ...validationErrors];
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;AAO3D,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;QACxE,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,CAAA;QACrE,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;AAtBD,0CAsBC"}
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":";;;AA4BA,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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deepCompare.test.d.ts.map
@@ -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"}