@breadstone-tools/localizator-core 0.0.84 → 0.0.86
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/CHANGELOG.md +26 -0
- package/Index.d.ts +11 -7
- package/Index.d.ts.map +1 -1
- package/Index.js +17 -13
- package/Index.js.map +1 -1
- package/Resources/Analyzers/ResourceAnalyzer.d.ts +33 -24
- package/Resources/Analyzers/ResourceAnalyzer.d.ts.map +1 -1
- package/Resources/Analyzers/ResourceAnalyzer.js +60 -57
- package/Resources/Analyzers/ResourceAnalyzer.js.map +1 -1
- package/Resources/Analyzers/Tasks/DuplicateKeysRule.d.ts +31 -0
- package/Resources/Analyzers/Tasks/{DuplicateKeysTask.d.ts.map → DuplicateKeysRule.d.ts.map} +1 -1
- package/Resources/Analyzers/Tasks/{DuplicateKeysTask.js → DuplicateKeysRule.js} +6 -6
- package/Resources/Analyzers/Tasks/{DuplicateKeysTask.js.map → DuplicateKeysRule.js.map} +1 -1
- package/Resources/Analyzers/Tasks/DuplicateValuesRule.d.ts +40 -0
- package/Resources/Analyzers/Tasks/DuplicateValuesRule.d.ts.map +1 -0
- package/Resources/Analyzers/Tasks/DuplicateValuesRule.js +49 -0
- package/Resources/Analyzers/Tasks/DuplicateValuesRule.js.map +1 -0
- package/Resources/Analyzers/Tasks/EmptyValuesRule.d.ts +31 -0
- package/Resources/Analyzers/Tasks/{EmptyValuesTask.d.ts.map → EmptyValuesRule.d.ts.map} +1 -1
- package/Resources/Analyzers/Tasks/{EmptyValuesTask.js → EmptyValuesRule.js} +6 -6
- package/Resources/Analyzers/Tasks/{EmptyValuesTask.js.map → EmptyValuesRule.js.map} +1 -1
- package/Resources/Analyzers/Tasks/Interfaces/{IAnalyzerTask.d.ts → IAnalyzerRule.d.ts} +9 -9
- package/Resources/Analyzers/Tasks/Interfaces/{IAnalyzerTask.d.ts.map → IAnalyzerRule.d.ts.map} +1 -1
- package/Resources/Analyzers/Tasks/Interfaces/{IAnalyzerTask.js → IAnalyzerRule.js} +1 -1
- package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerRule.js.map +1 -0
- package/Resources/Analyzers/Tasks/KeyConsistencyRule.d.ts +35 -0
- package/Resources/Analyzers/Tasks/{KeyConsistencyTask.d.ts.map → KeyConsistencyRule.d.ts.map} +1 -1
- package/Resources/Analyzers/Tasks/{KeyConsistencyTask.js → KeyConsistencyRule.js} +6 -6
- package/Resources/Analyzers/Tasks/{KeyConsistencyTask.js.map → KeyConsistencyRule.js.map} +1 -1
- package/Resources/Analyzers/Tasks/MissingTranslationsRule.d.ts +31 -0
- package/Resources/Analyzers/Tasks/{MissingTranslationsTask.d.ts.map → MissingTranslationsRule.d.ts.map} +1 -1
- package/Resources/Analyzers/Tasks/{MissingTranslationsTask.js → MissingTranslationsRule.js} +6 -6
- package/Resources/Analyzers/Tasks/{MissingTranslationsTask.js.map → MissingTranslationsRule.js.map} +1 -1
- package/Resources/Analyzers/Tasks/MultipleKeyUsageRule.d.ts +31 -0
- package/Resources/Analyzers/Tasks/{MultipleKeyUsageTask.d.ts.map → MultipleKeyUsageRule.d.ts.map} +1 -1
- package/Resources/Analyzers/Tasks/{MultipleKeyUsageTask.js → MultipleKeyUsageRule.js} +6 -6
- package/Resources/Analyzers/Tasks/{MultipleKeyUsageTask.js.map → MultipleKeyUsageRule.js.map} +1 -1
- package/Resources/Analyzers/Tasks/UnusedKeysRule.d.ts +31 -0
- package/Resources/Analyzers/Tasks/{UnusedKeysTask.d.ts.map → UnusedKeysRule.d.ts.map} +1 -1
- package/Resources/Analyzers/Tasks/{UnusedKeysTask.js → UnusedKeysRule.js} +6 -6
- package/Resources/Analyzers/Tasks/{UnusedKeysTask.js.map → UnusedKeysRule.js.map} +1 -1
- package/Resources/Models/Interfaces/IPoResourceInfo.d.ts +12 -0
- package/Resources/Models/Interfaces/IPoResourceInfo.d.ts.map +1 -0
- package/Resources/Models/Interfaces/IPoResourceInfo.js +4 -0
- package/Resources/Models/Interfaces/IPoResourceInfo.js.map +1 -0
- package/Resources/Models/Interfaces/ResourceType.d.ts +4 -0
- package/Resources/Models/Interfaces/ResourceType.d.ts.map +1 -1
- package/Resources/Models/Interfaces/ResourceType.js +8 -1
- package/Resources/Models/Interfaces/ResourceType.js.map +1 -1
- package/Resources/Models/PoResourceInfo.d.ts +110 -0
- package/Resources/Models/PoResourceInfo.d.ts.map +1 -0
- package/Resources/Models/PoResourceInfo.js +190 -0
- package/Resources/Models/PoResourceInfo.js.map +1 -0
- package/Resources/PoFileParser.d.ts +48 -0
- package/Resources/PoFileParser.d.ts.map +1 -0
- package/Resources/PoFileParser.js +111 -0
- package/Resources/PoFileParser.js.map +1 -0
- package/Resources/PoFileReader.d.ts +25 -0
- package/Resources/PoFileReader.d.ts.map +1 -0
- package/Resources/PoFileReader.js +43 -0
- package/Resources/PoFileReader.js.map +1 -0
- package/Resources/Readers/Adapter/PoResourceReaderAdapter.d.ts +44 -0
- package/Resources/Readers/Adapter/PoResourceReaderAdapter.d.ts.map +1 -0
- package/Resources/Readers/Adapter/PoResourceReaderAdapter.js +118 -0
- package/Resources/Readers/Adapter/PoResourceReaderAdapter.js.map +1 -0
- package/Resources/Readers/Adapter/ResxResourceReaderAdapter.d.ts +2 -2
- package/Resources/Readers/Adapter/ResxResourceReaderAdapter.js +2 -2
- package/Resources/Readers/ResourceReader.d.ts.map +1 -1
- package/Resources/Readers/ResourceReader.js +3 -1
- package/Resources/Readers/ResourceReader.js.map +1 -1
- package/Resources/ResourceMode.d.ts +4 -0
- package/Resources/ResourceMode.d.ts.map +1 -1
- package/Resources/ResourceMode.js +5 -1
- package/Resources/ResourceMode.js.map +1 -1
- package/Resources/ResourceProcessor.d.ts +3 -3
- package/Resources/ResourceProcessor.js +2 -2
- package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.d.ts +1 -8
- package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.d.ts.map +1 -1
- package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.js +1 -22
- package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.js.map +1 -1
- package/Resources/Transformers/Adapters/PoResourceTransformerAdapter.d.ts +19 -0
- package/Resources/Transformers/Adapters/PoResourceTransformerAdapter.d.ts.map +1 -0
- package/Resources/Transformers/Adapters/PoResourceTransformerAdapter.js +30 -0
- package/Resources/Transformers/Adapters/PoResourceTransformerAdapter.js.map +1 -0
- package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.d.ts +1 -1
- package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.js +1 -1
- package/Resources/Transformers/ResourceTransformer.d.ts.map +1 -1
- package/Resources/Transformers/ResourceTransformer.js +14 -5
- package/Resources/Transformers/ResourceTransformer.js.map +1 -1
- package/Resources/Transformers/Serializers/JsonResourceSerializer.d.ts.map +1 -1
- package/Resources/Transformers/Serializers/JsonResourceSerializer.js +13 -6
- package/Resources/Transformers/Serializers/JsonResourceSerializer.js.map +1 -1
- package/Resources/Transformers/Serializers/PoResourceSerializer.d.ts +20 -0
- package/Resources/Transformers/Serializers/PoResourceSerializer.d.ts.map +1 -0
- package/Resources/Transformers/Serializers/PoResourceSerializer.js +40 -0
- package/Resources/Transformers/Serializers/PoResourceSerializer.js.map +1 -0
- package/package.json +2 -2
- package/Resources/Analyzers/Tasks/DuplicateKeysTask.d.ts +0 -31
- package/Resources/Analyzers/Tasks/EmptyValuesTask.d.ts +0 -31
- package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.js.map +0 -1
- package/Resources/Analyzers/Tasks/KeyConsistencyTask.d.ts +0 -35
- package/Resources/Analyzers/Tasks/MissingTranslationsTask.d.ts +0 -31
- package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.d.ts +0 -31
- package/Resources/Analyzers/Tasks/UnusedKeysTask.d.ts +0 -31
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PoResourceReaderAdapter = void 0;
|
|
5
|
+
const utilities_1 = require("@breadstone-infrastructure/utilities");
|
|
6
|
+
const ResourceType_1 = require("../../Models/Interfaces/ResourceType");
|
|
7
|
+
const PoResourceInfo_1 = require("../../Models/PoResourceInfo");
|
|
8
|
+
// #endregion
|
|
9
|
+
/**
|
|
10
|
+
* A resource reader adapter that scans directories for po files.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
class PoResourceReaderAdapter {
|
|
15
|
+
// #region Fields
|
|
16
|
+
_fileSystem;
|
|
17
|
+
_logger;
|
|
18
|
+
_glob;
|
|
19
|
+
// #endregion
|
|
20
|
+
// #region Ctor
|
|
21
|
+
/**
|
|
22
|
+
* Constructs a new instance of the `PoResourceReaderAdapter` class.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
constructor(fileSystem, logger) {
|
|
27
|
+
this._fileSystem = fileSystem;
|
|
28
|
+
this._logger = logger;
|
|
29
|
+
this._glob = '**/*.po';
|
|
30
|
+
}
|
|
31
|
+
// #endregion
|
|
32
|
+
// #region Methods
|
|
33
|
+
/**
|
|
34
|
+
* Scans the specified directory for .po files.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
* @param path - The path or paths to scan.
|
|
38
|
+
* @returns The resource information.
|
|
39
|
+
*/
|
|
40
|
+
scanDirectory(path) {
|
|
41
|
+
this.invalidateDirectory(path);
|
|
42
|
+
const result = new Array();
|
|
43
|
+
const paths = Array.isArray(path) ? path : [path];
|
|
44
|
+
for (const p of paths) {
|
|
45
|
+
const globPath = utilities_1.Path.combine(p, this._glob);
|
|
46
|
+
this._logger.info(` Scanning ${(0, utilities_1.gray)(globPath)}`);
|
|
47
|
+
const files = this._fileSystem.fileGlob(globPath);
|
|
48
|
+
for (const file of files) {
|
|
49
|
+
const resourceInfo = this.scanFile(file);
|
|
50
|
+
if (resourceInfo) {
|
|
51
|
+
result.push(resourceInfo);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Scans a specific file for resource information.
|
|
59
|
+
*
|
|
60
|
+
* @public
|
|
61
|
+
* @param path - The path to the file to scan.
|
|
62
|
+
* @returns The resource information or null if the file is not a valid resource.
|
|
63
|
+
*/
|
|
64
|
+
scanFile(path) {
|
|
65
|
+
this.invalidateFile(path);
|
|
66
|
+
const po = this._fileSystem.fileReadAllPo(path);
|
|
67
|
+
if (po.length === 0) {
|
|
68
|
+
this._logger.warn(`The file ${(0, utilities_1.gray)(path)} does not contain any resources.`);
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
this._logger.log(` Found ${(0, utilities_1.bold)(po.length.toString())} keys in language ${(0, utilities_1.bold)(this._fileSystem.fileGetLocale(path))}`);
|
|
72
|
+
return new PoResourceInfo_1.PoResourceInfo({
|
|
73
|
+
type: ResourceType_1.ResourceType.Po,
|
|
74
|
+
content: () => po,
|
|
75
|
+
locale: this._fileSystem.fileGetLocale(path),
|
|
76
|
+
name: this._fileSystem.pathGetFileName(path),
|
|
77
|
+
path: path
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @private
|
|
82
|
+
*/
|
|
83
|
+
invalidateDirectory(path) {
|
|
84
|
+
for (const p of Array.isArray(path) ? path : [path]) {
|
|
85
|
+
if (this._fileSystem.isFileOrDirectory(p) !== 'directory') {
|
|
86
|
+
throw new Error(`The path ${(0, utilities_1.gray)(p)} is not a valid directory.`);
|
|
87
|
+
}
|
|
88
|
+
if (!this._fileSystem.fileExists(p)) {
|
|
89
|
+
throw new Error(`The path ${(0, utilities_1.gray)(p)} does not exist.`);
|
|
90
|
+
}
|
|
91
|
+
if (this._fileSystem.fileGlob(p).length === 0) {
|
|
92
|
+
throw new Error(`The path ${(0, utilities_1.gray)(p)} is empty or does not contain any files.`);
|
|
93
|
+
}
|
|
94
|
+
if (p.endsWith(this._glob)) {
|
|
95
|
+
throw new Error(`The path ${(0, utilities_1.gray)(p)} should not end with ${(0, utilities_1.gray)(this._glob)}.`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @private
|
|
101
|
+
*/
|
|
102
|
+
invalidateFile(path) {
|
|
103
|
+
if (this._fileSystem.isFileOrDirectory(path) !== 'file') {
|
|
104
|
+
throw new Error(`The path ${(0, utilities_1.gray)(path)} is not a valid file.`);
|
|
105
|
+
}
|
|
106
|
+
if (!this._fileSystem.fileExists(path)) {
|
|
107
|
+
throw new Error(`The path ${(0, utilities_1.gray)(path)} does not exist.`);
|
|
108
|
+
}
|
|
109
|
+
if (!this._fileSystem.fileGlob(path).length) {
|
|
110
|
+
throw new Error(`The path ${(0, utilities_1.gray)(path)} does not contain any files.`);
|
|
111
|
+
}
|
|
112
|
+
if (!path.endsWith('.po')) {
|
|
113
|
+
throw new Error('The path should end with .po.');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.PoResourceReaderAdapter = PoResourceReaderAdapter;
|
|
118
|
+
//# sourceMappingURL=PoResourceReaderAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoResourceReaderAdapter.js","sourceRoot":"","sources":["../../../../src/Resources/Readers/Adapter/PoResourceReaderAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { IResourceReaderAdapter } from './Interfaces/IResourceReaderAdapter
|
|
|
2
2
|
import type { IResxResourceInfo } from '../../Models/Interfaces/IResxResourceInfo';
|
|
3
3
|
import { type IFileSystem, type ILogger } from '@breadstone-infrastructure/utilities';
|
|
4
4
|
/**
|
|
5
|
-
* A resource reader adapter that scans directories for
|
|
5
|
+
* A resource reader adapter that scans directories for resx files.
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
@@ -17,7 +17,7 @@ export declare class ResxResourceReaderAdapter implements IResourceReaderAdapter
|
|
|
17
17
|
*/
|
|
18
18
|
constructor(fileSystem: IFileSystem, logger: ILogger);
|
|
19
19
|
/**
|
|
20
|
-
* Scans the specified directory for .
|
|
20
|
+
* Scans the specified directory for .resx files.
|
|
21
21
|
*
|
|
22
22
|
* @public
|
|
23
23
|
* @param path - The path or paths to scan.
|
|
@@ -7,7 +7,7 @@ const ResxResourceInfo_1 = require("../../Models/ResxResourceInfo");
|
|
|
7
7
|
const ResourceType_1 = require("../../Models/Interfaces/ResourceType");
|
|
8
8
|
// #endregion
|
|
9
9
|
/**
|
|
10
|
-
* A resource reader adapter that scans directories for
|
|
10
|
+
* A resource reader adapter that scans directories for resx files.
|
|
11
11
|
*
|
|
12
12
|
* @public
|
|
13
13
|
*/
|
|
@@ -31,7 +31,7 @@ class ResxResourceReaderAdapter {
|
|
|
31
31
|
// #endregion
|
|
32
32
|
// #region Methods
|
|
33
33
|
/**
|
|
34
|
-
* Scans the specified directory for .
|
|
34
|
+
* Scans the specified directory for .resx files.
|
|
35
35
|
*
|
|
36
36
|
* @public
|
|
37
37
|
* @param path - The path or paths to scan.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceReader.d.ts","sourceRoot":"","sources":["../../../src/Resources/Readers/ResourceReader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAQ,KAAK,WAAW,EAAE,KAAK,OAAO,EAAsB,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"ResourceReader.d.ts","sourceRoot":"","sources":["../../../src/Resources/Readers/ResourceReader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAQ,KAAK,WAAW,EAAE,KAAK,OAAO,EAAsB,MAAM,sCAAsC,CAAC;AAKhH;;;;;GAKG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4C;IAMtE;;;;;;OAMG;gBACgB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW;IAa3D;;;;;;;OAOG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;IAgB5F;;;;;;;OAOG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI;CAkB1E"}
|
|
@@ -6,6 +6,7 @@ const JsonResourceReaderAdapter_1 = require("./Adapter/JsonResourceReaderAdapter
|
|
|
6
6
|
const ResourceMode_1 = require("../ResourceMode");
|
|
7
7
|
const ResxResourceReaderAdapter_1 = require("./Adapter/ResxResourceReaderAdapter");
|
|
8
8
|
const utilities_1 = require("@breadstone-infrastructure/utilities");
|
|
9
|
+
const PoResourceReaderAdapter_1 = require("./Adapter/PoResourceReaderAdapter");
|
|
9
10
|
// #endregion
|
|
10
11
|
/**
|
|
11
12
|
* The `ResourceReader` class is responsible for processing resources.
|
|
@@ -32,7 +33,8 @@ class ResourceReader {
|
|
|
32
33
|
this._logger = logger;
|
|
33
34
|
this._adapters = new Map()
|
|
34
35
|
.set(ResourceMode_1.ResourceMode.Json, new JsonResourceReaderAdapter_1.JsonResourceReaderAdapter(this._fileSystem, this._logger))
|
|
35
|
-
.set(ResourceMode_1.ResourceMode.Resx, new ResxResourceReaderAdapter_1.ResxResourceReaderAdapter(this._fileSystem, this._logger))
|
|
36
|
+
.set(ResourceMode_1.ResourceMode.Resx, new ResxResourceReaderAdapter_1.ResxResourceReaderAdapter(this._fileSystem, this._logger))
|
|
37
|
+
.set(ResourceMode_1.ResourceMode.Po, new PoResourceReaderAdapter_1.PoResourceReaderAdapter(this._fileSystem, this._logger));
|
|
36
38
|
}
|
|
37
39
|
// #endregion
|
|
38
40
|
// #region Methods
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceReader.js","sourceRoot":"","sources":["../../../src/Resources/Readers/ResourceReader.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAGlB,mFAAgF;AAEhF,kDAA+C;AAC/C,mFAAgF;AAChF,oEAAgH;
|
|
1
|
+
{"version":3,"file":"ResourceReader.js","sourceRoot":"","sources":["../../../src/Resources/Readers/ResourceReader.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAGlB,mFAAgF;AAEhF,kDAA+C;AAC/C,mFAAgF;AAChF,oEAAgH;AAChH,+EAA4E;AAE5E,aAAa;AAEb;;;;;GAKG;AACH,MAAa,cAAc;IAEvB,iBAAiB;IAEA,WAAW,CAAc;IACzB,OAAO,CAAU;IACjB,SAAS,CAA4C;IAEtE,aAAa;IAEb,eAAe;IAEf;;;;;;OAMG;IACH,YAAmB,MAAe,EAAE,UAAuB;QACvD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAwC;aAC3D,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,IAAI,qDAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACrF,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,IAAI,qDAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACrF,GAAG,CAAC,2BAAY,CAAC,EAAE,EAAE,IAAI,iDAAuB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;;OAOG;IACI,aAAa,CAAC,IAA4B,EAAE,IAAkB;QACjE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,aAAC,EAAA,GAAG,IAAA,mBAAO,EAAC,gBAAgB,IAAA,gBAAI,EAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,aAAC,EAAA,GAAG,IAAA,mBAAO,EAAC,qBAAqB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAM,EAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAElH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACI,QAAQ,CAAC,IAAY,EAAE,IAAkB;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,aAAC,EAAA,GAAG,IAAA,mBAAO,EAAC,gBAAgB,IAAA,gBAAI,EAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,aAAC,EAAA,GAAG,IAAA,mBAAO,EAAC,qBAAqB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,kBAAM,EAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEpG,OAAO,MAAM,CAAC;IAClB,CAAC;CAIJ;AAlFD,wCAkFC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceMode.d.ts","sourceRoot":"","sources":["../../src/Resources/ResourceMode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,YAAY;IAErB;;OAEG;;IAGH;;OAEG;;CAGG,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ResourceMode.d.ts","sourceRoot":"","sources":["../../src/Resources/ResourceMode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,YAAY;IAErB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAGG,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceMode.js","sourceRoot":"","sources":["../../src/Resources/ResourceMode.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,YAAY,GAAG;IAExB;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"ResourceMode.js","sourceRoot":"","sources":["../../src/Resources/ResourceMode.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,YAAY,GAAG;IAExB;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,EAAE,EAAE,IAAI;CAEF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ILogger } from '@breadstone-infrastructure/utilities';
|
|
2
2
|
import type { ResourceAnalyzer } from './Analyzers/ResourceAnalyzer';
|
|
3
|
-
import type {
|
|
3
|
+
import type { IAnalyzerRuleExecutionContext, IAnalyzerRuleResult } from './Analyzers/Tasks/Interfaces/IAnalyzerRule';
|
|
4
4
|
import type { IResourceInfo } from './Models/Interfaces/IResourceInfo';
|
|
5
5
|
import type { ResourceType } from './Models/Interfaces/ResourceType';
|
|
6
6
|
import type { ResourceMode } from './ResourceMode';
|
|
@@ -47,13 +47,13 @@ export declare class ResourceProcessor {
|
|
|
47
47
|
target: ResourceType;
|
|
48
48
|
}): IResourceTransformerResult;
|
|
49
49
|
/**
|
|
50
|
-
* Executes all registered
|
|
50
|
+
* Executes all registered rules using the provided context.
|
|
51
51
|
*
|
|
52
52
|
* @public
|
|
53
53
|
* @param rules - The name of rules to execute. If not specified, all rules are executed
|
|
54
54
|
* @param context - The execution context.
|
|
55
55
|
*/
|
|
56
|
-
analyze(rules: Array<string>, context:
|
|
56
|
+
analyze(rules: Array<string>, context: IAnalyzerRuleExecutionContext): Array<IAnalyzerRuleResult>;
|
|
57
57
|
/**
|
|
58
58
|
* Sorts the specified resources.
|
|
59
59
|
*
|
|
@@ -60,7 +60,7 @@ class ResourceProcessor {
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
|
-
* Executes all registered
|
|
63
|
+
* Executes all registered rules using the provided context.
|
|
64
64
|
*
|
|
65
65
|
* @public
|
|
66
66
|
* @param rules - The name of rules to execute. If not specified, all rules are executed
|
|
@@ -70,7 +70,7 @@ class ResourceProcessor {
|
|
|
70
70
|
const results = [];
|
|
71
71
|
for (const rule of rules) {
|
|
72
72
|
this._logger.info(`Executing rule: ${rule}`);
|
|
73
|
-
const result = this._analyzer.
|
|
73
|
+
const result = this._analyzer.executeRule(rule, context);
|
|
74
74
|
results.push(result);
|
|
75
75
|
}
|
|
76
76
|
return results;
|
|
@@ -2,7 +2,7 @@ import type { IJsonResourceInfo } from '../../Models/Interfaces/IJsonResourceInf
|
|
|
2
2
|
import type { IResourceModel } from '../../Models/Interfaces/IResourceModel';
|
|
3
3
|
import { BaseResourceTransformerAdapter } from './Abstracts/BaseResourceTransformerAdapter';
|
|
4
4
|
/**
|
|
5
|
-
* Class to transform
|
|
5
|
+
* Class to transform json resources.
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
@@ -15,12 +15,5 @@ export declare class JsonResourceTransformerAdapter extends BaseResourceTransfor
|
|
|
15
15
|
* @returns The transformed resource.
|
|
16
16
|
*/
|
|
17
17
|
transform(resource: IJsonResourceInfo): Array<IResourceModel>;
|
|
18
|
-
/**
|
|
19
|
-
* Sets a value in a nested object structure based on a dotted key.
|
|
20
|
-
* @param tree - The object to set the value in.
|
|
21
|
-
* @param memberKey - The dotted key representing the path to the value.
|
|
22
|
-
* @param memberValue - The value to set.
|
|
23
|
-
*/
|
|
24
|
-
private setMemberValue;
|
|
25
18
|
}
|
|
26
19
|
//# sourceMappingURL=JsonResourceTransformerAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonResourceTransformerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAI5F;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,8BAA8B,CAAC,iBAAiB,CAAC;IAIjG;;;;;;OAMG;IACI,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonResourceTransformerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAI5F;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,8BAA8B,CAAC,iBAAiB,CAAC;IAIjG;;;;;;OAMG;IACI,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC;CAyBvE"}
|
|
@@ -5,7 +5,7 @@ exports.JsonResourceTransformerAdapter = void 0;
|
|
|
5
5
|
const BaseResourceTransformerAdapter_1 = require("./Abstracts/BaseResourceTransformerAdapter");
|
|
6
6
|
// #endregion
|
|
7
7
|
/**
|
|
8
|
-
* Class to transform
|
|
8
|
+
* Class to transform json resources.
|
|
9
9
|
*
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
@@ -38,27 +38,6 @@ class JsonResourceTransformerAdapter extends BaseResourceTransformerAdapter_1.Ba
|
|
|
38
38
|
traverse(resource.content());
|
|
39
39
|
return models;
|
|
40
40
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Sets a value in a nested object structure based on a dotted key.
|
|
43
|
-
* @param tree - The object to set the value in.
|
|
44
|
-
* @param memberKey - The dotted key representing the path to the value.
|
|
45
|
-
* @param memberValue - The value to set.
|
|
46
|
-
*/
|
|
47
|
-
setMemberValue(tree, memberKey, memberValue) {
|
|
48
|
-
const members = memberKey.split('.');
|
|
49
|
-
let current = tree;
|
|
50
|
-
members.forEach((member, index) => {
|
|
51
|
-
if (index === members.length - 1) {
|
|
52
|
-
current[member] = memberValue;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
if (!current[member]) {
|
|
56
|
-
current[member] = {};
|
|
57
|
-
}
|
|
58
|
-
current = current[member];
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
41
|
}
|
|
63
42
|
exports.JsonResourceTransformerAdapter = JsonResourceTransformerAdapter;
|
|
64
43
|
//# sourceMappingURL=JsonResourceTransformerAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonResourceTransformerAdapter.js","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAIlB,+FAA4F;AAE5F,aAAa;AAEb;;;;GAIG;AACH,MAAa,8BAA+B,SAAQ,+DAAiD;IAEjG,kBAAkB;IAElB;;;;;;OAMG;IACI,SAAS,CAAC,QAA2B;QACxC,MAAM,MAAM,GAA0B,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,CAAC,GAAwB,EAAE,SAAS,GAAG,EAAE,EAAQ,EAAE;YAChE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACzC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAExD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC9C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC;wBACR,GAAG,EAAE,OAAO;wBACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;wBACpB,OAAO,EAAE,EAAE;qBACd,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonResourceTransformerAdapter.js","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAIlB,+FAA4F;AAE5F,aAAa;AAEb;;;;GAIG;AACH,MAAa,8BAA+B,SAAQ,+DAAiD;IAEjG,kBAAkB;IAElB;;;;;;OAMG;IACI,SAAS,CAAC,QAA2B;QACxC,MAAM,MAAM,GAA0B,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,CAAC,GAAwB,EAAE,SAAS,GAAG,EAAE,EAAQ,EAAE;YAChE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACzC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAExD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC9C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC;wBACR,GAAG,EAAE,OAAO;wBACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;wBACpB,OAAO,EAAE,EAAE;qBACd,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAClB,CAAC;CAIJ;AApCD,wEAoCC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { IPoResourceInfo } from '../../Models/Interfaces/IPoResourceInfo';
|
|
2
|
+
import type { IResourceModel } from '../../Models/Interfaces/IResourceModel';
|
|
3
|
+
import { BaseResourceTransformerAdapter } from './Abstracts/BaseResourceTransformerAdapter';
|
|
4
|
+
/**
|
|
5
|
+
* Class to transform po resources.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare class PoResourceTransformerAdapter extends BaseResourceTransformerAdapter<IPoResourceInfo> {
|
|
10
|
+
/**
|
|
11
|
+
* Transforms the given resource into an array of transform models.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
* @param resource - The resource to transform.
|
|
15
|
+
* @returns The transformed resource.
|
|
16
|
+
*/
|
|
17
|
+
transform(resource: IPoResourceInfo): Array<IResourceModel>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=PoResourceTransformerAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoResourceTransformerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Adapters/PoResourceTransformerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAI5F;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,8BAA8B,CAAC,eAAe,CAAC;IAI7F;;;;;;OAMG;IACI,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC;CAUrE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PoResourceTransformerAdapter = void 0;
|
|
5
|
+
const BaseResourceTransformerAdapter_1 = require("./Abstracts/BaseResourceTransformerAdapter");
|
|
6
|
+
// #endregion
|
|
7
|
+
/**
|
|
8
|
+
* Class to transform po resources.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
class PoResourceTransformerAdapter extends BaseResourceTransformerAdapter_1.BaseResourceTransformerAdapter {
|
|
13
|
+
// #region Imports
|
|
14
|
+
/**
|
|
15
|
+
* Transforms the given resource into an array of transform models.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
* @param resource - The resource to transform.
|
|
19
|
+
* @returns The transformed resource.
|
|
20
|
+
*/
|
|
21
|
+
transform(resource) {
|
|
22
|
+
return resource.content().map((entry) => ({
|
|
23
|
+
key: entry.msgid,
|
|
24
|
+
value: entry.msgstr,
|
|
25
|
+
comment: entry.comments ?? ''
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.PoResourceTransformerAdapter = PoResourceTransformerAdapter;
|
|
30
|
+
//# sourceMappingURL=PoResourceTransformerAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoResourceTransformerAdapter.js","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Adapters/PoResourceTransformerAdapter.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAIlB,+FAA4F;AAE5F,aAAa;AAEb;;;;GAIG;AACH,MAAa,4BAA6B,SAAQ,+DAA+C;IAE7F,kBAAkB;IAElB;;;;;;OAMG;IACI,SAAS,CAAC,QAAyB;QACtC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtC,GAAG,EAAE,KAAK,CAAC,KAAK;YAChB,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;CAIJ;AArBD,oEAqBC"}
|
|
@@ -2,7 +2,7 @@ import type { IResxResourceInfo } from '../../Models/Interfaces/IResxResourceInf
|
|
|
2
2
|
import type { IResourceModel } from '../../Models/Interfaces/IResourceModel';
|
|
3
3
|
import { BaseResourceTransformerAdapter } from './Abstracts/BaseResourceTransformerAdapter';
|
|
4
4
|
/**
|
|
5
|
-
* Class to transform
|
|
5
|
+
* Class to transform resx resources.
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
@@ -5,7 +5,7 @@ exports.ResxResourceTransformerAdapter = void 0;
|
|
|
5
5
|
const BaseResourceTransformerAdapter_1 = require("./Abstracts/BaseResourceTransformerAdapter");
|
|
6
6
|
// #endregion
|
|
7
7
|
/**
|
|
8
|
-
* Class to transform
|
|
8
|
+
* Class to transform resx resources.
|
|
9
9
|
*
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceTransformer.d.ts","sourceRoot":"","sources":["../../../src/Resources/Transformers/ResourceTransformer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAGrG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"ResourceTransformer.d.ts","sourceRoot":"","sources":["../../../src/Resources/Transformers/ResourceTransformer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAGrG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AASxF;;;;GAIG;AACH,qBAAa,mBAAmB;IAI5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyE;IACnG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiE;IAM9F;;;;OAIG;gBACgB,MAAM,EAAE,OAAO;IAmBlC;;;;;;OAMG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,OAAO,EAAE,2BAA2B,CAAC,aAAa,CAAC,GAAG,IAAI;IAItH;;;;;OAKG;IACI,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAInE;;;;;;OAMG;IACI,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,UAAU,EAAE,mBAAmB,CAAC,aAAa,CAAC,GAAG,IAAI;IAIpH;;;;;OAKG;IACI,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAItE;;;;;;;OAOG;IACI,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IAUhE;;;;;;;;OAQG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG;QAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;KAAE,GAAG,aAAa;CAgB5J"}
|
|
@@ -8,6 +8,8 @@ const ResxResourceTransformerAdapter_1 = require("./Adapters/ResxResourceTransfo
|
|
|
8
8
|
const JsonResourceSerializer_1 = require("./Serializers/JsonResourceSerializer");
|
|
9
9
|
const ResxResourceSerializer_1 = require("./Serializers/ResxResourceSerializer");
|
|
10
10
|
const TypescriptResourceSerializer_1 = require("./Serializers/TypescriptResourceSerializer");
|
|
11
|
+
const PoResourceTransformerAdapter_1 = require("./Adapters/PoResourceTransformerAdapter");
|
|
12
|
+
const PoResourceSerializer_1 = require("./Serializers/PoResourceSerializer");
|
|
11
13
|
// #endregion
|
|
12
14
|
/**
|
|
13
15
|
* Handles the transformation of resources by applying adapters and serializers dynamically.
|
|
@@ -30,11 +32,13 @@ class ResourceTransformer {
|
|
|
30
32
|
this._logger = logger;
|
|
31
33
|
this._adapters = new Map()
|
|
32
34
|
.set(ResourceType_1.ResourceType.Json, new JsonResourceTransformerAdapter_1.JsonResourceTransformerAdapter())
|
|
33
|
-
.set(ResourceType_1.ResourceType.Resx, new ResxResourceTransformerAdapter_1.ResxResourceTransformerAdapter())
|
|
35
|
+
.set(ResourceType_1.ResourceType.Resx, new ResxResourceTransformerAdapter_1.ResxResourceTransformerAdapter())
|
|
36
|
+
.set(ResourceType_1.ResourceType.Po, new PoResourceTransformerAdapter_1.PoResourceTransformerAdapter());
|
|
34
37
|
this._serializers = new Map()
|
|
35
38
|
.set(ResourceType_1.ResourceType.Json, new JsonResourceSerializer_1.JsonResourceSerializer())
|
|
36
39
|
.set(ResourceType_1.ResourceType.Resx, new ResxResourceSerializer_1.ResxResourceSerializer())
|
|
37
|
-
.set(ResourceType_1.ResourceType.TypeScript, new TypescriptResourceSerializer_1.TypescriptResourceSerializer())
|
|
40
|
+
.set(ResourceType_1.ResourceType.TypeScript, new TypescriptResourceSerializer_1.TypescriptResourceSerializer())
|
|
41
|
+
.set(ResourceType_1.ResourceType.Po, new PoResourceSerializer_1.PoResourceSerializer());
|
|
38
42
|
}
|
|
39
43
|
// #endregion
|
|
40
44
|
// #region Methods
|
|
@@ -87,7 +91,7 @@ class ResourceTransformer {
|
|
|
87
91
|
transform(resource) {
|
|
88
92
|
const adapter = this._adapters.get(resource.type);
|
|
89
93
|
if (!adapter) {
|
|
90
|
-
throw new Error(`No adapter registered for resource type: ${resource.type}`);
|
|
94
|
+
throw new Error(`[ResourceTransformer]: No adapter registered for resource type: ${resource.type}`);
|
|
91
95
|
}
|
|
92
96
|
return adapter.transform(resource);
|
|
93
97
|
}
|
|
@@ -103,9 +107,14 @@ class ResourceTransformer {
|
|
|
103
107
|
serialize(models, meta) {
|
|
104
108
|
const serializer = this._serializers.get(meta.target);
|
|
105
109
|
if (!serializer) {
|
|
106
|
-
throw new Error(`No serializer registered for target resource type: ${meta.target}`);
|
|
110
|
+
throw new Error(`[ResourceTransformer]: No serializer registered for target resource type: ${meta.target}`);
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
return serializer.serialize(models, meta);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
throw new Error(`[ResourceTransformer]: Failed to serialize resource: ${error.message}`);
|
|
107
117
|
}
|
|
108
|
-
return serializer.serialize(models, meta);
|
|
109
118
|
}
|
|
110
119
|
}
|
|
111
120
|
exports.ResourceTransformer = ResourceTransformer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceTransformer.js","sourceRoot":"","sources":["../../../src/Resources/Transformers/ResourceTransformer.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAKlB,oEAAiE;AAEjE,8FAA2F;AAC3F,8FAA2F;AAE3F,iFAA8E;AAC9E,iFAA8E;AAC9E,6FAA0F;
|
|
1
|
+
{"version":3,"file":"ResourceTransformer.js","sourceRoot":"","sources":["../../../src/Resources/Transformers/ResourceTransformer.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAKlB,oEAAiE;AAEjE,8FAA2F;AAC3F,8FAA2F;AAE3F,iFAA8E;AAC9E,iFAA8E;AAC9E,6FAA0F;AAC1F,0FAAuF;AACvF,6EAA0E;AAE1E,aAAa;AAEb;;;;GAIG;AACH,MAAa,mBAAmB;IAE5B,iBAAiB;IAEA,OAAO,CAAU;IACjB,SAAS,CAAyE;IAClF,YAAY,CAAiE;IAE9F,aAAa;IAEb,sBAAsB;IAEtB;;;;OAIG;IACH,YAAmB,MAAe;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE;aACrB,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,IAAI,+DAA8B,EAAE,CAAC;aAC5D,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,IAAI,+DAA8B,EAAE,CAAC;aAC5D,GAAG,CAAC,2BAAY,CAAC,EAAE,EAAE,IAAI,2DAA4B,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE;aACxB,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,IAAI,+CAAsB,EAAE,CAAC;aACpD,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,IAAI,+CAAsB,EAAE,CAAC;aACpD,GAAG,CAAC,2BAAY,CAAC,UAAU,EAAE,IAAI,2DAA4B,EAAE,CAAC;aAChE,GAAG,CAAC,2BAAY,CAAC,EAAE,EAAE,IAAI,2CAAoB,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;OAMG;IACI,eAAe,CAAC,YAAmC,EAAE,OAAmD;QAC3G,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,YAAmC;QACxD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACI,kBAAkB,CAAC,YAAmC,EAAE,UAA8C;QACzG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACI,oBAAoB,CAAC,YAAmC;QAC3D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CAAC,QAAuB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mEAAmE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACI,SAAS,CAAC,MAA6B,EAAE,IAAyF;QACrI,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,6EAA6E,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChH,CAAC;QAED,IAAI,CAAC;YACD,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;CAIJ;AAzHD,kDAyHC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonResourceSerializer.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Serializers/JsonResourceSerializer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5E;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB,CAAC,iBAAiB,CAAC;IAIjF;;;;;;;OAOG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,iBAAiB;
|
|
1
|
+
{"version":3,"file":"JsonResourceSerializer.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Serializers/JsonResourceSerializer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5E;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB,CAAC,iBAAiB,CAAC;IAIjF;;;;;;;OAOG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,iBAAiB;CAmChI"}
|
|
@@ -25,13 +25,20 @@ class JsonResourceSerializer {
|
|
|
25
25
|
const keys = model.key.split('.');
|
|
26
26
|
let current = output;
|
|
27
27
|
keys.forEach((key, index) => {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
try {
|
|
29
|
+
if (index === keys.length - 1) {
|
|
30
|
+
current[key] = model.value;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
if (current[key] !== undefined && typeof current[key] !== 'object') {
|
|
34
|
+
throw new Error(`[JsonResourceSerializer]: Cannot create nested structure - key "${keys.slice(0, index + 1).join('.')}" already exists as a primitive value "${current[key]}".`);
|
|
35
|
+
}
|
|
36
|
+
current[key] ??= {};
|
|
37
|
+
current = current[key];
|
|
38
|
+
}
|
|
30
39
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
current[key] = current[key] || {};
|
|
34
|
-
current = current[key];
|
|
40
|
+
catch (error) {
|
|
41
|
+
throw new Error(`[JsonResourceSerializer]: Failed to serialize model with key "${model.key}": ${error.message}`);
|
|
35
42
|
}
|
|
36
43
|
});
|
|
37
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonResourceSerializer.js","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Serializers/JsonResourceSerializer.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAIlB,oEAAiE;AAGjE,aAAa;AAEb;;;;GAIG;AACH,MAAa,sBAAsB;IAE/B,kBAAkB;IAElB;;;;;;;OAOG;IACI,SAAS,CAAC,MAA6B,EAAE,IAAyD;QACrG,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,GAAG,MAAM,CAAC;YAErB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACxB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonResourceSerializer.js","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Serializers/JsonResourceSerializer.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAIlB,oEAAiE;AAGjE,aAAa;AAEb;;;;GAIG;AACH,MAAa,sBAAsB;IAE/B,kBAAkB;IAElB;;;;;;;OAOG;IACI,SAAS,CAAC,MAA6B,EAAE,IAAyD;QACrG,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,GAAG,MAAM,CAAC;YAErB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACxB,IAAI,CAAC;oBACD,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC/B,CAAC;yBAAM,CAAC;wBACJ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;4BACjE,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,0CAA0C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACrL,CAAC;wBAED,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;wBACpB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,iEAAiE,KAAK,CAAC,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrH,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,mCAAgB,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM;SACxB,CAAC,CAAC;IACP,CAAC;CAIJ;AA/CD,wDA+CC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { IPoResourceInfo } from '../../Models/Interfaces/IPoResourceInfo';
|
|
2
|
+
import type { IResourceModel } from '../../Models/Interfaces/IResourceModel';
|
|
3
|
+
import type { IResourceSerializer } from './Interfaces/IResourceSerializer';
|
|
4
|
+
/**
|
|
5
|
+
* A class responsible for serializing an array of transform models into a po resource format.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare class PoResourceSerializer implements IResourceSerializer<IPoResourceInfo> {
|
|
10
|
+
/**
|
|
11
|
+
* Serializes an array of transform models into a ResX resource.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
* @param models - The array of transform models to serialize.
|
|
15
|
+
* @param info - The resource info.
|
|
16
|
+
* @returns An instance of `IPoResourceInfo` representing the serialized data.
|
|
17
|
+
*/
|
|
18
|
+
serialize(models: Array<IResourceModel>, info: Pick<IPoResourceInfo, 'name' | 'path' | 'locale'>): IPoResourceInfo;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=PoResourceSerializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoResourceSerializer.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Serializers/PoResourceSerializer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5E;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,mBAAmB,CAAC,eAAe,CAAC;IAI7E;;;;;;;OAOG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,eAAe;CAqB5H"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PoResourceSerializer = void 0;
|
|
5
|
+
const PoResourceInfo_1 = require("../../Models/PoResourceInfo");
|
|
6
|
+
// #endregion
|
|
7
|
+
/**
|
|
8
|
+
* A class responsible for serializing an array of transform models into a po resource format.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
class PoResourceSerializer {
|
|
13
|
+
// #region Methods
|
|
14
|
+
/**
|
|
15
|
+
* Serializes an array of transform models into a ResX resource.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
* @param models - The array of transform models to serialize.
|
|
19
|
+
* @param info - The resource info.
|
|
20
|
+
* @returns An instance of `IPoResourceInfo` representing the serialized data.
|
|
21
|
+
*/
|
|
22
|
+
serialize(models, info) {
|
|
23
|
+
const output = [];
|
|
24
|
+
models.forEach((model) => {
|
|
25
|
+
output.push(model);
|
|
26
|
+
});
|
|
27
|
+
return new PoResourceInfo_1.PoResourceInfo({
|
|
28
|
+
name: info.name,
|
|
29
|
+
path: info.path,
|
|
30
|
+
locale: info.locale,
|
|
31
|
+
content: () => output.map((entry) => ({
|
|
32
|
+
msgid: entry.key,
|
|
33
|
+
msgstr: entry.value,
|
|
34
|
+
comments: entry.comment
|
|
35
|
+
}))
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.PoResourceSerializer = PoResourceSerializer;
|
|
40
|
+
//# sourceMappingURL=PoResourceSerializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PoResourceSerializer.js","sourceRoot":"","sources":["../../../../src/Resources/Transformers/Serializers/PoResourceSerializer.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAIlB,gEAA6D;AAG7D,aAAa;AAEb;;;;GAIG;AACH,MAAa,oBAAoB;IAE7B,kBAAkB;IAElB;;;;;;;OAOG;IACI,SAAS,CAAC,MAA6B,EAAE,IAAuD;QACnG,MAAM,MAAM,GAA0B,EAAE,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,+BAAc,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClC,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,MAAM,EAAE,KAAK,CAAC,KAAK;gBACnB,QAAQ,EAAE,KAAK,CAAC,OAAO;aAC1B,CAAC,CAAC;SACN,CAAC,CAAC;IACP,CAAC;CAIJ;AAjCD,oDAiCC"}
|