@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,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ResourceProcessor = void 0;
|
|
5
|
+
// #endregion
|
|
6
|
+
/**
|
|
7
|
+
* The `ResourceProcessor` class.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
class ResourceProcessor {
|
|
12
|
+
// #region Fields
|
|
13
|
+
_logger;
|
|
14
|
+
_scanner;
|
|
15
|
+
_transformer;
|
|
16
|
+
_analyzer;
|
|
17
|
+
_sorter;
|
|
18
|
+
// #endregion
|
|
19
|
+
// #region Ctor
|
|
20
|
+
/**
|
|
21
|
+
* Constructs a new instance of the `ResourceProcessor` class.
|
|
22
|
+
*
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
constructor(logger, scanner, transformer, analyzer, sorter) {
|
|
26
|
+
this._logger = logger;
|
|
27
|
+
this._scanner = scanner;
|
|
28
|
+
this._transformer = transformer;
|
|
29
|
+
this._analyzer = analyzer;
|
|
30
|
+
this._sorter = sorter;
|
|
31
|
+
}
|
|
32
|
+
// #endregion
|
|
33
|
+
// #region Methods
|
|
34
|
+
/**
|
|
35
|
+
* Scans the specified path for resources.
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
38
|
+
* @param path - The path to scan.
|
|
39
|
+
* @param type - The type of resources to scan.
|
|
40
|
+
* @returns The resource information.
|
|
41
|
+
*/
|
|
42
|
+
scan(path, type) {
|
|
43
|
+
return this._scanner.scan(path, type);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Transforms an input resource dynamically by determining the appropriate adapter and serializer.
|
|
47
|
+
*
|
|
48
|
+
* @public
|
|
49
|
+
* @param resource - The input resource to transform.
|
|
50
|
+
* @param meta - The metadata for the transformation.
|
|
51
|
+
* @returns The transformed resource information.
|
|
52
|
+
* @throws Error if no adapter or serializer is registered for the specified resource type.
|
|
53
|
+
*/
|
|
54
|
+
transform(resource, meta) {
|
|
55
|
+
const models = this._transformer.transform(resource);
|
|
56
|
+
const newResource = this._transformer.serialize(models, meta);
|
|
57
|
+
return {
|
|
58
|
+
originalResource: resource,
|
|
59
|
+
transformedResource: newResource
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Executes all registered tasks using the provided context.
|
|
64
|
+
*
|
|
65
|
+
* @public
|
|
66
|
+
* @param rules - The name of rules to execute. If not specified, all rules are executed
|
|
67
|
+
* @param context - The execution context.
|
|
68
|
+
*/
|
|
69
|
+
analyze(rules, context) {
|
|
70
|
+
const results = [];
|
|
71
|
+
for (const rule of rules) {
|
|
72
|
+
this._logger.info(`Executing rule: ${rule}`);
|
|
73
|
+
const result = this._analyzer.executeTask(rule, context);
|
|
74
|
+
results.push(result);
|
|
75
|
+
}
|
|
76
|
+
return results;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Sorts the specified resources.
|
|
80
|
+
*
|
|
81
|
+
* @public
|
|
82
|
+
* @param resources - The resources to sort.
|
|
83
|
+
* @returns The sorted resources.
|
|
84
|
+
*/
|
|
85
|
+
sort(resources) {
|
|
86
|
+
return this._sorter.sort(resources);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.ResourceProcessor = ResourceProcessor;
|
|
90
|
+
//# sourceMappingURL=ResourceProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceProcessor.js","sourceRoot":"","sources":["../../src/Resources/ResourceProcessor.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAalB,aAAa;AAEb;;;;GAIG;AACH,MAAa,iBAAiB;IAE1B,iBAAiB;IAEA,OAAO,CAAU;IACjB,QAAQ,CAAkB;IAC1B,YAAY,CAAsB;IAClC,SAAS,CAAmB;IAC5B,OAAO,CAAiB;IAEzC,aAAa;IAEb,eAAe;IAEf;;;;OAIG;IACH,YAAmB,MAAe,EAAE,OAAwB,EAAE,WAAgC,EAAE,QAA0B,EAAE,MAAsB;QAC9I,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;;OAOG;IACI,IAAI,CAAC,IAAY,EAAE,IAAkB;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACI,SAAS,CAAC,QAAuB,EAAE,IAAgF;QACtH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE9D,OAAO;YACH,gBAAgB,EAAE,QAAQ;YAC1B,mBAAmB,EAAE,WAAW;SACnC,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACI,OAAO,CAAC,KAAoB,EAAE,OAAsC;QACvE,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACI,IAAI,CAAC,SAA+B;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;CAIJ;AA9FD,8CA8FC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IResourceInfo } from '../../../Models/Interfaces/IResourceInfo';
|
|
2
|
+
/**
|
|
3
|
+
* The `IScannerAdapter` interface defines a scanner adapter.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface IScannerAdapter {
|
|
8
|
+
/**
|
|
9
|
+
* Scans the given path and returns the resource information.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
* @param path - The path to scan.
|
|
13
|
+
* @returns The resource information.
|
|
14
|
+
*/
|
|
15
|
+
scan(path: string): Array<IResourceInfo>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=IScannerAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IScannerAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAI9E;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAI5B;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;CAI5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IScannerAdapter.js","sourceRoot":"","sources":["../../../../../src/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { IScannerAdapter } from './Interfaces/IScannerAdapter';
|
|
2
|
+
import type { IJsonResourceInfo } from '../../Models/Interfaces/IJsonResourceInfo';
|
|
3
|
+
import { type IFileSystem, type ILogger } from '@breadstone-infrastructure/utilities';
|
|
4
|
+
/**
|
|
5
|
+
* The `JsonScannerAdapter` class is responsible for scanning .json files.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare class JsonScannerAdapter implements IScannerAdapter {
|
|
10
|
+
private readonly _fileSystem;
|
|
11
|
+
private readonly _logger;
|
|
12
|
+
private readonly _glob;
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a new instance of the `ResourceScanner` class.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
constructor(fileSystem: IFileSystem, logger: ILogger);
|
|
19
|
+
/**
|
|
20
|
+
* Scans the specified path for .json files.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
* @param path - The path to scan.
|
|
24
|
+
* @returns The resource information.
|
|
25
|
+
*/
|
|
26
|
+
scan(path: string): Array<IJsonResourceInfo>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=JsonScannerAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonScannerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Scanners/Adapter/JsonScannerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAMxG;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAItD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAM/B;;;;OAIG;gBACgB,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO;IAU3D;;;;;;OAMG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC;CA6BtD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.JsonScannerAdapter = void 0;
|
|
5
|
+
const utilities_1 = require("@breadstone-infrastructure/utilities");
|
|
6
|
+
const JsonResourceInfo_1 = require("../../Models/JsonResourceInfo");
|
|
7
|
+
const ResourceType_1 = require("../../Models/Interfaces/ResourceType");
|
|
8
|
+
// #endregion
|
|
9
|
+
/**
|
|
10
|
+
* The `JsonScannerAdapter` class is responsible for scanning .json files.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
class JsonScannerAdapter {
|
|
15
|
+
// #region Fields
|
|
16
|
+
_fileSystem;
|
|
17
|
+
_logger;
|
|
18
|
+
_glob;
|
|
19
|
+
// #endregion
|
|
20
|
+
// #region Ctor
|
|
21
|
+
/**
|
|
22
|
+
* Constructs a new instance of the `ResourceScanner` class.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
constructor(fileSystem, logger) {
|
|
27
|
+
this._fileSystem = fileSystem;
|
|
28
|
+
this._logger = logger;
|
|
29
|
+
this._glob = '**/*.json';
|
|
30
|
+
}
|
|
31
|
+
// #endregion
|
|
32
|
+
// #region Methods
|
|
33
|
+
/**
|
|
34
|
+
* Scans the specified path for .json files.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
* @param path - The path to scan.
|
|
38
|
+
* @returns The resource information.
|
|
39
|
+
*/
|
|
40
|
+
scan(path) {
|
|
41
|
+
const globPath = utilities_1.Path.combine(path, this._glob);
|
|
42
|
+
this._logger.info(` Scanning ${(0, utilities_1.gray)(globPath)}`);
|
|
43
|
+
const scanns = this._fileSystem.glob(globPath).map((file) => {
|
|
44
|
+
this._logger.info(` Scanning ${(0, utilities_1.gray)(utilities_1.Path.getFileName(file))}`);
|
|
45
|
+
const json = this._fileSystem.readAllJson(file);
|
|
46
|
+
this._logger.log(` Found ${(0, utilities_1.bold)(Object.keys(json).toString())} keys in language ${(0, utilities_1.bold)(this._fileSystem.getLocale(file))}`);
|
|
47
|
+
return {
|
|
48
|
+
file: file,
|
|
49
|
+
content: () => json
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
return scanns.map((scan) => new JsonResourceInfo_1.JsonResourceInfo({
|
|
53
|
+
type: ResourceType_1.ResourceType.Json,
|
|
54
|
+
content: scan.content,
|
|
55
|
+
locale: this._fileSystem.getLocale(scan.file),
|
|
56
|
+
name: this._fileSystem.getFileName(scan.file),
|
|
57
|
+
path: scan.file
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.JsonScannerAdapter = JsonScannerAdapter;
|
|
62
|
+
//# sourceMappingURL=JsonScannerAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonScannerAdapter.js","sourceRoot":"","sources":["../../../../src/Resources/Scanners/Adapter/JsonScannerAdapter.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAIlB,oEAAwG;AACxG,oEAAiE;AACjE,uEAAoE;AAEpE,aAAa;AAEb;;;;GAIG;AACH,MAAa,kBAAkB;IAE3B,iBAAiB;IAEA,WAAW,CAAc;IACzB,OAAO,CAAU;IACjB,KAAK,CAAS;IAE/B,aAAa;IAEb,eAAe;IAEf;;;;OAIG;IACH,YAAmB,UAAuB,EAAE,MAAe;QACvD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC7B,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;OAMG;IACI,IAAI,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,gBAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,IAAA,gBAAI,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,IAAA,gBAAI,EAAC,gBAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAA,gBAAI,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,qBAAqB,IAAA,gBAAI,EAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAE7H,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;aACtB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,mCAAgB,CAAC;YAC7C,IAAI,EAAE,2BAAY,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC,CAAC;IACR,CAAC;CAIJ;AA/DD,gDA+DC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { IScannerAdapter } from './Interfaces/IScannerAdapter';
|
|
2
|
+
import type { IResxResourceInfo } from '../../Models/Interfaces/IResxResourceInfo';
|
|
3
|
+
import { type IFileSystem, type ILogger } from '@breadstone-infrastructure/utilities';
|
|
4
|
+
/**
|
|
5
|
+
* The `ResxScannerAdapter` class is responsible for scanning .resx files.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare class ResxScannerAdapter implements IScannerAdapter {
|
|
10
|
+
private readonly _fileSystem;
|
|
11
|
+
private readonly _logger;
|
|
12
|
+
private readonly _glob;
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a new instance of the `ResxScannerAdapter` class.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
constructor(fileSystem: IFileSystem, logger: ILogger);
|
|
19
|
+
/**
|
|
20
|
+
* Scans the specified path for .resx files.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
* @param path - The path to scan.
|
|
24
|
+
* @returns The resource information.
|
|
25
|
+
*/
|
|
26
|
+
scan(path: string): Array<IResxResourceInfo>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ResxScannerAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResxScannerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/Resources/Scanners/Adapter/ResxScannerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAMxG;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAItD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAM/B;;;;OAIG;gBACgB,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO;IAU3D;;;;;;OAMG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC;CA6BtD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ResxScannerAdapter = void 0;
|
|
5
|
+
const utilities_1 = require("@breadstone-infrastructure/utilities");
|
|
6
|
+
const ResxResourceInfo_1 = require("../../Models/ResxResourceInfo");
|
|
7
|
+
const ResourceType_1 = require("../../Models/Interfaces/ResourceType");
|
|
8
|
+
// #endregion
|
|
9
|
+
/**
|
|
10
|
+
* The `ResxScannerAdapter` class is responsible for scanning .resx files.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
class ResxScannerAdapter {
|
|
15
|
+
// #region Fields
|
|
16
|
+
_fileSystem;
|
|
17
|
+
_logger;
|
|
18
|
+
_glob;
|
|
19
|
+
// #endregion
|
|
20
|
+
// #region Ctor
|
|
21
|
+
/**
|
|
22
|
+
* Constructs a new instance of the `ResxScannerAdapter` class.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
constructor(fileSystem, logger) {
|
|
27
|
+
this._fileSystem = fileSystem;
|
|
28
|
+
this._logger = logger;
|
|
29
|
+
this._glob = '**/*.resx';
|
|
30
|
+
}
|
|
31
|
+
// #endregion
|
|
32
|
+
// #region Methods
|
|
33
|
+
/**
|
|
34
|
+
* Scans the specified path for .resx files.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
* @param path - The path to scan.
|
|
38
|
+
* @returns The resource information.
|
|
39
|
+
*/
|
|
40
|
+
scan(path) {
|
|
41
|
+
const globPath = utilities_1.Path.combine(path, this._glob);
|
|
42
|
+
this._logger.log(` Scanning ${(0, utilities_1.gray)(globPath)}`);
|
|
43
|
+
const scanns = this._fileSystem.glob(globPath).map((file) => {
|
|
44
|
+
this._logger.log(` Scanning ${(0, utilities_1.gray)(utilities_1.Path.getFileName(file))}`);
|
|
45
|
+
const resx = this._fileSystem.readAllResx(file);
|
|
46
|
+
this._logger.log(` Found ${(0, utilities_1.bold)(resx.length.toString())} keys in language ${(0, utilities_1.bold)(this._fileSystem.getLocale(file))}`);
|
|
47
|
+
return {
|
|
48
|
+
file: file,
|
|
49
|
+
content: () => resx
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
return scanns.map((scan) => new ResxResourceInfo_1.ResxResourceInfo({
|
|
53
|
+
type: ResourceType_1.ResourceType.Resx,
|
|
54
|
+
content: scan.content,
|
|
55
|
+
locale: this._fileSystem.getLocale(scan.file),
|
|
56
|
+
name: this._fileSystem.getFileName(scan.file),
|
|
57
|
+
path: scan.file
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.ResxScannerAdapter = ResxScannerAdapter;
|
|
62
|
+
//# sourceMappingURL=ResxScannerAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResxScannerAdapter.js","sourceRoot":"","sources":["../../../../src/Resources/Scanners/Adapter/ResxScannerAdapter.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAIlB,oEAAwG;AACxG,oEAAiE;AACjE,uEAAoE;AAEpE,aAAa;AAEb;;;;GAIG;AACH,MAAa,kBAAkB;IAE3B,iBAAiB;IAEA,WAAW,CAAc;IACzB,OAAO,CAAU;IACjB,KAAK,CAAS;IAE/B,aAAa;IAEb,eAAe;IAEf;;;;OAIG;IACH,YAAmB,UAAuB,EAAE,MAAe;QACvD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC7B,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;OAMG;IACI,IAAI,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,gBAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAA,gBAAI,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAA,gBAAI,EAAC,gBAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAA,gBAAI,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,qBAAqB,IAAA,gBAAI,EAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAEvH,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;aACtB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,mCAAgB,CAAC;YAC7C,IAAI,EAAE,2BAAY,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC,CAAC;IACR,CAAC;CAIJ;AA/DD,gDA+DC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { IResourceInfo } from './../Models/Interfaces/IResourceInfo';
|
|
2
|
+
import { ResourceMode } from './../ResourceMode';
|
|
3
|
+
import { type IFileSystem, type ILogger } from '@breadstone-infrastructure/utilities';
|
|
4
|
+
/**
|
|
5
|
+
* The `ResourceProcessor` class is responsible for processing resources.
|
|
6
|
+
* It can be resolves json or resx files.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare class ResourceScanner {
|
|
11
|
+
private readonly _fileSystem;
|
|
12
|
+
private readonly _logger;
|
|
13
|
+
private readonly _adapters;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new instance of `ResourceProcessor`.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
* @param logger - The logger interface.
|
|
19
|
+
* @param fileSystem - The file system interface.
|
|
20
|
+
*/
|
|
21
|
+
constructor(logger: ILogger, fileSystem: IFileSystem);
|
|
22
|
+
/**
|
|
23
|
+
* Scans the specified path for resources.
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
* @param path - The path to scan.
|
|
27
|
+
* @param type - The type of resources to scan for.
|
|
28
|
+
* @returns The resource information.
|
|
29
|
+
*/
|
|
30
|
+
scan(path: string, type: ResourceMode): Array<IResourceInfo>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ResourceScanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceScanner.d.ts","sourceRoot":"","sources":["../../../src/Resources/Scanners/ResourceScanner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAQ,KAAK,WAAW,EAAE,KAAK,OAAO,EAAsB,MAAM,sCAAsC,CAAC;AAIhH;;;;;GAKG;AACH,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAM/D;;;;;;OAMG;gBACgB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW;IAY3D;;;;;;;OAOG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;CAkBtE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ResourceScanner = void 0;
|
|
5
|
+
const JsonScannerAdapter_1 = require("./Adapter/JsonScannerAdapter");
|
|
6
|
+
const ResourceMode_1 = require("./../ResourceMode");
|
|
7
|
+
const ResxScannerAdapter_1 = require("./Adapter/ResxScannerAdapter");
|
|
8
|
+
const utilities_1 = require("@breadstone-infrastructure/utilities");
|
|
9
|
+
// #endregion
|
|
10
|
+
/**
|
|
11
|
+
* The `ResourceProcessor` class is responsible for processing resources.
|
|
12
|
+
* It can be resolves json or resx files.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
class ResourceScanner {
|
|
17
|
+
// #region Fields
|
|
18
|
+
_fileSystem;
|
|
19
|
+
_logger;
|
|
20
|
+
_adapters;
|
|
21
|
+
// #endregion
|
|
22
|
+
// #region Ctor
|
|
23
|
+
/**
|
|
24
|
+
* Creates a new instance of `ResourceProcessor`.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
* @param logger - The logger interface.
|
|
28
|
+
* @param fileSystem - The file system interface.
|
|
29
|
+
*/
|
|
30
|
+
constructor(logger, fileSystem) {
|
|
31
|
+
this._fileSystem = fileSystem;
|
|
32
|
+
this._logger = logger;
|
|
33
|
+
this._adapters = new Map()
|
|
34
|
+
.set(ResourceMode_1.ResourceMode.Json, new JsonScannerAdapter_1.JsonScannerAdapter(this._fileSystem, this._logger))
|
|
35
|
+
.set(ResourceMode_1.ResourceMode.Resx, new ResxScannerAdapter_1.ResxScannerAdapter(this._fileSystem, this._logger));
|
|
36
|
+
}
|
|
37
|
+
// #endregion
|
|
38
|
+
// #region Methods
|
|
39
|
+
/**
|
|
40
|
+
* Scans the specified path for resources.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
* @param path - The path to scan.
|
|
44
|
+
* @param type - The type of resources to scan for.
|
|
45
|
+
* @returns The resource information.
|
|
46
|
+
*/
|
|
47
|
+
scan(path, type) {
|
|
48
|
+
this._logger.log((0, utilities_1.t) `${(0, utilities_1.magenta)(`Scanning for ${(0, utilities_1.bold)(type)} resources...`)}`);
|
|
49
|
+
const adapter = this._adapters.get(type);
|
|
50
|
+
if (!adapter) {
|
|
51
|
+
throw new Error('No adapter found for the specified mode.');
|
|
52
|
+
}
|
|
53
|
+
const result = adapter.scan(path);
|
|
54
|
+
this._logger.log((0, utilities_1.t) `${(0, utilities_1.magenta)(`Scanning complete.${result.length === 0 ? (0, utilities_1.yellow)(' No resources found.') : ''}`)}`);
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.ResourceScanner = ResourceScanner;
|
|
59
|
+
//# sourceMappingURL=ResourceScanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceScanner.js","sourceRoot":"","sources":["../../../src/Resources/Scanners/ResourceScanner.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAGlB,qEAAkE;AAElE,oDAAiD;AACjD,qEAAkE;AAClE,oEAAgH;AAEhH,aAAa;AAEb;;;;;GAKG;AACH,MAAa,eAAe;IAExB,iBAAiB;IAEA,WAAW,CAAc;IACzB,OAAO,CAAU;IACjB,SAAS,CAAqC;IAE/D,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,EAAiC;aACpD,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,IAAI,uCAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9E,GAAG,CAAC,2BAAY,CAAC,IAAI,EAAE,IAAI,uCAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;;OAOG;IACI,IAAI,CAAC,IAAY,EAAE,IAAkB;QACxC,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,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,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;CAIJ;AAzDD,0CAyDC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type IFileSystem, type ILogger } from '@breadstone-infrastructure/utilities';
|
|
2
|
+
import type { IResourceInfo } from '../Models/Interfaces/IResourceInfo';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for the options required to sort resources.
|
|
5
|
+
*/
|
|
6
|
+
export interface IResourceSorterOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Whether to perform a dry run.
|
|
9
|
+
*/
|
|
10
|
+
dryRun: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* The order to sort resources.
|
|
13
|
+
*/
|
|
14
|
+
order: 'asc' | 'desc';
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The `ResourceSorter` class is responsible for sorting resources.
|
|
18
|
+
*/
|
|
19
|
+
export declare class ResourceSorter {
|
|
20
|
+
private readonly _logger;
|
|
21
|
+
private readonly _fileSystem;
|
|
22
|
+
private readonly _options;
|
|
23
|
+
/**
|
|
24
|
+
* Constructs a new ResourceSorter.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
* @param logger - The logger interface.
|
|
28
|
+
* @param fileSystem - The file system interface.
|
|
29
|
+
* @param options - The options for sorting resources.
|
|
30
|
+
*/
|
|
31
|
+
constructor(logger: ILogger, fileSystem: IFileSystem, options: IResourceSorterOptions);
|
|
32
|
+
/**
|
|
33
|
+
* Sorts resource keys in .resx files based on the provided options.
|
|
34
|
+
* @param resources - The resources to sort.
|
|
35
|
+
* @returns The sorted resources.
|
|
36
|
+
*/
|
|
37
|
+
sort(resources: Array<IResourceInfo>): Array<IResourceInfo>;
|
|
38
|
+
/**
|
|
39
|
+
* Sorts a single resource and collects sorting information.
|
|
40
|
+
*
|
|
41
|
+
* @param resource - The resource to sort.
|
|
42
|
+
* @returns The sorted resource and sorting details.
|
|
43
|
+
*/
|
|
44
|
+
private sortResource;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ResourceSorter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceSorter.d.ts","sourceRoot":"","sources":["../../../src/Resources/Sorting/ResourceSorter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,OAAO,EAAc,MAAM,sCAAsC,CAAC;AAC9G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAIxE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IAEnC;;MAEE;IACF,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CAEzB;AAED;;GAEG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAMlD;;;;;;;OAOG;gBACgB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB;IAU5F;;;;OAIG;IACI,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;IA8BlE;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CAyBvB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ResourceSorter = void 0;
|
|
5
|
+
const utilities_1 = require("@breadstone-infrastructure/utilities");
|
|
6
|
+
/**
|
|
7
|
+
* The `ResourceSorter` class is responsible for sorting resources.
|
|
8
|
+
*/
|
|
9
|
+
class ResourceSorter {
|
|
10
|
+
// #region Fields
|
|
11
|
+
_logger;
|
|
12
|
+
_fileSystem;
|
|
13
|
+
_options;
|
|
14
|
+
// #endregion
|
|
15
|
+
// #region Ctor
|
|
16
|
+
/**
|
|
17
|
+
* Constructs a new ResourceSorter.
|
|
18
|
+
*
|
|
19
|
+
* @public
|
|
20
|
+
* @param logger - The logger interface.
|
|
21
|
+
* @param fileSystem - The file system interface.
|
|
22
|
+
* @param options - The options for sorting resources.
|
|
23
|
+
*/
|
|
24
|
+
constructor(logger, fileSystem, options) {
|
|
25
|
+
this._logger = logger;
|
|
26
|
+
this._fileSystem = fileSystem;
|
|
27
|
+
this._options = options;
|
|
28
|
+
}
|
|
29
|
+
// #endregion
|
|
30
|
+
// #region Methods
|
|
31
|
+
/**
|
|
32
|
+
* Sorts resource keys in .resx files based on the provided options.
|
|
33
|
+
* @param resources - The resources to sort.
|
|
34
|
+
* @returns The sorted resources.
|
|
35
|
+
*/
|
|
36
|
+
sort(resources) {
|
|
37
|
+
this._logger.log((0, utilities_1.t) `${(0, utilities_1.magenta)('Sorting resources keys...')}`);
|
|
38
|
+
const sortedResources = new Array();
|
|
39
|
+
for (const resource of resources) {
|
|
40
|
+
this._logger.info(` Sorting ${(0, utilities_1.gray)(resource.name)}`);
|
|
41
|
+
const sortInfo = this.sortResource(resource);
|
|
42
|
+
sortedResources.push(sortInfo.sortedResource);
|
|
43
|
+
if (sortInfo.detail.keysSorted > 0) {
|
|
44
|
+
this._logger.info((0, utilities_1.t) ` ${(0, utilities_1.bold)(resource.name)}: ${sortInfo.detail.keysSorted} key(s) were sorted.`);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this._logger.info((0, utilities_1.t) ` ${(0, utilities_1.bold)(resource.name)}: No keys needed sorting.`);
|
|
48
|
+
}
|
|
49
|
+
if (!this._options.dryRun && sortInfo.detail.keysSorted > 0) {
|
|
50
|
+
this._fileSystem.writeAllText(sortInfo.sortedResource.path, sortInfo.sortedResource.toString());
|
|
51
|
+
this._logger.info(` ${resource.name} ${(0, utilities_1.bold)((0, utilities_1.gray)('Updated'))}`);
|
|
52
|
+
}
|
|
53
|
+
else if (this._options.dryRun) {
|
|
54
|
+
this._logger.log((0, utilities_1.t) `${(0, utilities_1.gray)(' Dry run enabled, skipping...')}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
this._logger.log((0, utilities_1.t) `${(0, utilities_1.magenta)('Resource keys sorted.')}`);
|
|
58
|
+
return sortedResources;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Sorts a single resource and collects sorting information.
|
|
62
|
+
*
|
|
63
|
+
* @param resource - The resource to sort.
|
|
64
|
+
* @returns The sorted resource and sorting details.
|
|
65
|
+
*/
|
|
66
|
+
sortResource(resource) {
|
|
67
|
+
const clonedResource = resource.clone();
|
|
68
|
+
const keysBeforeSort = clonedResource.keys();
|
|
69
|
+
const sortedResource = clonedResource.sort(this._options.order);
|
|
70
|
+
const keysAfterSort = sortedResource.keys();
|
|
71
|
+
const sortedKeysCount = keysBeforeSort.filter((key, index) => key !== keysAfterSort[index]).length;
|
|
72
|
+
return {
|
|
73
|
+
sortedResource: sortedResource,
|
|
74
|
+
detail: {
|
|
75
|
+
resource: resource.name,
|
|
76
|
+
keysSorted: sortedKeysCount
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.ResourceSorter = ResourceSorter;
|
|
82
|
+
//# sourceMappingURL=ResourceSorter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceSorter.js","sourceRoot":"","sources":["../../../src/Resources/Sorting/ResourceSorter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { IResourceInfo } from '../../../Models/Interfaces/IResourceInfo';
|
|
2
|
+
import type { IResourceModel } from '../../../Models/Interfaces/IResourceModel';
|
|
3
|
+
import type { IResourceTransformerAdapter } from '../Interfaces/IResourceTransformerAdapter';
|
|
4
|
+
/**
|
|
5
|
+
* Abstract base class for resource transformations.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
* @abstract
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class BaseResourceTransformerAdapter<T extends IResourceInfo> implements IResourceTransformerAdapter<T> {
|
|
11
|
+
/**
|
|
12
|
+
* Transforms the given resource into an array of transform models.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
* @param resource - The resource to transform.
|
|
16
|
+
* @returns The transformed resource.
|
|
17
|
+
*/
|
|
18
|
+
abstract transform(resource: T): Array<IResourceModel>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=BaseResourceTransformerAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseResourceTransformerAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAI7F;;;;;GAKG;AACH,8BAAsB,8BAA8B,CAAC,CAAC,SAAS,aAAa,CAAE,YAAW,2BAA2B,CAAC,CAAC,CAAC;IAInH;;;;;;OAMG;aACa,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;CAIhE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.BaseResourceTransformerAdapter = void 0;
|
|
5
|
+
// #endregion
|
|
6
|
+
/**
|
|
7
|
+
* Abstract base class for resource transformations.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
* @abstract
|
|
11
|
+
*/
|
|
12
|
+
class BaseResourceTransformerAdapter {
|
|
13
|
+
}
|
|
14
|
+
exports.BaseResourceTransformerAdapter = BaseResourceTransformerAdapter;
|
|
15
|
+
//# sourceMappingURL=BaseResourceTransformerAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseResourceTransformerAdapter.js","sourceRoot":"","sources":["../../../../../src/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAMlB,aAAa;AAEb;;;;;GAKG;AACH,MAAsB,8BAA8B;CAenD;AAfD,wEAeC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { IResourceInfo } from '../../../Models/Interfaces/IResourceInfo';
|
|
2
|
+
import type { IResourceModel } from '../../../Models/Interfaces/IResourceModel';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for resource transformers.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface IResourceTransformerAdapter<T extends IResourceInfo> {
|
|
9
|
+
transform(resource: T): Array<IResourceModel>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=IResourceTransformerAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResourceTransformerAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAIhF;;;;GAIG;AACH,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,aAAa;IAIhE,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;CAIjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResourceTransformerAdapter.js","sourceRoot":"","sources":["../../../../../src/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
|