@breadstone-tools/localizator-core 0.0.31 → 0.0.32

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 (105) hide show
  1. package/_tests/AngularHTMLParser.Test.d.ts +1 -0
  2. package/_tests/AngularHTMLParser.Test.d.ts.map +1 -0
  3. package/_tests/AngularHTMLParser.Test.js +99 -0
  4. package/_tests/AngularHTMLParser.Test.js.map +1 -0
  5. package/_tests/AngularPreset.Test.d.ts +1 -0
  6. package/_tests/AngularPreset.Test.d.ts.map +1 -0
  7. package/_tests/AngularPreset.Test.js +14 -0
  8. package/_tests/AngularPreset.Test.js.map +1 -0
  9. package/_tests/DuplicateKeysTask.Test.d.ts +1 -0
  10. package/_tests/DuplicateKeysTask.Test.d.ts.map +1 -0
  11. package/_tests/DuplicateKeysTask.Test.js +97 -0
  12. package/_tests/DuplicateKeysTask.Test.js.map +1 -0
  13. package/_tests/EmptyValuesTask.Test.d.ts +1 -0
  14. package/_tests/EmptyValuesTask.Test.d.ts.map +1 -0
  15. package/_tests/EmptyValuesTask.Test.js +87 -0
  16. package/_tests/EmptyValuesTask.Test.js.map +1 -0
  17. package/_tests/JSXParser.Test.d.ts +1 -0
  18. package/_tests/JSXParser.Test.d.ts.map +1 -0
  19. package/_tests/JSXParser.Test.js +94 -0
  20. package/_tests/JSXParser.Test.js.map +1 -0
  21. package/_tests/JavaScriptParser.Test.d.ts +1 -0
  22. package/_tests/JavaScriptParser.Test.d.ts.map +1 -0
  23. package/_tests/JavaScriptParser.Test.js +231 -0
  24. package/_tests/JavaScriptParser.Test.js.map +1 -0
  25. package/_tests/JsonFormatter.Test.d.ts +1 -0
  26. package/_tests/JsonFormatter.Test.d.ts.map +1 -0
  27. package/_tests/JsonFormatter.Test.js +36 -0
  28. package/_tests/JsonFormatter.Test.js.map +1 -0
  29. package/_tests/JsonResourceSerializer.Test.d.ts +1 -0
  30. package/_tests/JsonResourceSerializer.Test.d.ts.map +1 -0
  31. package/_tests/JsonResourceSerializer.Test.js +105 -0
  32. package/_tests/JsonResourceSerializer.Test.js.map +1 -0
  33. package/_tests/JsonResourceTransformerAdapter.Test.d.ts +1 -0
  34. package/_tests/JsonResourceTransformerAdapter.Test.d.ts.map +1 -0
  35. package/_tests/JsonResourceTransformerAdapter.Test.js +126 -0
  36. package/_tests/JsonResourceTransformerAdapter.Test.js.map +1 -0
  37. package/_tests/KeyConsistencyTask.Test.d.ts +1 -0
  38. package/_tests/KeyConsistencyTask.Test.d.ts.map +1 -0
  39. package/_tests/KeyConsistencyTask.Test.js +160 -0
  40. package/_tests/KeyConsistencyTask.Test.js.map +1 -0
  41. package/_tests/KeyGenerator.Test.d.ts +1 -0
  42. package/_tests/KeyGenerator.Test.d.ts.map +1 -0
  43. package/_tests/KeyGenerator.Test.js +70 -0
  44. package/_tests/KeyGenerator.Test.js.map +1 -0
  45. package/_tests/LitPreset.Test.d.ts +1 -0
  46. package/_tests/LitPreset.Test.d.ts.map +1 -0
  47. package/_tests/LitPreset.Test.js +16 -0
  48. package/_tests/LitPreset.Test.js.map +1 -0
  49. package/_tests/LocalizationProcessor.Test.d.ts +1 -0
  50. package/_tests/LocalizationProcessor.Test.d.ts.map +1 -0
  51. package/_tests/LocalizationProcessor.Test.js +121 -0
  52. package/_tests/LocalizationProcessor.Test.js.map +1 -0
  53. package/_tests/MissingTranslationsTask.Test.d.ts +1 -0
  54. package/_tests/MissingTranslationsTask.Test.d.ts.map +1 -0
  55. package/_tests/MissingTranslationsTask.Test.js +132 -0
  56. package/_tests/MissingTranslationsTask.Test.js.map +1 -0
  57. package/_tests/ReactPreset.Test.d.ts +1 -0
  58. package/_tests/ReactPreset.Test.d.ts.map +1 -0
  59. package/_tests/ReactPreset.Test.js +16 -0
  60. package/_tests/ReactPreset.Test.js.map +1 -0
  61. package/_tests/ResourceProcessor.Test.d.ts +1 -0
  62. package/_tests/ResourceProcessor.Test.d.ts.map +1 -0
  63. package/_tests/ResourceProcessor.Test.js +31 -0
  64. package/_tests/ResourceProcessor.Test.js.map +1 -0
  65. package/_tests/ResxFormatter.Test.d.ts +1 -0
  66. package/_tests/ResxFormatter.Test.d.ts.map +1 -0
  67. package/_tests/ResxFormatter.Test.js +46 -0
  68. package/_tests/ResxFormatter.Test.js.map +1 -0
  69. package/_tests/ResxResourceSerializer.Test.d.ts +1 -0
  70. package/_tests/ResxResourceSerializer.Test.d.ts.map +1 -0
  71. package/_tests/ResxResourceSerializer.Test.js +119 -0
  72. package/_tests/ResxResourceSerializer.Test.js.map +1 -0
  73. package/_tests/ResxResourceTransformerAdapter.Test.d.ts +1 -0
  74. package/_tests/ResxResourceTransformerAdapter.Test.d.ts.map +1 -0
  75. package/_tests/ResxResourceTransformerAdapter.Test.js +118 -0
  76. package/_tests/ResxResourceTransformerAdapter.Test.js.map +1 -0
  77. package/_tests/StencilPreset.Test.d.ts +1 -0
  78. package/_tests/StencilPreset.Test.d.ts.map +1 -0
  79. package/_tests/StencilPreset.Test.js +14 -0
  80. package/_tests/StencilPreset.Test.js.map +1 -0
  81. package/_tests/TSXParser.Test.d.ts +1 -0
  82. package/_tests/TSXParser.Test.d.ts.map +1 -0
  83. package/_tests/TSXParser.Test.js +76 -0
  84. package/_tests/TSXParser.Test.js.map +1 -0
  85. package/_tests/TypeScriptParser.Test.d.ts +1 -0
  86. package/_tests/TypeScriptParser.Test.d.ts.map +1 -0
  87. package/_tests/TypeScriptParser.Test.js +277 -0
  88. package/_tests/TypeScriptParser.Test.js.map +1 -0
  89. package/_tests/TypescriptResourceSerializer.Test.d.ts +1 -0
  90. package/_tests/TypescriptResourceSerializer.Test.d.ts.map +1 -0
  91. package/_tests/TypescriptResourceSerializer.Test.js +143 -0
  92. package/_tests/TypescriptResourceSerializer.Test.js.map +1 -0
  93. package/_tests/UnusedKeysTask.Test.d.ts +1 -0
  94. package/_tests/UnusedKeysTask.Test.d.ts.map +1 -0
  95. package/_tests/UnusedKeysTask.Test.js +93 -0
  96. package/_tests/UnusedKeysTask.Test.js.map +1 -0
  97. package/_tests/VueParser.Test.d.ts +1 -0
  98. package/_tests/VueParser.Test.d.ts.map +1 -0
  99. package/_tests/VueParser.Test.js +164 -0
  100. package/_tests/VueParser.Test.js.map +1 -0
  101. package/_tests/VuePreset.Test.d.ts +1 -0
  102. package/_tests/VuePreset.Test.d.ts.map +1 -0
  103. package/_tests/VuePreset.Test.js +15 -0
  104. package/_tests/VuePreset.Test.js.map +1 -0
  105. package/package.json +2 -2
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ // // #region Imports
3
+ // import { describe, it, expect, vi } from 'vitest';
4
+ // import { JavaScriptParser } from '../src/Parsers/JavaScriptParser.js';
5
+ // // #endregion
6
+ // describe('JavaScriptParser', () => {
7
+ // it('should parse simple translations', () => {
8
+ // const parser = new JavaScriptParser(console);
9
+ // const content = 't("Simple string"); translate(\'Another string\');';
10
+ // const result = parser.parse(content);
11
+ // expect(result).toEqual([
12
+ // {
13
+ // columnNumber: 0,
14
+ // context: 't("Simple string"); translate(\'Another string\');',
15
+ // lineNumber: 1,
16
+ // match: {
17
+ // function: 't',
18
+ // quote: '"',
19
+ // value: 'Simple string'
20
+ // }
21
+ // },
22
+ // {
23
+ // columnNumber: 20,
24
+ // context: 't("Simple string"); translate(\'Another string\');',
25
+ // lineNumber: 1,
26
+ // match: {
27
+ // function: 'translate',
28
+ // quote: "'",
29
+ // value: 'Another string'
30
+ // }
31
+ // }
32
+ // ]);
33
+ // });
34
+ // it('should parse template literals', () => {
35
+ // const parser = new JavaScriptParser(console);
36
+ // const content = 't(`Template literal string`);';
37
+ // const result = parser.parse(content);
38
+ // expect(result).toEqual([{
39
+ // columnNumber: 0,
40
+ // context: 't(`Template literal string`);',
41
+ // lineNumber: 1,
42
+ // match: {
43
+ // function: 't',
44
+ // quote: '`',
45
+ // value: 'Template literal string'
46
+ // }
47
+ // }]);
48
+ // });
49
+ // it('should normalize and parse multiline strings', () => {
50
+ // const parser = new JavaScriptParser(console);
51
+ // const content = 't("This is a multiline string");';
52
+ // const result = parser.parse(content);
53
+ // expect(result).toEqual([{
54
+ // columnNumber: 0,
55
+ // context: 't("This is a multiline string");',
56
+ // lineNumber: 1,
57
+ // match: {
58
+ // function: 't',
59
+ // quote: '"',
60
+ // value: 'This is a multiline string'
61
+ // }
62
+ // }]);
63
+ // });
64
+ // it('should parse translations with context', () => {
65
+ // const parser = new JavaScriptParser(console);
66
+ // const content = 't("String with context", { context: "example" });';
67
+ // const result = parser.parse(content);
68
+ // expect(result).toEqual([{
69
+ // columnNumber: 0,
70
+ // context: 't("String with context", { context: "example" });',
71
+ // lineNumber: 1,
72
+ // match: {
73
+ // context: '{ context: "example" }',
74
+ // function: 't',
75
+ // quote: '"',
76
+ // value: 'String with context'
77
+ // }
78
+ // }]);
79
+ // });
80
+ // it('should handle custom markers as strings', () => {
81
+ // const parser = new JavaScriptParser(console, { marker: 'customTranslate' });
82
+ // const content = 'customTranslate("Custom string");';
83
+ // const result = parser.parse(content);
84
+ // expect(result).toEqual([{
85
+ // columnNumber: 0,
86
+ // context: 'customTranslate("Custom string");',
87
+ // lineNumber: 1,
88
+ // match: {
89
+ // function: 'customTranslate',
90
+ // quote: '"',
91
+ // value: 'Custom string'
92
+ // }
93
+ // }]);
94
+ // });
95
+ // it('should handle custom markers as regex', () => {
96
+ // const parser = new JavaScriptParser(console, { marker: /custom|translate/ });
97
+ // const content = `
98
+ // custom("Custom string");
99
+ // translate("Translated string");
100
+ // `;
101
+ // const result = parser.parse(content);
102
+ // expect(result).toEqual([{
103
+ // columnNumber: 12,
104
+ // context: 'custom("Custom string");',
105
+ // lineNumber: 2,
106
+ // match: {
107
+ // function: 'custom',
108
+ // quote: '"',
109
+ // value: 'Custom string'
110
+ // }
111
+ // }, {
112
+ // columnNumber: 12,
113
+ // context: 'translate("Translated string");',
114
+ // lineNumber: 3,
115
+ // match: {
116
+ // function: 'translate',
117
+ // quote: '"',
118
+ // value: 'Translated string'
119
+ // }
120
+ // }]);
121
+ // });
122
+ // it('should handle escaped quotes in strings', () => {
123
+ // const parser = new JavaScriptParser(console);
124
+ // const content = 't("Escaped \\"quote\\""); translate(\'Escaped \\\'quote\\\'\');';
125
+ // const result = parser.parse(content);
126
+ // expect(result).toEqual([{
127
+ // columnNumber: 0,
128
+ // context: 't("Escaped \\"quote\\""); translate(\'Escaped \\\'quote\\\'\');',
129
+ // lineNumber: 1,
130
+ // match: {
131
+ // function: 't',
132
+ // quote: '"',
133
+ // value: 'Escaped "quote"'
134
+ // }
135
+ // }, {
136
+ // columnNumber: 24,
137
+ // context: 't("Escaped \\"quote\\""); translate(\'Escaped \\\'quote\\\'\');',
138
+ // lineNumber: 1,
139
+ // match: {
140
+ // function: 'translate',
141
+ // quote: "'",
142
+ // value: 'Escaped \'quote\''
143
+ // }
144
+ // }]);
145
+ // });
146
+ // it('should handle null content gracefully', () => {
147
+ // const parser = new JavaScriptParser(console);
148
+ // const result = parser.parse(null as unknown as string);
149
+ // expect(result).toEqual([]);
150
+ // });
151
+ // it('should handle undefined content gracefully', () => {
152
+ // const parser = new JavaScriptParser(console);
153
+ // const result = parser.parse(undefined as unknown as string);
154
+ // expect(result).toEqual([]);
155
+ // });
156
+ // it('should handle empty content gracefully', () => {
157
+ // const parser = new JavaScriptParser(console);
158
+ // const result = parser.parse('');
159
+ // expect(result).toEqual([]);
160
+ // });
161
+ // it('should log debug messages when debug is enabled', () => {
162
+ // const consoleSpy = vi.spyOn(console, 'debug').mockImplementation(() => { });
163
+ // const parser = new JavaScriptParser(console, { debug: true });
164
+ // const content = 't("Debug string");';
165
+ // parser.parse(content);
166
+ // expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('[BaseParser]:'));
167
+ // consoleSpy.mockRestore();
168
+ // });
169
+ // it('should not match invalid function calls', () => {
170
+ // const parser = new JavaScriptParser(console);
171
+ // const content = 't(); t("Valid string"); translate();';
172
+ // const result = parser.parse(content);
173
+ // expect(result).toEqual([
174
+ // {
175
+ // columnNumber: 5,
176
+ // context: 't(); t("Valid string"); translate();',
177
+ // lineNumber: 1,
178
+ // match: {
179
+ // function: 't',
180
+ // quote: '"',
181
+ // value: 'Valid string'
182
+ // }
183
+ // }
184
+ // ]);
185
+ // });
186
+ // it('should trim results during post-processing', () => {
187
+ // const parser = new JavaScriptParser(console);
188
+ // const content = 't(" String with spaces ");';
189
+ // const result = parser.parse(content);
190
+ // expect(result).toEqual([
191
+ // {
192
+ // columnNumber: 0,
193
+ // context: 't(" String with spaces ");',
194
+ // lineNumber: 1,
195
+ // match: {
196
+ // function: 't',
197
+ // quote: '"',
198
+ // value: 'String with spaces'
199
+ // }
200
+ // }
201
+ // ]);
202
+ // });
203
+ // it('should parse multiple translations in one line', () => {
204
+ // const parser = new JavaScriptParser(console);
205
+ // const content = 't("First string"); t("Second string");';
206
+ // const result = parser.parse(content);
207
+ // expect(result).toEqual([
208
+ // {
209
+ // columnNumber: 0,
210
+ // context: 't("First string"); t("Second string");',
211
+ // lineNumber: 1,
212
+ // match: {
213
+ // function: 't',
214
+ // quote: '"',
215
+ // value: 'First string'
216
+ // }
217
+ // },
218
+ // {
219
+ // columnNumber: 19,
220
+ // context: 't("First string"); t("Second string");',
221
+ // lineNumber: 1,
222
+ // match: {
223
+ // function: 't',
224
+ // quote: '"',
225
+ // value: 'Second string'
226
+ // }
227
+ // }
228
+ // ]);
229
+ // });
230
+ // });
231
+ //# sourceMappingURL=JavaScriptParser.Test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JavaScriptParser.Test.js","sourceRoot":"","sources":["../../src/_tests/JavaScriptParser.Test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=JsonFormatter.Test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonFormatter.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/JsonFormatter.Test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ // // #region Imports
3
+ // import { JsonFormatter } from '../src/Formatters/JSONFormatter';
4
+ // import { describe, it, expect } from 'vitest';
5
+ // // #endregion
6
+ // describe('JsonFormatter', () => {
7
+ // it('should format key-value pairs into JSON with default indentation', () => {
8
+ // const formatter = new JsonFormatter();
9
+ // const input = {
10
+ // key1: 'value1',
11
+ // key2: 'value2'
12
+ // };
13
+ // const result = formatter.format(input);
14
+ // expect(result.content).toEqual(
15
+ // JSON.stringify(input, null, 2) // Default indentation is 2
16
+ // );
17
+ // });
18
+ // it('should format key-value pairs into JSON with custom indentation', () => {
19
+ // const formatter = new JsonFormatter({ indent: 4 });
20
+ // const input = {
21
+ // key1: 'value1',
22
+ // key2: 'value2'
23
+ // };
24
+ // const result = formatter.format(input);
25
+ // expect(result.content).toEqual(
26
+ // JSON.stringify(input, null, 4) // Custom indentation is 4
27
+ // );
28
+ // });
29
+ // it('should handle empty input gracefully', () => {
30
+ // const formatter = new JsonFormatter();
31
+ // const input = {};
32
+ // const result = formatter.format(input);
33
+ // expect(result.content).toEqual('{}'); // Empty JSON object
34
+ // });
35
+ // });
36
+ //# sourceMappingURL=JsonFormatter.Test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonFormatter.Test.js","sourceRoot":"","sources":["../../src/_tests/JsonFormatter.Test.ts"],"names":[],"mappings":";AAAA,qBAAqB;AAErB,mEAAmE;AACnE,iDAAiD;AAEjD,gBAAgB;AAEhB,oCAAoC;AACpC,qFAAqF;AACrF,iDAAiD;AAEjD,0BAA0B;AAC1B,8BAA8B;AAC9B,6BAA6B;AAC7B,aAAa;AAEb,kDAAkD;AAElD,0CAA0C;AAC1C,yEAAyE;AACzE,aAAa;AACb,UAAU;AAEV,oFAAoF;AACpF,8DAA8D;AAE9D,0BAA0B;AAC1B,8BAA8B;AAC9B,6BAA6B;AAC7B,aAAa;AAEb,kDAAkD;AAElD,0CAA0C;AAC1C,wEAAwE;AACxE,aAAa;AACb,UAAU;AAEV,yDAAyD;AACzD,iDAAiD;AAEjD,4BAA4B;AAC5B,kDAAkD;AAElD,qEAAqE;AACrE,UAAU;AACV,MAAM"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=JsonResourceSerializer.Test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonResourceSerializer.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/JsonResourceSerializer.Test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ // // #region Imports
3
+ // import { describe, it, expect } from 'vitest';
4
+ // import { JsonResourceSerializer } from '../src/Resources/Transformers/Serializers/JsonResourceSerializer';
5
+ // import { JsonResourceInfo } from '../src/Resources/Models/JsonResourceInfo';
6
+ // import type { ITransformModel } from '../src/Resources/Models/Interfaces/ITransformModel';
7
+ // // #endregion
8
+ // describe('JsonResourceSerializer', () => {
9
+ // const serializer = new JsonResourceSerializer();
10
+ // it('should serialize a flat array of transform models into a flat JSON object', () => {
11
+ // const models: Array<ITransformModel> = [
12
+ // {
13
+ // key: 'key1',
14
+ // value: 'value1',
15
+ // comment: ''
16
+ // },
17
+ // {
18
+ // key: 'key2',
19
+ // value: 'value2',
20
+ // comment: ''
21
+ // }
22
+ // ];
23
+ // const result = serializer.serialize(models);
24
+ // expect(result).toEqual(new JsonResourceInfo({
25
+ // locale: 'en',
26
+ // data: {
27
+ // key1: 'value1',
28
+ // key2: 'value2'
29
+ // }
30
+ // }));
31
+ // });
32
+ // it('should serialize a nested array of transform models into a nested JSON object', () => {
33
+ // const models: Array<ITransformModel> = [
34
+ // {
35
+ // key: 'key1.subKey1',
36
+ // value: 'value1',
37
+ // comment: ''
38
+ // },
39
+ // {
40
+ // key: 'key1.subKey2',
41
+ // value: 'value2',
42
+ // comment: ''
43
+ // },
44
+ // {
45
+ // key: 'key2',
46
+ // value: 'value3',
47
+ // comment: ''
48
+ // }
49
+ // ];
50
+ // const result = serializer.serialize(models);
51
+ // expect(result).toEqual(new JsonResourceInfo({
52
+ // locale: 'en',
53
+ // data: {
54
+ // key1: {
55
+ // subKey1: 'value1',
56
+ // subKey2: 'value2'
57
+ // },
58
+ // key2: 'value3'
59
+ // }
60
+ // }));
61
+ // });
62
+ // it('should handle an empty array of transform models', () => {
63
+ // const models: Array<ITransformModel> = [];
64
+ // const result = serializer.serialize(models);
65
+ // expect(result).toEqual(new JsonResourceInfo({
66
+ // locale: 'en',
67
+ // data: {}
68
+ // }));
69
+ // });
70
+ // it('should handle transform models with various value types', () => {
71
+ // const models: Array<ITransformModel> = [
72
+ // {
73
+ // key: 'number.key',
74
+ // value: '123',
75
+ // comment: ''
76
+ // },
77
+ // {
78
+ // key: 'boolean.key',
79
+ // value: 'true',
80
+ // comment: ''
81
+ // },
82
+ // {
83
+ // key: 'null.key',
84
+ // value: 'null',
85
+ // comment: ''
86
+ // },
87
+ // {
88
+ // key: 'string.key',
89
+ // value: 'value',
90
+ // comment: ''
91
+ // }
92
+ // ];
93
+ // const result = serializer.serialize(models);
94
+ // expect(result).toEqual(new JsonResourceInfo({
95
+ // locale: 'en',
96
+ // data: {
97
+ // number: { key: '123' },
98
+ // boolean: { key: 'true' },
99
+ // null: { key: 'null' },
100
+ // string: { key: 'value' }
101
+ // }
102
+ // }));
103
+ // });
104
+ // });
105
+ //# sourceMappingURL=JsonResourceSerializer.Test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonResourceSerializer.Test.js","sourceRoot":"","sources":["../../src/_tests/JsonResourceSerializer.Test.ts"],"names":[],"mappings":";AAAA,qBAAqB;AAErB,iDAAiD;AACjD,6GAA6G;AAC7G,+EAA+E;AAC/E,6FAA6F;AAE7F,gBAAgB;AAEhB,6CAA6C;AAC7C,uDAAuD;AAEvD,8FAA8F;AAC9F,mDAAmD;AACnD,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,8BAA8B;AAC9B,gBAAgB;AAChB,aAAa;AAEb,uDAAuD;AAEvD,wDAAwD;AACxD,4BAA4B;AAC5B,sBAAsB;AACtB,kCAAkC;AAClC,iCAAiC;AACjC,gBAAgB;AAChB,eAAe;AACf,UAAU;AAEV,kGAAkG;AAClG,mDAAmD;AACnD,gBAAgB;AAChB,uCAAuC;AACvC,mCAAmC;AACnC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,uCAAuC;AACvC,mCAAmC;AACnC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,8BAA8B;AAC9B,gBAAgB;AAChB,aAAa;AAEb,uDAAuD;AAEvD,wDAAwD;AACxD,4BAA4B;AAC5B,sBAAsB;AACtB,0BAA0B;AAC1B,yCAAyC;AACzC,wCAAwC;AACxC,qBAAqB;AACrB,iCAAiC;AACjC,gBAAgB;AAChB,eAAe;AACf,UAAU;AAEV,qEAAqE;AACrE,qDAAqD;AAErD,uDAAuD;AAEvD,wDAAwD;AACxD,4BAA4B;AAC5B,uBAAuB;AACvB,eAAe;AACf,UAAU;AAEV,4EAA4E;AAC5E,mDAAmD;AACnD,gBAAgB;AAChB,qCAAqC;AACrC,gCAAgC;AAChC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,sCAAsC;AACtC,iCAAiC;AACjC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,mCAAmC;AACnC,iCAAiC;AACjC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,qCAAqC;AACrC,kCAAkC;AAClC,8BAA8B;AAC9B,gBAAgB;AAChB,aAAa;AAEb,uDAAuD;AAEvD,wDAAwD;AACxD,4BAA4B;AAC5B,sBAAsB;AACtB,0CAA0C;AAC1C,4CAA4C;AAC5C,yCAAyC;AACzC,2CAA2C;AAC3C,gBAAgB;AAChB,eAAe;AACf,UAAU;AACV,MAAM"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=JsonResourceTransformerAdapter.Test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonResourceTransformerAdapter.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/JsonResourceTransformerAdapter.Test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ // // #region Imports
3
+ // import { describe, it, expect } from 'vitest';
4
+ // import { JsonResourceTransformerAdapter } from '../src/Resources/Transformers/Adapters/JsonResourceTransformerAdapter';
5
+ // import { JsonResourceInfo } from '../src/Resources/Models/JsonResourceInfo';
6
+ // import type { ITransformModel } from '../src/Resources/Models/Interfaces/ITransformModel';
7
+ // // #endregion
8
+ // describe('JsonResourceTransformer', () => {
9
+ // it('should transform a flat JSON object into transform models', () => {
10
+ // const resource = new JsonResourceInfo({
11
+ // data: {
12
+ // key1: 'value1',
13
+ // key2: 'value2'
14
+ // }
15
+ // });
16
+ // const result: Array<ITransformModel> = new JsonResourceTransformerAdapter()
17
+ // .transform(resource);
18
+ // expect(result).toEqual([
19
+ // {
20
+ // key: 'key1',
21
+ // value: 'value1',
22
+ // comment: ''
23
+ // },
24
+ // {
25
+ // key: 'key2',
26
+ // value: 'value2',
27
+ // comment: ''
28
+ // }
29
+ // ]);
30
+ // });
31
+ // it('should transform a nested JSON object into transform models with dotted keys', () => {
32
+ // const resource = new JsonResourceInfo({
33
+ // data: {
34
+ // key1: {
35
+ // subKey1: 'value1',
36
+ // subKey2: 'value2'
37
+ // },
38
+ // key2: 'value3'
39
+ // }
40
+ // });
41
+ // const result: Array<ITransformModel> = new JsonResourceTransformerAdapter()
42
+ // .transform(resource);
43
+ // expect(result).toEqual([
44
+ // {
45
+ // key: 'key1.subKey1',
46
+ // value: 'value1',
47
+ // comment: ''
48
+ // },
49
+ // {
50
+ // key: 'key1.subKey2',
51
+ // value: 'value2',
52
+ // comment: ''
53
+ // },
54
+ // {
55
+ // key: 'key2',
56
+ // value: 'value3',
57
+ // comment: ''
58
+ // }
59
+ // ]);
60
+ // });
61
+ // it('should handle an empty JSON object', () => {
62
+ // const resource = new JsonResourceInfo({
63
+ // data: {}
64
+ // });
65
+ // const result: Array<ITransformModel> = new JsonResourceTransformerAdapter()
66
+ // .transform(resource);
67
+ // expect(result).toEqual([]);
68
+ // });
69
+ // it('should handle JSON objects with various value types', () => {
70
+ // const resource = new JsonResourceInfo({
71
+ // data: {
72
+ // key1: 123,
73
+ // key2: true,
74
+ // key3: null,
75
+ // key4: 'string'
76
+ // }
77
+ // });
78
+ // const result: Array<ITransformModel> = new JsonResourceTransformerAdapter()
79
+ // .transform(resource);
80
+ // expect(result).toEqual([
81
+ // {
82
+ // key: 'key1',
83
+ // value: '123',
84
+ // comment: ''
85
+ // },
86
+ // {
87
+ // key: 'key2',
88
+ // value: 'true',
89
+ // comment: ''
90
+ // },
91
+ // {
92
+ // key: 'key3',
93
+ // value: 'null',
94
+ // comment: ''
95
+ // },
96
+ // {
97
+ // key: 'key4',
98
+ // value: 'string',
99
+ // comment: ''
100
+ // }
101
+ // ]);
102
+ // });
103
+ // it('should handle deeply nested JSON objects', () => {
104
+ // const resource = new JsonResourceInfo({
105
+ // data: {
106
+ // level1: {
107
+ // level2: {
108
+ // level3: {
109
+ // key: 'deepValue'
110
+ // }
111
+ // }
112
+ // }
113
+ // }
114
+ // });
115
+ // const result: Array<ITransformModel> = new JsonResourceTransformerAdapter()
116
+ // .transform(resource);
117
+ // expect(result).toEqual([
118
+ // {
119
+ // key: 'level1.level2.level3.key',
120
+ // value: 'deepValue',
121
+ // comment: ''
122
+ // }
123
+ // ]);
124
+ // });
125
+ // });
126
+ //# sourceMappingURL=JsonResourceTransformerAdapter.Test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonResourceTransformerAdapter.Test.js","sourceRoot":"","sources":["../../src/_tests/JsonResourceTransformerAdapter.Test.ts"],"names":[],"mappings":";AAAA,qBAAqB;AAErB,iDAAiD;AACjD,0HAA0H;AAC1H,+EAA+E;AAC/E,6FAA6F;AAE7F,gBAAgB;AAEhB,8CAA8C;AAC9C,8EAA8E;AAC9E,kDAAkD;AAClD,sBAAsB;AACtB,kCAAkC;AAClC,iCAAiC;AACjC,gBAAgB;AAChB,cAAc;AACd,sFAAsF;AACtF,oCAAoC;AAEpC,mCAAmC;AACnC,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,8BAA8B;AAC9B,gBAAgB;AAChB,cAAc;AACd,UAAU;AAEV,iGAAiG;AACjG,kDAAkD;AAClD,sBAAsB;AACtB,0BAA0B;AAC1B,yCAAyC;AACzC,wCAAwC;AACxC,qBAAqB;AACrB,iCAAiC;AACjC,gBAAgB;AAChB,cAAc;AACd,sFAAsF;AACtF,oCAAoC;AAEpC,mCAAmC;AACnC,gBAAgB;AAChB,uCAAuC;AACvC,mCAAmC;AACnC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,uCAAuC;AACvC,mCAAmC;AACnC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,8BAA8B;AAC9B,gBAAgB;AAChB,cAAc;AACd,UAAU;AAEV,uDAAuD;AACvD,kDAAkD;AAClD,uBAAuB;AACvB,cAAc;AAEd,sFAAsF;AACtF,oCAAoC;AAEpC,sCAAsC;AACtC,UAAU;AAEV,wEAAwE;AACxE,kDAAkD;AAClD,sBAAsB;AACtB,6BAA6B;AAC7B,8BAA8B;AAC9B,8BAA8B;AAC9B,iCAAiC;AACjC,gBAAgB;AAChB,cAAc;AAEd,sFAAsF;AACtF,oCAAoC;AAEpC,mCAAmC;AACnC,gBAAgB;AAChB,+BAA+B;AAC/B,gCAAgC;AAChC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,+BAA+B;AAC/B,iCAAiC;AACjC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,+BAA+B;AAC/B,iCAAiC;AACjC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,8BAA8B;AAC9B,gBAAgB;AAChB,cAAc;AACd,UAAU;AAEV,6DAA6D;AAC7D,kDAAkD;AAClD,sBAAsB;AACtB,4BAA4B;AAC5B,gCAAgC;AAChC,oCAAoC;AACpC,+CAA+C;AAC/C,4BAA4B;AAC5B,wBAAwB;AACxB,oBAAoB;AACpB,gBAAgB;AAChB,cAAc;AAEd,sFAAsF;AACtF,oCAAoC;AAEpC,mCAAmC;AACnC,gBAAgB;AAChB,mDAAmD;AACnD,sCAAsC;AACtC,8BAA8B;AAC9B,gBAAgB;AAChB,cAAc;AACd,UAAU;AACV,MAAM"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=KeyConsistencyTask.Test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyConsistencyTask.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/KeyConsistencyTask.Test.ts"],"names":[],"mappings":""}