@fgv/ts-res 5.0.0-3 → 5.0.0-30

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 (362) hide show
  1. package/README.md +794 -137
  2. package/dist/ts-res.d.ts +2344 -187
  3. package/dist/tsdoc-metadata.json +1 -1
  4. package/eslint.config.js +16 -0
  5. package/lib/index.d.ts +11 -2
  6. package/lib/index.js +25 -2
  7. package/lib/packlets/bundle/bundleBuilder.d.ts +41 -0
  8. package/lib/packlets/bundle/bundleBuilder.js +134 -0
  9. package/lib/packlets/bundle/bundleLoader.d.ts +72 -0
  10. package/lib/packlets/bundle/bundleLoader.js +105 -0
  11. package/lib/packlets/bundle/bundleNormalizer.d.ts +73 -0
  12. package/lib/packlets/bundle/bundleNormalizer.js +142 -0
  13. package/lib/packlets/bundle/bundleUtils.d.ts +70 -0
  14. package/lib/packlets/bundle/bundleUtils.js +117 -0
  15. package/lib/packlets/bundle/convert.d.ts +33 -0
  16. package/lib/packlets/bundle/convert.js +78 -0
  17. package/lib/packlets/bundle/index.d.ts +21 -0
  18. package/lib/packlets/bundle/index.js +83 -0
  19. package/lib/packlets/bundle/model.d.ts +100 -0
  20. package/lib/packlets/bundle/model.js +24 -0
  21. package/lib/packlets/common/convert.d.ts +10 -0
  22. package/lib/packlets/common/convert.js +11 -1
  23. package/lib/packlets/common/helpers/resources.d.ts +7 -0
  24. package/lib/packlets/common/helpers/resources.js +12 -0
  25. package/lib/packlets/common/resources.d.ts +48 -1
  26. package/lib/packlets/common/validate/regularExpressions.d.ts +4 -0
  27. package/lib/packlets/common/validate/regularExpressions.js +5 -1
  28. package/lib/packlets/common/validate/resources.d.ts +35 -1
  29. package/lib/packlets/common/validate/resources.js +54 -0
  30. package/lib/packlets/conditions/conditionSet.d.ts +9 -0
  31. package/lib/packlets/conditions/conditionSet.js +74 -1
  32. package/lib/packlets/config/configInitFactory.d.ts +217 -0
  33. package/lib/packlets/config/configInitFactory.js +302 -0
  34. package/lib/packlets/config/convert.d.ts +9 -0
  35. package/lib/packlets/config/convert.js +12 -1
  36. package/lib/packlets/config/index.d.ts +1 -0
  37. package/lib/packlets/config/index.js +1 -0
  38. package/lib/packlets/config/json.d.ts +1 -1
  39. package/lib/packlets/config/systemConfiguration.d.ts +16 -3
  40. package/lib/packlets/config/systemConfiguration.js +19 -40
  41. package/lib/packlets/import/fsItem.js +8 -13
  42. package/lib/packlets/import/importers/jsonImporter.js +1 -0
  43. package/lib/packlets/qualifier-types/config/convert.d.ts +22 -1
  44. package/lib/packlets/qualifier-types/config/convert.js +67 -2
  45. package/lib/packlets/qualifier-types/config/json.d.ts +24 -2
  46. package/lib/packlets/qualifier-types/config/json.js +11 -0
  47. package/lib/packlets/qualifier-types/convert.d.ts +1 -1
  48. package/lib/packlets/qualifier-types/helpers.d.ts +14 -5
  49. package/lib/packlets/qualifier-types/helpers.js +2 -2
  50. package/lib/packlets/qualifier-types/languageQualifierType.d.ts +28 -2
  51. package/lib/packlets/qualifier-types/languageQualifierType.js +73 -0
  52. package/lib/packlets/qualifier-types/literalQualifierType.d.ts +31 -5
  53. package/lib/packlets/qualifier-types/literalQualifierType.js +75 -0
  54. package/lib/packlets/qualifier-types/literalValueHierarchy.d.ts +7 -11
  55. package/lib/packlets/qualifier-types/literalValueHierarchy.js +11 -1
  56. package/lib/packlets/qualifier-types/qualifierType.d.ts +31 -2
  57. package/lib/packlets/qualifier-types/territoryQualifierType.d.ts +31 -5
  58. package/lib/packlets/qualifier-types/territoryQualifierType.js +77 -0
  59. package/lib/packlets/qualifiers/qualifierCollector.js +1 -2
  60. package/lib/packlets/resource-json/compiled/convert.js +2 -1
  61. package/lib/packlets/resource-json/compiled/json.d.ts +6 -2
  62. package/lib/packlets/resource-types/config/convert.d.ts +1 -1
  63. package/lib/packlets/resource-types/config/convert.js +3 -1
  64. package/lib/packlets/resource-types/config/json.d.ts +3 -1
  65. package/lib/packlets/resource-types/jsonResourceType.d.ts +14 -5
  66. package/lib/packlets/resource-types/jsonResourceType.js +8 -4
  67. package/lib/packlets/resource-types/resourceType.d.ts +115 -14
  68. package/lib/packlets/resource-types/resourceType.js +39 -3
  69. package/lib/packlets/resources/candidateValue.d.ts +92 -0
  70. package/lib/packlets/resources/candidateValue.js +128 -0
  71. package/lib/packlets/resources/candidateValueCollector.d.ts +55 -0
  72. package/lib/packlets/resources/candidateValueCollector.js +96 -0
  73. package/lib/packlets/resources/common.d.ts +26 -0
  74. package/lib/packlets/resources/index.d.ts +2 -0
  75. package/lib/packlets/resources/index.js +2 -0
  76. package/lib/packlets/resources/resource.d.ts +6 -6
  77. package/lib/packlets/resources/resource.js +5 -10
  78. package/lib/packlets/resources/resourceBuilder.d.ts +6 -0
  79. package/lib/packlets/resources/resourceBuilder.js +3 -1
  80. package/lib/packlets/resources/resourceCandidate.d.ts +15 -2
  81. package/lib/packlets/resources/resourceCandidate.js +17 -5
  82. package/lib/packlets/resources/resourceManagerBuilder.d.ts +189 -11
  83. package/lib/packlets/resources/resourceManagerBuilder.js +478 -17
  84. package/lib/packlets/runtime/cacheListener.d.ts +9 -0
  85. package/lib/packlets/runtime/cacheListener.js +6 -0
  86. package/lib/packlets/runtime/cacheMetrics.d.ts +6 -0
  87. package/lib/packlets/runtime/cacheMetrics.js +11 -0
  88. package/lib/packlets/runtime/compiledResourceCollection.d.ts +23 -11
  89. package/lib/packlets/runtime/compiledResourceCollection.js +32 -4
  90. package/lib/packlets/runtime/iResourceManager.d.ts +13 -5
  91. package/lib/packlets/runtime/index.d.ts +1 -0
  92. package/lib/packlets/runtime/index.js +1 -0
  93. package/lib/packlets/runtime/resource-tree/common.d.ts +1 -1
  94. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.d.ts +7 -7
  95. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.js +5 -5
  96. package/lib/packlets/runtime/resourceResolver.d.ts +60 -1
  97. package/lib/packlets/runtime/resourceResolver.js +84 -45
  98. package/lib/packlets/runtime/resourceTreeResolver.d.ts +152 -0
  99. package/lib/packlets/runtime/resourceTreeResolver.js +222 -0
  100. package/lib/packlets/runtime/validate.js +1 -0
  101. package/lib/packlets/zip-archive/convert.d.ts +52 -0
  102. package/lib/packlets/zip-archive/convert.js +103 -0
  103. package/lib/packlets/zip-archive/index.d.ts +23 -0
  104. package/lib/packlets/zip-archive/index.js +95 -0
  105. package/lib/packlets/zip-archive/json.d.ts +64 -0
  106. package/lib/packlets/zip-archive/json.js +24 -0
  107. package/lib/packlets/zip-archive/types.d.ts +98 -0
  108. package/lib/packlets/zip-archive/types.js +39 -0
  109. package/lib/packlets/zip-archive/zipArchiveCreator.d.ts +35 -0
  110. package/lib/packlets/zip-archive/zipArchiveCreator.js +194 -0
  111. package/lib/packlets/zip-archive/zipArchiveFormat.d.ts +70 -0
  112. package/lib/packlets/zip-archive/zipArchiveFormat.js +184 -0
  113. package/lib/packlets/zip-archive/zipArchiveLoader.d.ts +70 -0
  114. package/lib/packlets/zip-archive/zipArchiveLoader.js +285 -0
  115. package/package.json +26 -32
  116. package/CLAUDE.md +0 -186
  117. package/EXAMPLE_INIT_PARAMS.md +0 -88
  118. package/PROGRESS_SUMMARY.md +0 -48
  119. package/lib/index.d.ts.map +0 -1
  120. package/lib/index.js.map +0 -1
  121. package/lib/packlets/common/conditions.d.ts.map +0 -1
  122. package/lib/packlets/common/conditions.js.map +0 -1
  123. package/lib/packlets/common/convert.d.ts.map +0 -1
  124. package/lib/packlets/common/convert.js.map +0 -1
  125. package/lib/packlets/common/helpers/conditions.d.ts.map +0 -1
  126. package/lib/packlets/common/helpers/conditions.js.map +0 -1
  127. package/lib/packlets/common/helpers/context.d.ts.map +0 -1
  128. package/lib/packlets/common/helpers/context.js.map +0 -1
  129. package/lib/packlets/common/helpers/index.d.ts.map +0 -1
  130. package/lib/packlets/common/helpers/index.js.map +0 -1
  131. package/lib/packlets/common/helpers/qualifierDefaultValues.d.ts.map +0 -1
  132. package/lib/packlets/common/helpers/qualifierDefaultValues.js.map +0 -1
  133. package/lib/packlets/common/helpers/resources.d.ts.map +0 -1
  134. package/lib/packlets/common/helpers/resources.js.map +0 -1
  135. package/lib/packlets/common/index.d.ts.map +0 -1
  136. package/lib/packlets/common/index.js.map +0 -1
  137. package/lib/packlets/common/resources.d.ts.map +0 -1
  138. package/lib/packlets/common/resources.js.map +0 -1
  139. package/lib/packlets/common/validate/conditions.d.ts.map +0 -1
  140. package/lib/packlets/common/validate/conditions.js.map +0 -1
  141. package/lib/packlets/common/validate/index.d.ts.map +0 -1
  142. package/lib/packlets/common/validate/index.js.map +0 -1
  143. package/lib/packlets/common/validate/regularExpressions.d.ts.map +0 -1
  144. package/lib/packlets/common/validate/regularExpressions.js.map +0 -1
  145. package/lib/packlets/common/validate/resources.d.ts.map +0 -1
  146. package/lib/packlets/common/validate/resources.js.map +0 -1
  147. package/lib/packlets/conditions/condition.d.ts.map +0 -1
  148. package/lib/packlets/conditions/condition.js.map +0 -1
  149. package/lib/packlets/conditions/conditionCollector.d.ts.map +0 -1
  150. package/lib/packlets/conditions/conditionCollector.js.map +0 -1
  151. package/lib/packlets/conditions/conditionDecls.d.ts.map +0 -1
  152. package/lib/packlets/conditions/conditionDecls.js.map +0 -1
  153. package/lib/packlets/conditions/conditionSet.d.ts.map +0 -1
  154. package/lib/packlets/conditions/conditionSet.js.map +0 -1
  155. package/lib/packlets/conditions/conditionSetCollector.d.ts.map +0 -1
  156. package/lib/packlets/conditions/conditionSetCollector.js.map +0 -1
  157. package/lib/packlets/conditions/conditionSetDecls.d.ts.map +0 -1
  158. package/lib/packlets/conditions/conditionSetDecls.js.map +0 -1
  159. package/lib/packlets/conditions/conditionToken.d.ts.map +0 -1
  160. package/lib/packlets/conditions/conditionToken.js.map +0 -1
  161. package/lib/packlets/conditions/convert/conditionSetDecls.d.ts.map +0 -1
  162. package/lib/packlets/conditions/convert/conditionSetDecls.js.map +0 -1
  163. package/lib/packlets/conditions/convert/decls.d.ts.map +0 -1
  164. package/lib/packlets/conditions/convert/decls.js.map +0 -1
  165. package/lib/packlets/conditions/convert/index.d.ts.map +0 -1
  166. package/lib/packlets/conditions/convert/index.js.map +0 -1
  167. package/lib/packlets/conditions/index.d.ts.map +0 -1
  168. package/lib/packlets/conditions/index.js.map +0 -1
  169. package/lib/packlets/config/common.d.ts.map +0 -1
  170. package/lib/packlets/config/common.js.map +0 -1
  171. package/lib/packlets/config/convert.d.ts.map +0 -1
  172. package/lib/packlets/config/convert.js.map +0 -1
  173. package/lib/packlets/config/index.d.ts.map +0 -1
  174. package/lib/packlets/config/index.js.map +0 -1
  175. package/lib/packlets/config/json.d.ts.map +0 -1
  176. package/lib/packlets/config/json.js.map +0 -1
  177. package/lib/packlets/config/predefined/default.d.ts.map +0 -1
  178. package/lib/packlets/config/predefined/default.js.map +0 -1
  179. package/lib/packlets/config/predefined/extended.d.ts.map +0 -1
  180. package/lib/packlets/config/predefined/extended.js.map +0 -1
  181. package/lib/packlets/config/predefined/index.d.ts.map +0 -1
  182. package/lib/packlets/config/predefined/index.js.map +0 -1
  183. package/lib/packlets/config/systemConfiguration.d.ts.map +0 -1
  184. package/lib/packlets/config/systemConfiguration.js.map +0 -1
  185. package/lib/packlets/context/contextDecls.d.ts.map +0 -1
  186. package/lib/packlets/context/contextDecls.js.map +0 -1
  187. package/lib/packlets/context/contextToken.d.ts.map +0 -1
  188. package/lib/packlets/context/contextToken.js.map +0 -1
  189. package/lib/packlets/context/convert/decls.d.ts.map +0 -1
  190. package/lib/packlets/context/convert/decls.js.map +0 -1
  191. package/lib/packlets/context/convert/index.d.ts.map +0 -1
  192. package/lib/packlets/context/convert/index.js.map +0 -1
  193. package/lib/packlets/context/index.d.ts.map +0 -1
  194. package/lib/packlets/context/index.js.map +0 -1
  195. package/lib/packlets/decisions/abstractDecision.d.ts.map +0 -1
  196. package/lib/packlets/decisions/abstractDecision.js.map +0 -1
  197. package/lib/packlets/decisions/abstractDecisionCollector.d.ts.map +0 -1
  198. package/lib/packlets/decisions/abstractDecisionCollector.js.map +0 -1
  199. package/lib/packlets/decisions/candidate.d.ts.map +0 -1
  200. package/lib/packlets/decisions/candidate.js.map +0 -1
  201. package/lib/packlets/decisions/common.d.ts.map +0 -1
  202. package/lib/packlets/decisions/common.js.map +0 -1
  203. package/lib/packlets/decisions/concreteDecision.d.ts.map +0 -1
  204. package/lib/packlets/decisions/concreteDecision.js.map +0 -1
  205. package/lib/packlets/decisions/decision.d.ts.map +0 -1
  206. package/lib/packlets/decisions/decision.js.map +0 -1
  207. package/lib/packlets/decisions/index.d.ts.map +0 -1
  208. package/lib/packlets/decisions/index.js.map +0 -1
  209. package/lib/packlets/import/fsItem.d.ts.map +0 -1
  210. package/lib/packlets/import/fsItem.js.map +0 -1
  211. package/lib/packlets/import/importContext.d.ts.map +0 -1
  212. package/lib/packlets/import/importContext.js.map +0 -1
  213. package/lib/packlets/import/importManager.d.ts.map +0 -1
  214. package/lib/packlets/import/importManager.js.map +0 -1
  215. package/lib/packlets/import/importable.d.ts.map +0 -1
  216. package/lib/packlets/import/importable.js.map +0 -1
  217. package/lib/packlets/import/importers/collectionImporter.d.ts.map +0 -1
  218. package/lib/packlets/import/importers/collectionImporter.js.map +0 -1
  219. package/lib/packlets/import/importers/fsItemImporter.d.ts.map +0 -1
  220. package/lib/packlets/import/importers/fsItemImporter.js.map +0 -1
  221. package/lib/packlets/import/importers/importer.d.ts.map +0 -1
  222. package/lib/packlets/import/importers/importer.js.map +0 -1
  223. package/lib/packlets/import/importers/index.d.ts.map +0 -1
  224. package/lib/packlets/import/importers/index.js.map +0 -1
  225. package/lib/packlets/import/importers/jsonImporter.d.ts.map +0 -1
  226. package/lib/packlets/import/importers/jsonImporter.js.map +0 -1
  227. package/lib/packlets/import/importers/pathImporter.d.ts.map +0 -1
  228. package/lib/packlets/import/importers/pathImporter.js.map +0 -1
  229. package/lib/packlets/import/index.d.ts.map +0 -1
  230. package/lib/packlets/import/index.js.map +0 -1
  231. package/lib/packlets/qualifier-types/config/convert.d.ts.map +0 -1
  232. package/lib/packlets/qualifier-types/config/convert.js.map +0 -1
  233. package/lib/packlets/qualifier-types/config/index.d.ts.map +0 -1
  234. package/lib/packlets/qualifier-types/config/index.js.map +0 -1
  235. package/lib/packlets/qualifier-types/config/json.d.ts.map +0 -1
  236. package/lib/packlets/qualifier-types/config/json.js.map +0 -1
  237. package/lib/packlets/qualifier-types/convert.d.ts.map +0 -1
  238. package/lib/packlets/qualifier-types/convert.js.map +0 -1
  239. package/lib/packlets/qualifier-types/helpers.d.ts.map +0 -1
  240. package/lib/packlets/qualifier-types/helpers.js.map +0 -1
  241. package/lib/packlets/qualifier-types/index.d.ts.map +0 -1
  242. package/lib/packlets/qualifier-types/index.js.map +0 -1
  243. package/lib/packlets/qualifier-types/languageQualifierType.d.ts.map +0 -1
  244. package/lib/packlets/qualifier-types/languageQualifierType.js.map +0 -1
  245. package/lib/packlets/qualifier-types/literalQualifierType.d.ts.map +0 -1
  246. package/lib/packlets/qualifier-types/literalQualifierType.js.map +0 -1
  247. package/lib/packlets/qualifier-types/literalValueHierarchy.d.ts.map +0 -1
  248. package/lib/packlets/qualifier-types/literalValueHierarchy.js.map +0 -1
  249. package/lib/packlets/qualifier-types/qualifierType.d.ts.map +0 -1
  250. package/lib/packlets/qualifier-types/qualifierType.js.map +0 -1
  251. package/lib/packlets/qualifier-types/qualifierTypeCollector.d.ts.map +0 -1
  252. package/lib/packlets/qualifier-types/qualifierTypeCollector.js.map +0 -1
  253. package/lib/packlets/qualifier-types/territoryQualifierType.d.ts.map +0 -1
  254. package/lib/packlets/qualifier-types/territoryQualifierType.js.map +0 -1
  255. package/lib/packlets/qualifiers/convert/decls.d.ts.map +0 -1
  256. package/lib/packlets/qualifiers/convert/decls.js.map +0 -1
  257. package/lib/packlets/qualifiers/convert/index.d.ts.map +0 -1
  258. package/lib/packlets/qualifiers/convert/index.js.map +0 -1
  259. package/lib/packlets/qualifiers/convert/qualifier.d.ts.map +0 -1
  260. package/lib/packlets/qualifiers/convert/qualifier.js.map +0 -1
  261. package/lib/packlets/qualifiers/index.d.ts.map +0 -1
  262. package/lib/packlets/qualifiers/index.js.map +0 -1
  263. package/lib/packlets/qualifiers/qualifier.d.ts.map +0 -1
  264. package/lib/packlets/qualifiers/qualifier.js.map +0 -1
  265. package/lib/packlets/qualifiers/qualifierCollector.d.ts.map +0 -1
  266. package/lib/packlets/qualifiers/qualifierCollector.js.map +0 -1
  267. package/lib/packlets/qualifiers/qualifierDecl.d.ts.map +0 -1
  268. package/lib/packlets/qualifiers/qualifierDecl.js.map +0 -1
  269. package/lib/packlets/qualifiers/qualifierDefaultValueDecls.d.ts.map +0 -1
  270. package/lib/packlets/qualifiers/qualifierDefaultValueDecls.js.map +0 -1
  271. package/lib/packlets/qualifiers/qualifierDefaultValueToken.d.ts.map +0 -1
  272. package/lib/packlets/qualifiers/qualifierDefaultValueToken.js.map +0 -1
  273. package/lib/packlets/resource-json/compiled/common.d.ts.map +0 -1
  274. package/lib/packlets/resource-json/compiled/common.js.map +0 -1
  275. package/lib/packlets/resource-json/compiled/convert.d.ts.map +0 -1
  276. package/lib/packlets/resource-json/compiled/convert.js.map +0 -1
  277. package/lib/packlets/resource-json/compiled/index.d.ts.map +0 -1
  278. package/lib/packlets/resource-json/compiled/index.js.map +0 -1
  279. package/lib/packlets/resource-json/compiled/json.d.ts.map +0 -1
  280. package/lib/packlets/resource-json/compiled/json.js.map +0 -1
  281. package/lib/packlets/resource-json/convert.d.ts.map +0 -1
  282. package/lib/packlets/resource-json/convert.js.map +0 -1
  283. package/lib/packlets/resource-json/helpers.d.ts.map +0 -1
  284. package/lib/packlets/resource-json/helpers.js.map +0 -1
  285. package/lib/packlets/resource-json/index.d.ts.map +0 -1
  286. package/lib/packlets/resource-json/index.js.map +0 -1
  287. package/lib/packlets/resource-json/json.d.ts.map +0 -1
  288. package/lib/packlets/resource-json/json.js.map +0 -1
  289. package/lib/packlets/resource-json/normalized.d.ts.map +0 -1
  290. package/lib/packlets/resource-json/normalized.js.map +0 -1
  291. package/lib/packlets/resource-json/resourceDeclCollection.d.ts.map +0 -1
  292. package/lib/packlets/resource-json/resourceDeclCollection.js.map +0 -1
  293. package/lib/packlets/resource-json/resourceDeclContainer.d.ts.map +0 -1
  294. package/lib/packlets/resource-json/resourceDeclContainer.js.map +0 -1
  295. package/lib/packlets/resource-json/resourceDeclTree.d.ts.map +0 -1
  296. package/lib/packlets/resource-json/resourceDeclTree.js.map +0 -1
  297. package/lib/packlets/resource-types/config/convert.d.ts.map +0 -1
  298. package/lib/packlets/resource-types/config/convert.js.map +0 -1
  299. package/lib/packlets/resource-types/config/index.d.ts.map +0 -1
  300. package/lib/packlets/resource-types/config/index.js.map +0 -1
  301. package/lib/packlets/resource-types/config/json.d.ts.map +0 -1
  302. package/lib/packlets/resource-types/config/json.js.map +0 -1
  303. package/lib/packlets/resource-types/helpers.d.ts.map +0 -1
  304. package/lib/packlets/resource-types/helpers.js.map +0 -1
  305. package/lib/packlets/resource-types/index.d.ts.map +0 -1
  306. package/lib/packlets/resource-types/index.js.map +0 -1
  307. package/lib/packlets/resource-types/jsonResourceType.d.ts.map +0 -1
  308. package/lib/packlets/resource-types/jsonResourceType.js.map +0 -1
  309. package/lib/packlets/resource-types/resourceType.d.ts.map +0 -1
  310. package/lib/packlets/resource-types/resourceType.js.map +0 -1
  311. package/lib/packlets/resource-types/resourceTypeCollector.d.ts.map +0 -1
  312. package/lib/packlets/resource-types/resourceTypeCollector.js.map +0 -1
  313. package/lib/packlets/resources/candidateReducer.d.ts.map +0 -1
  314. package/lib/packlets/resources/candidateReducer.js.map +0 -1
  315. package/lib/packlets/resources/common.d.ts.map +0 -1
  316. package/lib/packlets/resources/common.js.map +0 -1
  317. package/lib/packlets/resources/index.d.ts.map +0 -1
  318. package/lib/packlets/resources/index.js.map +0 -1
  319. package/lib/packlets/resources/resource.d.ts.map +0 -1
  320. package/lib/packlets/resources/resource.js.map +0 -1
  321. package/lib/packlets/resources/resourceBuilder.d.ts.map +0 -1
  322. package/lib/packlets/resources/resourceBuilder.js.map +0 -1
  323. package/lib/packlets/resources/resourceCandidate.d.ts.map +0 -1
  324. package/lib/packlets/resources/resourceCandidate.js.map +0 -1
  325. package/lib/packlets/resources/resourceManagerBuilder.d.ts.map +0 -1
  326. package/lib/packlets/resources/resourceManagerBuilder.js.map +0 -1
  327. package/lib/packlets/runtime/cacheListener.d.ts.map +0 -1
  328. package/lib/packlets/runtime/cacheListener.js.map +0 -1
  329. package/lib/packlets/runtime/cacheMetrics.d.ts.map +0 -1
  330. package/lib/packlets/runtime/cacheMetrics.js.map +0 -1
  331. package/lib/packlets/runtime/compiledResourceCollection.d.ts.map +0 -1
  332. package/lib/packlets/runtime/compiledResourceCollection.js.map +0 -1
  333. package/lib/packlets/runtime/conditionSetResolutionResult.d.ts.map +0 -1
  334. package/lib/packlets/runtime/conditionSetResolutionResult.js.map +0 -1
  335. package/lib/packlets/runtime/context/contextQualifierProvider.d.ts.map +0 -1
  336. package/lib/packlets/runtime/context/contextQualifierProvider.js.map +0 -1
  337. package/lib/packlets/runtime/context/contextQualifierProviderValidator.d.ts.map +0 -1
  338. package/lib/packlets/runtime/context/contextQualifierProviderValidator.js.map +0 -1
  339. package/lib/packlets/runtime/context/index.d.ts.map +0 -1
  340. package/lib/packlets/runtime/context/index.js.map +0 -1
  341. package/lib/packlets/runtime/context/simpleContextQualifierProvider.d.ts.map +0 -1
  342. package/lib/packlets/runtime/context/simpleContextQualifierProvider.js.map +0 -1
  343. package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.d.ts.map +0 -1
  344. package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.js.map +0 -1
  345. package/lib/packlets/runtime/iResourceManager.d.ts.map +0 -1
  346. package/lib/packlets/runtime/iResourceManager.js.map +0 -1
  347. package/lib/packlets/runtime/index.d.ts.map +0 -1
  348. package/lib/packlets/runtime/index.js.map +0 -1
  349. package/lib/packlets/runtime/resource-tree/common.d.ts.map +0 -1
  350. package/lib/packlets/runtime/resource-tree/common.js.map +0 -1
  351. package/lib/packlets/runtime/resource-tree/index.d.ts.map +0 -1
  352. package/lib/packlets/runtime/resource-tree/index.js.map +0 -1
  353. package/lib/packlets/runtime/resource-tree/readOnlyResourceTree.d.ts.map +0 -1
  354. package/lib/packlets/runtime/resource-tree/readOnlyResourceTree.js.map +0 -1
  355. package/lib/packlets/runtime/resource-tree/resourceTreeChildren.d.ts.map +0 -1
  356. package/lib/packlets/runtime/resource-tree/resourceTreeChildren.js.map +0 -1
  357. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.d.ts.map +0 -1
  358. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.js.map +0 -1
  359. package/lib/packlets/runtime/resourceResolver.d.ts.map +0 -1
  360. package/lib/packlets/runtime/resourceResolver.js.map +0 -1
  361. package/lib/packlets/runtime/validate.d.ts.map +0 -1
  362. package/lib/packlets/runtime/validate.js.map +0 -1
@@ -66,6 +66,20 @@ const ts_utils_1 = require("@fgv/ts-utils");
66
66
  * @public
67
67
  */
68
68
  class ResourceCandidate {
69
+ /**
70
+ * The JSON representation of the instance data to be applied.
71
+ * @remarks
72
+ * This property provides access to the JSON data from the underlying candidate value.
73
+ */
74
+ get json() {
75
+ return this.candidateValue.json;
76
+ }
77
+ /**
78
+ * The completeness of the candidate value.
79
+ */
80
+ get completeness() {
81
+ return this.isPartial ? 'partial' : 'full';
82
+ }
69
83
  /**
70
84
  * Constructor for a {@link Resources.ResourceCandidate | ResourceCandidate} object.
71
85
  * @param params - Parameters to create a new {@link Resources.ResourceCandidate | ResourceCandidate}.
@@ -74,7 +88,7 @@ class ResourceCandidate {
74
88
  constructor(params) {
75
89
  var _a, _b;
76
90
  this.id = common_1.Validate.toResourceId(params.id).orThrow();
77
- this.json = params.decl.json;
91
+ this.candidateValue = params.candidateValues.validating.getOrAdd(params.decl.json).orThrow();
78
92
  this.conditions = ResourceCandidate._mergeConditions(params.conditionSets, params.decl.conditions, params.parentConditions).orThrow();
79
93
  this.isPartial = (_a = params.decl.isPartial) !== null && _a !== void 0 ? _a : false;
80
94
  this.mergeMethod = (_b = params.decl.mergeMethod) !== null && _b !== void 0 ? _b : 'augment';
@@ -175,10 +189,8 @@ class ResourceCandidate {
175
189
  rc1.mergeMethod === rc2.mergeMethod &&
176
190
  conditions_1.ConditionSet.compare(rc1.conditions, rc2.conditions) === 0;
177
191
  if (equal) {
178
- const normalizer = new ts_utils_1.Hash.Crc32Normalizer();
179
- const n1 = normalizer.computeHash(rc1.json).orDefault('(n1 normalization failed)');
180
- const n2 = normalizer.computeHash(rc2.json).orDefault('(n2 normalization failed)');
181
- equal = n1 === n2;
192
+ // Compare candidate values by their keys for efficient JSON comparison
193
+ equal = rc1.candidateValue.key === rc2.candidateValue.key;
182
194
  }
183
195
  return equal;
184
196
  }
@@ -1,16 +1,19 @@
1
1
  import { Collections, DetailedResult, Result, ValidatingResultMap } from '@fgv/ts-utils';
2
- import { ConditionCollector, ConditionSetCollector, ReadOnlyConditionCollector, ReadOnlyConditionSetCollector } from '../conditions';
2
+ import { ConditionCollector, ConditionSetCollector, ReadOnlyConditionCollector, ReadOnlyConditionSetCollector, Condition, ConditionSet } from '../conditions';
3
3
  import { AbstractDecisionCollector, ReadOnlyAbstractDecisionCollector } from '../decisions';
4
4
  import { IReadOnlyQualifierCollector } from '../qualifiers';
5
5
  import { ReadOnlyResourceTypeCollector } from '../resource-types';
6
6
  import { ResourceId } from '../common';
7
- import { IResourceManager } from '../runtime';
7
+ import { IResourceManager, ResourceTree } from '../runtime';
8
8
  import { ResourceBuilder, ResourceBuilderResultDetail } from './resourceBuilder';
9
9
  import { Resource } from './resource';
10
10
  import { ResourceCandidate } from './resourceCandidate';
11
- import { IResourceDeclarationOptions } from './common';
11
+ import { CandidateValueCollector } from './candidateValueCollector';
12
+ import { IResourceDeclarationOptions, IResourceManagerCloneOptions } from './common';
12
13
  import * as ResourceJson from '../resource-json';
13
14
  import * as Context from '../context';
15
+ import * as Config from '../config';
16
+ import { ReadOnlyQualifierTypeCollector } from '../qualifier-types';
14
17
  /**
15
18
  * Interface for parameters to the {@link Resources.ResourceManagerBuilder.create | ResourceManagerBuilder create method}.
16
19
  * @public
@@ -31,15 +34,59 @@ export type ResourceManagerBuilderResultDetail = Collections.ResultMapResultDeta
31
34
  * and builds a collection of {@link Resources.Resource | resources} once all candidates are collected.
32
35
  * @public
33
36
  */
34
- export declare class ResourceManagerBuilder implements IResourceManager {
37
+ export declare class ResourceManagerBuilder implements IResourceManager<Resource> {
38
+ /**
39
+ * The {@link Qualifiers.IReadOnlyQualifierCollector | qualifiers} used by this resource manager.
40
+ */
35
41
  readonly qualifiers: IReadOnlyQualifierCollector;
42
+ /**
43
+ * The {@link ResourceTypes.ReadOnlyResourceTypeCollector | resource types} used by this resource manager.
44
+ */
36
45
  readonly resourceTypes: ReadOnlyResourceTypeCollector;
46
+ /**
47
+ * The {@link Conditions.ConditionCollector | condition collector} used by this resource manager.
48
+ * @internal
49
+ */
37
50
  protected readonly _conditions: ConditionCollector;
51
+ /**
52
+ * The {@link Conditions.ConditionSetCollector | condition set collector} used by this resource manager.
53
+ * @internal
54
+ */
38
55
  protected readonly _conditionSets: ConditionSetCollector;
56
+ /**
57
+ * The {@link Decisions.AbstractDecisionCollector | abstract decision collector} used by this resource manager.
58
+ * @internal
59
+ */
39
60
  protected readonly _decisions: AbstractDecisionCollector;
61
+ /**
62
+ * The candidate value collector used by this resource manager.
63
+ * @internal
64
+ */
65
+ protected readonly _candidateValues: CandidateValueCollector;
66
+ /**
67
+ * The {@link Resources.ResourceBuilder | resource builders} used by this resource manager.
68
+ * @internal
69
+ */
40
70
  protected readonly _resources: ValidatingResultMap<ResourceId, ResourceBuilder>;
41
- readonly _builtResources: ValidatingResultMap<ResourceId, Resource>;
71
+ /**
72
+ * The {@link Resources.Resource | resources} built by this resource manager.
73
+ * @internal
74
+ */
75
+ protected readonly _builtResources: ValidatingResultMap<ResourceId, Resource>;
76
+ /**
77
+ * Whether the resources have been built.
78
+ * @internal
79
+ */
42
80
  protected _built: boolean;
81
+ /**
82
+ * The cached resource tree for this resource manager.
83
+ * @internal
84
+ */
85
+ protected _cachedResourceTree?: ResourceTree.IReadOnlyResourceTreeRoot<Resource>;
86
+ /**
87
+ * The {@link QualifierTypes.ReadOnlyQualifierTypeCollector | qualifier types} used by this resource manager.
88
+ */
89
+ get qualifierTypes(): ReadOnlyQualifierTypeCollector;
43
90
  /**
44
91
  * A {@link Conditions.ConditionCollector | ConditionCollector} which
45
92
  * contains the {@link Conditions.Condition | conditions} used so far by
@@ -96,6 +143,26 @@ export declare class ResourceManagerBuilder implements IResourceManager {
96
143
  * @public
97
144
  */
98
145
  static create(params: IResourceManagerBuilderCreateParams): Result<ResourceManagerBuilder>;
146
+ /**
147
+ * Creates a new {@link Resources.ResourceManagerBuilder | ResourceManagerBuilder} object from a predefined system configuration.
148
+ * @param name - The name of the predefined system configuration to use.
149
+ * @param qualifierDefaultValues - Optional default values for qualifiers.
150
+ * @returns `Success` with the new {@link Resources.ResourceManagerBuilder | ResourceManagerBuilder} object if successful,
151
+ * or `Failure` with an error message if not.
152
+ * @public
153
+ */
154
+ static createPredefined(name: Config.PredefinedSystemConfiguration, qualifierDefaultValues?: Config.ISystemConfigurationInitParams['qualifierDefaultValues']): Result<ResourceManagerBuilder>;
155
+ /**
156
+ * Creates a new {@link Resources.ResourceManagerBuilder | ResourceManagerBuilder} from a
157
+ * {@link ResourceJson.Compiled.ICompiledResourceCollection | compiled resource collection}.
158
+ * This method reconstructs an exactly equivalent builder where all qualifier, condition,
159
+ * condition set, and decision indices match the original compiled collection.
160
+ * @param compiledCollection - The compiled resource collection to reconstruct from.
161
+ * @param systemConfig - The system configuration containing qualifiers and resource types.
162
+ * @returns `Success` with the new manager if successful, or `Failure` with an error message if not.
163
+ * @public
164
+ */
165
+ static createFromCompiledResourceCollection(compiledCollection: ResourceJson.Compiled.ICompiledResourceCollection, systemConfig: Config.SystemConfiguration): Result<ResourceManagerBuilder>;
99
166
  /**
100
167
  * Given a {@link ResourceJson.Json.ILooseResourceCandidateDecl | resource candidate declaration}, builds and adds
101
168
  * a {@link Resources.ResourceCandidate | candidate} to the manager.
@@ -105,6 +172,20 @@ export declare class ResourceManagerBuilder implements IResourceManager {
105
172
  */
106
173
  addLooseCandidate(decl: ResourceJson.Json.ILooseResourceCandidateDecl): DetailedResult<ResourceCandidate, ResourceBuilderResultDetail>;
107
174
  addResource(decl: ResourceJson.Json.ILooseResourceDecl): DetailedResult<ResourceBuilder, ResourceBuilderResultDetail>;
175
+ /**
176
+ * Adds a condition to the manager.
177
+ * @param decl - The condition declaration to add.
178
+ * @returns `Success` with the condition if successful, or `Failure` with an error message if not.
179
+ * @public
180
+ */
181
+ addCondition(decl: ResourceJson.Json.ILooseConditionDecl): Result<Condition>;
182
+ /**
183
+ * Adds a condition set to the manager.
184
+ * @param decl - The condition set declaration to add.
185
+ * @returns `Success` with the condition set if successful, or `Failure` with an error message if not.
186
+ * @public
187
+ */
188
+ addConditionSet(conditions: ResourceJson.Normalized.ConditionSetDecl): Result<ConditionSet>;
108
189
  /**
109
190
  * Gets a read-only array of all {@link Resources.ResourceBuilder | resource builders} present in the manager.
110
191
  * @returns `Success` with the {@link Resources.ResourceBuilder | resource builder} if successful,
@@ -135,6 +216,19 @@ export declare class ResourceManagerBuilder implements IResourceManager {
135
216
  * @public
136
217
  */
137
218
  getAllBuiltResources(): Result<ReadonlyArray<Resource>>;
219
+ /**
220
+ * Builds and returns a hierarchical tree representation of all resources managed by this builder.
221
+ * Resources are organized based on their dot-separated resource IDs (e.g., "app.messages.welcome"
222
+ * becomes a tree with "app" as root, "messages" as branch, and "welcome" as leaf).
223
+ *
224
+ * String-based validation is available through the `children.validating` property,
225
+ * allowing callers to use `tree.children.validating.getById(stringId)` for validated access.
226
+ *
227
+ * Uses lazy initialization with caching for performance.
228
+ * @returns Result containing the resource tree root, or failure if tree construction fails
229
+ * @public
230
+ */
231
+ getBuiltResourceTree(): Result<ResourceTree.IReadOnlyResourceTreeRoot<Resource>>;
138
232
  /**
139
233
  * Gets a read-only array of all {@link Resources.Resource | built resources} in the manager.
140
234
  * @returns `Success` with an array of resources if successful, or `Failure` with an error message if not.
@@ -208,13 +302,97 @@ export declare class ResourceManagerBuilder implements IResourceManager {
208
302
  */
209
303
  getResourceCollectionDecl(options?: IResourceDeclarationOptions): Result<ResourceJson.Normalized.IResourceCollectionDecl>;
210
304
  /**
211
- * Creates a filtered clone of this ResourceManagerBuilder using the specified context.
212
- * This is a convenience method that creates a new ResourceManagerBuilder with the same
213
- * configuration but filtered to include only candidates that match the provided context.
214
- * @param options - Options for the cloning operation, including the strongly-typed filterForContext property.
215
- * @returns A Result containing the new filtered ResourceManagerBuilder.
305
+ * Creates a clone of this ResourceManagerBuilder with optional configuration overrides.
306
+ * This method creates a new ResourceManagerBuilder that can optionally use different
307
+ * qualifiers and/or resource types than the original. It can also be filtered to include
308
+ * only candidates that match the provided context and apply candidate edits.
309
+ *
310
+ * @param options - Options for the cloning operation:
311
+ * - `qualifiers`: Optional qualifier collector to use instead of the original
312
+ * - `resourceTypes`: Optional resource type collector to use instead of the original
313
+ * - `filterForContext`: Optional context filter for candidates
314
+ * - `candidates`: Optional candidate edits to apply during cloning
315
+ * @returns A Result containing the new ResourceManagerBuilder with the specified configuration.
216
316
  * @public
217
317
  */
218
- clone(options?: IResourceDeclarationOptions): Result<ResourceManagerBuilder>;
318
+ clone(options?: IResourceManagerCloneOptions): Result<ResourceManagerBuilder>;
319
+ /**
320
+ * Creates a resource ID keyed map from an array of loose resource candidate declarations.
321
+ * This enables efficient detection of edit collisions by grouping candidates by their target resource.
322
+ * @param candidates - Array of loose resource candidate declarations to organize
323
+ * @returns A Result containing a Map where keys are validated ResourceIds and values are arrays of candidates for that resource
324
+ * @internal
325
+ */
326
+ private static _createCandidatesByResourceMap;
327
+ /**
328
+ * Generates a proper ConditionSet token for collision detection using the existing ConditionSet.getKeyForDecl method.
329
+ * @param conditionSet - The condition set to generate a token for
330
+ * @param conditionCollector - The condition collector needed for validation context
331
+ * @returns A Result containing the ConditionSet token if successful, or failure if validation fails
332
+ * @internal
333
+ */
334
+ /**
335
+ * Applies candidate edits to a resource declaration, handling collisions using condition set tokens.
336
+ * If there's no collision, adds the candidate. If there's a collision, replaces the original candidate with the edit.
337
+ * @param resourceDecl - The original resource declaration to potentially modify
338
+ * @param candidatesByResource - Map of resource IDs to arrays of candidate edits
339
+ * @param conditionCollector - The condition collector needed for generating condition tokens
340
+ * @returns A Result containing the resource declaration to use (original or modified)
341
+ * @internal
342
+ */
343
+ private static _applyEditsToResourceDeclaration;
344
+ /**
345
+ * Creates a new resource declaration from an array of candidate declarations.
346
+ * This is used when cloning to create new resources that don't exist in the original manager.
347
+ * @param resourceId - The validated resource ID for the new resource
348
+ * @param candidates - Array of loose candidate declarations for the new resource
349
+ * @param conditionCollector - The condition collector for validation context
350
+ * @returns A Result containing the new resource declaration if successful, or failure if validation fails
351
+ * @internal
352
+ */
353
+ private static _createResourceDeclFromCandidates;
354
+ /**
355
+ * Reconstructs conditions from a compiled collection and adds them to the builder.
356
+ * @param builder - The builder to add conditions to.
357
+ * @param compiledCollection - The compiled collection containing conditions.
358
+ * @returns `Success` if all conditions were added successfully, `Failure` otherwise.
359
+ * @internal
360
+ */
361
+ private static _reconstructConditions;
362
+ /**
363
+ * Reconstructs condition sets from a compiled collection and adds them to the builder.
364
+ * @param builder - The builder to add condition sets to.
365
+ * @param compiledCollection - The compiled collection containing condition sets.
366
+ * @returns `Success` if all condition sets were added successfully, `Failure` otherwise.
367
+ * @internal
368
+ */
369
+ private static _reconstructConditionSets;
370
+ /**
371
+ * Reconstructs decisions from a compiled collection and adds them to the builder.
372
+ * @param builder - The builder to add decisions to.
373
+ * @param compiledCollection - The compiled collection containing decisions.
374
+ * @returns `Success` if all decisions were added successfully, `Failure` otherwise.
375
+ * @internal
376
+ */
377
+ private static _reconstructDecisions;
378
+ /**
379
+ * Reconstructs resources and their candidates from a compiled collection and adds them to the builder.
380
+ * @param builder - The builder to add resources to.
381
+ * @param compiledCollection - The compiled collection containing resources.
382
+ * @returns `Success` if all resources were added successfully, `Failure` otherwise.
383
+ * @internal
384
+ */
385
+ private static _reconstructResources;
386
+ /**
387
+ * Helper method to create candidates from a decision's condition sets.
388
+ * @param compiledResource - The compiled resource containing candidates.
389
+ * @param decision - The decision containing condition sets.
390
+ * @param resourceType - The resource type for the candidates.
391
+ * @param builder - The builder to add candidates to.
392
+ * @param candidateValues - Array of candidate values indexed by valueIndex.
393
+ * @returns `Success` if all candidates were added successfully, `Failure` otherwise.
394
+ * @internal
395
+ */
396
+ private static _createCandidatesFromDecision;
219
397
  }
220
398
  //# sourceMappingURL=resourceManagerBuilder.d.ts.map