definition-generator-framework 1.6.0 → 1.6.2

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 (49) hide show
  1. package/.vscode/launch.json +15 -0
  2. package/dist/helpers/common-functions/common-functions.test.d.ts +1 -0
  3. package/dist/helpers/common-functions/common-functions.test.js +51 -0
  4. package/dist/helpers/common-functions/common-functions.test.js.map +1 -0
  5. package/dist/helpers/duplicate-helper/duplicate-helper.test.d.ts +1 -0
  6. package/dist/helpers/duplicate-helper/duplicate-helper.test.js +55 -0
  7. package/dist/helpers/duplicate-helper/duplicate-helper.test.js.map +1 -0
  8. package/dist/helpers/output-helper/output-helper.d.ts +3 -1
  9. package/dist/helpers/output-helper/output-helper.js +23 -0
  10. package/dist/helpers/output-helper/output-helper.js.map +1 -1
  11. package/dist/helpers/output-helper/output-helper.spec.js.map +1 -1
  12. package/dist/helpers/output-helper/output-helper.test.d.ts +24 -0
  13. package/dist/helpers/output-helper/output-helper.test.js +250 -0
  14. package/dist/helpers/output-helper/output-helper.test.js.map +1 -0
  15. package/dist/helpers/raw-definition-helper/raw-definition.helper.test.d.ts +1 -0
  16. package/dist/helpers/raw-definition-helper/raw-definition.helper.test.js +136 -0
  17. package/dist/helpers/raw-definition-helper/raw-definition.helper.test.js.map +1 -0
  18. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.test.d.ts +1 -0
  19. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.test.js +174 -0
  20. package/dist/helpers/validator/custom-validator-helper/custom-validator.helper.test.js.map +1 -0
  21. package/dist/helpers/validator/joi-custom-validators.js +7 -0
  22. package/dist/helpers/validator/joi-custom-validators.js.map +1 -1
  23. package/dist/helpers/validator/validator.test.d.ts +1 -0
  24. package/dist/helpers/validator/validator.test.js +323 -0
  25. package/dist/helpers/validator/validator.test.js.map +1 -0
  26. package/dist/pipeline/1-select-definitions.helper.d.ts +20 -0
  27. package/dist/pipeline/1-select-definitions.helper.js +80 -0
  28. package/dist/pipeline/1-select-definitions.helper.js.map +1 -0
  29. package/dist/pipeline/1-select-definitions.helper.test.d.ts +1 -0
  30. package/dist/pipeline/1-select-definitions.helper.test.js +141 -0
  31. package/dist/pipeline/1-select-definitions.helper.test.js.map +1 -0
  32. package/dist/pipeline/2-structure-parser.helper.d.ts +1 -1
  33. package/dist/pipeline/2-structure-parser.helper.test.d.ts +1 -0
  34. package/dist/pipeline/2-structure-parser.helper.test.js +281 -0
  35. package/dist/pipeline/2-structure-parser.helper.test.js.map +1 -0
  36. package/dist/pipeline/_mocks/index.d.ts +1 -1
  37. package/dist/pipeline/_mocks/index.js +2 -1
  38. package/dist/pipeline/_mocks/index.js.map +1 -1
  39. package/dist/pipeline/parsers/array-parser.test.d.ts +1 -0
  40. package/dist/pipeline/parsers/array-parser.test.js +126 -0
  41. package/dist/pipeline/parsers/array-parser.test.js.map +1 -0
  42. package/dist/pipeline/parsers/object-parser.test.d.ts +1 -0
  43. package/dist/pipeline/parsers/object-parser.test.js +174 -0
  44. package/dist/pipeline/parsers/object-parser.test.js.map +1 -0
  45. package/dist/pipeline/parsers/primitive-parser.test.d.ts +1 -0
  46. package/dist/pipeline/parsers/primitive-parser.test.js +80 -0
  47. package/dist/pipeline/parsers/primitive-parser.test.js.map +1 -0
  48. package/dist/pipeline/raw-data-parser.js +1 -1
  49. package/package.json +6 -28
@@ -0,0 +1,15 @@
1
+ {
2
+ "configurations": [
3
+ {
4
+ "name": "Unit Tests",
5
+ "type": "node",
6
+ "request": "launch",
7
+ "autoAttachChildProcesses": true,
8
+ "skipFiles": ["<node_internals>/**", "**/node_modules/**"],
9
+ "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
10
+ "args": ["run"],
11
+ "smartStep": true,
12
+ "console": "integratedTerminal"
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const common_functions_1 = require("./common-functions");
5
+ (0, vitest_1.describe)('COMMON FUNCTIONS', () => {
6
+ (0, vitest_1.test)('kabab case to camel case', () => {
7
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.kebabCaseToCamelCase('')).toEqual('');
8
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.kebabCaseToCamelCase('text')).toEqual('text');
9
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.kebabCaseToCamelCase('TEXT')).toEqual('text');
10
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.kebabCaseToCamelCase('text-asdf')).toEqual('textAsdf');
11
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.kebabCaseToCamelCase('TEXT-ASDF')).toEqual('textAsdf');
12
+ });
13
+ (0, vitest_1.test)('lower case first letter', () => {
14
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.lowerCaseFirstLetter('')).toEqual('');
15
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.lowerCaseFirstLetter('text')).toEqual('text');
16
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.lowerCaseFirstLetter(' ')).toEqual(' ');
17
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.lowerCaseFirstLetter('Text')).toEqual('text');
18
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.lowerCaseFirstLetter(' Text')).toEqual(' Text');
19
+ });
20
+ (0, vitest_1.test)('upper case first letter', () => {
21
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.upperCaseFirstLetter('')).toEqual('');
22
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.upperCaseFirstLetter('Text')).toEqual('Text');
23
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.upperCaseFirstLetter(' ')).toEqual(' ');
24
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.upperCaseFirstLetter('text')).toEqual('Text');
25
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.upperCaseFirstLetter(' text')).toEqual(' text');
26
+ });
27
+ (0, vitest_1.test)('remove whitespace', () => {
28
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('')).toEqual('');
29
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text')).toEqual('text');
30
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace(' text')).toEqual('text');
31
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text ')).toEqual('text');
32
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text\n')).toEqual('text');
33
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text\r')).toEqual('text');
34
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text\r\n')).toEqual('text');
35
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text//')).toEqual('text');
36
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text //')).toEqual('text');
37
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text // asdf')).toEqual('text');
38
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text text')).toEqual('text text');
39
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeWhiteSpace('text text')).toEqual('text text');
40
+ });
41
+ (0, vitest_1.test)('remove comments', () => {
42
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeComments('')).toEqual('');
43
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeComments('text')).toEqual('text');
44
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeComments(' text ')).toEqual(' text');
45
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeComments(' text//')).toEqual(' text');
46
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeComments(' text //')).toEqual(' text');
47
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeComments(' text // asdf')).toEqual(' text');
48
+ (0, vitest_1.expect)(common_functions_1.CommonFunctions.removeComments('- Symbol: □ // Dirt\n')).toEqual('- Symbol: □');
49
+ });
50
+ });
51
+ //# sourceMappingURL=common-functions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-functions.test.js","sourceRoot":"","sources":["../../../src/helpers/common-functions/common-functions.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAEhD,yDAAqD;AAErD,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,aAAI,EAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9E,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC7B,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzD,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAA,eAAM,EAAC,kCAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,iBAAiB,EAAE,GAAG,EAAE;QAC3B,IAAA,eAAM,EAAC,kCAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,kCAAe,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAA,eAAM,EAAC,kCAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kCAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAA,eAAM,EAAC,kCAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAA,eAAM,EAAC,kCAAe,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const duplicate_helper_1 = require("./duplicate-helper");
5
+ const mocks_1 = require("../../_mocks/mocks");
6
+ const context_1 = require("../../framework/context");
7
+ (0, vitest_1.describe)('Duplicate Helper', () => {
8
+ (0, vitest_1.test)('should handle single entry', () => {
9
+ (0, mocks_1.resetContext)();
10
+ let helper = new duplicate_helper_1.DuplicateHelper('ASSET: Name');
11
+ (0, vitest_1.expect)(helper.newEntry('identifier', mocks_1.SampleLocation1)).toBeTruthy();
12
+ helper.logDuplicateErrors();
13
+ (0, vitest_1.expect)(context_1.Context.errorLogs).toStrictEqual([]);
14
+ });
15
+ (0, vitest_1.test)('should detect duplicate', () => {
16
+ (0, mocks_1.resetContext)();
17
+ let helper = new duplicate_helper_1.DuplicateHelper('ASSET: Name');
18
+ (0, vitest_1.expect)(helper.newEntry('identifier', mocks_1.SampleLocation1)).toBeTruthy();
19
+ (0, vitest_1.expect)(helper.newEntry('identifier', mocks_1.SampleLocation2)).toBeFalsy();
20
+ helper.logDuplicateErrors();
21
+ (0, vitest_1.expect)(context_1.Context.errorLogs).toStrictEqual([
22
+ {
23
+ description: 'Value should be singular! Group: "ASSET: Name", Value: "identifier"',
24
+ location: mocks_1.SampleLocation1
25
+ },
26
+ {
27
+ description: 'Value should be singular! Group: "ASSET: Name", Value: "identifier"',
28
+ location: mocks_1.SampleLocation2
29
+ }
30
+ ]);
31
+ });
32
+ (0, vitest_1.test)('should detect multiple duplicate', () => {
33
+ (0, mocks_1.resetContext)();
34
+ let helper = new duplicate_helper_1.DuplicateHelper('ASSET: Name');
35
+ (0, vitest_1.expect)(helper.newEntry('identifier', mocks_1.SampleLocation1)).toBeTruthy();
36
+ (0, vitest_1.expect)(helper.newEntry('identifier', mocks_1.SampleLocation2)).toBeFalsy();
37
+ (0, vitest_1.expect)(helper.newEntry('identifier', mocks_1.SampleLocation3)).toBeFalsy();
38
+ helper.logDuplicateErrors();
39
+ (0, vitest_1.expect)(context_1.Context.errorLogs).toStrictEqual([
40
+ {
41
+ description: 'Value should be singular! Group: "ASSET: Name", Value: "identifier"',
42
+ location: mocks_1.SampleLocation1
43
+ },
44
+ {
45
+ description: 'Value should be singular! Group: "ASSET: Name", Value: "identifier"',
46
+ location: mocks_1.SampleLocation2
47
+ },
48
+ {
49
+ description: 'Value should be singular! Group: "ASSET: Name", Value: "identifier"',
50
+ location: mocks_1.SampleLocation3
51
+ }
52
+ ]);
53
+ });
54
+ });
55
+ //# sourceMappingURL=duplicate-helper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate-helper.test.js","sourceRoot":"","sources":["../../../src/helpers/duplicate-helper/duplicate-helper.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAEhD,yDAAqD;AACrD,8CAAqG;AACrG,qDAAkD;AAElD,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,aAAI,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,IAAA,oBAAY,GAAE,CAAC;QACf,IAAI,MAAM,GAAG,IAAI,kCAAe,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAe,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAEpE,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC5B,IAAA,eAAM,EAAC,iBAAO,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,IAAA,oBAAY,GAAE,CAAC;QACf,IAAI,MAAM,GAAG,IAAI,kCAAe,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAe,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QACpE,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAe,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAEnE,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC5B,IAAA,eAAM,EAAC,iBAAO,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;YACtC;gBACE,WAAW,EAAE,qEAAqE;gBAClF,QAAQ,EAAE,uBAAe;aAC1B;YACD;gBACE,WAAW,EAAE,qEAAqE;gBAClF,QAAQ,EAAE,uBAAe;aAC1B;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,IAAA,oBAAY,GAAE,CAAC;QACf,IAAI,MAAM,GAAG,IAAI,kCAAe,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAe,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QACpE,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAe,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACnE,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAe,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAEnE,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC5B,IAAA,eAAM,EAAC,iBAAO,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;YACtC;gBACE,WAAW,EAAE,qEAAqE;gBAClF,QAAQ,EAAE,uBAAe;aAC1B;YACD;gBACE,WAAW,EAAE,qEAAqE;gBAClF,QAAQ,EAAE,uBAAe;aAC1B;YACD;gBACE,WAAW,EAAE,qEAAqE;gBAClF,QAAQ,EAAE,uBAAe;aAC1B;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -4,6 +4,8 @@ declare class OutputHelperClass {
4
4
  variableName: string;
5
5
  variableType: string;
6
6
  variable: any[];
7
+ filePath?: string;
8
+ assetUrl?: string;
7
9
  replaceMap?: {
8
10
  target: string;
9
11
  replace: string;
@@ -19,7 +21,7 @@ declare class OutputHelperClass {
19
21
  replace: string;
20
22
  }[];
21
23
  }): Promise<string>;
22
- convertToRelativePath(filePath: string, relativePathFromRoot: string): string;
24
+ private convertToRelativePath;
23
25
  private replaceOutput;
24
26
  private format;
25
27
  private stringify;
@@ -30,12 +30,32 @@ exports.OutputHelper = void 0;
30
30
  const prettier = __importStar(require("prettier"));
31
31
  const path_1 = __importDefault(require("path"));
32
32
  const context_1 = require("../../framework/context");
33
+ const helpers_lib_1 = require("helpers-lib");
33
34
  class OutputHelperClass {
34
35
  async generateArrayOutput(options) {
35
36
  let output = '';
36
37
  if (options.preText) {
37
38
  output += `${options.preText}\n\n`;
38
39
  }
40
+ let assetsReplaceMap;
41
+ if (options.assetUrl) {
42
+ if (!options.filePath) {
43
+ throw new Error('filePath is required when using assetUrl');
44
+ }
45
+ let urls = options.variable.map(item => helpers_lib_1.JsonHelper.deepFind(item, options.assetUrl));
46
+ let assetUrlToNameMap = new Map();
47
+ urls.forEach(url => {
48
+ if (!assetUrlToNameMap.has(url)) {
49
+ let name = `asset${assetUrlToNameMap.size}`;
50
+ assetUrlToNameMap.set(url, name);
51
+ }
52
+ });
53
+ let imports = Array.from(assetUrlToNameMap, ([key, value]) => ({ name: value, url: key }))
54
+ .map(item => `import ${item.name} from '${this.convertToRelativePath(options.filePath, item.url)}';`)
55
+ .join('\n');
56
+ output += imports + '\n\n';
57
+ assetsReplaceMap = urls.reduce((map, url) => [...map, { target: `"${url}"`, replace: assetUrlToNameMap.get(url) }], []);
58
+ }
39
59
  if (options.variable.reduce) {
40
60
  let content = options.variable.reduce((acc, item, index) => `${acc}${index !== 0 ? ',' : ''}${this.stringify(item)}`, '');
41
61
  output += `export const ${options.variableName}: ${options.variableType} = [${content}];`;
@@ -43,6 +63,9 @@ class OutputHelperClass {
43
63
  else {
44
64
  console.error(`Given variable is not an array, do you mean to use "generateOutput()", for the variable "${options.variableName}"?`);
45
65
  }
66
+ if (assetsReplaceMap) {
67
+ output = this.replaceOutput(output, assetsReplaceMap);
68
+ }
46
69
  if (options.replaceMap) {
47
70
  output = this.replaceOutput(output, options.replaceMap);
48
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"output-helper.js","sourceRoot":"","sources":["../../../src/helpers/output-helper/output-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-helper.js","sourceRoot":"","sources":["../../../src/helpers/output-helper/output-helper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"output-helper.spec.js","sourceRoot":"","sources":["../../../src/helpers/output-helper/output-helper.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-helper.spec.js","sourceRoot":"","sources":["../../../src/helpers/output-helper/output-helper.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export declare const Const: {
2
+ type: string;
3
+ material: string;
4
+ maxQuantity: number;
5
+ mainHand: undefined;
6
+ offHand: undefined;
7
+ bothHands: {
8
+ imageOnCharacter: string;
9
+ parryDice: undefined;
10
+ attacks: {
11
+ actionIcon: string;
12
+ attackDices: string[];
13
+ range: string;
14
+ requiresSetup: boolean;
15
+ unparryable: boolean;
16
+ lowersQuantity: boolean;
17
+ projectileType: string;
18
+ sounds: {
19
+ hit: string;
20
+ pre: string;
21
+ };
22
+ }[];
23
+ };
24
+ };
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Const = void 0;
4
+ const vitest_1 = require("vitest");
5
+ const mocks_1 = require("../../_mocks/mocks");
6
+ const context_1 = require("../../framework/context");
7
+ const output_helper_1 = require("./output-helper");
8
+ let complexObject = {
9
+ type: 'bow',
10
+ material: 'WoodenItemMaterial',
11
+ maxQuantity: 10,
12
+ mainHand: undefined,
13
+ offHand: undefined,
14
+ bothHands: {
15
+ imageOnCharacter: 'BodyPartImageNames',
16
+ parryDice: undefined,
17
+ attacks: [
18
+ {
19
+ actionIcon: 'AssetNames.characterActionBowAttack',
20
+ attackDices: ['DiceType.d6', 'DiceType.d6'],
21
+ range: 'WeaponRange.ranged',
22
+ requiresSetup: false,
23
+ unparryable: true,
24
+ lowersQuantity: true,
25
+ projectileType: 'ProjectileType.arrow',
26
+ sounds: {
27
+ hit: 'AssetGroups.battleSoundArrowHit',
28
+ pre: 'AssetGroups.battleSoundArrowShot'
29
+ }
30
+ }
31
+ ]
32
+ }
33
+ };
34
+ let emptyArrayExpected = `export const Groups: any[] = [];
35
+ `;
36
+ let basicArrayExpected = `export const Groups: any[] = [
37
+ { name: 'test1', source: './src/definitions-sample/images/test1.png' },
38
+ { name: 'test2', source: './src/definitions-sample/images/test2.png', pixelPerfectInteraction: true }
39
+ ];
40
+ `;
41
+ let complexArrayExpected = `export const Groups: any[] = [
42
+ {
43
+ type: 'bow',
44
+ material: 'WoodenItemMaterial',
45
+ maxQuantity: 10,
46
+ mainHand: undefined,
47
+ offHand: undefined,
48
+ bothHands: {
49
+ imageOnCharacter: 'BodyPartImageNames',
50
+ parryDice: undefined,
51
+ attacks: [
52
+ {
53
+ actionIcon: 'AssetNames.characterActionBowAttack',
54
+ attackDices: ['DiceType.d6', 'DiceType.d6'],
55
+ range: 'WeaponRange.ranged',
56
+ requiresSetup: false,
57
+ unparryable: true,
58
+ lowersQuantity: true,
59
+ projectileType: 'ProjectileType.arrow',
60
+ sounds: { hit: 'AssetGroups.battleSoundArrowHit', pre: 'AssetGroups.battleSoundArrowShot' }
61
+ }
62
+ ]
63
+ }
64
+ }
65
+ ];
66
+ `;
67
+ let complexArrayReplaceExpected = `export const Groups: any[] = [
68
+ {
69
+ type: 'bow',
70
+ material: 'WoodenItemMaterial',
71
+ maxQuantity: 10,
72
+ mainHand: undefined,
73
+ offHand: undefined,
74
+ bothHands: {
75
+ imageOnCharacter: 'BodyPartImageNames',
76
+ parryDice: undefined,
77
+ attacks: [
78
+ {
79
+ actionIcon: 'AssetNames.characterActionBowAttack',
80
+ attackDices: [DiceType.d6, DiceType.d6],
81
+ range: 'WeaponRange.ranged',
82
+ requiresSetup: false,
83
+ unparryable: true,
84
+ lowersQuantity: true,
85
+ projectileType: 'ProjectileType.arrow',
86
+ sounds: { hit: 'AssetGroups.battleSoundArrowHit', pre: 'AssetGroups.battleSoundArrowShot' }
87
+ }
88
+ ]
89
+ }
90
+ }
91
+ ];
92
+ `;
93
+ exports.Const = {
94
+ type: 'bow',
95
+ material: 'WoodenItemMaterial',
96
+ maxQuantity: 10,
97
+ mainHand: undefined,
98
+ offHand: undefined,
99
+ bothHands: {
100
+ imageOnCharacter: 'BodyPartImageNames',
101
+ parryDice: undefined,
102
+ attacks: [
103
+ {
104
+ actionIcon: 'AssetNames.characterActionBowAttack',
105
+ attackDices: ['DiceType.d6', 'DiceType.d6'],
106
+ range: 'WeaponRange.ranged',
107
+ requiresSetup: false,
108
+ unparryable: true,
109
+ lowersQuantity: true,
110
+ projectileType: 'ProjectileType.arrow',
111
+ sounds: {
112
+ hit: 'AssetGroups.battleSoundArrowHit',
113
+ pre: 'AssetGroups.battleSoundArrowShot'
114
+ }
115
+ }
116
+ ]
117
+ }
118
+ };
119
+ let noTypeExpected = `export const ConstSample = { type: 'item' };
120
+ `;
121
+ let basicConstExpected = `export const ConstSample: string = 'basic';
122
+ `;
123
+ let complexConstExpected = `export const ConstSample: any = {
124
+ type: 'bow',
125
+ material: 'WoodenItemMaterial',
126
+ maxQuantity: 10,
127
+ mainHand: undefined,
128
+ offHand: undefined,
129
+ bothHands: {
130
+ imageOnCharacter: 'BodyPartImageNames',
131
+ parryDice: undefined,
132
+ attacks: [
133
+ {
134
+ actionIcon: 'AssetNames.characterActionBowAttack',
135
+ attackDices: ['DiceType.d6', 'DiceType.d6'],
136
+ range: 'WeaponRange.ranged',
137
+ requiresSetup: false,
138
+ unparryable: true,
139
+ lowersQuantity: true,
140
+ projectileType: 'ProjectileType.arrow',
141
+ sounds: { hit: 'AssetGroups.battleSoundArrowHit', pre: 'AssetGroups.battleSoundArrowShot' }
142
+ }
143
+ ]
144
+ }
145
+ };
146
+ `;
147
+ let complexConstReplaceExpected = `export const ConstSample: any = {
148
+ type: 'bow',
149
+ material: 'WoodenItemMaterial',
150
+ maxQuantity: 10,
151
+ mainHand: undefined,
152
+ offHand: undefined,
153
+ bothHands: {
154
+ imageOnCharacter: 'BodyPartImageNames',
155
+ parryDice: undefined,
156
+ attacks: [
157
+ {
158
+ actionIcon: 'AssetNames.characterActionBowAttack',
159
+ attackDices: ['DiceType.d6', 'DiceType.d6'],
160
+ range: WeaponRange,
161
+ requiresSetup: false,
162
+ unparryable: true,
163
+ lowersQuantity: true,
164
+ projectileType: 'ProjectileType.arrow',
165
+ sounds: { hit: 'AssetGroups.battleSoundArrowHit', pre: 'AssetGroups.battleSoundArrowShot' }
166
+ }
167
+ ]
168
+ }
169
+ };
170
+ `;
171
+ (0, vitest_1.describe)('Output Helper: Array Output', () => {
172
+ (0, vitest_1.test)('should handle empty array', async () => {
173
+ let output = await output_helper_1.OutputHelper.generateArrayOutput({ variableName: 'Groups', variableType: 'any[]', variable: [] });
174
+ (0, vitest_1.expect)(output).toStrictEqual(emptyArrayExpected);
175
+ });
176
+ (0, vitest_1.test)('should handle basic array', async () => {
177
+ let output = await output_helper_1.OutputHelper.generateArrayOutput({
178
+ variableName: 'Groups',
179
+ variableType: 'any[]',
180
+ variable: [
181
+ { name: 'test1', source: './src/definitions-sample/images/test1.png' },
182
+ { name: 'test2', source: './src/definitions-sample/images/test2.png', pixelPerfectInteraction: true }
183
+ ]
184
+ });
185
+ (0, vitest_1.expect)(output).toStrictEqual(basicArrayExpected);
186
+ });
187
+ (0, vitest_1.test)('should handle complex array', async () => {
188
+ let output = await output_helper_1.OutputHelper.generateArrayOutput({
189
+ variableName: 'Groups',
190
+ variableType: 'any[]',
191
+ variable: [complexObject]
192
+ });
193
+ (0, vitest_1.expect)(output).toStrictEqual(complexArrayExpected);
194
+ });
195
+ (0, vitest_1.test)('should handle replacing complex array', async () => {
196
+ let output = await output_helper_1.OutputHelper.generateArrayOutput({
197
+ variableName: 'Groups',
198
+ variableType: 'any[]',
199
+ variable: [complexObject],
200
+ replaceMap: [{ target: `"DiceType.d6"`, replace: 'DiceType.d6' }]
201
+ });
202
+ (0, vitest_1.expect)(output).toStrictEqual(complexArrayReplaceExpected);
203
+ });
204
+ });
205
+ (0, vitest_1.describe)('Output Helper: Const Output', () => {
206
+ (0, vitest_1.test)('should handle no type', async () => {
207
+ let output = await output_helper_1.OutputHelper.generateOutput({ variableName: 'ConstSample', variable: { type: 'item' } });
208
+ (0, vitest_1.expect)(output).toStrictEqual(noTypeExpected);
209
+ });
210
+ (0, vitest_1.test)('should handle basic value', async () => {
211
+ let output = await output_helper_1.OutputHelper.generateOutput({ variableName: 'ConstSample', variableType: 'string', variable: 'basic' });
212
+ (0, vitest_1.expect)(output).toStrictEqual(basicConstExpected);
213
+ });
214
+ (0, vitest_1.test)('should handle complex object', async () => {
215
+ let output = await output_helper_1.OutputHelper.generateOutput({ variableName: 'ConstSample', variableType: 'any', variable: complexObject });
216
+ (0, vitest_1.expect)(output).toStrictEqual(complexConstExpected);
217
+ });
218
+ (0, vitest_1.test)('should handle replacing complex object', async () => {
219
+ let output = await output_helper_1.OutputHelper.generateOutput({
220
+ variableName: 'ConstSample',
221
+ variableType: 'any',
222
+ variable: complexObject,
223
+ replaceMap: [{ target: `"WeaponRange.ranged"`, replace: 'WeaponRange' }]
224
+ });
225
+ (0, vitest_1.expect)(output).toStrictEqual(complexConstReplaceExpected);
226
+ });
227
+ });
228
+ (0, vitest_1.describe)('Output Helper: stringify', () => {
229
+ (0, vitest_1.test)('should not lose properties with undefined or null value', async () => {
230
+ let output = await output_helper_1.OutputHelper['stringify']({
231
+ a: undefined,
232
+ // eslint-disable-next-line no-null/no-null
233
+ b: null
234
+ });
235
+ (0, vitest_1.expect)(output).toStrictEqual('{"a":undefined,"b":undefined}');
236
+ });
237
+ });
238
+ (0, vitest_1.describe)('Output Helper: convertToRelativePath', () => {
239
+ (0, vitest_1.test)('should convert to relative path', async () => {
240
+ (0, mocks_1.resetContext)();
241
+ context_1.Context.outputPath = 'D:/Projects/Game-Dev/Starfighter/Starfighter-Definitions-Generator/src/.asset-build';
242
+ context_1.Context.config.projectRoot = 'D:/Projects/Game-Dev/Starfighter/Starfighter-Definitions-Generator/';
243
+ let original = '.src/definitions-sample/images/nested/test2.png';
244
+ let desired = '../../../definitions-sample/images/nested/test2.png';
245
+ let filePath = '/0-global-definitions/assets/images.ts';
246
+ let output = output_helper_1.OutputHelper['convertToRelativePath'](filePath, original);
247
+ (0, vitest_1.expect)(output).toStrictEqual(desired);
248
+ });
249
+ });
250
+ //# sourceMappingURL=output-helper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-helper.test.js","sourceRoot":"","sources":["../../../src/helpers/output-helper/output-helper.test.ts"],"names":[],"mappings":"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"}