definition-generator-framework 1.13.1 → 2.0.0-rc1

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 (173) hide show
  1. package/dist/index.d.mts +204 -0
  2. package/dist/index.d.ts +204 -17
  3. package/dist/index.js +43 -50
  4. package/dist/index.mjs +43 -0
  5. package/package.json +28 -14
  6. package/dist/_mocks/mocks.d.ts +0 -7
  7. package/dist/_mocks/mocks.js +0 -44
  8. package/dist/decorators/definition-component.d.ts +0 -18
  9. package/dist/decorators/definition-component.js +0 -52
  10. package/dist/decorators/definition-generator.d.ts +0 -11
  11. package/dist/decorators/definition-generator.js +0 -30
  12. package/dist/framework/context.d.ts +0 -24
  13. package/dist/framework/context.js +0 -64
  14. package/dist/framework/definition-component.d.ts +0 -20
  15. package/dist/framework/definition-component.js +0 -29
  16. package/dist/framework/definition-generator.d.ts +0 -11
  17. package/dist/framework/definition-generator.js +0 -22
  18. package/dist/framework/definition-store.d.ts +0 -25
  19. package/dist/framework/definition-store.js +0 -121
  20. package/dist/framework/file-content-generator/file-content-generator.d.ts +0 -19
  21. package/dist/framework/file-content-generator/file-content-generator.js +0 -117
  22. package/dist/framework/file-content-generator/file-content-generator.test.d.ts +0 -24
  23. package/dist/framework/file-content-generator/file-content-generator.test.js +0 -161
  24. package/dist/framework/file-generators/index-file-generator.d.ts +0 -13
  25. package/dist/framework/file-generators/index-file-generator.js +0 -139
  26. package/dist/framework/file-generators/types-file-generator.d.ts +0 -6
  27. package/dist/framework/file-generators/types-file-generator.js +0 -35
  28. package/dist/framework/framework.d.ts +0 -28
  29. package/dist/framework/framework.data.d.ts +0 -6
  30. package/dist/framework/framework.data.js +0 -17
  31. package/dist/framework/framework.js +0 -51
  32. package/dist/framework/framework.model.d.ts +0 -32
  33. package/dist/framework/framework.model.js +0 -3
  34. package/dist/framework/index-file-generator/index-file-generator.d.ts +0 -10
  35. package/dist/framework/index-file-generator/index-file-generator.js +0 -118
  36. package/dist/framework/interfaces.d.ts +0 -46
  37. package/dist/framework/interfaces.js +0 -3
  38. package/dist/framework/kernel.d.ts +0 -12
  39. package/dist/framework/kernel.js +0 -308
  40. package/dist/helpers/common-functions/common-functions.d.ts +0 -10
  41. package/dist/helpers/common-functions/common-functions.js +0 -29
  42. package/dist/helpers/common-functions/common-functions.spec.d.ts +0 -1
  43. package/dist/helpers/common-functions/common-functions.spec.js +0 -50
  44. package/dist/helpers/common-functions/common-functions.test.d.ts +0 -1
  45. package/dist/helpers/common-functions/common-functions.test.js +0 -51
  46. package/dist/helpers/duplicate-helper/duplicate-helper.d.ts +0 -11
  47. package/dist/helpers/duplicate-helper/duplicate-helper.js +0 -40
  48. package/dist/helpers/duplicate-helper/duplicate-helper.spec.d.ts +0 -1
  49. package/dist/helpers/duplicate-helper/duplicate-helper.spec.js +0 -54
  50. package/dist/helpers/duplicate-helper/duplicate-helper.test.d.ts +0 -1
  51. package/dist/helpers/duplicate-helper/duplicate-helper.test.js +0 -55
  52. package/dist/helpers/output-helper/output-helper.d.ts +0 -30
  53. package/dist/helpers/output-helper/output-helper.js +0 -143
  54. package/dist/helpers/output-helper/output-helper.spec.d.ts +0 -24
  55. package/dist/helpers/output-helper/output-helper.spec.js +0 -261
  56. package/dist/helpers/output-helper/output-helper.test.d.ts +0 -24
  57. package/dist/helpers/output-helper/output-helper.test.js +0 -262
  58. package/dist/helpers/raw-definition-helper/raw-definition.helper.d.ts +0 -7
  59. package/dist/helpers/raw-definition-helper/raw-definition.helper.js +0 -66
  60. package/dist/helpers/raw-definition-helper/raw-definition.helper.spec.d.ts +0 -1
  61. package/dist/helpers/raw-definition-helper/raw-definition.helper.spec.js +0 -143
  62. package/dist/helpers/raw-definition-helper/raw-definition.helper.test.d.ts +0 -1
  63. package/dist/helpers/raw-definition-helper/raw-definition.helper.test.js +0 -136
  64. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.d.ts +0 -16
  65. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.js +0 -48
  66. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.spec.d.ts +0 -1
  67. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.spec.js +0 -191
  68. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.test.d.ts +0 -1
  69. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.test.js +0 -213
  70. package/dist/helpers/validator/custom-validators/helpers/sprite-validation.helper.d.ts +0 -13
  71. package/dist/helpers/validator/custom-validators/helpers/sprite-validation.helper.js +0 -53
  72. package/dist/helpers/validator/custom-validators/helpers/sprite-validation.helper.test.d.ts +0 -1
  73. package/dist/helpers/validator/custom-validators/helpers/sprite-validation.helper.test.js +0 -96
  74. package/dist/helpers/validator/custom-validators/image.custom-validator.d.ts +0 -14
  75. package/dist/helpers/validator/custom-validators/image.custom-validator.js +0 -44
  76. package/dist/helpers/validator/custom-validators/path.custom-validator.d.ts +0 -9
  77. package/dist/helpers/validator/custom-validators/path.custom-validator.js +0 -30
  78. package/dist/helpers/validator/custom-validators/position-on-sprite.d.ts +0 -14
  79. package/dist/helpers/validator/custom-validators/position-on-sprite.js +0 -44
  80. package/dist/helpers/validator/custom-validators/reference.custom-validator.d.ts +0 -22
  81. package/dist/helpers/validator/custom-validators/reference.custom-validator.js +0 -123
  82. package/dist/helpers/validator/custom-validators/sprite.custom-validator.d.ts +0 -14
  83. package/dist/helpers/validator/custom-validators/sprite.custom-validator.js +0 -43
  84. package/dist/helpers/validator/custom-validators/unique-name-group.custom-validator.d.ts +0 -9
  85. package/dist/helpers/validator/custom-validators/unique-name-group.custom-validator.js +0 -33
  86. package/dist/helpers/validator/custom-validators/unique.custom-validator.d.ts +0 -8
  87. package/dist/helpers/validator/custom-validators/unique.custom-validator.js +0 -20
  88. package/dist/helpers/validator/joi-custom-validators.d.ts +0 -33
  89. package/dist/helpers/validator/joi-custom-validators.js +0 -54
  90. package/dist/helpers/validator/joi-custom-validators.spec.d.ts +0 -1
  91. package/dist/helpers/validator/joi-custom-validators.spec.js +0 -304
  92. package/dist/helpers/validator/validator.d.ts +0 -21
  93. package/dist/helpers/validator/validator.js +0 -74
  94. package/dist/helpers/validator/validator.spec.d.ts +0 -1
  95. package/dist/helpers/validator/validator.spec.js +0 -332
  96. package/dist/helpers/validator/validator.test.d.ts +0 -1
  97. package/dist/helpers/validator/validator.test.js +0 -329
  98. package/dist/pipeline/1-select-definitions-helper.d.ts +0 -20
  99. package/dist/pipeline/1-select-definitions-helper.js +0 -76
  100. package/dist/pipeline/1-select-definitions.helper.d.ts +0 -20
  101. package/dist/pipeline/1-select-definitions.helper.js +0 -80
  102. package/dist/pipeline/1-select-definitions.helper.test.d.ts +0 -1
  103. package/dist/pipeline/1-select-definitions.helper.test.js +0 -141
  104. package/dist/pipeline/1-select-definitions.spec.d.ts +0 -1
  105. package/dist/pipeline/1-select-definitions.spec.js +0 -140
  106. package/dist/pipeline/2-structure-parser.helper.d.ts +0 -11
  107. package/dist/pipeline/2-structure-parser.helper.js +0 -70
  108. package/dist/pipeline/2-structure-parser.helper.spec.d.ts +0 -1
  109. package/dist/pipeline/2-structure-parser.helper.spec.js +0 -280
  110. package/dist/pipeline/2-structure-parser.helper.test.d.ts +0 -1
  111. package/dist/pipeline/2-structure-parser.helper.test.js +0 -281
  112. package/dist/pipeline/3-config.d.ts +0 -9
  113. package/dist/pipeline/3-config.js +0 -36
  114. package/dist/pipeline/_mocks/index.d.ts +0 -13
  115. package/dist/pipeline/_mocks/index.js +0 -52
  116. package/dist/pipeline/parsers/array-parser.d.ts +0 -4
  117. package/dist/pipeline/parsers/array-parser.js +0 -69
  118. package/dist/pipeline/parsers/array-parser.spec.d.ts +0 -1
  119. package/dist/pipeline/parsers/array-parser.spec.js +0 -128
  120. package/dist/pipeline/parsers/array-parser.test.d.ts +0 -1
  121. package/dist/pipeline/parsers/array-parser.test.js +0 -126
  122. package/dist/pipeline/parsers/object-parser.d.ts +0 -4
  123. package/dist/pipeline/parsers/object-parser.js +0 -135
  124. package/dist/pipeline/parsers/object-parser.spec.d.ts +0 -1
  125. package/dist/pipeline/parsers/object-parser.spec.js +0 -179
  126. package/dist/pipeline/parsers/object-parser.test.d.ts +0 -1
  127. package/dist/pipeline/parsers/object-parser.test.js +0 -186
  128. package/dist/pipeline/parsers/primitive-parser.d.ts +0 -7
  129. package/dist/pipeline/parsers/primitive-parser.js +0 -111
  130. package/dist/pipeline/parsers/primitive-parser.spec.d.ts +0 -1
  131. package/dist/pipeline/parsers/primitive-parser.spec.js +0 -79
  132. package/dist/pipeline/parsers/primitive-parser.test.d.ts +0 -1
  133. package/dist/pipeline/parsers/primitive-parser.test.js +0 -85
  134. package/dist/pipeline/raw-data-parser.d.ts +0 -5
  135. package/dist/pipeline/raw-data-parser.js +0 -25
  136. package/dist/pre-made-components/_validators/shape-validators.d.ts +0 -7
  137. package/dist/pre-made-components/_validators/shape-validators.js +0 -37
  138. package/dist/pre-made-components/_validators/sprite-validators.d.ts +0 -7
  139. package/dist/pre-made-components/_validators/sprite-validators.js +0 -43
  140. package/dist/pre-made-components/assets/1-sprite.d.ts +0 -15
  141. package/dist/pre-made-components/assets/1-sprite.js +0 -74
  142. package/dist/pre-made-components/assets/2-sprite-group.d.ts +0 -11
  143. package/dist/pre-made-components/assets/2-sprite-group.js +0 -41
  144. package/dist/pre-made-components/assets/3-font.d.ts +0 -17
  145. package/dist/pre-made-components/assets/3-font.js +0 -71
  146. package/dist/pre-made-components/events/1-event.d.ts +0 -6
  147. package/dist/pre-made-components/events/1-event.js +0 -206
  148. package/dist/pre-made-components/events/1-script.d.ts +0 -8
  149. package/dist/pre-made-components/events/1-script.js +0 -102
  150. package/dist/pre-made-components/events/2-event-test.d.ts +0 -18
  151. package/dist/pre-made-components/events/2-event-test.js +0 -172
  152. package/dist/pre-made-components/events/2-script-test.d.ts +0 -7
  153. package/dist/pre-made-components/events/2-script-test.js +0 -102
  154. package/dist/pre-made-components/events/3-event.d.ts +0 -7
  155. package/dist/pre-made-components/events/3-event.js +0 -100
  156. package/dist/pre-made-components/events/4-event-test.d.ts +0 -7
  157. package/dist/pre-made-components/events/4-event-test.js +0 -89
  158. package/dist/pre-made-components/events/event-setup.d.ts +0 -13
  159. package/dist/pre-made-components/events/event-setup.js +0 -20
  160. package/dist/pre-made-components/events/helpers/quotes-to-tags.helper.d.ts +0 -3
  161. package/dist/pre-made-components/events/helpers/quotes-to-tags.helper.js +0 -24
  162. package/dist/pre-made-components/events/helpers/quotes-to-tags.helper.test.d.ts +0 -1
  163. package/dist/pre-made-components/events/helpers/quotes-to-tags.helper.test.js +0 -39
  164. package/dist/pre-made-components/events/helpers/script-testing.helper.d.ts +0 -33
  165. package/dist/pre-made-components/events/helpers/script-testing.helper.js +0 -79
  166. package/dist/pre-made-components/events/script-setup.d.ts +0 -8
  167. package/dist/pre-made-components/events/script-setup.js +0 -16
  168. package/dist/pre-made-components/events/scripting-setup.d.ts +0 -33
  169. package/dist/pre-made-components/events/scripting-setup.js +0 -97
  170. package/dist/pre-made-components/events/validators.d.ts +0 -6
  171. package/dist/pre-made-components/events/validators.js +0 -96
  172. package/dist/setup.d.ts +0 -1
  173. package/dist/setup.js +0 -10
@@ -1,304 +0,0 @@
1
- 'use strict';
2
- var __createBinding =
3
- (this && this.__createBinding) ||
4
- (Object.create
5
- ? function (o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = {
10
- enumerable: true,
11
- get: function () {
12
- return m[k];
13
- }
14
- };
15
- }
16
- Object.defineProperty(o, k2, desc);
17
- }
18
- : function (o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- });
22
- var __setModuleDefault =
23
- (this && this.__setModuleDefault) ||
24
- (Object.create
25
- ? function (o, v) {
26
- Object.defineProperty(o, 'default', { enumerable: true, value: v });
27
- }
28
- : function (o, v) {
29
- o['default'] = v;
30
- });
31
- var __importStar =
32
- (this && this.__importStar) ||
33
- function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null)
37
- for (var k in mod) if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- Object.defineProperty(exports, '__esModule', { value: true });
42
- const Joi = __importStar(require('joi'));
43
- const joi_custom_validators_1 = require('./joi-custom-validators');
44
- const mocks_1 = require('../../_mocks/mocks');
45
- const raw_definition_helper_1 = require('../raw-definition-helper/raw-definition.helper');
46
- joi_custom_validators_1.JoiCustomValidators.decorate({ existsSync: path => path !== 'D:/test/false/path.png' });
47
- const DefinitionType = 'ASSET';
48
- class Asset {
49
- static {
50
- this.$meta = {
51
- definitionName: DefinitionType
52
- };
53
- }
54
- async process() {}
55
- }
56
- class AssetGroup {
57
- static {
58
- this.$meta = {
59
- definitionName: 'ASSET-GROUP'
60
- };
61
- }
62
- async process() {}
63
- }
64
- function getSimpleRawDefinition(value, offset = 1) {
65
- return {
66
- type: DefinitionType,
67
- location: mocks_1.SampleLocation1,
68
- parsedStructure: {
69
- line: mocks_1.SampleLocation1.line + offset,
70
- rawData: {
71
- value: {
72
- rawData: value,
73
- line: mocks_1.SampleLocation1.line + offset
74
- }
75
- }
76
- }
77
- };
78
- }
79
- function getFlatRawDefinition(value, offset = 1) {
80
- return {
81
- type: DefinitionType,
82
- location: mocks_1.SampleLocation1,
83
- parsedStructure: {
84
- line: mocks_1.SampleLocation1.line + offset,
85
- rawData: value
86
- }
87
- };
88
- }
89
- describe('JOI CUSTOM VALIDATORS', () => {
90
- beforeEach(() => {
91
- let validators = joi_custom_validators_1.JoiCustomValidators;
92
- validators.rootDirectory = 'D:/';
93
- validators.definitionNames = new Map();
94
- validators.duplicateHelpers = new Map();
95
- });
96
- describe('Variable Name', () => {
97
- let schema = Joi.object().keys({
98
- value: Joi.string().uniqueNameGroup(Asset).required()
99
- });
100
- test('valid data', () => {
101
- let rawDefinition = getSimpleRawDefinition('test');
102
- let { value, error } = schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
103
- abortEarly: false,
104
- context: rawDefinition
105
- });
106
- expect(value).toEqual({ value: 'assetTest' });
107
- expect(error).toEqual(undefined);
108
- });
109
- test('invalid data', () => {
110
- let rawDefinition = getSimpleRawDefinition('invalid data');
111
- let { error } = schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
112
- abortEarly: false,
113
- context: rawDefinition
114
- });
115
- expect(error?.details).toStrictEqual([
116
- {
117
- message: '"value" with value "invalid data" fails to match the required pattern: /^[a-z]+([a-zA-Z0-9]+)*$/',
118
- path: [],
119
- type: 'string.pattern.base',
120
- context: {
121
- name: undefined,
122
- regex: /^[a-z]+([a-zA-Z0-9]+)*$/,
123
- value: 'invalid data',
124
- label: 'value',
125
- key: 'value'
126
- }
127
- }
128
- ]);
129
- });
130
- test('should detect duplicate variable names', () => {
131
- let rawDefinition1 = getSimpleRawDefinition('test', 1);
132
- let rawDefinition2 = getSimpleRawDefinition('test', 2);
133
- schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition1), {
134
- abortEarly: false,
135
- context: rawDefinition1
136
- });
137
- schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition2), {
138
- abortEarly: false,
139
- context: rawDefinition2
140
- });
141
- let context = (0, mocks_1.getMockContext)();
142
- joi_custom_validators_1.JoiCustomValidators.logDuplicates(context);
143
- expect(context.errorLogs).toStrictEqual([
144
- {
145
- description: 'Value should be singular! Group: "ASSET", Value: "test"',
146
- location: { line: mocks_1.SampleLocation1.line + 1, path: 'D:/test/file-1.md' }
147
- },
148
- {
149
- description: 'Value should be singular! Group: "ASSET", Value: "test"',
150
- location: { line: mocks_1.SampleLocation1.line + 2, path: 'D:/test/file-1.md' }
151
- }
152
- ]);
153
- });
154
- test('different groups should not create duplicates', () => {
155
- let schema2 = Joi.object().keys({
156
- value: Joi.string().uniqueNameGroup(AssetGroup).required()
157
- });
158
- let rawDefinition1 = getSimpleRawDefinition('test', 1);
159
- let rawDefinition2 = getSimpleRawDefinition('test', 2);
160
- schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition1), {
161
- abortEarly: false,
162
- context: rawDefinition1
163
- });
164
- schema2.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition2), {
165
- abortEarly: false,
166
- context: rawDefinition2
167
- });
168
- let context = (0, mocks_1.getMockContext)();
169
- joi_custom_validators_1.JoiCustomValidators.logDuplicates(context);
170
- expect(context.errorLogs).toStrictEqual([]);
171
- });
172
- });
173
- describe('Reference', () => {
174
- let schema = Joi.object().keys({
175
- value: Joi.string().reference(Asset).required()
176
- });
177
- let multipleSchema = Joi.object().keys({
178
- value: Joi.string().reference([AssetGroup, Asset]).required()
179
- });
180
- test('valid data', () => {
181
- let rawDefinition = getSimpleRawDefinition('test');
182
- let validators = joi_custom_validators_1.JoiCustomValidators;
183
- validators.getDefinitionNames(DefinitionType).add('test');
184
- let { value, error } = schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
185
- abortEarly: false,
186
- context: rawDefinition
187
- });
188
- expect(value).toEqual({ value: 'assetTest' });
189
- expect(error).toEqual(undefined);
190
- });
191
- test('multiple reference', () => {
192
- let rawDefinition = getSimpleRawDefinition('test');
193
- let validators = joi_custom_validators_1.JoiCustomValidators;
194
- validators.getDefinitionNames(DefinitionType).add('test');
195
- let { value, error } = multipleSchema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
196
- abortEarly: false,
197
- context: rawDefinition
198
- });
199
- expect(value).toEqual({ value: 'assetTest' });
200
- expect(error).toEqual(undefined);
201
- });
202
- test('primitive valid data', () => {
203
- let rawDefinition = getFlatRawDefinition('test');
204
- let primitiveSchema = Joi.string().reference(Asset).required();
205
- let validators = joi_custom_validators_1.JoiCustomValidators;
206
- validators.getDefinitionNames(DefinitionType).add('test');
207
- let { value, error } = primitiveSchema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
208
- abortEarly: false,
209
- context: rawDefinition
210
- });
211
- expect(value).toEqual('assetTest');
212
- expect(error).toEqual(undefined);
213
- });
214
- test('should detect non existing references', () => {
215
- let rawDefinition = getSimpleRawDefinition('test');
216
- let { error } = schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
217
- abortEarly: false,
218
- context: rawDefinition
219
- });
220
- expect(error?.details).toEqual([
221
- {
222
- context: {
223
- key: 'value',
224
- label: 'value',
225
- value: 'test'
226
- },
227
- message: 'There is no definition found for "test" in name field: "ASSET"',
228
- path: ['value'],
229
- type: 'any.custom'
230
- }
231
- ]);
232
- });
233
- test('should detect non existing multiple references', () => {
234
- let rawDefinition = getSimpleRawDefinition('test');
235
- let { error } = multipleSchema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
236
- abortEarly: false,
237
- context: rawDefinition
238
- });
239
- expect(error?.details).toEqual([
240
- {
241
- context: {
242
- key: 'value',
243
- label: 'value',
244
- value: 'test'
245
- },
246
- message: 'There is no definition found for "test" in name field: "ASSET-GROUP, ASSET"',
247
- path: ['value'],
248
- type: 'any.custom'
249
- }
250
- ]);
251
- });
252
- });
253
- describe('Path', () => {
254
- let schema = Joi.object().keys({
255
- value: Joi.string().path().required()
256
- });
257
- test('valid data', () => {
258
- let rawDefinition = getSimpleRawDefinition('images/test.png');
259
- let { value, error } = schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
260
- abortEarly: false,
261
- context: rawDefinition
262
- });
263
- expect(value).toEqual({ value: '.test/images/test.png' });
264
- expect(error).toEqual(undefined);
265
- });
266
- test('should detect files not existing', () => {
267
- let rawDefinition = getSimpleRawDefinition('invalid data');
268
- let { error } = schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
269
- abortEarly: false,
270
- context: rawDefinition
271
- });
272
- expect(error?.details).toStrictEqual([
273
- {
274
- message: '"value" with value "invalid data" fails to match the required pattern: /^[\\S]+$/',
275
- path: ['value'],
276
- type: 'string.pattern.base',
277
- context: {
278
- name: undefined,
279
- regex: /^[\S]+$/,
280
- value: 'invalid data',
281
- label: 'value',
282
- key: 'value'
283
- }
284
- }
285
- ]);
286
- });
287
- test('should detect files not existing', () => {
288
- let rawDefinition = getSimpleRawDefinition('false/path.png');
289
- let { error } = schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
290
- abortEarly: false,
291
- context: rawDefinition
292
- });
293
- expect(error?.details).toStrictEqual([
294
- {
295
- message: 'No file is found in the path: "false/path.png"',
296
- path: ['value'],
297
- type: 'any.custom',
298
- context: { label: 'value', value: 'false/path.png', key: 'value' }
299
- }
300
- ]);
301
- });
302
- });
303
- });
304
- //# sourceMappingURL=joi-custom-validators.spec.js.map
@@ -1,21 +0,0 @@
1
- import Joi from 'joi';
2
- import { RawDefinition } from '../../framework/interfaces';
3
- export interface GroupDefinition {
4
- name: string;
5
- group: string[];
6
- }
7
- export interface ValidationContext {
8
- readonly rawDefinition: RawDefinition;
9
- failSilently?: boolean;
10
- }
11
- export interface ValidatedItem<T> {
12
- readonly definition: T;
13
- readonly rawDefinition: RawDefinition;
14
- }
15
- export declare class Validator {
16
- static definitionToRawDefintion: Map<any, RawDefinition>;
17
- static getRawDefinitions(componentName: string): RawDefinition[];
18
- static validateAndConvert<T>(componentName: string, schema: Joi.AnySchema): ValidatedItem<T>[];
19
- static validateAndConvertSingular<T>(componentName: string, schema: Joi.AnySchema): ValidatedItem<T> | undefined;
20
- private static validate;
21
- }
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Validator = void 0;
4
- const context_1 = require("../../framework/context");
5
- const raw_definition_helper_1 = require("../raw-definition-helper/raw-definition.helper");
6
- class Validator {
7
- static { this.definitionToRawDefintion = new Map(); }
8
- // Cache the definitions
9
- static getRawDefinitions(componentName) {
10
- return context_1.Context.rawDefinitions.filter(rawDefinition => rawDefinition.componentName === componentName);
11
- }
12
- static validateAndConvert(componentName, schema) {
13
- return this.getRawDefinitions(componentName)
14
- .map(rawDefinition => {
15
- let definition = this.validate(rawDefinition, schema);
16
- this.definitionToRawDefintion.set(definition, rawDefinition);
17
- if (definition) {
18
- return {
19
- definition,
20
- rawDefinition
21
- };
22
- }
23
- })
24
- .filter(validatedItem => validatedItem);
25
- }
26
- static validateAndConvertSingular(componentName, schema) {
27
- let validatedItems = this.validateAndConvert(componentName, schema);
28
- if (validatedItems.length === 0) {
29
- if (context_1.Context.successful) {
30
- let errorLog = {
31
- description: `Singleton definition has no declared entry "${componentName}"`,
32
- location: { line: 0, path: '*' }
33
- };
34
- context_1.Context.addErrorLog(errorLog, 'lowPriority');
35
- }
36
- }
37
- else if (validatedItems.length > 1) {
38
- context_1.Context.rawDefinitions
39
- .filter(rawDefinition => rawDefinition.componentName === componentName)
40
- .forEach(rawDefinition => {
41
- let errorLog = {
42
- description: `Only one definition can be defined for "${componentName}"`,
43
- location: rawDefinition.location
44
- };
45
- context_1.Context.addErrorLog(errorLog, 'lowPriority');
46
- });
47
- }
48
- else {
49
- return validatedItems[0];
50
- }
51
- }
52
- static validate(rawDefinition, schema) {
53
- let context = { rawDefinition, failSilently: false };
54
- let { value, error } = schema.validate(raw_definition_helper_1.RawDefinitionHelper.flatten(rawDefinition), {
55
- abortEarly: false,
56
- context
57
- });
58
- if (error?.details) {
59
- let errors = error.details.reverse().map(errorDetail => ({
60
- description: errorDetail.message,
61
- location: {
62
- line: raw_definition_helper_1.RawDefinitionHelper.findLine(rawDefinition, errorDetail.path),
63
- path: rawDefinition.location.path
64
- }
65
- }));
66
- context_1.Context.addErrorLog(errors.reverse());
67
- }
68
- else if (!context.failSilently) {
69
- return value;
70
- }
71
- }
72
- }
73
- exports.Validator = Validator;
74
- //# sourceMappingURL=validator.js.map
@@ -1 +0,0 @@
1
- export {};