@fgv/ts-res 5.0.0-2 → 5.0.0-21

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 (557) hide show
  1. package/.vscode/4.json +3 -0
  2. package/.vscode/launch.json +16 -0
  3. package/.vscode/settings.json +3 -0
  4. package/config/api-extractor.json +343 -0
  5. package/config/rig.json +16 -0
  6. package/dist/ts-res.d.ts +1528 -161
  7. package/dist/tsdoc-metadata.json +1 -1
  8. package/lib/index.d.ts +11 -2
  9. package/lib/index.js +25 -2
  10. package/lib/packlets/bundle/bundleBuilder.d.ts +41 -0
  11. package/lib/packlets/bundle/bundleBuilder.js +134 -0
  12. package/lib/packlets/bundle/bundleLoader.d.ts +72 -0
  13. package/lib/packlets/bundle/bundleLoader.js +105 -0
  14. package/lib/packlets/bundle/bundleNormalizer.d.ts +73 -0
  15. package/lib/packlets/bundle/bundleNormalizer.js +142 -0
  16. package/lib/packlets/bundle/bundleUtils.d.ts +70 -0
  17. package/lib/packlets/bundle/bundleUtils.js +117 -0
  18. package/lib/packlets/bundle/convert.d.ts +33 -0
  19. package/lib/packlets/bundle/convert.js +78 -0
  20. package/lib/packlets/bundle/index.d.ts +21 -0
  21. package/lib/packlets/bundle/index.js +83 -0
  22. package/lib/packlets/bundle/model.d.ts +100 -0
  23. package/lib/packlets/bundle/model.js +24 -0
  24. package/lib/packlets/common/helpers/resources.d.ts +7 -0
  25. package/lib/packlets/common/helpers/resources.js +12 -0
  26. package/lib/packlets/common/resources.d.ts +8 -0
  27. package/lib/packlets/conditions/conditionSet.d.ts +9 -0
  28. package/lib/packlets/conditions/conditionSet.js +74 -1
  29. package/lib/packlets/config/configInitFactory.d.ts +78 -0
  30. package/lib/packlets/config/configInitFactory.js +147 -0
  31. package/lib/packlets/config/convert.d.ts +9 -0
  32. package/lib/packlets/config/convert.js +11 -0
  33. package/lib/packlets/config/index.d.ts +1 -0
  34. package/lib/packlets/config/index.js +1 -0
  35. package/lib/packlets/config/systemConfiguration.d.ts +16 -3
  36. package/lib/packlets/config/systemConfiguration.js +19 -40
  37. package/lib/packlets/import/fsItem.js +8 -13
  38. package/lib/packlets/import/importers/jsonImporter.js +1 -0
  39. package/lib/packlets/qualifier-types/config/json.d.ts +13 -0
  40. package/lib/packlets/qualifier-types/config/json.js +11 -0
  41. package/lib/packlets/qualifier-types/literalValueHierarchy.js +1 -1
  42. package/lib/packlets/qualifiers/qualifierCollector.js +1 -2
  43. package/lib/packlets/resource-types/jsonResourceType.d.ts +9 -4
  44. package/lib/packlets/resource-types/jsonResourceType.js +8 -1
  45. package/lib/packlets/resource-types/resourceType.d.ts +102 -13
  46. package/lib/packlets/resource-types/resourceType.js +34 -2
  47. package/lib/packlets/resources/common.d.ts +26 -0
  48. package/lib/packlets/resources/resource.d.ts +6 -6
  49. package/lib/packlets/resources/resource.js +3 -8
  50. package/lib/packlets/resources/resourceCandidate.d.ts +5 -1
  51. package/lib/packlets/resources/resourceCandidate.js +6 -0
  52. package/lib/packlets/resources/resourceManagerBuilder.d.ts +182 -11
  53. package/lib/packlets/resources/resourceManagerBuilder.js +469 -15
  54. package/lib/packlets/runtime/cacheListener.d.ts +9 -0
  55. package/lib/packlets/runtime/cacheListener.js +6 -0
  56. package/lib/packlets/runtime/cacheMetrics.d.ts +6 -0
  57. package/lib/packlets/runtime/cacheMetrics.js +11 -0
  58. package/lib/packlets/runtime/compiledResourceCollection.d.ts +3 -3
  59. package/lib/packlets/runtime/compiledResourceCollection.js +7 -0
  60. package/lib/packlets/runtime/iResourceManager.d.ts +13 -5
  61. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.d.ts +7 -7
  62. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.js +5 -5
  63. package/lib/packlets/runtime/resourceResolver.d.ts +21 -0
  64. package/lib/packlets/runtime/resourceResolver.js +39 -17
  65. package/lib/packlets/runtime/validate.js +1 -0
  66. package/lib/packlets/zip-archive/convert.d.ts +52 -0
  67. package/lib/packlets/zip-archive/convert.js +104 -0
  68. package/lib/packlets/zip-archive/index.d.ts +23 -0
  69. package/lib/packlets/zip-archive/index.js +95 -0
  70. package/lib/packlets/zip-archive/json.d.ts +64 -0
  71. package/lib/packlets/zip-archive/json.js +24 -0
  72. package/lib/packlets/zip-archive/types.d.ts +98 -0
  73. package/lib/packlets/zip-archive/types.js +39 -0
  74. package/lib/packlets/zip-archive/zipArchiveCreator.d.ts +35 -0
  75. package/lib/packlets/zip-archive/zipArchiveCreator.js +194 -0
  76. package/lib/packlets/zip-archive/zipArchiveFormat.d.ts +70 -0
  77. package/lib/packlets/zip-archive/zipArchiveFormat.js +184 -0
  78. package/lib/packlets/zip-archive/zipArchiveLoader.d.ts +70 -0
  79. package/lib/packlets/zip-archive/zipArchiveLoader.js +285 -0
  80. package/lib/test/data/sample.json +32 -0
  81. package/lib/test/unit/bundle/bundleBuilder.test.d.ts +2 -0
  82. package/lib/test/unit/bundle/bundleLoader.test.d.ts +2 -0
  83. package/lib/test/unit/bundle/bundleUtils.test.d.ts +2 -0
  84. package/lib/test/unit/bundle/convert.test.d.ts +2 -0
  85. package/lib/test/unit/bundle/integration.test.d.ts +2 -0
  86. package/lib/test/unit/bundle/model.test.d.ts +2 -0
  87. package/lib/test/unit/bundle/normalization.test.d.ts +2 -0
  88. package/lib/test/unit/common/conditions.test.d.ts +2 -0
  89. package/lib/test/unit/common/helpers/conditions.test.d.ts +2 -0
  90. package/lib/test/unit/common/helpers/contexts.test.d.ts +2 -0
  91. package/lib/test/unit/common/helpers/qualifierDefaultValues.test.d.ts +2 -0
  92. package/lib/test/unit/common/resources.test.d.ts +2 -0
  93. package/lib/test/unit/conditions/condition.test.d.ts +2 -0
  94. package/lib/test/unit/conditions/conditionCollector.test.d.ts +2 -0
  95. package/lib/test/unit/conditions/conditionScoreAsDefault.test.d.ts +2 -0
  96. package/lib/test/unit/conditions/conditionSet.test.d.ts +2 -0
  97. package/lib/test/unit/conditions/conditionSetCollector.test.d.ts +2 -0
  98. package/lib/test/unit/conditions/conditionToken.test.d.ts +2 -0
  99. package/lib/test/unit/conditions/convert.test.d.ts +2 -0
  100. package/lib/test/unit/config/common.test.d.ts +2 -0
  101. package/lib/test/unit/config/convert.test.d.ts +2 -0
  102. package/lib/test/unit/config/predefined/default.test.d.ts +2 -0
  103. package/lib/test/unit/config/predefined/extended.test.d.ts +2 -0
  104. package/lib/test/unit/config/systemConfiguration.test.d.ts +2 -0
  105. package/lib/test/unit/config/systemConfigurationInitParams.test.d.ts +2 -0
  106. package/lib/test/unit/context/contextToken.test.d.ts +2 -0
  107. package/lib/test/unit/context/convert.test.d.ts +2 -0
  108. package/lib/test/unit/decisions/abstractDecision.test.d.ts +2 -0
  109. package/lib/test/unit/decisions/abstractDecisionCollector.test.d.ts +2 -0
  110. package/lib/test/unit/decisions/candidate.test.d.ts +2 -0
  111. package/lib/test/unit/decisions/concreteDecision.test.d.ts +2 -0
  112. package/lib/test/unit/decisions/decision.test.d.ts +2 -0
  113. package/lib/test/unit/import/collectionImporter.test.d.ts +2 -0
  114. package/lib/test/unit/import/fsItem.test.d.ts +2 -0
  115. package/lib/test/unit/import/fsItemImporter.test.d.ts +2 -0
  116. package/lib/test/unit/import/importContext.test.d.ts +2 -0
  117. package/lib/test/unit/import/importManager.test.d.ts +2 -0
  118. package/lib/test/unit/import/jsonImporter.test.d.ts +2 -0
  119. package/lib/test/unit/import/pathImporter.test.d.ts +2 -0
  120. package/lib/test/unit/qualifier-types/convert.test.d.ts +2 -0
  121. package/lib/test/unit/qualifier-types/helpers.test.d.ts +2 -0
  122. package/lib/test/unit/qualifier-types/languageQualifierType.test.d.ts +2 -0
  123. package/lib/test/unit/qualifier-types/literalQualifierType.test.d.ts +2 -0
  124. package/lib/test/unit/qualifier-types/literalValueHierarchy.test.d.ts +2 -0
  125. package/lib/test/unit/qualifier-types/qualifierType.test.d.ts +2 -0
  126. package/lib/test/unit/qualifier-types/qualifierTypeCollector.test.d.ts +2 -0
  127. package/lib/test/unit/qualifier-types/territoryQualifierType.test.d.ts +2 -0
  128. package/lib/test/unit/qualifier-types/testQualifierType.d.ts +15 -0
  129. package/lib/test/unit/qualifier-types/testQualifierType.js +89 -0
  130. package/lib/test/unit/qualifiers/convert.test.d.ts +2 -0
  131. package/lib/test/unit/qualifiers/qualifierCollector.test.d.ts +2 -0
  132. package/lib/test/unit/qualifiers/qualifierDefaultValue.test.d.ts +2 -0
  133. package/lib/test/unit/qualifiers/qualifierDefaultValueToken.test.d.ts +2 -0
  134. package/lib/test/unit/resource-json/convert.test.d.ts +2 -0
  135. package/lib/test/unit/resource-json/nameInheritance.test.d.ts +2 -0
  136. package/lib/test/unit/resource-json/resourceDeclCollection.test.d.ts +2 -0
  137. package/lib/test/unit/resource-json/resourceDeclTree.test.d.ts +2 -0
  138. package/lib/test/unit/resource-types/jsonResourceType.test.d.ts +2 -0
  139. package/lib/test/unit/resource-types/resourceTypeCollector.test.d.ts +2 -0
  140. package/lib/test/unit/resources/candidateReducer.integration.test.d.ts +2 -0
  141. package/lib/test/unit/resources/candidateReducer.test.d.ts +2 -0
  142. package/lib/test/unit/resources/reduceCandidates.test.d.ts +2 -0
  143. package/lib/test/unit/resources/reduceQualifiers.comprehensive.test.d.ts +2 -0
  144. package/lib/test/unit/resources/reduceQualifiers.test.d.ts +2 -0
  145. package/lib/test/unit/resources/resource.test.d.ts +2 -0
  146. package/lib/test/unit/resources/resourceBuilder.test.d.ts +2 -0
  147. package/lib/test/unit/resources/resourceCandidate.test.d.ts +2 -0
  148. package/lib/test/unit/resources/resourceManagerBuilder.clone.test.d.ts +2 -0
  149. package/lib/test/unit/resources/resourceManagerBuilder.getBuiltResourceTree.test.d.ts +2 -0
  150. package/lib/test/unit/resources/resourceManagerBuilder.test.d.ts +2 -0
  151. package/lib/test/unit/runtime/cacheListener.test.d.ts +2 -0
  152. package/lib/test/unit/runtime/cacheMetrics.test.d.ts +2 -0
  153. package/lib/test/unit/runtime/compiledResourceCollection.test.d.ts +2 -0
  154. package/lib/test/unit/runtime/conditionSetResolutionResult.comprehensive.test.d.ts +2 -0
  155. package/lib/test/unit/runtime/conditionSetResolutionResult.test.d.ts +2 -0
  156. package/lib/test/unit/runtime/context/contextQualifierProvider.test.d.ts +2 -0
  157. package/lib/test/unit/runtime/context/contextQualifierProviderValidator.test.d.ts +2 -0
  158. package/lib/test/unit/runtime/context/simpleContextQualifierProvider.test.d.ts +2 -0
  159. package/lib/test/unit/runtime/context/validatingSimpleContextQualifierProvider.test.d.ts +2 -0
  160. package/lib/test/unit/runtime/resource-tree/readOnlyResourceTree.test.d.ts +2 -0
  161. package/lib/test/unit/runtime/resource-tree/resourceTreeChildren.test.d.ts +2 -0
  162. package/lib/test/unit/runtime/resource-tree/resourceTreeChildrenValidator.test.d.ts +2 -0
  163. package/lib/test/unit/runtime/resourceResolver.defaultResolution.test.d.ts +2 -0
  164. package/lib/test/unit/runtime/resourceResolver.test.d.ts +2 -0
  165. package/lib/test/unit/runtime/validate.test.d.ts +2 -0
  166. package/lib/test/unit/zip-archive/convert.test.d.ts +2 -0
  167. package/lib/test/unit/zip-archive/json.test.d.ts +2 -0
  168. package/lib/test/unit/zip-archive/zipArchiveCreator.test.d.ts +2 -0
  169. package/lib/test/unit/zip-archive/zipArchiveFormat.test.d.ts +2 -0
  170. package/lib/test/unit/zip-archive/zipArchiveIdempotency.test.d.ts +2 -0
  171. package/lib/test/unit/zip-archive/zipArchiveLoader.test.d.ts +2 -0
  172. package/package.json +19 -25
  173. package/src/index.ts +75 -0
  174. package/src/packlets/bundle/bundleBuilder.ts +159 -0
  175. package/src/packlets/bundle/bundleLoader.ts +157 -0
  176. package/src/packlets/bundle/bundleNormalizer.ts +173 -0
  177. package/src/packlets/bundle/bundleUtils.ts +142 -0
  178. package/src/packlets/bundle/convert.ts +87 -0
  179. package/src/packlets/bundle/index.ts +52 -0
  180. package/src/packlets/bundle/model.ts +138 -0
  181. package/src/packlets/common/conditions.ts +226 -0
  182. package/src/packlets/common/convert.ts +184 -0
  183. package/src/packlets/common/helpers/conditions.ts +84 -0
  184. package/src/packlets/common/helpers/context.ts +88 -0
  185. package/src/packlets/common/helpers/index.ts +26 -0
  186. package/src/packlets/common/helpers/qualifierDefaultValues.ts +91 -0
  187. package/src/packlets/common/helpers/resources.ts +96 -0
  188. package/src/packlets/common/index.ts +30 -0
  189. package/src/packlets/common/resources.ts +78 -0
  190. package/src/packlets/common/validate/conditions.ts +595 -0
  191. package/src/packlets/common/validate/index.ts +27 -0
  192. package/src/packlets/common/validate/regularExpressions.ts +92 -0
  193. package/src/packlets/common/validate/resources.ts +170 -0
  194. package/src/packlets/conditions/condition.ts +351 -0
  195. package/src/packlets/conditions/conditionCollector.ts +103 -0
  196. package/src/packlets/conditions/conditionDecls.ts +50 -0
  197. package/src/packlets/conditions/conditionSet.ts +318 -0
  198. package/src/packlets/conditions/conditionSetCollector.ts +127 -0
  199. package/src/packlets/conditions/conditionSetDecls.ts +41 -0
  200. package/src/packlets/conditions/conditionToken.ts +180 -0
  201. package/src/packlets/conditions/convert/conditionSetDecls.ts +72 -0
  202. package/src/packlets/conditions/convert/decls.ts +95 -0
  203. package/src/packlets/conditions/convert/index.ts +24 -0
  204. package/src/packlets/conditions/index.ts +33 -0
  205. package/src/packlets/config/common.ts +107 -0
  206. package/src/packlets/config/configInitFactory.ts +142 -0
  207. package/src/packlets/config/convert.ts +61 -0
  208. package/src/packlets/config/index.ts +30 -0
  209. package/src/packlets/config/json.ts +43 -0
  210. package/src/packlets/config/predefined/default.ts +150 -0
  211. package/src/packlets/config/predefined/extended.ts +198 -0
  212. package/src/packlets/config/predefined/index.ts +26 -0
  213. package/src/packlets/config/systemConfiguration.ts +217 -0
  214. package/src/packlets/context/contextDecls.ts +76 -0
  215. package/src/packlets/context/contextToken.ts +252 -0
  216. package/src/packlets/context/convert/decls.ts +126 -0
  217. package/src/packlets/context/convert/index.ts +23 -0
  218. package/src/packlets/context/index.ts +27 -0
  219. package/src/packlets/decisions/abstractDecision.ts +87 -0
  220. package/src/packlets/decisions/abstractDecisionCollector.ts +122 -0
  221. package/src/packlets/decisions/candidate.ts +101 -0
  222. package/src/packlets/decisions/common.ts +37 -0
  223. package/src/packlets/decisions/concreteDecision.ts +157 -0
  224. package/src/packlets/decisions/decision.ts +172 -0
  225. package/src/packlets/decisions/index.ts +28 -0
  226. package/src/packlets/import/fsItem.ts +212 -0
  227. package/src/packlets/import/importContext.ts +183 -0
  228. package/src/packlets/import/importManager.ts +187 -0
  229. package/src/packlets/import/importable.ts +107 -0
  230. package/src/packlets/import/importers/collectionImporter.ts +153 -0
  231. package/src/packlets/import/importers/fsItemImporter.ts +154 -0
  232. package/src/packlets/import/importers/importer.ts +58 -0
  233. package/src/packlets/import/importers/index.ts +27 -0
  234. package/src/packlets/import/importers/jsonImporter.ts +133 -0
  235. package/src/packlets/import/importers/pathImporter.ts +134 -0
  236. package/src/packlets/import/index.ts +29 -0
  237. package/src/packlets/qualifier-types/config/convert.ts +108 -0
  238. package/src/packlets/qualifier-types/config/index.ts +27 -0
  239. package/src/packlets/qualifier-types/config/json.ts +126 -0
  240. package/src/packlets/qualifier-types/convert.ts +77 -0
  241. package/src/packlets/qualifier-types/helpers.ts +94 -0
  242. package/src/packlets/qualifier-types/index.ts +34 -0
  243. package/src/packlets/qualifier-types/languageQualifierType.ts +143 -0
  244. package/src/packlets/qualifier-types/literalQualifierType.ts +244 -0
  245. package/src/packlets/qualifier-types/literalValueHierarchy.ts +332 -0
  246. package/src/packlets/qualifier-types/qualifierType.ts +360 -0
  247. package/src/packlets/qualifier-types/qualifierTypeCollector.ts +102 -0
  248. package/src/packlets/qualifier-types/territoryQualifierType.ts +255 -0
  249. package/src/packlets/qualifiers/convert/decls.ts +90 -0
  250. package/src/packlets/qualifiers/convert/index.ts +24 -0
  251. package/src/packlets/qualifiers/convert/qualifier.ts +55 -0
  252. package/src/packlets/qualifiers/index.ts +31 -0
  253. package/src/packlets/qualifiers/qualifier.ts +169 -0
  254. package/src/packlets/qualifiers/qualifierCollector.ts +194 -0
  255. package/src/packlets/qualifiers/qualifierDecl.ts +80 -0
  256. package/src/packlets/qualifiers/qualifierDefaultValueDecls.ts +57 -0
  257. package/src/packlets/qualifiers/qualifierDefaultValueToken.ts +230 -0
  258. package/src/packlets/resource-json/compiled/common.ts +35 -0
  259. package/src/packlets/resource-json/compiled/convert.ts +143 -0
  260. package/src/packlets/resource-json/compiled/index.ts +27 -0
  261. package/src/packlets/resource-json/compiled/json.ts +239 -0
  262. package/src/packlets/resource-json/convert.ts +236 -0
  263. package/src/packlets/resource-json/helpers.ts +284 -0
  264. package/src/packlets/resource-json/index.ts +33 -0
  265. package/src/packlets/resource-json/json.ts +295 -0
  266. package/src/packlets/resource-json/normalized.ts +211 -0
  267. package/src/packlets/resource-json/resourceDeclCollection.ts +117 -0
  268. package/src/packlets/resource-json/resourceDeclContainer.ts +48 -0
  269. package/src/packlets/resource-json/resourceDeclTree.ts +116 -0
  270. package/src/packlets/resource-types/config/convert.ts +36 -0
  271. package/src/packlets/resource-types/config/index.ts +27 -0
  272. package/src/packlets/resource-types/config/json.ts +30 -0
  273. package/src/packlets/resource-types/helpers.ts +44 -0
  274. package/src/packlets/resource-types/index.ts +30 -0
  275. package/src/packlets/resource-types/jsonResourceType.ts +104 -0
  276. package/src/packlets/resource-types/resourceType.ts +259 -0
  277. package/src/packlets/resource-types/resourceTypeCollector.ts +79 -0
  278. package/src/packlets/resources/candidateReducer.ts +331 -0
  279. package/src/packlets/resources/common.ts +114 -0
  280. package/src/packlets/resources/index.ts +28 -0
  281. package/src/packlets/resources/resource.ts +307 -0
  282. package/src/packlets/resources/resourceBuilder.ts +269 -0
  283. package/src/packlets/resources/resourceCandidate.ts +333 -0
  284. package/src/packlets/resources/resourceManagerBuilder.ts +1169 -0
  285. package/src/packlets/runtime/cacheListener.ts +113 -0
  286. package/src/packlets/runtime/cacheMetrics.ts +206 -0
  287. package/src/packlets/runtime/compiledResourceCollection.ts +607 -0
  288. package/src/packlets/runtime/conditionSetResolutionResult.ts +160 -0
  289. package/src/packlets/runtime/context/contextQualifierProvider.ts +117 -0
  290. package/src/packlets/runtime/context/contextQualifierProviderValidator.ts +281 -0
  291. package/src/packlets/runtime/context/index.ts +26 -0
  292. package/src/packlets/runtime/context/simpleContextQualifierProvider.ts +225 -0
  293. package/src/packlets/runtime/context/validatingSimpleContextQualifierProvider.ts +96 -0
  294. package/src/packlets/runtime/iResourceManager.ts +130 -0
  295. package/src/packlets/runtime/index.ts +35 -0
  296. package/src/packlets/runtime/resource-tree/common.ts +126 -0
  297. package/src/packlets/runtime/resource-tree/index.ts +26 -0
  298. package/src/packlets/runtime/resource-tree/readOnlyResourceTree.ts +342 -0
  299. package/src/packlets/runtime/resource-tree/resourceTreeChildren.ts +125 -0
  300. package/src/packlets/runtime/resource-tree/resourceTreeChildrenValidator.ts +187 -0
  301. package/src/packlets/runtime/resourceResolver.ts +626 -0
  302. package/src/packlets/runtime/validate.ts +63 -0
  303. package/src/packlets/zip-archive/convert.ts +121 -0
  304. package/src/packlets/zip-archive/index.ts +76 -0
  305. package/src/packlets/zip-archive/json.ts +91 -0
  306. package/src/packlets/zip-archive/types.ts +140 -0
  307. package/src/packlets/zip-archive/zipArchiveCreator.ts +229 -0
  308. package/src/packlets/zip-archive/zipArchiveFormat.ts +158 -0
  309. package/src/packlets/zip-archive/zipArchiveLoader.ts +370 -0
  310. package/CHANGELOG.md +0 -14
  311. package/CLAUDE.md +0 -186
  312. package/EXAMPLE_INIT_PARAMS.md +0 -88
  313. package/PROGRESS_SUMMARY.md +0 -48
  314. package/lib/index.d.ts.map +0 -1
  315. package/lib/index.js.map +0 -1
  316. package/lib/packlets/common/conditions.d.ts.map +0 -1
  317. package/lib/packlets/common/conditions.js.map +0 -1
  318. package/lib/packlets/common/convert.d.ts.map +0 -1
  319. package/lib/packlets/common/convert.js.map +0 -1
  320. package/lib/packlets/common/helpers/conditions.d.ts.map +0 -1
  321. package/lib/packlets/common/helpers/conditions.js.map +0 -1
  322. package/lib/packlets/common/helpers/context.d.ts.map +0 -1
  323. package/lib/packlets/common/helpers/context.js.map +0 -1
  324. package/lib/packlets/common/helpers/index.d.ts.map +0 -1
  325. package/lib/packlets/common/helpers/index.js.map +0 -1
  326. package/lib/packlets/common/helpers/qualifierDefaultValues.d.ts.map +0 -1
  327. package/lib/packlets/common/helpers/qualifierDefaultValues.js.map +0 -1
  328. package/lib/packlets/common/helpers/resources.d.ts.map +0 -1
  329. package/lib/packlets/common/helpers/resources.js.map +0 -1
  330. package/lib/packlets/common/index.d.ts.map +0 -1
  331. package/lib/packlets/common/index.js.map +0 -1
  332. package/lib/packlets/common/resources.d.ts.map +0 -1
  333. package/lib/packlets/common/resources.js.map +0 -1
  334. package/lib/packlets/common/validate/conditions.d.ts.map +0 -1
  335. package/lib/packlets/common/validate/conditions.js.map +0 -1
  336. package/lib/packlets/common/validate/index.d.ts.map +0 -1
  337. package/lib/packlets/common/validate/index.js.map +0 -1
  338. package/lib/packlets/common/validate/regularExpressions.d.ts.map +0 -1
  339. package/lib/packlets/common/validate/regularExpressions.js.map +0 -1
  340. package/lib/packlets/common/validate/resources.d.ts.map +0 -1
  341. package/lib/packlets/common/validate/resources.js.map +0 -1
  342. package/lib/packlets/conditions/condition.d.ts.map +0 -1
  343. package/lib/packlets/conditions/condition.js.map +0 -1
  344. package/lib/packlets/conditions/conditionCollector.d.ts.map +0 -1
  345. package/lib/packlets/conditions/conditionCollector.js.map +0 -1
  346. package/lib/packlets/conditions/conditionDecls.d.ts.map +0 -1
  347. package/lib/packlets/conditions/conditionDecls.js.map +0 -1
  348. package/lib/packlets/conditions/conditionSet.d.ts.map +0 -1
  349. package/lib/packlets/conditions/conditionSet.js.map +0 -1
  350. package/lib/packlets/conditions/conditionSetCollector.d.ts.map +0 -1
  351. package/lib/packlets/conditions/conditionSetCollector.js.map +0 -1
  352. package/lib/packlets/conditions/conditionSetDecls.d.ts.map +0 -1
  353. package/lib/packlets/conditions/conditionSetDecls.js.map +0 -1
  354. package/lib/packlets/conditions/conditionToken.d.ts.map +0 -1
  355. package/lib/packlets/conditions/conditionToken.js.map +0 -1
  356. package/lib/packlets/conditions/convert/conditionSetDecls.d.ts.map +0 -1
  357. package/lib/packlets/conditions/convert/conditionSetDecls.js.map +0 -1
  358. package/lib/packlets/conditions/convert/decls.d.ts.map +0 -1
  359. package/lib/packlets/conditions/convert/decls.js.map +0 -1
  360. package/lib/packlets/conditions/convert/index.d.ts.map +0 -1
  361. package/lib/packlets/conditions/convert/index.js.map +0 -1
  362. package/lib/packlets/conditions/index.d.ts.map +0 -1
  363. package/lib/packlets/conditions/index.js.map +0 -1
  364. package/lib/packlets/config/common.d.ts.map +0 -1
  365. package/lib/packlets/config/common.js.map +0 -1
  366. package/lib/packlets/config/convert.d.ts.map +0 -1
  367. package/lib/packlets/config/convert.js.map +0 -1
  368. package/lib/packlets/config/index.d.ts.map +0 -1
  369. package/lib/packlets/config/index.js.map +0 -1
  370. package/lib/packlets/config/json.d.ts.map +0 -1
  371. package/lib/packlets/config/json.js.map +0 -1
  372. package/lib/packlets/config/predefined/default.d.ts.map +0 -1
  373. package/lib/packlets/config/predefined/default.js.map +0 -1
  374. package/lib/packlets/config/predefined/extended.d.ts.map +0 -1
  375. package/lib/packlets/config/predefined/extended.js.map +0 -1
  376. package/lib/packlets/config/predefined/index.d.ts.map +0 -1
  377. package/lib/packlets/config/predefined/index.js.map +0 -1
  378. package/lib/packlets/config/systemConfiguration.d.ts.map +0 -1
  379. package/lib/packlets/config/systemConfiguration.js.map +0 -1
  380. package/lib/packlets/context/contextDecls.d.ts.map +0 -1
  381. package/lib/packlets/context/contextDecls.js.map +0 -1
  382. package/lib/packlets/context/contextToken.d.ts.map +0 -1
  383. package/lib/packlets/context/contextToken.js.map +0 -1
  384. package/lib/packlets/context/convert/decls.d.ts.map +0 -1
  385. package/lib/packlets/context/convert/decls.js.map +0 -1
  386. package/lib/packlets/context/convert/index.d.ts.map +0 -1
  387. package/lib/packlets/context/convert/index.js.map +0 -1
  388. package/lib/packlets/context/index.d.ts.map +0 -1
  389. package/lib/packlets/context/index.js.map +0 -1
  390. package/lib/packlets/decisions/abstractDecision.d.ts.map +0 -1
  391. package/lib/packlets/decisions/abstractDecision.js.map +0 -1
  392. package/lib/packlets/decisions/abstractDecisionCollector.d.ts.map +0 -1
  393. package/lib/packlets/decisions/abstractDecisionCollector.js.map +0 -1
  394. package/lib/packlets/decisions/candidate.d.ts.map +0 -1
  395. package/lib/packlets/decisions/candidate.js.map +0 -1
  396. package/lib/packlets/decisions/common.d.ts.map +0 -1
  397. package/lib/packlets/decisions/common.js.map +0 -1
  398. package/lib/packlets/decisions/concreteDecision.d.ts.map +0 -1
  399. package/lib/packlets/decisions/concreteDecision.js.map +0 -1
  400. package/lib/packlets/decisions/decision.d.ts.map +0 -1
  401. package/lib/packlets/decisions/decision.js.map +0 -1
  402. package/lib/packlets/decisions/index.d.ts.map +0 -1
  403. package/lib/packlets/decisions/index.js.map +0 -1
  404. package/lib/packlets/import/fsItem.d.ts.map +0 -1
  405. package/lib/packlets/import/fsItem.js.map +0 -1
  406. package/lib/packlets/import/importContext.d.ts.map +0 -1
  407. package/lib/packlets/import/importContext.js.map +0 -1
  408. package/lib/packlets/import/importManager.d.ts.map +0 -1
  409. package/lib/packlets/import/importManager.js.map +0 -1
  410. package/lib/packlets/import/importable.d.ts.map +0 -1
  411. package/lib/packlets/import/importable.js.map +0 -1
  412. package/lib/packlets/import/importers/collectionImporter.d.ts.map +0 -1
  413. package/lib/packlets/import/importers/collectionImporter.js.map +0 -1
  414. package/lib/packlets/import/importers/fsItemImporter.d.ts.map +0 -1
  415. package/lib/packlets/import/importers/fsItemImporter.js.map +0 -1
  416. package/lib/packlets/import/importers/importer.d.ts.map +0 -1
  417. package/lib/packlets/import/importers/importer.js.map +0 -1
  418. package/lib/packlets/import/importers/index.d.ts.map +0 -1
  419. package/lib/packlets/import/importers/index.js.map +0 -1
  420. package/lib/packlets/import/importers/jsonImporter.d.ts.map +0 -1
  421. package/lib/packlets/import/importers/jsonImporter.js.map +0 -1
  422. package/lib/packlets/import/importers/pathImporter.d.ts.map +0 -1
  423. package/lib/packlets/import/importers/pathImporter.js.map +0 -1
  424. package/lib/packlets/import/index.d.ts.map +0 -1
  425. package/lib/packlets/import/index.js.map +0 -1
  426. package/lib/packlets/qualifier-types/config/convert.d.ts.map +0 -1
  427. package/lib/packlets/qualifier-types/config/convert.js.map +0 -1
  428. package/lib/packlets/qualifier-types/config/index.d.ts.map +0 -1
  429. package/lib/packlets/qualifier-types/config/index.js.map +0 -1
  430. package/lib/packlets/qualifier-types/config/json.d.ts.map +0 -1
  431. package/lib/packlets/qualifier-types/config/json.js.map +0 -1
  432. package/lib/packlets/qualifier-types/convert.d.ts.map +0 -1
  433. package/lib/packlets/qualifier-types/convert.js.map +0 -1
  434. package/lib/packlets/qualifier-types/helpers.d.ts.map +0 -1
  435. package/lib/packlets/qualifier-types/helpers.js.map +0 -1
  436. package/lib/packlets/qualifier-types/index.d.ts.map +0 -1
  437. package/lib/packlets/qualifier-types/index.js.map +0 -1
  438. package/lib/packlets/qualifier-types/languageQualifierType.d.ts.map +0 -1
  439. package/lib/packlets/qualifier-types/languageQualifierType.js.map +0 -1
  440. package/lib/packlets/qualifier-types/literalQualifierType.d.ts.map +0 -1
  441. package/lib/packlets/qualifier-types/literalQualifierType.js.map +0 -1
  442. package/lib/packlets/qualifier-types/literalValueHierarchy.d.ts.map +0 -1
  443. package/lib/packlets/qualifier-types/literalValueHierarchy.js.map +0 -1
  444. package/lib/packlets/qualifier-types/qualifierType.d.ts.map +0 -1
  445. package/lib/packlets/qualifier-types/qualifierType.js.map +0 -1
  446. package/lib/packlets/qualifier-types/qualifierTypeCollector.d.ts.map +0 -1
  447. package/lib/packlets/qualifier-types/qualifierTypeCollector.js.map +0 -1
  448. package/lib/packlets/qualifier-types/territoryQualifierType.d.ts.map +0 -1
  449. package/lib/packlets/qualifier-types/territoryQualifierType.js.map +0 -1
  450. package/lib/packlets/qualifiers/convert/decls.d.ts.map +0 -1
  451. package/lib/packlets/qualifiers/convert/decls.js.map +0 -1
  452. package/lib/packlets/qualifiers/convert/index.d.ts.map +0 -1
  453. package/lib/packlets/qualifiers/convert/index.js.map +0 -1
  454. package/lib/packlets/qualifiers/convert/qualifier.d.ts.map +0 -1
  455. package/lib/packlets/qualifiers/convert/qualifier.js.map +0 -1
  456. package/lib/packlets/qualifiers/index.d.ts.map +0 -1
  457. package/lib/packlets/qualifiers/index.js.map +0 -1
  458. package/lib/packlets/qualifiers/qualifier.d.ts.map +0 -1
  459. package/lib/packlets/qualifiers/qualifier.js.map +0 -1
  460. package/lib/packlets/qualifiers/qualifierCollector.d.ts.map +0 -1
  461. package/lib/packlets/qualifiers/qualifierCollector.js.map +0 -1
  462. package/lib/packlets/qualifiers/qualifierDecl.d.ts.map +0 -1
  463. package/lib/packlets/qualifiers/qualifierDecl.js.map +0 -1
  464. package/lib/packlets/qualifiers/qualifierDefaultValueDecls.d.ts.map +0 -1
  465. package/lib/packlets/qualifiers/qualifierDefaultValueDecls.js.map +0 -1
  466. package/lib/packlets/qualifiers/qualifierDefaultValueToken.d.ts.map +0 -1
  467. package/lib/packlets/qualifiers/qualifierDefaultValueToken.js.map +0 -1
  468. package/lib/packlets/resource-json/compiled/common.d.ts.map +0 -1
  469. package/lib/packlets/resource-json/compiled/common.js.map +0 -1
  470. package/lib/packlets/resource-json/compiled/convert.d.ts.map +0 -1
  471. package/lib/packlets/resource-json/compiled/convert.js.map +0 -1
  472. package/lib/packlets/resource-json/compiled/index.d.ts.map +0 -1
  473. package/lib/packlets/resource-json/compiled/index.js.map +0 -1
  474. package/lib/packlets/resource-json/compiled/json.d.ts.map +0 -1
  475. package/lib/packlets/resource-json/compiled/json.js.map +0 -1
  476. package/lib/packlets/resource-json/convert.d.ts.map +0 -1
  477. package/lib/packlets/resource-json/convert.js.map +0 -1
  478. package/lib/packlets/resource-json/helpers.d.ts.map +0 -1
  479. package/lib/packlets/resource-json/helpers.js.map +0 -1
  480. package/lib/packlets/resource-json/index.d.ts.map +0 -1
  481. package/lib/packlets/resource-json/index.js.map +0 -1
  482. package/lib/packlets/resource-json/json.d.ts.map +0 -1
  483. package/lib/packlets/resource-json/json.js.map +0 -1
  484. package/lib/packlets/resource-json/normalized.d.ts.map +0 -1
  485. package/lib/packlets/resource-json/normalized.js.map +0 -1
  486. package/lib/packlets/resource-json/resourceDeclCollection.d.ts.map +0 -1
  487. package/lib/packlets/resource-json/resourceDeclCollection.js.map +0 -1
  488. package/lib/packlets/resource-json/resourceDeclContainer.d.ts.map +0 -1
  489. package/lib/packlets/resource-json/resourceDeclContainer.js.map +0 -1
  490. package/lib/packlets/resource-json/resourceDeclTree.d.ts.map +0 -1
  491. package/lib/packlets/resource-json/resourceDeclTree.js.map +0 -1
  492. package/lib/packlets/resource-types/config/convert.d.ts.map +0 -1
  493. package/lib/packlets/resource-types/config/convert.js.map +0 -1
  494. package/lib/packlets/resource-types/config/index.d.ts.map +0 -1
  495. package/lib/packlets/resource-types/config/index.js.map +0 -1
  496. package/lib/packlets/resource-types/config/json.d.ts.map +0 -1
  497. package/lib/packlets/resource-types/config/json.js.map +0 -1
  498. package/lib/packlets/resource-types/helpers.d.ts.map +0 -1
  499. package/lib/packlets/resource-types/helpers.js.map +0 -1
  500. package/lib/packlets/resource-types/index.d.ts.map +0 -1
  501. package/lib/packlets/resource-types/index.js.map +0 -1
  502. package/lib/packlets/resource-types/jsonResourceType.d.ts.map +0 -1
  503. package/lib/packlets/resource-types/jsonResourceType.js.map +0 -1
  504. package/lib/packlets/resource-types/resourceType.d.ts.map +0 -1
  505. package/lib/packlets/resource-types/resourceType.js.map +0 -1
  506. package/lib/packlets/resource-types/resourceTypeCollector.d.ts.map +0 -1
  507. package/lib/packlets/resource-types/resourceTypeCollector.js.map +0 -1
  508. package/lib/packlets/resources/candidateReducer.d.ts.map +0 -1
  509. package/lib/packlets/resources/candidateReducer.js.map +0 -1
  510. package/lib/packlets/resources/common.d.ts.map +0 -1
  511. package/lib/packlets/resources/common.js.map +0 -1
  512. package/lib/packlets/resources/index.d.ts.map +0 -1
  513. package/lib/packlets/resources/index.js.map +0 -1
  514. package/lib/packlets/resources/resource.d.ts.map +0 -1
  515. package/lib/packlets/resources/resource.js.map +0 -1
  516. package/lib/packlets/resources/resourceBuilder.d.ts.map +0 -1
  517. package/lib/packlets/resources/resourceBuilder.js.map +0 -1
  518. package/lib/packlets/resources/resourceCandidate.d.ts.map +0 -1
  519. package/lib/packlets/resources/resourceCandidate.js.map +0 -1
  520. package/lib/packlets/resources/resourceManagerBuilder.d.ts.map +0 -1
  521. package/lib/packlets/resources/resourceManagerBuilder.js.map +0 -1
  522. package/lib/packlets/runtime/cacheListener.d.ts.map +0 -1
  523. package/lib/packlets/runtime/cacheListener.js.map +0 -1
  524. package/lib/packlets/runtime/cacheMetrics.d.ts.map +0 -1
  525. package/lib/packlets/runtime/cacheMetrics.js.map +0 -1
  526. package/lib/packlets/runtime/compiledResourceCollection.d.ts.map +0 -1
  527. package/lib/packlets/runtime/compiledResourceCollection.js.map +0 -1
  528. package/lib/packlets/runtime/conditionSetResolutionResult.d.ts.map +0 -1
  529. package/lib/packlets/runtime/conditionSetResolutionResult.js.map +0 -1
  530. package/lib/packlets/runtime/context/contextQualifierProvider.d.ts.map +0 -1
  531. package/lib/packlets/runtime/context/contextQualifierProvider.js.map +0 -1
  532. package/lib/packlets/runtime/context/contextQualifierProviderValidator.d.ts.map +0 -1
  533. package/lib/packlets/runtime/context/contextQualifierProviderValidator.js.map +0 -1
  534. package/lib/packlets/runtime/context/index.d.ts.map +0 -1
  535. package/lib/packlets/runtime/context/index.js.map +0 -1
  536. package/lib/packlets/runtime/context/simpleContextQualifierProvider.d.ts.map +0 -1
  537. package/lib/packlets/runtime/context/simpleContextQualifierProvider.js.map +0 -1
  538. package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.d.ts.map +0 -1
  539. package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.js.map +0 -1
  540. package/lib/packlets/runtime/iResourceManager.d.ts.map +0 -1
  541. package/lib/packlets/runtime/iResourceManager.js.map +0 -1
  542. package/lib/packlets/runtime/index.d.ts.map +0 -1
  543. package/lib/packlets/runtime/index.js.map +0 -1
  544. package/lib/packlets/runtime/resource-tree/common.d.ts.map +0 -1
  545. package/lib/packlets/runtime/resource-tree/common.js.map +0 -1
  546. package/lib/packlets/runtime/resource-tree/index.d.ts.map +0 -1
  547. package/lib/packlets/runtime/resource-tree/index.js.map +0 -1
  548. package/lib/packlets/runtime/resource-tree/readOnlyResourceTree.d.ts.map +0 -1
  549. package/lib/packlets/runtime/resource-tree/readOnlyResourceTree.js.map +0 -1
  550. package/lib/packlets/runtime/resource-tree/resourceTreeChildren.d.ts.map +0 -1
  551. package/lib/packlets/runtime/resource-tree/resourceTreeChildren.js.map +0 -1
  552. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.d.ts.map +0 -1
  553. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.js.map +0 -1
  554. package/lib/packlets/runtime/resourceResolver.d.ts.map +0 -1
  555. package/lib/packlets/runtime/resourceResolver.js.map +0 -1
  556. package/lib/packlets/runtime/validate.d.ts.map +0 -1
  557. package/lib/packlets/runtime/validate.js.map +0 -1
@@ -7,7 +7,7 @@ import { QualifierType, QualifierTypeCollector } from '../qualifier-types';
7
7
  import { ResourceId } from '../common';
8
8
  import { IResourceManager, IResource } from './iResourceManager';
9
9
  import * as ResourceJson from '../resource-json';
10
- import { IReadOnlyResourceTreeRoot } from './resource-tree';
10
+ import { ReadOnlyResourceTreeRoot } from './resource-tree';
11
11
  import * as Context from '../context';
12
12
  /**
13
13
  * Interface for parameters to create a {@link Runtime.CompiledResourceCollection | CompiledResourceCollection}.
@@ -33,7 +33,7 @@ export interface ICompiledResourceCollectionCreateParams {
33
33
  * and use pre-compiled resource collections without rebuilding them from scratch.
34
34
  * @public
35
35
  */
36
- export declare class CompiledResourceCollection implements IResourceManager {
36
+ export declare class CompiledResourceCollection implements IResourceManager<IResource> {
37
37
  readonly conditions: ReadOnlyConditionCollector;
38
38
  readonly conditionSets: ReadOnlyConditionSetCollector;
39
39
  readonly decisions: ReadOnlyAbstractDecisionCollector;
@@ -105,7 +105,7 @@ export declare class CompiledResourceCollection implements IResourceManager {
105
105
  * @returns Result containing the resource tree root, or failure if tree construction fails
106
106
  * @public
107
107
  */
108
- getBuiltResourceTree(): Result<IReadOnlyResourceTreeRoot<IResource>>;
108
+ getBuiltResourceTree(): Result<ReadOnlyResourceTreeRoot<IResource>>;
109
109
  /**
110
110
  * Reconstructs a QualifierTypeCollector from compiled data.
111
111
  * @param compiled - The compiled resource collection
@@ -446,9 +446,16 @@ class CompiledResourceCollection {
446
446
  continue;
447
447
  }
448
448
  const concreteDecision = concreteDecisionResult.value;
449
+ const { value: name, message: nameError } = common_1.Helpers.getNameForResourceId(compiledResource.id);
450
+ /* c8 ignore next 4 - defense in depth nearly impossible to reproduce */
451
+ if (nameError !== undefined) {
452
+ errors.addMessage(`Failed to get name for resource ${compiledResource.id}: ${nameError}`);
453
+ continue;
454
+ }
449
455
  // Create minimal resource that implements IResource
450
456
  const resource = {
451
457
  id: compiledResource.id,
458
+ name,
452
459
  resourceType,
453
460
  decision: concreteDecision,
454
461
  candidates
@@ -3,8 +3,9 @@ import { JsonObject } from '@fgv/ts-json-base';
3
3
  import { ReadOnlyConditionCollector, ReadOnlyConditionSetCollector } from '../conditions';
4
4
  import { ReadOnlyAbstractDecisionCollector, ConcreteDecision } from '../decisions';
5
5
  import { ResourceId, ResourceValueMergeMethod } from '../common';
6
- import { ResourceType } from '../resource-types';
6
+ import { IResourceType } from '../resource-types';
7
7
  import { IContextDecl, IValidatedContextDecl } from '../context';
8
+ import { IReadOnlyResourceTreeRoot } from './resource-tree';
8
9
  /**
9
10
  * Runtime representation of a resource candidate with the minimal data needed for resolution.
10
11
  * @public
@@ -30,8 +31,10 @@ export interface IResourceCandidate {
30
31
  export interface IResource {
31
32
  /** The resource identifier */
32
33
  readonly id: string;
34
+ /** The resource name */
35
+ readonly name: string;
33
36
  /** The resource type */
34
- readonly resourceType: ResourceType;
37
+ readonly resourceType: IResourceType;
35
38
  /** The decision used to select candidates */
36
39
  readonly decision: ConcreteDecision;
37
40
  /** The available candidates for this resource */
@@ -43,7 +46,7 @@ export interface IResource {
43
46
  * implementations without requiring the full ResourceManagerBuilder build mechanics.
44
47
  * @public
45
48
  */
46
- export interface IResourceManager {
49
+ export interface IResourceManager<TR extends IResource = IResource> {
47
50
  /**
48
51
  * A {@link Conditions.ReadOnlyConditionCollector | ReadOnlyConditionCollector} which
49
52
  * contains the {@link Conditions.Condition | conditions} used by resource candidates.
@@ -64,12 +67,17 @@ export interface IResourceManager {
64
67
  * @param id - The resource identifier
65
68
  * @returns Success with the runtime resource if found, Failure otherwise
66
69
  */
67
- getBuiltResource(id: string): Result<IResource>;
70
+ getBuiltResource(id: string): Result<TR>;
71
+ /**
72
+ * Gets a resource tree built from the resources in this resource manager.
73
+ * @returns Result containing the resource tree root, or failure if tree construction fails
74
+ */
75
+ getBuiltResourceTree(): Result<IReadOnlyResourceTreeRoot<TR>>;
68
76
  /**
69
77
  * A read-only result map of all built resources, keyed by resource ID.
70
78
  * Resources are built on-demand when accessed and returns Results for error handling.
71
79
  */
72
- readonly builtResources: Collections.IReadOnlyValidatingResultMap<ResourceId, IResource>;
80
+ readonly builtResources: Collections.IReadOnlyValidatingResultMap<ResourceId, TR>;
73
81
  /**
74
82
  * The number of resources in this resource manager.
75
83
  */
@@ -14,7 +14,7 @@ import { IReadOnlyResourceTreeBranch, IReadOnlyResourceTreeChildren, IReadOnlyRe
14
14
  * strongly-typed internal tree operations, ensuring type safety and consistent
15
15
  * error handling throughout the resource tree navigation.
16
16
  *
17
- * @internal
17
+ * @public
18
18
  */
19
19
  export declare class ResourceTreeChildrenValidator<T> implements IReadOnlyResourceTreeChildren<T, string, string> {
20
20
  private readonly _inner;
@@ -69,17 +69,17 @@ export declare class ResourceTreeChildrenValidator<T> implements IReadOnlyResour
69
69
  */
70
70
  forEach(cb: (value: unknown, key: string, map: IReadOnlyResultMap<string, unknown>, thisArg?: unknown) => void, arg?: unknown): void;
71
71
  /**
72
- * Gets a child node by its ResourceName key with detailed error information.
73
- * @param key - The ResourceName key to look up
72
+ * Gets a child node by its string key with detailed error information.
73
+ * @param key - The string key to look up
74
74
  * @returns DetailedResult containing the node if found, or failure with details
75
75
  */
76
- get(key: ResourceName): DetailedResult<IReadOnlyResourceTreeNode<T>, Collections.ResultMapResultDetail>;
76
+ get(key: string): DetailedResult<IReadOnlyResourceTreeNode<T>, Collections.ResultMapResultDetail>;
77
77
  /**
78
- * Checks if a child node exists at the given ResourceName key.
79
- * @param key - The ResourceName key to check
78
+ * Checks if a child node exists at the given string key.
79
+ * @param key - The string key to check
80
80
  * @returns True if a child node exists at the key, false otherwise
81
81
  */
82
- has(key: ResourceName): boolean;
82
+ has(key: string): boolean;
83
83
  /**
84
84
  * Returns an iterator of ResourceName keys for all child nodes.
85
85
  * @returns Map iterator for all child node keys
@@ -37,7 +37,7 @@ const ts_utils_1 = require("@fgv/ts-utils");
37
37
  * strongly-typed internal tree operations, ensuring type safety and consistent
38
38
  * error handling throughout the resource tree navigation.
39
39
  *
40
- * @internal
40
+ * @public
41
41
  */
42
42
  class ResourceTreeChildrenValidator {
43
43
  /**
@@ -121,8 +121,8 @@ class ResourceTreeChildrenValidator {
121
121
  }
122
122
  }
123
123
  /**
124
- * Gets a child node by its ResourceName key with detailed error information.
125
- * @param key - The ResourceName key to look up
124
+ * Gets a child node by its string key with detailed error information.
125
+ * @param key - The string key to look up
126
126
  * @returns DetailedResult containing the node if found, or failure with details
127
127
  */
128
128
  get(key) {
@@ -132,8 +132,8 @@ class ResourceTreeChildrenValidator {
132
132
  return (0, ts_utils_1.failWithDetail)(`${key}: invalid resource name.`, 'invalid-key');
133
133
  }
134
134
  /**
135
- * Checks if a child node exists at the given ResourceName key.
136
- * @param key - The ResourceName key to check
135
+ * Checks if a child node exists at the given string key.
136
+ * @param key - The string key to check
137
137
  * @returns True if a child node exists at the key, false otherwise
138
138
  */
139
139
  has(key) {
@@ -20,6 +20,19 @@ export type DecisionResolutionResult = {
20
20
  instanceIndices: ReadonlyArray<number>;
21
21
  defaultInstanceIndices: ReadonlyArray<number>;
22
22
  };
23
+ /**
24
+ * Options for configuring a {@link Runtime.ResourceResolver | ResourceResolver}.
25
+ * @public
26
+ */
27
+ export interface IResourceResolverOptions {
28
+ /**
29
+ * Controls whether null values in resource composition should suppress properties
30
+ * instead of setting them to null. When true, properties with null values from
31
+ * higher-priority partial candidates will be omitted from the final composed resource.
32
+ * @defaultValue false
33
+ */
34
+ suppressNullAsDelete?: boolean;
35
+ }
23
36
  /**
24
37
  * Parameters for creating a {@link Runtime.ResourceResolver | ResourceResolver}.
25
38
  * @public
@@ -44,6 +57,10 @@ export interface IResourceResolverCreateParams {
44
57
  * An optional listener for {@link Runtime.ResourceResolver | ResourceResolver} cache activity.
45
58
  */
46
59
  listener?: IResourceResolverCacheListener;
60
+ /**
61
+ * Optional configuration options for the {@link Runtime.ResourceResolver | ResourceResolver}.
62
+ */
63
+ options?: IResourceResolverOptions;
47
64
  }
48
65
  /**
49
66
  * High-performance runtime resource resolver with O(1) condition caching.
@@ -64,6 +81,10 @@ export declare class ResourceResolver {
64
81
  * The context qualifier provider that resolves qualifier values.
65
82
  */
66
83
  readonly contextQualifierProvider: IContextQualifierProvider;
84
+ /**
85
+ * The configuration options for this resource resolver.
86
+ */
87
+ readonly options: IResourceResolverOptions;
67
88
  /**
68
89
  * The cache array for resolved conditions, indexed by condition index for O(1) lookup.
69
90
  * Each entry stores the resolved {@link Runtime.IConditionMatchResult | condition match result} for
@@ -61,9 +61,13 @@ class ResourceResolver {
61
61
  * @param params - {@link Runtime.IResourceResolverCreateParams | Parameters} used to create the resolver.
62
62
  */
63
63
  constructor(params) {
64
+ var _a, _b;
64
65
  this.resourceManager = params.resourceManager;
65
66
  this.qualifierTypes = params.qualifierTypes;
66
67
  this.contextQualifierProvider = params.contextQualifierProvider;
68
+ this.options = {
69
+ suppressNullAsDelete: (_b = (_a = params.options) === null || _a === void 0 ? void 0 : _a.suppressNullAsDelete) !== null && _b !== void 0 ? _b : false
70
+ };
67
71
  // Initialize condition cache array with size matching the condition collector
68
72
  const conditionCollectorSize = this.resourceManager.conditions.size;
69
73
  this._conditionCache = new Array(conditionCollectorSize);
@@ -94,7 +98,7 @@ class ResourceResolver {
94
98
  * @public
95
99
  */
96
100
  resolveCondition(condition) {
97
- var _a, _b, _c, _d;
101
+ var _a, _b, _c;
98
102
  // Get the condition's index for cache lookup
99
103
  const conditionIndex = condition.index;
100
104
  if (conditionIndex === undefined) {
@@ -107,16 +111,20 @@ class ResourceResolver {
107
111
  return (0, ts_utils_1.succeed)(cachedResult);
108
112
  }
109
113
  // Resolve the condition by getting qualifier value and evaluating with qualifier type
110
- const qualifierValueResult = this.contextQualifierProvider.get(condition.qualifier);
111
- if (qualifierValueResult.isFailure()) {
112
- (_b = this._listener) === null || _b === void 0 ? void 0 : _b.onCacheError('condition', conditionIndex);
113
- return (0, ts_utils_1.fail)(`Failed to get qualifier value for "${condition.qualifier.name}": ${qualifierValueResult.message}`);
114
- }
115
- const qualifierValue = qualifierValueResult.value;
116
- // Evaluate the condition using the qualifier type's matching logic
117
- const score = condition.qualifier.type.matches(condition.value, qualifierValue, condition.operator);
114
+ const score = this.contextQualifierProvider
115
+ .get(condition.qualifier)
116
+ .onSuccess((qualifierValue) => {
117
+ // Evaluate the condition using the qualifier type's matching logic
118
+ return (0, ts_utils_1.succeed)(condition.qualifier.type.matches(condition.value, qualifierValue, condition.operator));
119
+ })
120
+ .onFailure((err) => {
121
+ var _a;
122
+ (_a = this._listener) === null || _a === void 0 ? void 0 : _a.onContextError(condition.qualifier.name, err);
123
+ return (0, ts_utils_1.fail)(err);
124
+ })
125
+ .orDefault(common_1.NoMatch);
118
126
  const priority = condition.priority;
119
- const scoreAsDefault = (_c = condition.scoreAsDefault) !== null && _c !== void 0 ? _c : common_1.NoMatch;
127
+ const scoreAsDefault = (_b = condition.scoreAsDefault) !== null && _b !== void 0 ? _b : common_1.NoMatch;
120
128
  const matchResult = score > common_1.NoMatch
121
129
  ? { score, priority, matchType: 'match' }
122
130
  : scoreAsDefault > common_1.NoMatch
@@ -124,7 +132,7 @@ class ResourceResolver {
124
132
  : { score: common_1.NoMatch, priority, matchType: 'noMatch' };
125
133
  // Cache the resolved value for future O(1) lookup
126
134
  this._conditionCache[conditionIndex] = matchResult;
127
- (_d = this._listener) === null || _d === void 0 ? void 0 : _d.onCacheMiss('condition', conditionIndex);
135
+ (_c = this._listener) === null || _c === void 0 ? void 0 : _c.onCacheMiss('condition', conditionIndex);
128
136
  return (0, ts_utils_1.succeed)(matchResult);
129
137
  }
130
138
  /**
@@ -153,8 +161,8 @@ class ResourceResolver {
153
161
  let matchType = 'match';
154
162
  for (const condition of conditionSet.conditions) {
155
163
  const { value: conditionResult, message: conditionMessage } = this.resolveCondition(condition);
164
+ /* c8 ignore next 4 - defensive coding: extreme internal error scenario not reachable in normal operation */
156
165
  if (conditionMessage !== undefined) {
157
- /* c8 ignore next 2 - defensive coding: extreme internal error scenario not reachable in normal operation */
158
166
  (_b = this._listener) === null || _b === void 0 ? void 0 : _b.onCacheError('conditionSet', conditionSetIndex);
159
167
  return (0, ts_utils_1.fail)(`Failed to resolve condition "${condition.key}": ${conditionMessage}`);
160
168
  }
@@ -223,8 +231,8 @@ class ResourceResolver {
223
231
  for (let instanceIndex = 0; instanceIndex < decision.candidates.length; instanceIndex++) {
224
232
  const candidate = decision.candidates[instanceIndex];
225
233
  const conditionSetResult = this.resolveConditionSet(candidate.conditionSet);
234
+ /* c8 ignore next 4 - defensive coding: extreme internal error scenario not reachable in normal operation */
226
235
  if (conditionSetResult.isFailure()) {
227
- /* c8 ignore next 2 - defensive coding: extreme internal error scenario not reachable in normal operation */
228
236
  (_b = this._listener) === null || _b === void 0 ? void 0 : _b.onCacheError('decision', decisionIndex);
229
237
  return (0, ts_utils_1.fail)(`${decision.key}: Failed to resolve condition set": ${conditionSetResult.message}`);
230
238
  }
@@ -370,9 +378,22 @@ class ResourceResolver {
370
378
  // If no full candidate found, use the last candidate as the base
371
379
  const baseCandidateIndex = fullCandidateIndex >= 0 ? fullCandidateIndex : candidates.length - 1;
372
380
  const baseCandidate = candidates[baseCandidateIndex];
373
- // If there are no partial candidates to merge, return the base candidate's value
381
+ // If there are no partial candidates to merge, but null-as-delete is enabled,
382
+ // still process through JsonEditor to handle null properties in the base candidate
374
383
  if (partialCandidates.length === 0) {
375
- return (0, ts_utils_1.succeed)(baseCandidate.json);
384
+ if (this.options.suppressNullAsDelete || !(0, ts_json_base_1.isJsonObject)(baseCandidate.json)) {
385
+ return (0, ts_utils_1.succeed)(baseCandidate.json);
386
+ }
387
+ // Process single candidate through JsonEditor to apply null-as-delete
388
+ const editor = ts_json_1.JsonEditor.create({
389
+ merge: {
390
+ arrayMergeBehavior: 'replace',
391
+ nullAsDelete: true
392
+ }
393
+ }).orThrow(); // Should never fail with valid options
394
+ return editor
395
+ .mergeObjectsInPlace({}, [baseCandidate.json])
396
+ .withErrorFormat((err) => `${resource.id}: Composition failed: ${err}`);
376
397
  }
377
398
  const allCandidates = [
378
399
  baseCandidate.json,
@@ -382,10 +403,11 @@ class ResourceResolver {
382
403
  if (allCandidates.length !== partialCandidates.length + 1) {
383
404
  return (0, ts_utils_1.fail)(`${resource.id}: Unable to compose non-object candidate values.`);
384
405
  }
385
- // Create JsonEditor with array replacement behavior for resource composition
406
+ // Create JsonEditor with array replacement behavior and null-as-delete for resource composition
386
407
  const editor = ts_json_1.JsonEditor.create({
387
408
  merge: {
388
- arrayMergeBehavior: 'replace'
409
+ arrayMergeBehavior: 'replace',
410
+ nullAsDelete: !this.options.suppressNullAsDelete
389
411
  }
390
412
  }).orThrow(); // Should never fail with valid options
391
413
  return editor
@@ -42,6 +42,7 @@ exports.resourceCandidate = ts_utils_1.Validators.object({
42
42
  */
43
43
  exports.resource = ts_utils_1.Validators.object({
44
44
  id: ts_utils_1.Validators.isA('ResourceId', (v) => typeof v === 'string' && common_1.Validate.isValidResourceId(v)),
45
+ name: ts_utils_1.Validators.isA('ResourceName', (v) => typeof v === 'string' && common_1.Validate.isValidResourceName(v)),
45
46
  resourceType: ts_utils_1.Validators.isA('ResourceType instance', (v) => v instanceof resource_types_1.ResourceType),
46
47
  decision: ts_utils_1.Validators.isA('ConcreteDecision instance', (v) => v instanceof decisions_1.ConcreteDecision),
47
48
  candidates: ts_utils_1.Validators.arrayOf(exports.resourceCandidate)
@@ -0,0 +1,52 @@
1
+ import { Validator, Converter } from '@fgv/ts-utils';
2
+ import * as Json from './json';
3
+ import { Model as ConfigModel } from '../config';
4
+ /**
5
+ * Validator for ZIP archive input type
6
+ * @public
7
+ */
8
+ export declare const zipArchiveInputType: Validator<'file' | 'directory'>;
9
+ /**
10
+ * Validator for ZIP archive config type
11
+ * @public
12
+ */
13
+ export declare const zipArchiveConfigType: Validator<'file'>;
14
+ /**
15
+ * Validator for ZIP archive input information
16
+ * @public
17
+ */
18
+ export declare const zipArchiveInputInfo: Validator<Json.IZipArchiveInputInfo>;
19
+ /**
20
+ * Validator for ZIP archive config information
21
+ * @public
22
+ */
23
+ export declare const zipArchiveConfigInfo: Validator<Json.IZipArchiveConfigInfo>;
24
+ /**
25
+ * Validator for ZIP archive manifest
26
+ * Compatible with existing tools from ts-res-browser-cli
27
+ * @public
28
+ */
29
+ export declare const zipArchiveManifest: Validator<Json.IZipArchiveManifest>;
30
+ /**
31
+ * Validator for MIME type strings
32
+ * @public
33
+ */
34
+ export declare const mimeType: Validator<string>;
35
+ /**
36
+ * Converter for imported file
37
+ * @public
38
+ */
39
+ export declare const importedFile: Converter<Json.IImportedFile>;
40
+ /**
41
+ * Converter for imported directory structure (recursive)
42
+ * Note: Uses Converter pattern because Validators don't support recursion with self parameter
43
+ * @public
44
+ */
45
+ export declare const importedDirectory: Converter<Json.IImportedDirectory>;
46
+ /**
47
+ * Validator for system configuration (delegates to config packlet)
48
+ * This validates that the parsed JSON conforms to the system configuration schema
49
+ * @public
50
+ */
51
+ export declare const systemConfiguration: Validator<ConfigModel.ISystemConfiguration>;
52
+ //# sourceMappingURL=convert.d.ts.map
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2025 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.systemConfiguration = exports.importedDirectory = exports.importedFile = exports.mimeType = exports.zipArchiveManifest = exports.zipArchiveConfigInfo = exports.zipArchiveInputInfo = exports.zipArchiveConfigType = exports.zipArchiveInputType = void 0;
25
+ /* eslint-disable @rushstack/typedef-var */
26
+ const ts_utils_1 = require("@fgv/ts-utils");
27
+ const config_1 = require("../config");
28
+ /**
29
+ * Validator for ZIP archive input type
30
+ * @public
31
+ */
32
+ exports.zipArchiveInputType = ts_utils_1.Validators.enumeratedValue([
33
+ 'file',
34
+ 'directory'
35
+ ]);
36
+ /**
37
+ * Validator for ZIP archive config type
38
+ * @public
39
+ */
40
+ exports.zipArchiveConfigType = ts_utils_1.Validators.enumeratedValue(['file']);
41
+ /**
42
+ * Validator for ZIP archive input information
43
+ * @public
44
+ */
45
+ exports.zipArchiveInputInfo = ts_utils_1.Validators.object({
46
+ type: exports.zipArchiveInputType,
47
+ originalPath: ts_utils_1.Validators.string,
48
+ archivePath: ts_utils_1.Validators.string
49
+ });
50
+ /**
51
+ * Validator for ZIP archive config information
52
+ * @public
53
+ */
54
+ exports.zipArchiveConfigInfo = ts_utils_1.Validators.object({
55
+ type: exports.zipArchiveConfigType,
56
+ originalPath: ts_utils_1.Validators.string,
57
+ archivePath: ts_utils_1.Validators.string
58
+ });
59
+ /**
60
+ * Validator for ZIP archive manifest
61
+ * Compatible with existing tools from ts-res-browser-cli
62
+ * @public
63
+ */
64
+ exports.zipArchiveManifest = ts_utils_1.Validators.object({
65
+ timestamp: ts_utils_1.Validators.string,
66
+ input: exports.zipArchiveInputInfo.optional(),
67
+ config: exports.zipArchiveConfigInfo.optional()
68
+ });
69
+ /**
70
+ * Validator for MIME type strings
71
+ * @public
72
+ */
73
+ exports.mimeType = ts_utils_1.Validators.string;
74
+ /**
75
+ * Converter for imported file
76
+ * @public
77
+ */
78
+ exports.importedFile = ts_utils_1.Converters.strictObject({
79
+ name: ts_utils_1.Converters.string,
80
+ path: ts_utils_1.Converters.string,
81
+ content: ts_utils_1.Converters.string,
82
+ type: ts_utils_1.Converters.string // MIME type as string
83
+ });
84
+ /**
85
+ * Converter for imported directory structure (recursive)
86
+ * Note: Uses Converter pattern because Validators don't support recursion with self parameter
87
+ * @public
88
+ */
89
+ exports.importedDirectory = ts_utils_1.Converters.generic((from, self, context) => {
90
+ return ts_utils_1.Converters.strictObject({
91
+ name: ts_utils_1.Converters.string,
92
+ files: ts_utils_1.Converters.arrayOf(exports.importedFile),
93
+ subdirectories: ts_utils_1.Converters.arrayOf(self)
94
+ }).convert(from, context);
95
+ });
96
+ /**
97
+ * Validator for system configuration (delegates to config packlet)
98
+ * This validates that the parsed JSON conforms to the system configuration schema
99
+ * @public
100
+ */
101
+ exports.systemConfiguration = ts_utils_1.Validators.isA('system configuration', (value) => {
102
+ return config_1.Convert.systemConfiguration.convert(value).isSuccess();
103
+ });
104
+ //# sourceMappingURL=convert.js.map
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ZIP archive functionality for ts-res source file archives
3
+ *
4
+ * This packlet provides consolidated ZIP archive creation and loading functionality
5
+ * for source files, compatible with existing tools while using fflate for
6
+ * universal browser compatibility.
7
+ *
8
+ * @remarks
9
+ * ZIP archives contain source files for resource ingestion with directory
10
+ * structure preserved and optional validation but no processing or transformation.
11
+ * This is distinct from ZIP bundles which contain processed resource output.
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ import * as Json from './json';
16
+ import * as Convert from './convert';
17
+ export { Json, Convert };
18
+ export { ZipArchiveCreator } from './zipArchiveCreator';
19
+ export { ZipArchiveLoader } from './zipArchiveLoader';
20
+ export type { IZipArchivePathOptions, IZipArchiveFileTreeOptions, ZipArchiveOptions, IZipArchiveResult, IZipArchiveManifest, IZipArchiveLoadOptions, IZipArchiveLoadResult, IImportedFile, IImportedDirectory, ZipArchiveProgressCallback } from './types';
21
+ export { createZipArchiveManifest, parseZipArchiveManifest, validateZipArchiveManifest, parseZipArchiveConfiguration, generateZipArchiveFilename, normalizePath, getDirectoryName, sanitizeFilename, isZipFile } from './zipArchiveFormat';
22
+ export { ZipArchiveConstants } from './types';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2025 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || (function () {
40
+ var ownKeys = function(o) {
41
+ ownKeys = Object.getOwnPropertyNames || function (o) {
42
+ var ar = [];
43
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
44
+ return ar;
45
+ };
46
+ return ownKeys(o);
47
+ };
48
+ return function (mod) {
49
+ if (mod && mod.__esModule) return mod;
50
+ var result = {};
51
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
52
+ __setModuleDefault(result, mod);
53
+ return result;
54
+ };
55
+ })();
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.ZipArchiveConstants = exports.isZipFile = exports.sanitizeFilename = exports.getDirectoryName = exports.normalizePath = exports.generateZipArchiveFilename = exports.parseZipArchiveConfiguration = exports.validateZipArchiveManifest = exports.parseZipArchiveManifest = exports.createZipArchiveManifest = exports.ZipArchiveLoader = exports.ZipArchiveCreator = exports.Convert = exports.Json = void 0;
58
+ /**
59
+ * ZIP archive functionality for ts-res source file archives
60
+ *
61
+ * This packlet provides consolidated ZIP archive creation and loading functionality
62
+ * for source files, compatible with existing tools while using fflate for
63
+ * universal browser compatibility.
64
+ *
65
+ * @remarks
66
+ * ZIP archives contain source files for resource ingestion with directory
67
+ * structure preserved and optional validation but no processing or transformation.
68
+ * This is distinct from ZIP bundles which contain processed resource output.
69
+ *
70
+ * @packageDocumentation
71
+ */
72
+ const Json = __importStar(require("./json"));
73
+ exports.Json = Json;
74
+ const Convert = __importStar(require("./convert"));
75
+ exports.Convert = Convert;
76
+ // Core classes
77
+ var zipArchiveCreator_1 = require("./zipArchiveCreator");
78
+ Object.defineProperty(exports, "ZipArchiveCreator", { enumerable: true, get: function () { return zipArchiveCreator_1.ZipArchiveCreator; } });
79
+ var zipArchiveLoader_1 = require("./zipArchiveLoader");
80
+ Object.defineProperty(exports, "ZipArchiveLoader", { enumerable: true, get: function () { return zipArchiveLoader_1.ZipArchiveLoader; } });
81
+ // Format utilities
82
+ var zipArchiveFormat_1 = require("./zipArchiveFormat");
83
+ Object.defineProperty(exports, "createZipArchiveManifest", { enumerable: true, get: function () { return zipArchiveFormat_1.createZipArchiveManifest; } });
84
+ Object.defineProperty(exports, "parseZipArchiveManifest", { enumerable: true, get: function () { return zipArchiveFormat_1.parseZipArchiveManifest; } });
85
+ Object.defineProperty(exports, "validateZipArchiveManifest", { enumerable: true, get: function () { return zipArchiveFormat_1.validateZipArchiveManifest; } });
86
+ Object.defineProperty(exports, "parseZipArchiveConfiguration", { enumerable: true, get: function () { return zipArchiveFormat_1.parseZipArchiveConfiguration; } });
87
+ Object.defineProperty(exports, "generateZipArchiveFilename", { enumerable: true, get: function () { return zipArchiveFormat_1.generateZipArchiveFilename; } });
88
+ Object.defineProperty(exports, "normalizePath", { enumerable: true, get: function () { return zipArchiveFormat_1.normalizePath; } });
89
+ Object.defineProperty(exports, "getDirectoryName", { enumerable: true, get: function () { return zipArchiveFormat_1.getDirectoryName; } });
90
+ Object.defineProperty(exports, "sanitizeFilename", { enumerable: true, get: function () { return zipArchiveFormat_1.sanitizeFilename; } });
91
+ Object.defineProperty(exports, "isZipFile", { enumerable: true, get: function () { return zipArchiveFormat_1.isZipFile; } });
92
+ // Constants
93
+ var types_1 = require("./types");
94
+ Object.defineProperty(exports, "ZipArchiveConstants", { enumerable: true, get: function () { return types_1.ZipArchiveConstants; } });
95
+ //# sourceMappingURL=index.js.map