@breadstone-tools/localizator-core 0.0.12-beta.0
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/Abstracts/BaseDetector.d.ts +81 -0
- package/Detectors/Abstracts/BaseDetector.d.ts.map +1 -0
- package/Detectors/Abstracts/BaseDetector.js +137 -0
- package/Detectors/Abstracts/BaseDetector.js.map +1 -0
- package/Detectors/AngularHTMLDetector.d.ts +94 -0
- package/Detectors/AngularHTMLDetector.d.ts.map +1 -0
- package/Detectors/AngularHTMLDetector.js +123 -0
- package/Detectors/AngularHTMLDetector.js.map +1 -0
- package/Detectors/Interfaces/IDetector.d.ts +73 -0
- package/Detectors/Interfaces/IDetector.d.ts.map +1 -0
- package/Detectors/Interfaces/IDetector.js +12 -0
- package/Detectors/Interfaces/IDetector.js.map +1 -0
- package/Detectors/JSXDetector.d.ts +69 -0
- package/Detectors/JSXDetector.d.ts.map +1 -0
- package/Detectors/JSXDetector.js +101 -0
- package/Detectors/JSXDetector.js.map +1 -0
- package/Detectors/JavaScriptDetector.d.ts +74 -0
- package/Detectors/JavaScriptDetector.d.ts.map +1 -0
- package/Detectors/JavaScriptDetector.js +106 -0
- package/Detectors/JavaScriptDetector.js.map +1 -0
- package/Detectors/TSXDetector.d.ts +76 -0
- package/Detectors/TSXDetector.d.ts.map +1 -0
- package/Detectors/TSXDetector.js +101 -0
- package/Detectors/TSXDetector.js.map +1 -0
- package/Detectors/TypeScriptDetector.d.ts +76 -0
- package/Detectors/TypeScriptDetector.d.ts.map +1 -0
- package/Detectors/TypeScriptDetector.js +102 -0
- package/Detectors/TypeScriptDetector.js.map +1 -0
- package/Detectors/Utils.d.ts +41 -0
- package/Detectors/Utils.d.ts.map +1 -0
- package/Detectors/Utils.js +62 -0
- package/Detectors/Utils.js.map +1 -0
- package/Detectors/VueDetector.d.ts +60 -0
- package/Detectors/VueDetector.d.ts.map +1 -0
- package/Detectors/VueDetector.js +108 -0
- package/Detectors/VueDetector.js.map +1 -0
- package/Formatters/Formatters.d.ts +15 -0
- package/Formatters/Formatters.d.ts.map +1 -0
- package/Formatters/Formatters.js +34 -0
- package/Formatters/Formatters.js.map +1 -0
- package/Formatters/Interfaces/IFormatter.d.ts +24 -0
- package/Formatters/Interfaces/IFormatter.d.ts.map +1 -0
- package/Formatters/Interfaces/IFormatter.js +3 -0
- package/Formatters/Interfaces/IFormatter.js.map +1 -0
- package/Formatters/JsonFormatter.d.ts +26 -0
- package/Formatters/JsonFormatter.d.ts.map +1 -0
- package/Formatters/JsonFormatter.js +42 -0
- package/Formatters/JsonFormatter.js.map +1 -0
- package/Formatters/ResxFormatter.d.ts +26 -0
- package/Formatters/ResxFormatter.d.ts.map +1 -0
- package/Formatters/ResxFormatter.js +53 -0
- package/Formatters/ResxFormatter.js.map +1 -0
- package/Index.d.ts +57 -0
- package/Index.d.ts.map +1 -0
- package/Index.js +86 -0
- package/Index.js.map +1 -0
- package/LICENSE +21 -0
- package/Presets/AngularPreset.d.ts +38 -0
- package/Presets/AngularPreset.d.ts.map +1 -0
- package/Presets/AngularPreset.js +59 -0
- package/Presets/AngularPreset.js.map +1 -0
- package/Presets/Interfaces/IFrameworkPreset.d.ts +28 -0
- package/Presets/Interfaces/IFrameworkPreset.d.ts.map +1 -0
- package/Presets/Interfaces/IFrameworkPreset.js +4 -0
- package/Presets/Interfaces/IFrameworkPreset.js.map +1 -0
- package/Presets/LitPreset.d.ts +38 -0
- package/Presets/LitPreset.d.ts.map +1 -0
- package/Presets/LitPreset.js +57 -0
- package/Presets/LitPreset.js.map +1 -0
- package/Presets/Presets.d.ts +25 -0
- package/Presets/Presets.d.ts.map +1 -0
- package/Presets/Presets.js +50 -0
- package/Presets/Presets.js.map +1 -0
- package/Presets/ReactPreset.d.ts +38 -0
- package/Presets/ReactPreset.d.ts.map +1 -0
- package/Presets/ReactPreset.js +61 -0
- package/Presets/ReactPreset.js.map +1 -0
- package/Presets/StencilPreset.d.ts +38 -0
- package/Presets/StencilPreset.d.ts.map +1 -0
- package/Presets/StencilPreset.js +59 -0
- package/Presets/StencilPreset.js.map +1 -0
- package/Presets/VuePreset.d.ts +38 -0
- package/Presets/VuePreset.d.ts.map +1 -0
- package/Presets/VuePreset.js +60 -0
- package/Presets/VuePreset.js.map +1 -0
- package/Resources/Analyzers/ResourceAnalyzer.d.ts +58 -0
- package/Resources/Analyzers/ResourceAnalyzer.d.ts.map +1 -0
- package/Resources/Analyzers/ResourceAnalyzer.js +119 -0
- package/Resources/Analyzers/ResourceAnalyzer.js.map +1 -0
- package/Resources/Analyzers/Tasks/DuplicateKeysTask.d.ts +31 -0
- package/Resources/Analyzers/Tasks/DuplicateKeysTask.d.ts.map +1 -0
- package/Resources/Analyzers/Tasks/DuplicateKeysTask.js +40 -0
- package/Resources/Analyzers/Tasks/DuplicateKeysTask.js.map +1 -0
- package/Resources/Analyzers/Tasks/EmptyValuesTask.d.ts +31 -0
- package/Resources/Analyzers/Tasks/EmptyValuesTask.d.ts.map +1 -0
- package/Resources/Analyzers/Tasks/EmptyValuesTask.js +41 -0
- package/Resources/Analyzers/Tasks/EmptyValuesTask.js.map +1 -0
- package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.d.ts +36 -0
- package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.d.ts.map +1 -0
- package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.js +4 -0
- package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.js.map +1 -0
- package/Resources/Analyzers/Tasks/KeyConsistencyTask.d.ts +35 -0
- package/Resources/Analyzers/Tasks/KeyConsistencyTask.d.ts.map +1 -0
- package/Resources/Analyzers/Tasks/KeyConsistencyTask.js +67 -0
- package/Resources/Analyzers/Tasks/KeyConsistencyTask.js.map +1 -0
- package/Resources/Analyzers/Tasks/MissingTranslationsTask.d.ts +31 -0
- package/Resources/Analyzers/Tasks/MissingTranslationsTask.d.ts.map +1 -0
- package/Resources/Analyzers/Tasks/MissingTranslationsTask.js +44 -0
- package/Resources/Analyzers/Tasks/MissingTranslationsTask.js.map +1 -0
- package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.d.ts +31 -0
- package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.d.ts.map +1 -0
- package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.js +48 -0
- package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.js.map +1 -0
- package/Resources/Analyzers/Tasks/UnusedKeysTask.d.ts +31 -0
- package/Resources/Analyzers/Tasks/UnusedKeysTask.d.ts.map +1 -0
- package/Resources/Analyzers/Tasks/UnusedKeysTask.js +49 -0
- package/Resources/Analyzers/Tasks/UnusedKeysTask.js.map +1 -0
- package/Resources/Models/Interfaces/IJsonResourceInfo.d.ts +12 -0
- package/Resources/Models/Interfaces/IJsonResourceInfo.d.ts.map +1 -0
- package/Resources/Models/Interfaces/IJsonResourceInfo.js +4 -0
- package/Resources/Models/Interfaces/IJsonResourceInfo.js.map +1 -0
- package/Resources/Models/Interfaces/IResourceInfo.d.ts +71 -0
- package/Resources/Models/Interfaces/IResourceInfo.d.ts.map +1 -0
- package/Resources/Models/Interfaces/IResourceInfo.js +4 -0
- package/Resources/Models/Interfaces/IResourceInfo.js.map +1 -0
- package/Resources/Models/Interfaces/IResourceModel.d.ts +41 -0
- package/Resources/Models/Interfaces/IResourceModel.d.ts.map +1 -0
- package/Resources/Models/Interfaces/IResourceModel.js +25 -0
- package/Resources/Models/Interfaces/IResourceModel.js.map +1 -0
- package/Resources/Models/Interfaces/IResxResourceInfo.d.ts +12 -0
- package/Resources/Models/Interfaces/IResxResourceInfo.d.ts.map +1 -0
- package/Resources/Models/Interfaces/IResxResourceInfo.js +4 -0
- package/Resources/Models/Interfaces/IResxResourceInfo.js.map +1 -0
- package/Resources/Models/Interfaces/ITypeScriptResourceInfo.d.ts +11 -0
- package/Resources/Models/Interfaces/ITypeScriptResourceInfo.d.ts.map +1 -0
- package/Resources/Models/Interfaces/ITypeScriptResourceInfo.js +4 -0
- package/Resources/Models/Interfaces/ITypeScriptResourceInfo.js.map +1 -0
- package/Resources/Models/Interfaces/ResourceType.d.ts +29 -0
- package/Resources/Models/Interfaces/ResourceType.d.ts.map +1 -0
- package/Resources/Models/Interfaces/ResourceType.js +45 -0
- package/Resources/Models/Interfaces/ResourceType.js.map +1 -0
- package/Resources/Models/JsonResourceInfo.d.ts +111 -0
- package/Resources/Models/JsonResourceInfo.d.ts.map +1 -0
- package/Resources/Models/JsonResourceInfo.js +184 -0
- package/Resources/Models/JsonResourceInfo.js.map +1 -0
- package/Resources/Models/ResxResourceInfo.d.ts +110 -0
- package/Resources/Models/ResxResourceInfo.d.ts.map +1 -0
- package/Resources/Models/ResxResourceInfo.js +171 -0
- package/Resources/Models/ResxResourceInfo.js.map +1 -0
- package/Resources/Models/TypeScriptResourceInfo.d.ts +109 -0
- package/Resources/Models/TypeScriptResourceInfo.d.ts.map +1 -0
- package/Resources/Models/TypeScriptResourceInfo.js +244 -0
- package/Resources/Models/TypeScriptResourceInfo.js.map +1 -0
- package/Resources/ResourceFactory.d.ts +39 -0
- package/Resources/ResourceFactory.d.ts.map +1 -0
- package/Resources/ResourceFactory.js +102 -0
- package/Resources/ResourceFactory.js.map +1 -0
- package/Resources/ResourceMode.d.ts +14 -0
- package/Resources/ResourceMode.d.ts.map +1 -0
- package/Resources/ResourceMode.js +18 -0
- package/Resources/ResourceMode.js.map +1 -0
- package/Resources/ResourceProcessor.d.ts +66 -0
- package/Resources/ResourceProcessor.d.ts.map +1 -0
- package/Resources/ResourceProcessor.js +90 -0
- package/Resources/ResourceProcessor.js.map +1 -0
- package/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.d.ts +17 -0
- package/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.d.ts.map +1 -0
- package/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.js +4 -0
- package/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.js.map +1 -0
- package/Resources/Scanners/Adapter/JsonScannerAdapter.d.ts +28 -0
- package/Resources/Scanners/Adapter/JsonScannerAdapter.d.ts.map +1 -0
- package/Resources/Scanners/Adapter/JsonScannerAdapter.js +62 -0
- package/Resources/Scanners/Adapter/JsonScannerAdapter.js.map +1 -0
- package/Resources/Scanners/Adapter/ResxScannerAdapter.d.ts +28 -0
- package/Resources/Scanners/Adapter/ResxScannerAdapter.d.ts.map +1 -0
- package/Resources/Scanners/Adapter/ResxScannerAdapter.js +62 -0
- package/Resources/Scanners/Adapter/ResxScannerAdapter.js.map +1 -0
- package/Resources/Scanners/ResourceScanner.d.ts +32 -0
- package/Resources/Scanners/ResourceScanner.d.ts.map +1 -0
- package/Resources/Scanners/ResourceScanner.js +59 -0
- package/Resources/Scanners/ResourceScanner.js.map +1 -0
- package/Resources/Sorting/ResourceSorter.d.ts +46 -0
- package/Resources/Sorting/ResourceSorter.d.ts.map +1 -0
- package/Resources/Sorting/ResourceSorter.js +82 -0
- package/Resources/Sorting/ResourceSorter.js.map +1 -0
- package/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.d.ts +20 -0
- package/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.d.ts.map +1 -0
- package/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.js +15 -0
- package/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.js.map +1 -0
- package/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.d.ts +11 -0
- package/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.d.ts.map +1 -0
- package/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.js +4 -0
- package/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.js.map +1 -0
- package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.d.ts +26 -0
- package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.d.ts.map +1 -0
- package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.js +64 -0
- package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.js.map +1 -0
- package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.d.ts +19 -0
- package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.d.ts.map +1 -0
- package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.js +30 -0
- package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.js.map +1 -0
- package/Resources/Transformers/Interfaces/IResourceTransformerResult.d.ts +11 -0
- package/Resources/Transformers/Interfaces/IResourceTransformerResult.d.ts.map +1 -0
- package/Resources/Transformers/Interfaces/IResourceTransformerResult.js +4 -0
- package/Resources/Transformers/Interfaces/IResourceTransformerResult.js.map +1 -0
- package/Resources/Transformers/ResourceTransformer.d.ts +74 -0
- package/Resources/Transformers/ResourceTransformer.d.ts.map +1 -0
- package/Resources/Transformers/ResourceTransformer.js +112 -0
- package/Resources/Transformers/ResourceTransformer.js.map +1 -0
- package/Resources/Transformers/Serializers/Interfaces/IResourceSerializer.d.ts +9 -0
- package/Resources/Transformers/Serializers/Interfaces/IResourceSerializer.d.ts.map +1 -0
- package/Resources/Transformers/Serializers/Interfaces/IResourceSerializer.js +4 -0
- package/Resources/Transformers/Serializers/Interfaces/IResourceSerializer.js.map +1 -0
- package/Resources/Transformers/Serializers/JsonResourceSerializer.d.ts +20 -0
- package/Resources/Transformers/Serializers/JsonResourceSerializer.d.ts.map +1 -0
- package/Resources/Transformers/Serializers/JsonResourceSerializer.js +47 -0
- package/Resources/Transformers/Serializers/JsonResourceSerializer.js.map +1 -0
- package/Resources/Transformers/Serializers/ResxResourceSerializer.d.ts +20 -0
- package/Resources/Transformers/Serializers/ResxResourceSerializer.d.ts.map +1 -0
- package/Resources/Transformers/Serializers/ResxResourceSerializer.js +36 -0
- package/Resources/Transformers/Serializers/ResxResourceSerializer.js.map +1 -0
- package/Resources/Transformers/Serializers/TypescriptResourceSerializer.d.ts +20 -0
- package/Resources/Transformers/Serializers/TypescriptResourceSerializer.d.ts.map +1 -0
- package/Resources/Transformers/Serializers/TypescriptResourceSerializer.js +36 -0
- package/Resources/Transformers/Serializers/TypescriptResourceSerializer.js.map +1 -0
- package/Services/DiffService.d.ts +1 -0
- package/Services/DiffService.d.ts.map +1 -0
- package/Services/DiffService.js +86 -0
- package/Services/DiffService.js.map +1 -0
- package/Services/KeyGenerator.d.ts +21 -0
- package/Services/KeyGenerator.d.ts.map +1 -0
- package/Services/KeyGenerator.js +34 -0
- package/Services/KeyGenerator.js.map +1 -0
- package/Services/LocalizationProcessor.d.ts +83 -0
- package/Services/LocalizationProcessor.d.ts.map +1 -0
- package/Services/LocalizationProcessor.js +90 -0
- package/Services/LocalizationProcessor.js.map +1 -0
- package/package.json +19 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.KeyConsistencyTask = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Task to check key consistency across resources.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
class KeyConsistencyTask {
|
|
11
|
+
/**
|
|
12
|
+
* Executes the key consistency check.
|
|
13
|
+
*
|
|
14
|
+
* @param context - The execution context containing resources and parameters.
|
|
15
|
+
* @returns The task result with information about missing keys and empty locales.
|
|
16
|
+
*/
|
|
17
|
+
execute(context) {
|
|
18
|
+
const allKeysSet = new Set();
|
|
19
|
+
const localeKeyMap = new Map();
|
|
20
|
+
const resultData = [];
|
|
21
|
+
let success = true;
|
|
22
|
+
// Aggregate all keys and populate the locale-key map
|
|
23
|
+
const values = context.resource.values();
|
|
24
|
+
const keys = context.resource.keys();
|
|
25
|
+
if (values.length === 0) {
|
|
26
|
+
resultData.push({
|
|
27
|
+
locale: context.resource.locale,
|
|
28
|
+
missingKeys: [],
|
|
29
|
+
isEmpty: true
|
|
30
|
+
});
|
|
31
|
+
success = false;
|
|
32
|
+
}
|
|
33
|
+
const keySet = new Set(keys);
|
|
34
|
+
localeKeyMap.set(context.resource.locale, keySet);
|
|
35
|
+
keySet.forEach((key) => allKeysSet.add(key));
|
|
36
|
+
// Analyze missing keys for each locale
|
|
37
|
+
for (const [k, v] of localeKeyMap.entries()) {
|
|
38
|
+
const missingKeys = Array.from(allKeysSet).filter((key) => !v.has(key));
|
|
39
|
+
if (missingKeys.length > 0) {
|
|
40
|
+
resultData.push({
|
|
41
|
+
locale: k,
|
|
42
|
+
missingKeys,
|
|
43
|
+
isEmpty: false
|
|
44
|
+
});
|
|
45
|
+
success = false;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
resultData.push({
|
|
49
|
+
locale: k,
|
|
50
|
+
missingKeys: [],
|
|
51
|
+
isEmpty: false
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const message = success
|
|
56
|
+
? 'All locales have consistent keys and no empty values.'
|
|
57
|
+
: 'Some locales have missing keys or are empty.';
|
|
58
|
+
return {
|
|
59
|
+
resource: context.resource,
|
|
60
|
+
success,
|
|
61
|
+
message,
|
|
62
|
+
data: resultData
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.KeyConsistencyTask = KeyConsistencyTask;
|
|
67
|
+
//# sourceMappingURL=KeyConsistencyTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyConsistencyTask.js","sourceRoot":"","sources":["../../../../src/Resources/Analyzers/Tasks/KeyConsistencyTask.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AA8BlB;;;;GAIG;AACH,MAAa,kBAAkB;IAE3B;;;;;OAKG;IACI,OAAO,CAAC,OAAsC;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QACpD,MAAM,UAAU,GAAyC,EAAE,CAAC;QAC5D,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,qDAAqD;QACrD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAErC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,CAAC;QACrC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7C,uCAAuC;QACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACxE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,UAAU,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,CAAC;oBACT,WAAW;oBACX,OAAO,EAAE,KAAK;iBACjB,CAAC,CAAC;gBACH,OAAO,GAAG,KAAK,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,UAAU,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,EAAE;oBACf,OAAO,EAAE,KAAK;iBACjB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,OAAO;YACnB,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,8CAA8C,CAAC;QAErD,OAAO;YACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,IAAI,EAAE,UAAU;SACnB,CAAC;IACN,CAAC;CAEJ;AA9DD,gDA8DC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IAnalyzerTask, IAnalyzerTaskExecutionContext, IAnalyzerTaskResult } from './Interfaces/IAnalyzerTask';
|
|
2
|
+
/**
|
|
3
|
+
* Represents the result data for missing translations analysis.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface IMissingTranslationsTaskResultData {
|
|
8
|
+
/**
|
|
9
|
+
* The locale of the resource where missing translations were found.
|
|
10
|
+
*/
|
|
11
|
+
locale: string;
|
|
12
|
+
/**
|
|
13
|
+
* The list of keys missing translations in the resource.
|
|
14
|
+
*/
|
|
15
|
+
missingKeys: Array<string>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Task to check for missing translations across resources.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export declare class MissingTranslationsTask implements IAnalyzerTask<Array<IMissingTranslationsTaskResultData>> {
|
|
23
|
+
/**
|
|
24
|
+
* Executes the missing translations check.
|
|
25
|
+
*
|
|
26
|
+
* @param context - The execution context containing resources and parameters.
|
|
27
|
+
* @returns The task result with missing translation information.
|
|
28
|
+
*/
|
|
29
|
+
execute(context: IAnalyzerTaskExecutionContext): IAnalyzerTaskResult<Array<IMissingTranslationsTaskResultData>>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=MissingTranslationsTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MissingTranslationsTask.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Analyzers/Tasks/MissingTranslationsTask.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIpH;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IAI/C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAI9B;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,aAAa,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAEpG;;;;;OAKG;IACI,OAAO,CAAC,OAAO,EAAE,6BAA6B,GAAG,mBAAmB,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;CA+BzH"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MissingTranslationsTask = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Task to check for missing translations across resources.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
class MissingTranslationsTask {
|
|
11
|
+
/**
|
|
12
|
+
* Executes the missing translations check.
|
|
13
|
+
*
|
|
14
|
+
* @param context - The execution context containing resources and parameters.
|
|
15
|
+
* @returns The task result with missing translation information.
|
|
16
|
+
*/
|
|
17
|
+
execute(context) {
|
|
18
|
+
const allKeysSet = new Set();
|
|
19
|
+
const results = [];
|
|
20
|
+
let success = true;
|
|
21
|
+
// Collect all unique keys across resources
|
|
22
|
+
context.resource.keys().forEach((key) => allKeysSet.add(key));
|
|
23
|
+
// Identify missing translations
|
|
24
|
+
const missingKeys = Array.from(allKeysSet).filter((key) => !context.resource.keys().includes(key));
|
|
25
|
+
if (missingKeys.length > 0) {
|
|
26
|
+
results.push({
|
|
27
|
+
locale: context.resource.locale,
|
|
28
|
+
missingKeys
|
|
29
|
+
});
|
|
30
|
+
success = false;
|
|
31
|
+
}
|
|
32
|
+
const message = success
|
|
33
|
+
? 'All resources have complete translations.'
|
|
34
|
+
: `Some resources are missing translations for ${missingKeys.length} key(s).`;
|
|
35
|
+
return {
|
|
36
|
+
resource: context.resource,
|
|
37
|
+
success,
|
|
38
|
+
message,
|
|
39
|
+
data: results
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.MissingTranslationsTask = MissingTranslationsTask;
|
|
44
|
+
//# sourceMappingURL=MissingTranslationsTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MissingTranslationsTask.js","sourceRoot":"","sources":["../../../../src/Resources/Analyzers/Tasks/MissingTranslationsTask.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AA6BlB;;;;GAIG;AACH,MAAa,uBAAuB;IAEhC;;;;;OAKG;IACI,OAAO,CAAC,OAAsC;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,OAAO,GAA8C,EAAE,CAAC;QAC9D,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,2CAA2C;QAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9D,gCAAgC;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,WAAW;aACd,CAAC,CAAC;YACH,OAAO,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,MAAM,OAAO,GAAG,OAAO;YACnB,CAAC,CAAC,2CAA2C;YAC7C,CAAC,CAAC,+CAA+C,WAAW,CAAC,MAAM,UAAU,CAAC;QAElF,OAAO;YACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,IAAI,EAAE,OAAO;SAChB,CAAC;IACN,CAAC;CAEJ;AAvCD,0DAuCC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IAnalyzerTask, IAnalyzerTaskExecutionContext, IAnalyzerTaskResult } from './Interfaces/IAnalyzerTask';
|
|
2
|
+
/**
|
|
3
|
+
* Represents the result data for multiple key usage analysis.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface IMultipleKeyUsageTaskResultData {
|
|
8
|
+
/**
|
|
9
|
+
* The locale of the resource where keys were used multiple times.
|
|
10
|
+
*/
|
|
11
|
+
locale: string;
|
|
12
|
+
/**
|
|
13
|
+
* The list of keys that are used multiple times in the resource.
|
|
14
|
+
*/
|
|
15
|
+
multipleUsageKeys: Array<string>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Task to detect keys that are used more than once within a resource.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export declare class MultipleKeyUsageTask implements IAnalyzerTask<Array<IMultipleKeyUsageTaskResultData>> {
|
|
23
|
+
/**
|
|
24
|
+
* Executes the multiple key usage check.
|
|
25
|
+
*
|
|
26
|
+
* @param context - The execution context containing resources and parameters.
|
|
27
|
+
* @returns The task result containing information about keys used multiple times.
|
|
28
|
+
*/
|
|
29
|
+
execute(context: IAnalyzerTaskExecutionContext): IAnalyzerTaskResult<Array<IMultipleKeyUsageTaskResultData>>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=MultipleKeyUsageTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultipleKeyUsageTask.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Analyzers/Tasks/MultipleKeyUsageTask.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIpH;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAE5C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAEpC;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,aAAa,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAI9F;;;;;OAKG;IACI,OAAO,CAAC,OAAO,EAAE,6BAA6B,GAAG,mBAAmB,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;CAqCtH"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MultipleKeyUsageTask = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Task to detect keys that are used more than once within a resource.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
class MultipleKeyUsageTask {
|
|
11
|
+
// #region Methods
|
|
12
|
+
/**
|
|
13
|
+
* Executes the multiple key usage check.
|
|
14
|
+
*
|
|
15
|
+
* @param context - The execution context containing resources and parameters.
|
|
16
|
+
* @returns The task result containing information about keys used multiple times.
|
|
17
|
+
*/
|
|
18
|
+
execute(context) {
|
|
19
|
+
const results = [];
|
|
20
|
+
let success = true;
|
|
21
|
+
let message = 'No keys are used multiple times in resources.';
|
|
22
|
+
const keyUsageCount = {};
|
|
23
|
+
// Count occurrences of each key
|
|
24
|
+
context.resource.keys().forEach((key) => {
|
|
25
|
+
keyUsageCount[key] = (keyUsageCount[key] || 0) + 1;
|
|
26
|
+
});
|
|
27
|
+
// Identify keys with multiple usages
|
|
28
|
+
const multipleUsageKeys = Object.entries(keyUsageCount)
|
|
29
|
+
.filter(([, count]) => count > 1)
|
|
30
|
+
.map(([key]) => key);
|
|
31
|
+
if (multipleUsageKeys.length > 0) {
|
|
32
|
+
results.push({
|
|
33
|
+
locale: context.resource.locale,
|
|
34
|
+
multipleUsageKeys
|
|
35
|
+
});
|
|
36
|
+
success = false;
|
|
37
|
+
message = `Resource '${context.resource.locale}' has keys used multiple times: ${multipleUsageKeys.join(', ')}.`;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
resource: context.resource,
|
|
41
|
+
success,
|
|
42
|
+
message,
|
|
43
|
+
data: results
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.MultipleKeyUsageTask = MultipleKeyUsageTask;
|
|
48
|
+
//# sourceMappingURL=MultipleKeyUsageTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultipleKeyUsageTask.js","sourceRoot":"","sources":["../../../../src/Resources/Analyzers/Tasks/MultipleKeyUsageTask.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAyBlB;;;;GAIG;AACH,MAAa,oBAAoB;IAE7B,kBAAkB;IAElB;;;;;OAKG;IACI,OAAO,CAAC,OAAsC;QACjD,MAAM,OAAO,GAA2C,EAAE,CAAC;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,OAAO,GAAG,+CAA+C,CAAC;QAE9D,MAAM,aAAa,GAA2B,EAAE,CAAC;QAEjD,gCAAgC;QAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,iBAAiB;aACpB,CAAC,CAAC;YAEH,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,GAAG,aAAa,OAAO,CAAC,QAAQ,CAAC,MAAM,mCAAmC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACrH,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,IAAI,EAAE,OAAO;SAChB,CAAC;IACN,CAAC;CAIJ;AA/CD,oDA+CC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IAnalyzerTask, IAnalyzerTaskExecutionContext, IAnalyzerTaskResult } from './Interfaces/IAnalyzerTask';
|
|
2
|
+
/**
|
|
3
|
+
* Represents the result data for unused keys analysis.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface IUnusedKeysTaskResultData {
|
|
8
|
+
/**
|
|
9
|
+
* The locale of the resource where unused keys were found.
|
|
10
|
+
*/
|
|
11
|
+
locale: string;
|
|
12
|
+
/**
|
|
13
|
+
* The list of unused keys in the resource.
|
|
14
|
+
*/
|
|
15
|
+
unusedKeys: Array<string>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Task to check for unused keys in resources.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export declare class UnusedKeysTask implements IAnalyzerTask<Array<IUnusedKeysTaskResultData>> {
|
|
23
|
+
/**
|
|
24
|
+
* Executes the unused keys check.
|
|
25
|
+
*
|
|
26
|
+
* @param context - The execution context containing resources and parameters.
|
|
27
|
+
* @returns The task result containing information about unused keys.
|
|
28
|
+
*/
|
|
29
|
+
execute(context: IAnalyzerTaskExecutionContext): IAnalyzerTaskResult<Array<IUnusedKeysTaskResultData>>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=UnusedKeysTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnusedKeysTask.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Analyzers/Tasks/UnusedKeysTask.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIpH;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IAEtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAE7B;AAED;;;;GAIG;AACH,qBAAa,cAAe,YAAW,aAAa,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAElF;;;;;OAKG;IACI,OAAO,CAAC,OAAO,EAAE,6BAA6B,GAAG,mBAAmB,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;CAqChH"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.UnusedKeysTask = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Task to check for unused keys in resources.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
class UnusedKeysTask {
|
|
11
|
+
/**
|
|
12
|
+
* Executes the unused keys check.
|
|
13
|
+
*
|
|
14
|
+
* @param context - The execution context containing resources and parameters.
|
|
15
|
+
* @returns The task result containing information about unused keys.
|
|
16
|
+
*/
|
|
17
|
+
execute(context) {
|
|
18
|
+
const usedKeys = context.parameters.usedKeys;
|
|
19
|
+
if (!usedKeys) {
|
|
20
|
+
throw new Error('Missing "usedKeys" parameter in execution context.');
|
|
21
|
+
}
|
|
22
|
+
const results = [];
|
|
23
|
+
const unusedKeys = context.resource.keys().filter((key) => {
|
|
24
|
+
const isUsed = usedKeys.includes(key);
|
|
25
|
+
if (isUsed) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
});
|
|
30
|
+
let success = true;
|
|
31
|
+
let message = 'No unused keys found in resources.';
|
|
32
|
+
if (unusedKeys.length > 0) {
|
|
33
|
+
results.push({
|
|
34
|
+
locale: context.resource.locale,
|
|
35
|
+
unusedKeys: unusedKeys
|
|
36
|
+
});
|
|
37
|
+
success = false;
|
|
38
|
+
message = `Unused keys found in resource '${context.resource.locale}': ${unusedKeys.length}`;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
resource: context.resource,
|
|
42
|
+
success,
|
|
43
|
+
message,
|
|
44
|
+
data: results
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.UnusedKeysTask = UnusedKeysTask;
|
|
49
|
+
//# sourceMappingURL=UnusedKeysTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnusedKeysTask.js","sourceRoot":"","sources":["../../../../src/Resources/Analyzers/Tasks/UnusedKeysTask.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAyBlB;;;;GAIG;AACH,MAAa,cAAc;IAEvB;;;;;OAKG;IACI,OAAO,CAAC,OAAsC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAqC,CAAC;QAC1E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,OAAO,GAAqC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,OAAO,GAAG,oCAAoC,CAAC;QAEnD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,UAAU,EAAE,UAAU;aACzB,CAAC,CAAC;YACH,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,GAAG,kCAAkC,OAAO,CAAC,QAAQ,CAAC,MAAM,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;QACjG,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,IAAI,EAAE,OAAO;SAChB,CAAC;IACN,CAAC;CAEJ;AA7CD,wCA6CC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { JSONObject } from '@breadstone-infrastructure/utilities';
|
|
2
|
+
import type { IResourceInfo } from './IResourceInfo';
|
|
3
|
+
import type { ResourceType } from './ResourceType';
|
|
4
|
+
/**
|
|
5
|
+
* The `IJsonResourceInfo` interface represents a json resource.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface IJsonResourceInfo extends IResourceInfo<JSONObject> {
|
|
10
|
+
readonly type: ResourceType.Json;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=IJsonResourceInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IJsonResourceInfo.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/IJsonResourceInfo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa,CAAC,UAAU,CAAC;IAIhE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;CAIpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IJsonResourceInfo.js","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/IJsonResourceInfo.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ResourceType } from './ResourceType';
|
|
2
|
+
/**
|
|
3
|
+
* Type for resource content function
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export type ResourceContentFn<TContent = unknown> = () => TContent;
|
|
8
|
+
/**
|
|
9
|
+
* Interface for resource info
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export interface IResourceInfo<TContent = unknown> {
|
|
14
|
+
/**
|
|
15
|
+
* The name of the resource
|
|
16
|
+
*/
|
|
17
|
+
readonly name: string;
|
|
18
|
+
/**
|
|
19
|
+
* The path of the resource
|
|
20
|
+
*/
|
|
21
|
+
readonly path: string;
|
|
22
|
+
/**
|
|
23
|
+
* The locale of the resource
|
|
24
|
+
*/
|
|
25
|
+
readonly locale: string;
|
|
26
|
+
/**
|
|
27
|
+
* The type of the resource
|
|
28
|
+
*/
|
|
29
|
+
readonly type: ResourceType | string;
|
|
30
|
+
/**
|
|
31
|
+
* The data of the resource
|
|
32
|
+
*/
|
|
33
|
+
readonly content: ResourceContentFn<TContent>;
|
|
34
|
+
/**
|
|
35
|
+
* The flag to indicate if the resource is virtual
|
|
36
|
+
*/
|
|
37
|
+
readonly isVirtual: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Get the keys of the resource
|
|
40
|
+
*/
|
|
41
|
+
keys(): Array<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Get the values of the resource
|
|
44
|
+
*/
|
|
45
|
+
values(): Array<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Get the entries of the resource
|
|
48
|
+
*/
|
|
49
|
+
entries(): Array<[string, string]>;
|
|
50
|
+
/**
|
|
51
|
+
* Clone the resource
|
|
52
|
+
*/
|
|
53
|
+
clone(): this;
|
|
54
|
+
/**
|
|
55
|
+
* Copy the resource
|
|
56
|
+
*
|
|
57
|
+
* @param resource - The resource to copy
|
|
58
|
+
*/
|
|
59
|
+
copy(resource: Pick<IResourceInfo, 'name' | 'path' | 'locale' | 'type' | 'content' | 'isVirtual'>): this;
|
|
60
|
+
/**
|
|
61
|
+
* Sort the resource
|
|
62
|
+
*
|
|
63
|
+
* @param order - The order to sort resources
|
|
64
|
+
*/
|
|
65
|
+
sort(order: 'asc' | 'desc'): this;
|
|
66
|
+
/**
|
|
67
|
+
* Convert the resource to string
|
|
68
|
+
*/
|
|
69
|
+
toString(): string;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=IResourceInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResourceInfo.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/IResourceInfo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,QAAQ,GAAG,OAAO,IAAI,MAAM,QAAQ,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,QAAQ,GAAG,OAAO;IAI7C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE9C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAM5B;;OAEG;IACH,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtB;;OAEG;IACH,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACH,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;OAIG;IACH,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAEzG;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;CAItB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResourceInfo.js","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/IResourceInfo.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for the resource model.
|
|
3
|
+
*
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface IResourceModel {
|
|
7
|
+
/**
|
|
8
|
+
* The key of the transform model
|
|
9
|
+
*/
|
|
10
|
+
readonly key: string;
|
|
11
|
+
/**
|
|
12
|
+
* The value of the transform model
|
|
13
|
+
*/
|
|
14
|
+
readonly value: string;
|
|
15
|
+
/**
|
|
16
|
+
* The comment of the transform model
|
|
17
|
+
*/
|
|
18
|
+
readonly comment: string;
|
|
19
|
+
}
|
|
20
|
+
export declare const RESOURCE_MODEL_SCHEMA: {
|
|
21
|
+
readonly $schema: "http://json-schema.org/draft-07/schema#";
|
|
22
|
+
readonly title: "ResourceModel";
|
|
23
|
+
readonly type: "object";
|
|
24
|
+
readonly properties: {
|
|
25
|
+
readonly key: {
|
|
26
|
+
readonly type: "string";
|
|
27
|
+
readonly description: "The key of the transform model";
|
|
28
|
+
};
|
|
29
|
+
readonly value: {
|
|
30
|
+
readonly type: "string";
|
|
31
|
+
readonly description: "The value of the transform model";
|
|
32
|
+
};
|
|
33
|
+
readonly comment: {
|
|
34
|
+
readonly type: "string";
|
|
35
|
+
readonly description: "The comment of the transform model";
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
readonly required: readonly ["key", "value", "comment"];
|
|
39
|
+
readonly additionalProperties: false;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=IResourceModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResourceModel.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/IResourceModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAI3B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAI5B;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;CAoBxB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESOURCE_MODEL_SCHEMA = void 0;
|
|
4
|
+
exports.RESOURCE_MODEL_SCHEMA = {
|
|
5
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
6
|
+
title: 'ResourceModel',
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
key: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
description: 'The key of the transform model'
|
|
12
|
+
},
|
|
13
|
+
value: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'The value of the transform model'
|
|
16
|
+
},
|
|
17
|
+
comment: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
description: 'The comment of the transform model'
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
required: ['key', 'value', 'comment'],
|
|
23
|
+
additionalProperties: false
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=IResourceModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResourceModel.js","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/IResourceModel.ts"],"names":[],"mappings":";;;AA4Ba,QAAA,qBAAqB,GAAG;IACjC,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gCAAgC;SAChD;QACD,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;SAClD;QACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oCAAoC;SACpD;KACJ;IACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;IACrC,oBAAoB,EAAE,KAAK;CACrB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IResxEntry } from '@breadstone-infrastructure/utilities';
|
|
2
|
+
import type { IResourceInfo } from './IResourceInfo';
|
|
3
|
+
import type { ResourceType } from './ResourceType';
|
|
4
|
+
/**
|
|
5
|
+
* The `IResxResourceInfo` interface represents a resx resource.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface IResxResourceInfo extends IResourceInfo<Array<IResxEntry>> {
|
|
10
|
+
readonly type: ResourceType.Resx;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=IResxResourceInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResxResourceInfo.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/IResxResourceInfo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAIvE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;CAIpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResxResourceInfo.js","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/IResxResourceInfo.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { IResourceInfo } from './IResourceInfo';
|
|
2
|
+
import type { ResourceType } from './ResourceType';
|
|
3
|
+
/**
|
|
4
|
+
* The `ITypeScriptResourceInfo` interface represents a typescript resource.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface ITypeScriptResourceInfo extends IResourceInfo<Record<string, string>> {
|
|
9
|
+
readonly type: ResourceType.TypeScript;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ITypeScriptResourceInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITypeScriptResourceInfo.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/ITypeScriptResourceInfo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIlF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;CAI1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITypeScriptResourceInfo.js","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/ITypeScriptResourceInfo.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ResourceType` - Enum which describes possible options.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum ResourceType {
|
|
5
|
+
/**
|
|
6
|
+
* `json` - Represents a json resource.
|
|
7
|
+
*/
|
|
8
|
+
Json = "json",
|
|
9
|
+
/**
|
|
10
|
+
* `resx` - Represents a resx resource.
|
|
11
|
+
*/
|
|
12
|
+
Resx = "resx",
|
|
13
|
+
/**
|
|
14
|
+
* `ts` - Represents a typescript resource.
|
|
15
|
+
*/
|
|
16
|
+
TypeScript = "ts"
|
|
17
|
+
}
|
|
18
|
+
export declare namespace ResourceType {
|
|
19
|
+
/**
|
|
20
|
+
* Gets the resource type from a file path.
|
|
21
|
+
*
|
|
22
|
+
* @param filePath - The file path.
|
|
23
|
+
* @returns The resource type.
|
|
24
|
+
*
|
|
25
|
+
* @throws Error if the resource type is not supported.
|
|
26
|
+
*/
|
|
27
|
+
function formFile(filePath: string): ResourceType;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ResourceType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceType.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Models/Interfaces/ResourceType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,YAAY;IAEpB;;OAEG;IACH,IAAI,SAAS;IAEb;;OAEG;IACH,IAAI,SAAS;IAEb;;OAEG;IACH,UAAU,OAAO;CAEpB;AAED,yBAAiB,YAAY,CAAC;IAE1B;;;;;;;OAOG;IACH,SAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAYvD;CAEJ"}
|