@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.
Files changed (238) hide show
  1. package/Detectors/Abstracts/BaseDetector.d.ts +81 -0
  2. package/Detectors/Abstracts/BaseDetector.d.ts.map +1 -0
  3. package/Detectors/Abstracts/BaseDetector.js +137 -0
  4. package/Detectors/Abstracts/BaseDetector.js.map +1 -0
  5. package/Detectors/AngularHTMLDetector.d.ts +94 -0
  6. package/Detectors/AngularHTMLDetector.d.ts.map +1 -0
  7. package/Detectors/AngularHTMLDetector.js +123 -0
  8. package/Detectors/AngularHTMLDetector.js.map +1 -0
  9. package/Detectors/Interfaces/IDetector.d.ts +73 -0
  10. package/Detectors/Interfaces/IDetector.d.ts.map +1 -0
  11. package/Detectors/Interfaces/IDetector.js +12 -0
  12. package/Detectors/Interfaces/IDetector.js.map +1 -0
  13. package/Detectors/JSXDetector.d.ts +69 -0
  14. package/Detectors/JSXDetector.d.ts.map +1 -0
  15. package/Detectors/JSXDetector.js +101 -0
  16. package/Detectors/JSXDetector.js.map +1 -0
  17. package/Detectors/JavaScriptDetector.d.ts +74 -0
  18. package/Detectors/JavaScriptDetector.d.ts.map +1 -0
  19. package/Detectors/JavaScriptDetector.js +106 -0
  20. package/Detectors/JavaScriptDetector.js.map +1 -0
  21. package/Detectors/TSXDetector.d.ts +76 -0
  22. package/Detectors/TSXDetector.d.ts.map +1 -0
  23. package/Detectors/TSXDetector.js +101 -0
  24. package/Detectors/TSXDetector.js.map +1 -0
  25. package/Detectors/TypeScriptDetector.d.ts +76 -0
  26. package/Detectors/TypeScriptDetector.d.ts.map +1 -0
  27. package/Detectors/TypeScriptDetector.js +102 -0
  28. package/Detectors/TypeScriptDetector.js.map +1 -0
  29. package/Detectors/Utils.d.ts +41 -0
  30. package/Detectors/Utils.d.ts.map +1 -0
  31. package/Detectors/Utils.js +62 -0
  32. package/Detectors/Utils.js.map +1 -0
  33. package/Detectors/VueDetector.d.ts +60 -0
  34. package/Detectors/VueDetector.d.ts.map +1 -0
  35. package/Detectors/VueDetector.js +108 -0
  36. package/Detectors/VueDetector.js.map +1 -0
  37. package/Formatters/Formatters.d.ts +15 -0
  38. package/Formatters/Formatters.d.ts.map +1 -0
  39. package/Formatters/Formatters.js +34 -0
  40. package/Formatters/Formatters.js.map +1 -0
  41. package/Formatters/Interfaces/IFormatter.d.ts +24 -0
  42. package/Formatters/Interfaces/IFormatter.d.ts.map +1 -0
  43. package/Formatters/Interfaces/IFormatter.js +3 -0
  44. package/Formatters/Interfaces/IFormatter.js.map +1 -0
  45. package/Formatters/JsonFormatter.d.ts +26 -0
  46. package/Formatters/JsonFormatter.d.ts.map +1 -0
  47. package/Formatters/JsonFormatter.js +42 -0
  48. package/Formatters/JsonFormatter.js.map +1 -0
  49. package/Formatters/ResxFormatter.d.ts +26 -0
  50. package/Formatters/ResxFormatter.d.ts.map +1 -0
  51. package/Formatters/ResxFormatter.js +53 -0
  52. package/Formatters/ResxFormatter.js.map +1 -0
  53. package/Index.d.ts +57 -0
  54. package/Index.d.ts.map +1 -0
  55. package/Index.js +86 -0
  56. package/Index.js.map +1 -0
  57. package/LICENSE +21 -0
  58. package/Presets/AngularPreset.d.ts +38 -0
  59. package/Presets/AngularPreset.d.ts.map +1 -0
  60. package/Presets/AngularPreset.js +59 -0
  61. package/Presets/AngularPreset.js.map +1 -0
  62. package/Presets/Interfaces/IFrameworkPreset.d.ts +28 -0
  63. package/Presets/Interfaces/IFrameworkPreset.d.ts.map +1 -0
  64. package/Presets/Interfaces/IFrameworkPreset.js +4 -0
  65. package/Presets/Interfaces/IFrameworkPreset.js.map +1 -0
  66. package/Presets/LitPreset.d.ts +38 -0
  67. package/Presets/LitPreset.d.ts.map +1 -0
  68. package/Presets/LitPreset.js +57 -0
  69. package/Presets/LitPreset.js.map +1 -0
  70. package/Presets/Presets.d.ts +25 -0
  71. package/Presets/Presets.d.ts.map +1 -0
  72. package/Presets/Presets.js +50 -0
  73. package/Presets/Presets.js.map +1 -0
  74. package/Presets/ReactPreset.d.ts +38 -0
  75. package/Presets/ReactPreset.d.ts.map +1 -0
  76. package/Presets/ReactPreset.js +61 -0
  77. package/Presets/ReactPreset.js.map +1 -0
  78. package/Presets/StencilPreset.d.ts +38 -0
  79. package/Presets/StencilPreset.d.ts.map +1 -0
  80. package/Presets/StencilPreset.js +59 -0
  81. package/Presets/StencilPreset.js.map +1 -0
  82. package/Presets/VuePreset.d.ts +38 -0
  83. package/Presets/VuePreset.d.ts.map +1 -0
  84. package/Presets/VuePreset.js +60 -0
  85. package/Presets/VuePreset.js.map +1 -0
  86. package/Resources/Analyzers/ResourceAnalyzer.d.ts +58 -0
  87. package/Resources/Analyzers/ResourceAnalyzer.d.ts.map +1 -0
  88. package/Resources/Analyzers/ResourceAnalyzer.js +119 -0
  89. package/Resources/Analyzers/ResourceAnalyzer.js.map +1 -0
  90. package/Resources/Analyzers/Tasks/DuplicateKeysTask.d.ts +31 -0
  91. package/Resources/Analyzers/Tasks/DuplicateKeysTask.d.ts.map +1 -0
  92. package/Resources/Analyzers/Tasks/DuplicateKeysTask.js +40 -0
  93. package/Resources/Analyzers/Tasks/DuplicateKeysTask.js.map +1 -0
  94. package/Resources/Analyzers/Tasks/EmptyValuesTask.d.ts +31 -0
  95. package/Resources/Analyzers/Tasks/EmptyValuesTask.d.ts.map +1 -0
  96. package/Resources/Analyzers/Tasks/EmptyValuesTask.js +41 -0
  97. package/Resources/Analyzers/Tasks/EmptyValuesTask.js.map +1 -0
  98. package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.d.ts +36 -0
  99. package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.d.ts.map +1 -0
  100. package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.js +4 -0
  101. package/Resources/Analyzers/Tasks/Interfaces/IAnalyzerTask.js.map +1 -0
  102. package/Resources/Analyzers/Tasks/KeyConsistencyTask.d.ts +35 -0
  103. package/Resources/Analyzers/Tasks/KeyConsistencyTask.d.ts.map +1 -0
  104. package/Resources/Analyzers/Tasks/KeyConsistencyTask.js +67 -0
  105. package/Resources/Analyzers/Tasks/KeyConsistencyTask.js.map +1 -0
  106. package/Resources/Analyzers/Tasks/MissingTranslationsTask.d.ts +31 -0
  107. package/Resources/Analyzers/Tasks/MissingTranslationsTask.d.ts.map +1 -0
  108. package/Resources/Analyzers/Tasks/MissingTranslationsTask.js +44 -0
  109. package/Resources/Analyzers/Tasks/MissingTranslationsTask.js.map +1 -0
  110. package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.d.ts +31 -0
  111. package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.d.ts.map +1 -0
  112. package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.js +48 -0
  113. package/Resources/Analyzers/Tasks/MultipleKeyUsageTask.js.map +1 -0
  114. package/Resources/Analyzers/Tasks/UnusedKeysTask.d.ts +31 -0
  115. package/Resources/Analyzers/Tasks/UnusedKeysTask.d.ts.map +1 -0
  116. package/Resources/Analyzers/Tasks/UnusedKeysTask.js +49 -0
  117. package/Resources/Analyzers/Tasks/UnusedKeysTask.js.map +1 -0
  118. package/Resources/Models/Interfaces/IJsonResourceInfo.d.ts +12 -0
  119. package/Resources/Models/Interfaces/IJsonResourceInfo.d.ts.map +1 -0
  120. package/Resources/Models/Interfaces/IJsonResourceInfo.js +4 -0
  121. package/Resources/Models/Interfaces/IJsonResourceInfo.js.map +1 -0
  122. package/Resources/Models/Interfaces/IResourceInfo.d.ts +71 -0
  123. package/Resources/Models/Interfaces/IResourceInfo.d.ts.map +1 -0
  124. package/Resources/Models/Interfaces/IResourceInfo.js +4 -0
  125. package/Resources/Models/Interfaces/IResourceInfo.js.map +1 -0
  126. package/Resources/Models/Interfaces/IResourceModel.d.ts +41 -0
  127. package/Resources/Models/Interfaces/IResourceModel.d.ts.map +1 -0
  128. package/Resources/Models/Interfaces/IResourceModel.js +25 -0
  129. package/Resources/Models/Interfaces/IResourceModel.js.map +1 -0
  130. package/Resources/Models/Interfaces/IResxResourceInfo.d.ts +12 -0
  131. package/Resources/Models/Interfaces/IResxResourceInfo.d.ts.map +1 -0
  132. package/Resources/Models/Interfaces/IResxResourceInfo.js +4 -0
  133. package/Resources/Models/Interfaces/IResxResourceInfo.js.map +1 -0
  134. package/Resources/Models/Interfaces/ITypeScriptResourceInfo.d.ts +11 -0
  135. package/Resources/Models/Interfaces/ITypeScriptResourceInfo.d.ts.map +1 -0
  136. package/Resources/Models/Interfaces/ITypeScriptResourceInfo.js +4 -0
  137. package/Resources/Models/Interfaces/ITypeScriptResourceInfo.js.map +1 -0
  138. package/Resources/Models/Interfaces/ResourceType.d.ts +29 -0
  139. package/Resources/Models/Interfaces/ResourceType.d.ts.map +1 -0
  140. package/Resources/Models/Interfaces/ResourceType.js +45 -0
  141. package/Resources/Models/Interfaces/ResourceType.js.map +1 -0
  142. package/Resources/Models/JsonResourceInfo.d.ts +111 -0
  143. package/Resources/Models/JsonResourceInfo.d.ts.map +1 -0
  144. package/Resources/Models/JsonResourceInfo.js +184 -0
  145. package/Resources/Models/JsonResourceInfo.js.map +1 -0
  146. package/Resources/Models/ResxResourceInfo.d.ts +110 -0
  147. package/Resources/Models/ResxResourceInfo.d.ts.map +1 -0
  148. package/Resources/Models/ResxResourceInfo.js +171 -0
  149. package/Resources/Models/ResxResourceInfo.js.map +1 -0
  150. package/Resources/Models/TypeScriptResourceInfo.d.ts +109 -0
  151. package/Resources/Models/TypeScriptResourceInfo.d.ts.map +1 -0
  152. package/Resources/Models/TypeScriptResourceInfo.js +244 -0
  153. package/Resources/Models/TypeScriptResourceInfo.js.map +1 -0
  154. package/Resources/ResourceFactory.d.ts +39 -0
  155. package/Resources/ResourceFactory.d.ts.map +1 -0
  156. package/Resources/ResourceFactory.js +102 -0
  157. package/Resources/ResourceFactory.js.map +1 -0
  158. package/Resources/ResourceMode.d.ts +14 -0
  159. package/Resources/ResourceMode.d.ts.map +1 -0
  160. package/Resources/ResourceMode.js +18 -0
  161. package/Resources/ResourceMode.js.map +1 -0
  162. package/Resources/ResourceProcessor.d.ts +66 -0
  163. package/Resources/ResourceProcessor.d.ts.map +1 -0
  164. package/Resources/ResourceProcessor.js +90 -0
  165. package/Resources/ResourceProcessor.js.map +1 -0
  166. package/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.d.ts +17 -0
  167. package/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.d.ts.map +1 -0
  168. package/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.js +4 -0
  169. package/Resources/Scanners/Adapter/Interfaces/IScannerAdapter.js.map +1 -0
  170. package/Resources/Scanners/Adapter/JsonScannerAdapter.d.ts +28 -0
  171. package/Resources/Scanners/Adapter/JsonScannerAdapter.d.ts.map +1 -0
  172. package/Resources/Scanners/Adapter/JsonScannerAdapter.js +62 -0
  173. package/Resources/Scanners/Adapter/JsonScannerAdapter.js.map +1 -0
  174. package/Resources/Scanners/Adapter/ResxScannerAdapter.d.ts +28 -0
  175. package/Resources/Scanners/Adapter/ResxScannerAdapter.d.ts.map +1 -0
  176. package/Resources/Scanners/Adapter/ResxScannerAdapter.js +62 -0
  177. package/Resources/Scanners/Adapter/ResxScannerAdapter.js.map +1 -0
  178. package/Resources/Scanners/ResourceScanner.d.ts +32 -0
  179. package/Resources/Scanners/ResourceScanner.d.ts.map +1 -0
  180. package/Resources/Scanners/ResourceScanner.js +59 -0
  181. package/Resources/Scanners/ResourceScanner.js.map +1 -0
  182. package/Resources/Sorting/ResourceSorter.d.ts +46 -0
  183. package/Resources/Sorting/ResourceSorter.d.ts.map +1 -0
  184. package/Resources/Sorting/ResourceSorter.js +82 -0
  185. package/Resources/Sorting/ResourceSorter.js.map +1 -0
  186. package/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.d.ts +20 -0
  187. package/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.d.ts.map +1 -0
  188. package/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.js +15 -0
  189. package/Resources/Transformers/Adapters/Abstracts/BaseResourceTransformerAdapter.js.map +1 -0
  190. package/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.d.ts +11 -0
  191. package/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.d.ts.map +1 -0
  192. package/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.js +4 -0
  193. package/Resources/Transformers/Adapters/Interfaces/IResourceTransformerAdapter.js.map +1 -0
  194. package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.d.ts +26 -0
  195. package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.d.ts.map +1 -0
  196. package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.js +64 -0
  197. package/Resources/Transformers/Adapters/JsonResourceTransformerAdapter.js.map +1 -0
  198. package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.d.ts +19 -0
  199. package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.d.ts.map +1 -0
  200. package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.js +30 -0
  201. package/Resources/Transformers/Adapters/ResxResourceTransformerAdapter.js.map +1 -0
  202. package/Resources/Transformers/Interfaces/IResourceTransformerResult.d.ts +11 -0
  203. package/Resources/Transformers/Interfaces/IResourceTransformerResult.d.ts.map +1 -0
  204. package/Resources/Transformers/Interfaces/IResourceTransformerResult.js +4 -0
  205. package/Resources/Transformers/Interfaces/IResourceTransformerResult.js.map +1 -0
  206. package/Resources/Transformers/ResourceTransformer.d.ts +74 -0
  207. package/Resources/Transformers/ResourceTransformer.d.ts.map +1 -0
  208. package/Resources/Transformers/ResourceTransformer.js +112 -0
  209. package/Resources/Transformers/ResourceTransformer.js.map +1 -0
  210. package/Resources/Transformers/Serializers/Interfaces/IResourceSerializer.d.ts +9 -0
  211. package/Resources/Transformers/Serializers/Interfaces/IResourceSerializer.d.ts.map +1 -0
  212. package/Resources/Transformers/Serializers/Interfaces/IResourceSerializer.js +4 -0
  213. package/Resources/Transformers/Serializers/Interfaces/IResourceSerializer.js.map +1 -0
  214. package/Resources/Transformers/Serializers/JsonResourceSerializer.d.ts +20 -0
  215. package/Resources/Transformers/Serializers/JsonResourceSerializer.d.ts.map +1 -0
  216. package/Resources/Transformers/Serializers/JsonResourceSerializer.js +47 -0
  217. package/Resources/Transformers/Serializers/JsonResourceSerializer.js.map +1 -0
  218. package/Resources/Transformers/Serializers/ResxResourceSerializer.d.ts +20 -0
  219. package/Resources/Transformers/Serializers/ResxResourceSerializer.d.ts.map +1 -0
  220. package/Resources/Transformers/Serializers/ResxResourceSerializer.js +36 -0
  221. package/Resources/Transformers/Serializers/ResxResourceSerializer.js.map +1 -0
  222. package/Resources/Transformers/Serializers/TypescriptResourceSerializer.d.ts +20 -0
  223. package/Resources/Transformers/Serializers/TypescriptResourceSerializer.d.ts.map +1 -0
  224. package/Resources/Transformers/Serializers/TypescriptResourceSerializer.js +36 -0
  225. package/Resources/Transformers/Serializers/TypescriptResourceSerializer.js.map +1 -0
  226. package/Services/DiffService.d.ts +1 -0
  227. package/Services/DiffService.d.ts.map +1 -0
  228. package/Services/DiffService.js +86 -0
  229. package/Services/DiffService.js.map +1 -0
  230. package/Services/KeyGenerator.d.ts +21 -0
  231. package/Services/KeyGenerator.d.ts.map +1 -0
  232. package/Services/KeyGenerator.js +34 -0
  233. package/Services/KeyGenerator.js.map +1 -0
  234. package/Services/LocalizationProcessor.d.ts +83 -0
  235. package/Services/LocalizationProcessor.d.ts.map +1 -0
  236. package/Services/LocalizationProcessor.js +90 -0
  237. package/Services/LocalizationProcessor.js.map +1 -0
  238. 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,4 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=IJsonResourceInfo.js.map
@@ -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,4 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=IResourceInfo.js.map
@@ -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,4 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=IResxResourceInfo.js.map
@@ -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,4 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=ITypeScriptResourceInfo.js.map
@@ -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"}