@breadstone-tools/localizator-core 0.0.30 → 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.
- package/Detectors/VueDetector.js +17 -7
- package/Detectors/VueDetector.js.map +1 -1
- package/_tests/AngularHTMLParser.Test.d.ts +1 -0
- package/_tests/AngularHTMLParser.Test.d.ts.map +1 -0
- package/_tests/AngularHTMLParser.Test.js +99 -0
- package/_tests/AngularHTMLParser.Test.js.map +1 -0
- package/_tests/AngularPreset.Test.d.ts +1 -0
- package/_tests/AngularPreset.Test.d.ts.map +1 -0
- package/_tests/AngularPreset.Test.js +14 -0
- package/_tests/AngularPreset.Test.js.map +1 -0
- package/_tests/DuplicateKeysTask.Test.d.ts +1 -0
- package/_tests/DuplicateKeysTask.Test.d.ts.map +1 -0
- package/_tests/DuplicateKeysTask.Test.js +97 -0
- package/_tests/DuplicateKeysTask.Test.js.map +1 -0
- package/_tests/EmptyValuesTask.Test.d.ts +1 -0
- package/_tests/EmptyValuesTask.Test.d.ts.map +1 -0
- package/_tests/EmptyValuesTask.Test.js +87 -0
- package/_tests/EmptyValuesTask.Test.js.map +1 -0
- package/_tests/JSXParser.Test.d.ts +1 -0
- package/_tests/JSXParser.Test.d.ts.map +1 -0
- package/_tests/JSXParser.Test.js +94 -0
- package/_tests/JSXParser.Test.js.map +1 -0
- package/_tests/JavaScriptParser.Test.d.ts +1 -0
- package/_tests/JavaScriptParser.Test.d.ts.map +1 -0
- package/_tests/JavaScriptParser.Test.js +231 -0
- package/_tests/JavaScriptParser.Test.js.map +1 -0
- package/_tests/JsonFormatter.Test.d.ts +1 -0
- package/_tests/JsonFormatter.Test.d.ts.map +1 -0
- package/_tests/JsonFormatter.Test.js +36 -0
- package/_tests/JsonFormatter.Test.js.map +1 -0
- package/_tests/JsonResourceSerializer.Test.d.ts +1 -0
- package/_tests/JsonResourceSerializer.Test.d.ts.map +1 -0
- package/_tests/JsonResourceSerializer.Test.js +105 -0
- package/_tests/JsonResourceSerializer.Test.js.map +1 -0
- package/_tests/JsonResourceTransformerAdapter.Test.d.ts +1 -0
- package/_tests/JsonResourceTransformerAdapter.Test.d.ts.map +1 -0
- package/_tests/JsonResourceTransformerAdapter.Test.js +126 -0
- package/_tests/JsonResourceTransformerAdapter.Test.js.map +1 -0
- package/_tests/KeyConsistencyTask.Test.d.ts +1 -0
- package/_tests/KeyConsistencyTask.Test.d.ts.map +1 -0
- package/_tests/KeyConsistencyTask.Test.js +160 -0
- package/_tests/KeyConsistencyTask.Test.js.map +1 -0
- package/_tests/KeyGenerator.Test.d.ts +1 -0
- package/_tests/KeyGenerator.Test.d.ts.map +1 -0
- package/_tests/KeyGenerator.Test.js +70 -0
- package/_tests/KeyGenerator.Test.js.map +1 -0
- package/_tests/LitPreset.Test.d.ts +1 -0
- package/_tests/LitPreset.Test.d.ts.map +1 -0
- package/_tests/LitPreset.Test.js +16 -0
- package/_tests/LitPreset.Test.js.map +1 -0
- package/_tests/LocalizationProcessor.Test.d.ts +1 -0
- package/_tests/LocalizationProcessor.Test.d.ts.map +1 -0
- package/_tests/LocalizationProcessor.Test.js +121 -0
- package/_tests/LocalizationProcessor.Test.js.map +1 -0
- package/_tests/MissingTranslationsTask.Test.d.ts +1 -0
- package/_tests/MissingTranslationsTask.Test.d.ts.map +1 -0
- package/_tests/MissingTranslationsTask.Test.js +132 -0
- package/_tests/MissingTranslationsTask.Test.js.map +1 -0
- package/_tests/ReactPreset.Test.d.ts +1 -0
- package/_tests/ReactPreset.Test.d.ts.map +1 -0
- package/_tests/ReactPreset.Test.js +16 -0
- package/_tests/ReactPreset.Test.js.map +1 -0
- package/_tests/ResourceProcessor.Test.d.ts +1 -0
- package/_tests/ResourceProcessor.Test.d.ts.map +1 -0
- package/_tests/ResourceProcessor.Test.js +31 -0
- package/_tests/ResourceProcessor.Test.js.map +1 -0
- package/_tests/ResxFormatter.Test.d.ts +1 -0
- package/_tests/ResxFormatter.Test.d.ts.map +1 -0
- package/_tests/ResxFormatter.Test.js +46 -0
- package/_tests/ResxFormatter.Test.js.map +1 -0
- package/_tests/ResxResourceSerializer.Test.d.ts +1 -0
- package/_tests/ResxResourceSerializer.Test.d.ts.map +1 -0
- package/_tests/ResxResourceSerializer.Test.js +119 -0
- package/_tests/ResxResourceSerializer.Test.js.map +1 -0
- package/_tests/ResxResourceTransformerAdapter.Test.d.ts +1 -0
- package/_tests/ResxResourceTransformerAdapter.Test.d.ts.map +1 -0
- package/_tests/ResxResourceTransformerAdapter.Test.js +118 -0
- package/_tests/ResxResourceTransformerAdapter.Test.js.map +1 -0
- package/_tests/StencilPreset.Test.d.ts +1 -0
- package/_tests/StencilPreset.Test.d.ts.map +1 -0
- package/_tests/StencilPreset.Test.js +14 -0
- package/_tests/StencilPreset.Test.js.map +1 -0
- package/_tests/TSXParser.Test.d.ts +1 -0
- package/_tests/TSXParser.Test.d.ts.map +1 -0
- package/_tests/TSXParser.Test.js +76 -0
- package/_tests/TSXParser.Test.js.map +1 -0
- package/_tests/TypeScriptParser.Test.d.ts +1 -0
- package/_tests/TypeScriptParser.Test.d.ts.map +1 -0
- package/_tests/TypeScriptParser.Test.js +277 -0
- package/_tests/TypeScriptParser.Test.js.map +1 -0
- package/_tests/TypescriptResourceSerializer.Test.d.ts +1 -0
- package/_tests/TypescriptResourceSerializer.Test.d.ts.map +1 -0
- package/_tests/TypescriptResourceSerializer.Test.js +143 -0
- package/_tests/TypescriptResourceSerializer.Test.js.map +1 -0
- package/_tests/UnusedKeysTask.Test.d.ts +1 -0
- package/_tests/UnusedKeysTask.Test.d.ts.map +1 -0
- package/_tests/UnusedKeysTask.Test.js +93 -0
- package/_tests/UnusedKeysTask.Test.js.map +1 -0
- package/_tests/VueParser.Test.d.ts +1 -0
- package/_tests/VueParser.Test.d.ts.map +1 -0
- package/_tests/VueParser.Test.js +164 -0
- package/_tests/VueParser.Test.js.map +1 -0
- package/_tests/VuePreset.Test.d.ts +1 -0
- package/_tests/VuePreset.Test.d.ts.map +1 -0
- package/_tests/VuePreset.Test.js +15 -0
- package/_tests/VuePreset.Test.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// // #region Imports
|
|
3
|
+
// import { ResxFormatter } from '../src/Formatters/ResxFormatter.js';
|
|
4
|
+
// import { describe, it, expect } from 'vitest';
|
|
5
|
+
// // #endregion
|
|
6
|
+
// describe('ResxFormatter', () => {
|
|
7
|
+
// it('should format key-value pairs into RESX format', () => {
|
|
8
|
+
// const formatter = new ResxFormatter();
|
|
9
|
+
// const input = {
|
|
10
|
+
// key1: 'value1',
|
|
11
|
+
// key2: 'value2'
|
|
12
|
+
// };
|
|
13
|
+
// const result = formatter.format(input);
|
|
14
|
+
// expect(result.content).toEqual(`<?xml version="1.0" encoding="utf-8"?>
|
|
15
|
+
// <root>
|
|
16
|
+
// <data name="key1" xml:space="preserve">
|
|
17
|
+
// <value>value1</value>
|
|
18
|
+
// </data>
|
|
19
|
+
// <data name="key2" xml:space="preserve">
|
|
20
|
+
// <value>value2</value>
|
|
21
|
+
// </data>
|
|
22
|
+
// </root>`);
|
|
23
|
+
// });
|
|
24
|
+
// it('should handle empty input gracefully', () => {
|
|
25
|
+
// const formatter = new ResxFormatter();
|
|
26
|
+
// const input = {};
|
|
27
|
+
// const result = formatter.format(input);
|
|
28
|
+
// expect(result.content).toEqual(`<?xml version="1.0" encoding="utf-8"?>
|
|
29
|
+
// <root>
|
|
30
|
+
// </root>`);
|
|
31
|
+
// });
|
|
32
|
+
// it('should escape special characters in keys and values', () => {
|
|
33
|
+
// const formatter = new ResxFormatter();
|
|
34
|
+
// const input = {
|
|
35
|
+
// 'key<with&special>chars': 'value "with" special & chars'
|
|
36
|
+
// };
|
|
37
|
+
// const result = formatter.format(input);
|
|
38
|
+
// expect(result.content).toEqual(`<?xml version="1.0" encoding="utf-8"?>
|
|
39
|
+
// <root>
|
|
40
|
+
// <data name="key<with&special>chars" xml:space="preserve">
|
|
41
|
+
// <value>value "with" special & chars</value>
|
|
42
|
+
// </data>
|
|
43
|
+
// </root>`);
|
|
44
|
+
// });
|
|
45
|
+
// });
|
|
46
|
+
//# sourceMappingURL=ResxFormatter.Test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResxFormatter.Test.js","sourceRoot":"","sources":["../../src/_tests/ResxFormatter.Test.ts"],"names":[],"mappings":";AAAA,qBAAqB;AAErB,sEAAsE;AACtE,iDAAiD;AAEjD,gBAAgB;AAEhB,oCAAoC;AACpC,mEAAmE;AACnE,iDAAiD;AAEjD,0BAA0B;AAC1B,8BAA8B;AAC9B,6BAA6B;AAC7B,aAAa;AAEb,kDAAkD;AAElD,iFAAiF;AACjF,SAAS;AACT,8CAA8C;AAC9C,gCAAgC;AAChC,cAAc;AACd,8CAA8C;AAC9C,gCAAgC;AAChC,cAAc;AACd,aAAa;AACb,UAAU;AAEV,yDAAyD;AACzD,iDAAiD;AAEjD,4BAA4B;AAC5B,kDAAkD;AAElD,iFAAiF;AACjF,SAAS;AAET,aAAa;AACb,UAAU;AAEV,wEAAwE;AACxE,iDAAiD;AAEjD,0BAA0B;AAC1B,uEAAuE;AACvE,aAAa;AAEb,kDAAkD;AAElD,iFAAiF;AACjF,SAAS;AACT,0EAA0E;AAC1E,oEAAoE;AACpE,cAAc;AACd,aAAa;AACb,UAAU;AACV,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=ResxResourceSerializer.Test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResxResourceSerializer.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/ResxResourceSerializer.Test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// // #region Imports
|
|
3
|
+
// import { describe, it, expect } from 'vitest';
|
|
4
|
+
// import { ResxResourceSerializer } from '../src/Resources/Transformers/Serializers/ResxResourceSerializer';
|
|
5
|
+
// import { ResxResourceInfo } from '../src/Resources/Models/ResxResourceInfo';
|
|
6
|
+
// import type { ITransformModel } from '../src/Resources/Models/Interfaces/ITransformModel';
|
|
7
|
+
// // #endregion
|
|
8
|
+
// describe('ResxResourceSerializer', () => {
|
|
9
|
+
// const serializer = new ResxResourceSerializer();
|
|
10
|
+
// it('should serialize a flat array of transform models into a ResX resource', () => {
|
|
11
|
+
// const models: Array<ITransformModel> = [
|
|
12
|
+
// {
|
|
13
|
+
// key: 'key1',
|
|
14
|
+
// value: 'value1',
|
|
15
|
+
// comment: 'comment1'
|
|
16
|
+
// },
|
|
17
|
+
// {
|
|
18
|
+
// key: 'key2',
|
|
19
|
+
// value: 'value2',
|
|
20
|
+
// comment: 'comment2'
|
|
21
|
+
// }
|
|
22
|
+
// ];
|
|
23
|
+
// const result = serializer.serialize(models);
|
|
24
|
+
// expect(result).toEqual(new ResxResourceInfo({
|
|
25
|
+
// locale: 'en',
|
|
26
|
+
// data: [
|
|
27
|
+
// {
|
|
28
|
+
// key: 'key1',
|
|
29
|
+
// value: 'value1',
|
|
30
|
+
// comment: 'comment1'
|
|
31
|
+
// },
|
|
32
|
+
// {
|
|
33
|
+
// key: 'key2',
|
|
34
|
+
// value: 'value2',
|
|
35
|
+
// comment: 'comment2'
|
|
36
|
+
// }
|
|
37
|
+
// ]
|
|
38
|
+
// }));
|
|
39
|
+
// });
|
|
40
|
+
// it('should handle an empty array of transform models', () => {
|
|
41
|
+
// const models: Array<ITransformModel> = [];
|
|
42
|
+
// const result = serializer.serialize(models);
|
|
43
|
+
// expect(result).toEqual(new ResxResourceInfo({
|
|
44
|
+
// locale: 'en',
|
|
45
|
+
// data: []
|
|
46
|
+
// }));
|
|
47
|
+
// });
|
|
48
|
+
// it('should handle transform models with missing comments', () => {
|
|
49
|
+
// const models: Array<ITransformModel> = [
|
|
50
|
+
// {
|
|
51
|
+
// key: 'key1',
|
|
52
|
+
// value: 'value1',
|
|
53
|
+
// comment: ''
|
|
54
|
+
// },
|
|
55
|
+
// {
|
|
56
|
+
// key: 'key2',
|
|
57
|
+
// value: 'value2',
|
|
58
|
+
// comment: ''
|
|
59
|
+
// }
|
|
60
|
+
// ];
|
|
61
|
+
// const result = serializer.serialize(models);
|
|
62
|
+
// expect(result).toEqual(new ResxResourceInfo({
|
|
63
|
+
// locale: 'en',
|
|
64
|
+
// data: [
|
|
65
|
+
// {
|
|
66
|
+
// key: 'key1',
|
|
67
|
+
// value: 'value1',
|
|
68
|
+
// comment: ''
|
|
69
|
+
// },
|
|
70
|
+
// {
|
|
71
|
+
// key: 'key2',
|
|
72
|
+
// value: 'value2',
|
|
73
|
+
// comment: ''
|
|
74
|
+
// }
|
|
75
|
+
// ]
|
|
76
|
+
// }));
|
|
77
|
+
// });
|
|
78
|
+
// it('should handle transform models with various value types', () => {
|
|
79
|
+
// const models: Array<ITransformModel> = [
|
|
80
|
+
// {
|
|
81
|
+
// key: 'number.key',
|
|
82
|
+
// value: '123',
|
|
83
|
+
// comment: 'A number value'
|
|
84
|
+
// },
|
|
85
|
+
// {
|
|
86
|
+
// key: 'boolean.key',
|
|
87
|
+
// value: 'true',
|
|
88
|
+
// comment: 'A boolean value'
|
|
89
|
+
// },
|
|
90
|
+
// {
|
|
91
|
+
// key: 'null.key',
|
|
92
|
+
// value: 'null',
|
|
93
|
+
// comment: 'A null value'
|
|
94
|
+
// }
|
|
95
|
+
// ];
|
|
96
|
+
// const result = serializer.serialize(models);
|
|
97
|
+
// expect(result).toEqual(new ResxResourceInfo({
|
|
98
|
+
// locale: 'en',
|
|
99
|
+
// data: [
|
|
100
|
+
// {
|
|
101
|
+
// key: 'number.key',
|
|
102
|
+
// value: '123',
|
|
103
|
+
// comment: 'A number value'
|
|
104
|
+
// },
|
|
105
|
+
// {
|
|
106
|
+
// key: 'boolean.key',
|
|
107
|
+
// value: 'true',
|
|
108
|
+
// comment: 'A boolean value'
|
|
109
|
+
// },
|
|
110
|
+
// {
|
|
111
|
+
// key: 'null.key',
|
|
112
|
+
// value: 'null',
|
|
113
|
+
// comment: 'A null value'
|
|
114
|
+
// }
|
|
115
|
+
// ]
|
|
116
|
+
// }));
|
|
117
|
+
// });
|
|
118
|
+
// });
|
|
119
|
+
//# sourceMappingURL=ResxResourceSerializer.Test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResxResourceSerializer.Test.js","sourceRoot":"","sources":["../../src/_tests/ResxResourceSerializer.Test.ts"],"names":[],"mappings":";AAAA,qBAAqB;AAErB,iDAAiD;AACjD,6GAA6G;AAC7G,+EAA+E;AAC/E,6FAA6F;AAE7F,gBAAgB;AAEhB,6CAA6C;AAC7C,uDAAuD;AAEvD,2FAA2F;AAC3F,mDAAmD;AACnD,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,sCAAsC;AACtC,iBAAiB;AACjB,gBAAgB;AAChB,+BAA+B;AAC/B,mCAAmC;AACnC,sCAAsC;AACtC,gBAAgB;AAChB,aAAa;AAEb,uDAAuD;AAEvD,wDAAwD;AACxD,4BAA4B;AAC5B,sBAAsB;AACtB,oBAAoB;AACpB,mCAAmC;AACnC,uCAAuC;AACvC,0CAA0C;AAC1C,qBAAqB;AACrB,oBAAoB;AACpB,mCAAmC;AACnC,uCAAuC;AACvC,0CAA0C;AAC1C,oBAAoB;AACpB,gBAAgB;AAChB,eAAe;AACf,UAAU;AAEV,qEAAqE;AACrE,qDAAqD;AAErD,uDAAuD;AAEvD,wDAAwD;AACxD,4BAA4B;AAC5B,uBAAuB;AACvB,eAAe;AACf,UAAU;AAEV,yEAAyE;AACzE,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,oBAAoB;AACpB,mCAAmC;AACnC,uCAAuC;AACvC,kCAAkC;AAClC,qBAAqB;AACrB,oBAAoB;AACpB,mCAAmC;AACnC,uCAAuC;AACvC,kCAAkC;AAClC,oBAAoB;AACpB,gBAAgB;AAChB,eAAe;AACf,UAAU;AAEV,4EAA4E;AAC5E,mDAAmD;AACnD,gBAAgB;AAChB,qCAAqC;AACrC,gCAAgC;AAChC,4CAA4C;AAC5C,iBAAiB;AACjB,gBAAgB;AAChB,sCAAsC;AACtC,iCAAiC;AACjC,6CAA6C;AAC7C,iBAAiB;AACjB,gBAAgB;AAChB,mCAAmC;AACnC,iCAAiC;AACjC,0CAA0C;AAC1C,gBAAgB;AAChB,aAAa;AAEb,uDAAuD;AAEvD,wDAAwD;AACxD,4BAA4B;AAC5B,sBAAsB;AACtB,oBAAoB;AACpB,yCAAyC;AACzC,oCAAoC;AACpC,gDAAgD;AAChD,qBAAqB;AACrB,oBAAoB;AACpB,0CAA0C;AAC1C,qCAAqC;AACrC,iDAAiD;AACjD,qBAAqB;AACrB,oBAAoB;AACpB,uCAAuC;AACvC,qCAAqC;AACrC,8CAA8C;AAC9C,oBAAoB;AACpB,gBAAgB;AAChB,eAAe;AACf,UAAU;AACV,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=ResxResourceTransformerAdapter.Test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResxResourceTransformerAdapter.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/ResxResourceTransformerAdapter.Test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// // #region Imports
|
|
3
|
+
// import { describe, it, expect } from 'vitest';
|
|
4
|
+
// import { ResxResourceTransformerAdapter } from '../src/Resources/Transformers/Adapters/ResxResourceTransformerAdapter';
|
|
5
|
+
// import { ResxResourceInfo } from '../src/Resources/Models/ResxResourceInfo';
|
|
6
|
+
// import type { ITransformModel } from '../src/Resources/Models/Interfaces/ITransformModel';
|
|
7
|
+
// // #endregion
|
|
8
|
+
// describe('ResxResourceTransformer', () => {
|
|
9
|
+
// it('should transform a ResX resource into transform models', () => {
|
|
10
|
+
// const resource = new ResxResourceInfo({
|
|
11
|
+
// data: [
|
|
12
|
+
// {
|
|
13
|
+
// key: 'greeting.hello',
|
|
14
|
+
// value: 'Hello',
|
|
15
|
+
// comment: 'A greeting message'
|
|
16
|
+
// },
|
|
17
|
+
// {
|
|
18
|
+
// key: 'greeting.goodbye',
|
|
19
|
+
// value: 'Goodbye',
|
|
20
|
+
// comment: 'A farewell message'
|
|
21
|
+
// }
|
|
22
|
+
// ]
|
|
23
|
+
// });
|
|
24
|
+
// const result: Array<ITransformModel> = new ResxResourceTransformerAdapter()
|
|
25
|
+
// .transform(resource);
|
|
26
|
+
// expect(result).toEqual([
|
|
27
|
+
// {
|
|
28
|
+
// key: 'greeting.hello',
|
|
29
|
+
// value: 'Hello',
|
|
30
|
+
// comment: 'A greeting message'
|
|
31
|
+
// },
|
|
32
|
+
// {
|
|
33
|
+
// key: 'greeting.goodbye',
|
|
34
|
+
// value: 'Goodbye',
|
|
35
|
+
// comment: 'A farewell message'
|
|
36
|
+
// }
|
|
37
|
+
// ]);
|
|
38
|
+
// });
|
|
39
|
+
// it('should handle an empty ResX resource', () => {
|
|
40
|
+
// const resource = new ResxResourceInfo({
|
|
41
|
+
// data: []
|
|
42
|
+
// });
|
|
43
|
+
// const result: Array<ITransformModel> = new ResxResourceTransformerAdapter()
|
|
44
|
+
// .transform(resource);
|
|
45
|
+
// expect(result).toEqual([]);
|
|
46
|
+
// });
|
|
47
|
+
// it('should handle a ResX resource with missing comments', () => {
|
|
48
|
+
// const resource = new ResxResourceInfo({
|
|
49
|
+
// data: [
|
|
50
|
+
// {
|
|
51
|
+
// key: 'greeting.hello',
|
|
52
|
+
// value: 'Hello',
|
|
53
|
+
// comment: ''
|
|
54
|
+
// },
|
|
55
|
+
// {
|
|
56
|
+
// key: 'greeting.goodbye',
|
|
57
|
+
// value: 'Goodbye',
|
|
58
|
+
// comment: ''
|
|
59
|
+
// }
|
|
60
|
+
// ]
|
|
61
|
+
// });
|
|
62
|
+
// const result: Array<ITransformModel> = new ResxResourceTransformerAdapter()
|
|
63
|
+
// .transform(resource);
|
|
64
|
+
// expect(result).toEqual([
|
|
65
|
+
// {
|
|
66
|
+
// key: 'greeting.hello',
|
|
67
|
+
// value: 'Hello',
|
|
68
|
+
// comment: ''
|
|
69
|
+
// },
|
|
70
|
+
// {
|
|
71
|
+
// key: 'greeting.goodbye',
|
|
72
|
+
// value: 'Goodbye',
|
|
73
|
+
// comment: ''
|
|
74
|
+
// }
|
|
75
|
+
// ]);
|
|
76
|
+
// });
|
|
77
|
+
// it('should handle a ResX resource with various value types', () => {
|
|
78
|
+
// const resource = new ResxResourceInfo({
|
|
79
|
+
// data: [
|
|
80
|
+
// {
|
|
81
|
+
// key: 'number.key',
|
|
82
|
+
// value: '123',
|
|
83
|
+
// comment: 'A number value'
|
|
84
|
+
// },
|
|
85
|
+
// {
|
|
86
|
+
// key: 'boolean.key',
|
|
87
|
+
// value: 'true',
|
|
88
|
+
// comment: 'A boolean value'
|
|
89
|
+
// },
|
|
90
|
+
// {
|
|
91
|
+
// key: 'null.key',
|
|
92
|
+
// value: 'null',
|
|
93
|
+
// comment: 'A null value'
|
|
94
|
+
// }
|
|
95
|
+
// ]
|
|
96
|
+
// });
|
|
97
|
+
// const result: Array<ITransformModel> = new ResxResourceTransformerAdapter()
|
|
98
|
+
// .transform(resource);
|
|
99
|
+
// expect(result).toEqual([
|
|
100
|
+
// {
|
|
101
|
+
// key: 'number.key',
|
|
102
|
+
// value: '123',
|
|
103
|
+
// comment: 'A number value'
|
|
104
|
+
// },
|
|
105
|
+
// {
|
|
106
|
+
// key: 'boolean.key',
|
|
107
|
+
// value: 'true',
|
|
108
|
+
// comment: 'A boolean value'
|
|
109
|
+
// },
|
|
110
|
+
// {
|
|
111
|
+
// key: 'null.key',
|
|
112
|
+
// value: 'null',
|
|
113
|
+
// comment: 'A null value'
|
|
114
|
+
// }
|
|
115
|
+
// ]);
|
|
116
|
+
// });
|
|
117
|
+
// });
|
|
118
|
+
//# sourceMappingURL=ResxResourceTransformerAdapter.Test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResxResourceTransformerAdapter.Test.js","sourceRoot":"","sources":["../../src/_tests/ResxResourceTransformerAdapter.Test.ts"],"names":[],"mappings":";AAAA,qBAAqB;AAErB,iDAAiD;AACjD,0HAA0H;AAC1H,+EAA+E;AAC/E,6FAA6F;AAE7F,gBAAgB;AAEhB,8CAA8C;AAC9C,2EAA2E;AAC3E,kDAAkD;AAClD,sBAAsB;AACtB,oBAAoB;AACpB,6CAA6C;AAC7C,sCAAsC;AACtC,oDAAoD;AACpD,qBAAqB;AACrB,oBAAoB;AACpB,+CAA+C;AAC/C,wCAAwC;AACxC,oDAAoD;AACpD,oBAAoB;AACpB,gBAAgB;AAChB,cAAc;AAEd,sFAAsF;AACtF,oCAAoC;AAEpC,mCAAmC;AACnC,gBAAgB;AAChB,yCAAyC;AACzC,kCAAkC;AAClC,gDAAgD;AAChD,iBAAiB;AACjB,gBAAgB;AAChB,2CAA2C;AAC3C,oCAAoC;AACpC,gDAAgD;AAChD,gBAAgB;AAChB,cAAc;AACd,UAAU;AAEV,yDAAyD;AACzD,kDAAkD;AAClD,uBAAuB;AACvB,cAAc;AAEd,sFAAsF;AACtF,oCAAoC;AAEpC,sCAAsC;AACtC,UAAU;AAEV,wEAAwE;AACxE,kDAAkD;AAClD,sBAAsB;AACtB,oBAAoB;AACpB,6CAA6C;AAC7C,sCAAsC;AACtC,kCAAkC;AAClC,qBAAqB;AACrB,oBAAoB;AACpB,+CAA+C;AAC/C,wCAAwC;AACxC,kCAAkC;AAClC,oBAAoB;AACpB,gBAAgB;AAChB,cAAc;AAEd,sFAAsF;AACtF,oCAAoC;AAEpC,mCAAmC;AACnC,gBAAgB;AAChB,yCAAyC;AACzC,kCAAkC;AAClC,8BAA8B;AAC9B,iBAAiB;AACjB,gBAAgB;AAChB,2CAA2C;AAC3C,oCAAoC;AACpC,8BAA8B;AAC9B,gBAAgB;AAChB,cAAc;AACd,UAAU;AAEV,2EAA2E;AAC3E,kDAAkD;AAClD,sBAAsB;AACtB,oBAAoB;AACpB,yCAAyC;AACzC,oCAAoC;AACpC,gDAAgD;AAChD,qBAAqB;AACrB,oBAAoB;AACpB,0CAA0C;AAC1C,qCAAqC;AACrC,iDAAiD;AACjD,qBAAqB;AACrB,oBAAoB;AACpB,uCAAuC;AACvC,qCAAqC;AACrC,8CAA8C;AAC9C,oBAAoB;AACpB,gBAAgB;AAChB,cAAc;AAEd,sFAAsF;AACtF,oCAAoC;AAEpC,mCAAmC;AACnC,gBAAgB;AAChB,qCAAqC;AACrC,gCAAgC;AAChC,4CAA4C;AAC5C,iBAAiB;AACjB,gBAAgB;AAChB,sCAAsC;AACtC,iCAAiC;AACjC,6CAA6C;AAC7C,iBAAiB;AACjB,gBAAgB;AAChB,mCAAmC;AACnC,iCAAiC;AACjC,0CAA0C;AAC1C,gBAAgB;AAChB,cAAc;AACd,UAAU;AACV,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=StencilPreset.Test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StencilPreset.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/StencilPreset.Test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { describe, it, expect } from 'vitest';
|
|
3
|
+
// import { StencilPreset } from '../src/Presets/StencilPreset.js';
|
|
4
|
+
// import { TypeScriptParser } from '../src/Parsers/TypeScriptParser.js';
|
|
5
|
+
// import { TSXParser } from '../src/Parsers/TSXParser.js';
|
|
6
|
+
// describe('StencilPreset', () => {
|
|
7
|
+
// it('should return correct parsers for file extensions', () => {
|
|
8
|
+
// const preset = new StencilPreset(console);
|
|
9
|
+
// const parsers = preset.getParsers();
|
|
10
|
+
// expect(parsers['.tsx']).toBeInstanceOf(TSXParser);
|
|
11
|
+
// expect(parsers['.ts']).toBeInstanceOf(TypeScriptParser);
|
|
12
|
+
// });
|
|
13
|
+
// });
|
|
14
|
+
//# sourceMappingURL=StencilPreset.Test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StencilPreset.Test.js","sourceRoot":"","sources":["../../src/_tests/StencilPreset.Test.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,mEAAmE;AACnE,yEAAyE;AACzE,2DAA2D;AAE3D,oCAAoC;AACpC,sEAAsE;AACtE,qDAAqD;AACrD,+CAA+C;AAE/C,6DAA6D;AAC7D,mEAAmE;AACnE,UAAU;AACV,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=TSXParser.Test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TSXParser.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/TSXParser.Test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// // #region Imports
|
|
3
|
+
// import { describe, it, expect, vi } from 'vitest';
|
|
4
|
+
// import { TSXParser } from '../src/Parsers/TSXParser.js';
|
|
5
|
+
// // #endregion
|
|
6
|
+
// describe('TSXParser', () => {
|
|
7
|
+
// it('should create an instance with default options', () => {
|
|
8
|
+
// const parser = new TSXParser(console);
|
|
9
|
+
// expect(parser).toBeTruthy();
|
|
10
|
+
// });
|
|
11
|
+
// it('should parse simple translations', () => {
|
|
12
|
+
// const parser = new TSXParser(console);
|
|
13
|
+
// const tsx = 't("Simple string"); translate(\'Another string\');';
|
|
14
|
+
// const result = parser.parse(tsx);
|
|
15
|
+
// expect(result).toEqual(['Simple string', 'Another string']);
|
|
16
|
+
// });
|
|
17
|
+
// it('should parse translations with context', () => {
|
|
18
|
+
// const parser = new TSXParser(console);
|
|
19
|
+
// const tsx = 't("This is translatable", { context: "example" });';
|
|
20
|
+
// const result = parser.parse(tsx);
|
|
21
|
+
// expect(result).toEqual(['This is translatable']);
|
|
22
|
+
// });
|
|
23
|
+
// it('should parse template literals', () => {
|
|
24
|
+
// const parser = new TSXParser(console);
|
|
25
|
+
// const tsx = 't(`Template literal string`);';
|
|
26
|
+
// const result = parser.parse(tsx);
|
|
27
|
+
// expect(result).toEqual(['Template literal string']);
|
|
28
|
+
// });
|
|
29
|
+
// it('should parse multiline strings', () => {
|
|
30
|
+
// const parser = new TSXParser(console);
|
|
31
|
+
// const tsx = `
|
|
32
|
+
// t("This is a multiline string");
|
|
33
|
+
// `;
|
|
34
|
+
// const result = parser.parse(tsx);
|
|
35
|
+
// expect(result).toEqual(['This is a multiline string']);
|
|
36
|
+
// });
|
|
37
|
+
// it('should handle custom markers as strings', () => {
|
|
38
|
+
// const parser = new TSXParser(console, { marker: 'customTranslate' });
|
|
39
|
+
// const tsx = 'customTranslate("Custom marker string");';
|
|
40
|
+
// const result = parser.parse(tsx);
|
|
41
|
+
// expect(result).toEqual(['Custom marker string']);
|
|
42
|
+
// });
|
|
43
|
+
// it('should handle custom markers as regex', () => {
|
|
44
|
+
// const parser = new TSXParser(console, { marker: /custom|translate/ });
|
|
45
|
+
// const tsx = `
|
|
46
|
+
// custom("Custom function call");
|
|
47
|
+
// translate("Translate function call");
|
|
48
|
+
// `;
|
|
49
|
+
// const result = parser.parse(tsx);
|
|
50
|
+
// expect(result).toEqual(['Custom function call', 'Translate function call']);
|
|
51
|
+
// });
|
|
52
|
+
// it('should handle null content gracefully', () => {
|
|
53
|
+
// const parser = new TSXParser(console);
|
|
54
|
+
// const result = parser.parse(null as any);
|
|
55
|
+
// expect(result).toEqual([]);
|
|
56
|
+
// });
|
|
57
|
+
// it('should handle undefined content gracefully', () => {
|
|
58
|
+
// const parser = new TSXParser(console);
|
|
59
|
+
// const result = parser.parse(undefined as any);
|
|
60
|
+
// expect(result).toEqual([]);
|
|
61
|
+
// });
|
|
62
|
+
// it('should handle empty content gracefully', () => {
|
|
63
|
+
// const parser = new TSXParser(console);
|
|
64
|
+
// const result = parser.parse('');
|
|
65
|
+
// expect(result).toEqual([]);
|
|
66
|
+
// });
|
|
67
|
+
// it('should log debug messages when debug is enabled', () => {
|
|
68
|
+
// const consoleSpy = vi.spyOn(console, 'debug').mockImplementation(() => { });
|
|
69
|
+
// const parser = new TSXParser(console, { debug: true });
|
|
70
|
+
// const content = 't("Debug string");';
|
|
71
|
+
// parser.parse(content);
|
|
72
|
+
// expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('[BaseParser]:'));
|
|
73
|
+
// consoleSpy.mockRestore();
|
|
74
|
+
// });
|
|
75
|
+
// });
|
|
76
|
+
//# sourceMappingURL=TSXParser.Test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TSXParser.Test.js","sourceRoot":"","sources":["../../src/_tests/TSXParser.Test.ts"],"names":[],"mappings":";AAAA,qBAAqB;AAErB,qDAAqD;AACrD,2DAA2D;AAE3D,gBAAgB;AAEhB,gCAAgC;AAChC,mEAAmE;AACnE,iDAAiD;AACjD,uCAAuC;AACvC,UAAU;AAEV,qDAAqD;AACrD,iDAAiD;AACjD,4EAA4E;AAC5E,4CAA4C;AAC5C,uEAAuE;AACvE,UAAU;AAEV,2DAA2D;AAC3D,iDAAiD;AACjD,4EAA4E;AAC5E,4CAA4C;AAC5C,4DAA4D;AAC5D,UAAU;AAEV,mDAAmD;AACnD,iDAAiD;AACjD,uDAAuD;AACvD,4CAA4C;AAC5C,+DAA+D;AAC/D,UAAU;AAEV,mDAAmD;AACnD,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,aAAa;AACb,4CAA4C;AAC5C,kEAAkE;AAClE,UAAU;AAEV,4DAA4D;AAC5D,gFAAgF;AAChF,kEAAkE;AAClE,4CAA4C;AAC5C,4DAA4D;AAC5D,UAAU;AAEV,0DAA0D;AAC1D,iFAAiF;AACjF,wBAAwB;AACxB,8CAA8C;AAC9C,oDAAoD;AACpD,aAAa;AACb,4CAA4C;AAC5C,uFAAuF;AACvF,UAAU;AAEV,0DAA0D;AAC1D,iDAAiD;AACjD,oDAAoD;AACpD,sCAAsC;AACtC,UAAU;AAEV,+DAA+D;AAC/D,iDAAiD;AACjD,yDAAyD;AACzD,sCAAsC;AACtC,UAAU;AAEV,2DAA2D;AAC3D,iDAAiD;AACjD,2CAA2C;AAC3C,sCAAsC;AACtC,UAAU;AAEV,oEAAoE;AACpE,uFAAuF;AACvF,kEAAkE;AAClE,gDAAgD;AAChD,iCAAiC;AACjC,6FAA6F;AAC7F,oCAAoC;AACpC,UAAU;AACV,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=TypeScriptParser.Test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeScriptParser.Test.d.ts","sourceRoot":"","sources":["../../src/_tests/TypeScriptParser.Test.ts"],"names":[],"mappings":""}
|