@fgv/ts-res 5.0.0-11 → 5.0.0-14

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 (499) 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 +180 -13
  7. package/dist/tsdoc-metadata.json +1 -1
  8. package/lib/packlets/config/configInitFactory.d.ts +78 -0
  9. package/lib/packlets/config/configInitFactory.js +147 -0
  10. package/lib/packlets/config/index.d.ts +1 -0
  11. package/lib/packlets/config/index.js +1 -0
  12. package/lib/packlets/config/systemConfiguration.d.ts +16 -3
  13. package/lib/packlets/config/systemConfiguration.js +19 -40
  14. package/lib/packlets/qualifier-types/config/json.d.ts +13 -0
  15. package/lib/packlets/qualifier-types/config/json.js +11 -0
  16. package/lib/packlets/resource-types/resourceType.d.ts +59 -3
  17. package/lib/packlets/resource-types/resourceType.js +2 -2
  18. package/lib/packlets/resources/resource.d.ts +1 -5
  19. package/lib/packlets/resources/resource.js +2 -8
  20. package/lib/packlets/runtime/compiledResourceCollection.d.ts +2 -2
  21. package/lib/packlets/runtime/iResourceManager.d.ts +2 -2
  22. package/lib/test/data/sample.json +32 -0
  23. package/lib/test/unit/bundle/bundleBuilder.test.d.ts +2 -0
  24. package/lib/test/unit/bundle/bundleLoader.test.d.ts +2 -0
  25. package/lib/test/unit/bundle/bundleUtils.test.d.ts +2 -0
  26. package/lib/test/unit/bundle/convert.test.d.ts +2 -0
  27. package/lib/test/unit/bundle/integration.test.d.ts +2 -0
  28. package/lib/test/unit/bundle/model.test.d.ts +2 -0
  29. package/lib/test/unit/bundle/normalization.test.d.ts +2 -0
  30. package/lib/test/unit/common/conditions.test.d.ts +2 -0
  31. package/lib/test/unit/common/helpers/conditions.test.d.ts +2 -0
  32. package/lib/test/unit/common/helpers/contexts.test.d.ts +2 -0
  33. package/lib/test/unit/common/helpers/qualifierDefaultValues.test.d.ts +2 -0
  34. package/lib/test/unit/common/resources.test.d.ts +2 -0
  35. package/lib/test/unit/conditions/condition.test.d.ts +2 -0
  36. package/lib/test/unit/conditions/conditionCollector.test.d.ts +2 -0
  37. package/lib/test/unit/conditions/conditionScoreAsDefault.test.d.ts +2 -0
  38. package/lib/test/unit/conditions/conditionSet.test.d.ts +2 -0
  39. package/lib/test/unit/conditions/conditionSetCollector.test.d.ts +2 -0
  40. package/lib/test/unit/conditions/conditionToken.test.d.ts +2 -0
  41. package/lib/test/unit/conditions/convert.test.d.ts +2 -0
  42. package/lib/test/unit/config/common.test.d.ts +2 -0
  43. package/lib/test/unit/config/convert.test.d.ts +2 -0
  44. package/lib/test/unit/config/predefined/default.test.d.ts +2 -0
  45. package/lib/test/unit/config/predefined/extended.test.d.ts +2 -0
  46. package/lib/test/unit/config/systemConfiguration.test.d.ts +2 -0
  47. package/lib/test/unit/config/systemConfigurationInitParams.test.d.ts +2 -0
  48. package/lib/test/unit/context/contextToken.test.d.ts +2 -0
  49. package/lib/test/unit/context/convert.test.d.ts +2 -0
  50. package/lib/test/unit/decisions/abstractDecision.test.d.ts +2 -0
  51. package/lib/test/unit/decisions/abstractDecisionCollector.test.d.ts +2 -0
  52. package/lib/test/unit/decisions/candidate.test.d.ts +2 -0
  53. package/lib/test/unit/decisions/concreteDecision.test.d.ts +2 -0
  54. package/lib/test/unit/decisions/decision.test.d.ts +2 -0
  55. package/lib/test/unit/import/collectionImporter.test.d.ts +2 -0
  56. package/lib/test/unit/import/fsItem.test.d.ts +2 -0
  57. package/lib/test/unit/import/fsItemImporter.test.d.ts +2 -0
  58. package/lib/test/unit/import/importContext.test.d.ts +2 -0
  59. package/lib/test/unit/import/importManager.test.d.ts +2 -0
  60. package/lib/test/unit/import/jsonImporter.test.d.ts +2 -0
  61. package/lib/test/unit/import/pathImporter.test.d.ts +2 -0
  62. package/lib/test/unit/qualifier-types/convert.test.d.ts +2 -0
  63. package/lib/test/unit/qualifier-types/helpers.test.d.ts +2 -0
  64. package/lib/test/unit/qualifier-types/languageQualifierType.test.d.ts +2 -0
  65. package/lib/test/unit/qualifier-types/literalQualifierType.test.d.ts +2 -0
  66. package/lib/test/unit/qualifier-types/literalValueHierarchy.test.d.ts +2 -0
  67. package/lib/test/unit/qualifier-types/qualifierType.test.d.ts +2 -0
  68. package/lib/test/unit/qualifier-types/qualifierTypeCollector.test.d.ts +2 -0
  69. package/lib/test/unit/qualifier-types/territoryQualifierType.test.d.ts +2 -0
  70. package/lib/test/unit/qualifier-types/testQualifierType.d.ts +15 -0
  71. package/lib/test/unit/qualifier-types/testQualifierType.js +89 -0
  72. package/lib/test/unit/qualifiers/convert.test.d.ts +2 -0
  73. package/lib/test/unit/qualifiers/qualifierCollector.test.d.ts +2 -0
  74. package/lib/test/unit/qualifiers/qualifierDefaultValue.test.d.ts +2 -0
  75. package/lib/test/unit/qualifiers/qualifierDefaultValueToken.test.d.ts +2 -0
  76. package/lib/test/unit/resource-json/convert.test.d.ts +2 -0
  77. package/lib/test/unit/resource-json/nameInheritance.test.d.ts +2 -0
  78. package/lib/test/unit/resource-json/resourceDeclCollection.test.d.ts +2 -0
  79. package/lib/test/unit/resource-json/resourceDeclTree.test.d.ts +2 -0
  80. package/lib/test/unit/resource-types/jsonResourceType.test.d.ts +2 -0
  81. package/lib/test/unit/resource-types/resourceTypeCollector.test.d.ts +2 -0
  82. package/lib/test/unit/resources/candidateReducer.integration.test.d.ts +2 -0
  83. package/lib/test/unit/resources/candidateReducer.test.d.ts +2 -0
  84. package/lib/test/unit/resources/reduceCandidates.test.d.ts +2 -0
  85. package/lib/test/unit/resources/reduceQualifiers.comprehensive.test.d.ts +2 -0
  86. package/lib/test/unit/resources/reduceQualifiers.test.d.ts +2 -0
  87. package/lib/test/unit/resources/resource.test.d.ts +2 -0
  88. package/lib/test/unit/resources/resourceBuilder.test.d.ts +2 -0
  89. package/lib/test/unit/resources/resourceCandidate.test.d.ts +2 -0
  90. package/lib/test/unit/resources/resourceManagerBuilder.getBuiltResourceTree.test.d.ts +2 -0
  91. package/lib/test/unit/resources/resourceManagerBuilder.test.d.ts +2 -0
  92. package/lib/test/unit/runtime/cacheListener.test.d.ts +2 -0
  93. package/lib/test/unit/runtime/cacheMetrics.test.d.ts +2 -0
  94. package/lib/test/unit/runtime/compiledResourceCollection.test.d.ts +2 -0
  95. package/lib/test/unit/runtime/conditionSetResolutionResult.comprehensive.test.d.ts +2 -0
  96. package/lib/test/unit/runtime/conditionSetResolutionResult.test.d.ts +2 -0
  97. package/lib/test/unit/runtime/context/contextQualifierProvider.test.d.ts +2 -0
  98. package/lib/test/unit/runtime/context/contextQualifierProviderValidator.test.d.ts +2 -0
  99. package/lib/test/unit/runtime/context/simpleContextQualifierProvider.test.d.ts +2 -0
  100. package/lib/test/unit/runtime/context/validatingSimpleContextQualifierProvider.test.d.ts +2 -0
  101. package/lib/test/unit/runtime/resource-tree/readOnlyResourceTree.test.d.ts +2 -0
  102. package/lib/test/unit/runtime/resource-tree/resourceTreeChildren.test.d.ts +2 -0
  103. package/lib/test/unit/runtime/resource-tree/resourceTreeChildrenValidator.test.d.ts +2 -0
  104. package/lib/test/unit/runtime/resourceResolver.defaultResolution.test.d.ts +2 -0
  105. package/lib/test/unit/runtime/resourceResolver.test.d.ts +2 -0
  106. package/lib/test/unit/runtime/validate.test.d.ts +2 -0
  107. package/package.json +18 -25
  108. package/src/index.ts +73 -0
  109. package/src/packlets/bundle/bundleBuilder.ts +159 -0
  110. package/src/packlets/bundle/bundleLoader.ts +157 -0
  111. package/src/packlets/bundle/bundleNormalizer.ts +173 -0
  112. package/src/packlets/bundle/bundleUtils.ts +142 -0
  113. package/src/packlets/bundle/convert.ts +87 -0
  114. package/src/packlets/bundle/index.ts +52 -0
  115. package/src/packlets/bundle/model.ts +138 -0
  116. package/src/packlets/common/conditions.ts +226 -0
  117. package/src/packlets/common/convert.ts +184 -0
  118. package/src/packlets/common/helpers/conditions.ts +84 -0
  119. package/src/packlets/common/helpers/context.ts +88 -0
  120. package/src/packlets/common/helpers/index.ts +26 -0
  121. package/src/packlets/common/helpers/qualifierDefaultValues.ts +91 -0
  122. package/src/packlets/common/helpers/resources.ts +96 -0
  123. package/src/packlets/common/index.ts +30 -0
  124. package/src/packlets/common/resources.ts +78 -0
  125. package/src/packlets/common/validate/conditions.ts +595 -0
  126. package/src/packlets/common/validate/index.ts +27 -0
  127. package/src/packlets/common/validate/regularExpressions.ts +92 -0
  128. package/src/packlets/common/validate/resources.ts +170 -0
  129. package/src/packlets/conditions/condition.ts +351 -0
  130. package/src/packlets/conditions/conditionCollector.ts +103 -0
  131. package/src/packlets/conditions/conditionDecls.ts +50 -0
  132. package/src/packlets/conditions/conditionSet.ts +318 -0
  133. package/src/packlets/conditions/conditionSetCollector.ts +127 -0
  134. package/src/packlets/conditions/conditionSetDecls.ts +41 -0
  135. package/src/packlets/conditions/conditionToken.ts +180 -0
  136. package/src/packlets/conditions/convert/conditionSetDecls.ts +72 -0
  137. package/src/packlets/conditions/convert/decls.ts +95 -0
  138. package/src/packlets/conditions/convert/index.ts +24 -0
  139. package/src/packlets/conditions/index.ts +33 -0
  140. package/src/packlets/config/common.ts +107 -0
  141. package/src/packlets/config/configInitFactory.ts +142 -0
  142. package/src/packlets/config/convert.ts +50 -0
  143. package/src/packlets/config/index.ts +30 -0
  144. package/src/packlets/config/json.ts +43 -0
  145. package/src/packlets/config/predefined/default.ts +150 -0
  146. package/src/packlets/config/predefined/extended.ts +198 -0
  147. package/src/packlets/config/predefined/index.ts +26 -0
  148. package/src/packlets/config/systemConfiguration.ts +217 -0
  149. package/src/packlets/context/contextDecls.ts +76 -0
  150. package/src/packlets/context/contextToken.ts +252 -0
  151. package/src/packlets/context/convert/decls.ts +126 -0
  152. package/src/packlets/context/convert/index.ts +23 -0
  153. package/src/packlets/context/index.ts +27 -0
  154. package/src/packlets/decisions/abstractDecision.ts +87 -0
  155. package/src/packlets/decisions/abstractDecisionCollector.ts +122 -0
  156. package/src/packlets/decisions/candidate.ts +101 -0
  157. package/src/packlets/decisions/common.ts +37 -0
  158. package/src/packlets/decisions/concreteDecision.ts +157 -0
  159. package/src/packlets/decisions/decision.ts +172 -0
  160. package/src/packlets/decisions/index.ts +28 -0
  161. package/src/packlets/import/fsItem.ts +212 -0
  162. package/src/packlets/import/importContext.ts +183 -0
  163. package/src/packlets/import/importManager.ts +187 -0
  164. package/src/packlets/import/importable.ts +107 -0
  165. package/src/packlets/import/importers/collectionImporter.ts +153 -0
  166. package/src/packlets/import/importers/fsItemImporter.ts +154 -0
  167. package/src/packlets/import/importers/importer.ts +58 -0
  168. package/src/packlets/import/importers/index.ts +27 -0
  169. package/src/packlets/import/importers/jsonImporter.ts +133 -0
  170. package/src/packlets/import/importers/pathImporter.ts +134 -0
  171. package/src/packlets/import/index.ts +29 -0
  172. package/src/packlets/qualifier-types/config/convert.ts +108 -0
  173. package/src/packlets/qualifier-types/config/index.ts +27 -0
  174. package/src/packlets/qualifier-types/config/json.ts +126 -0
  175. package/src/packlets/qualifier-types/convert.ts +77 -0
  176. package/src/packlets/qualifier-types/helpers.ts +94 -0
  177. package/src/packlets/qualifier-types/index.ts +34 -0
  178. package/src/packlets/qualifier-types/languageQualifierType.ts +143 -0
  179. package/src/packlets/qualifier-types/literalQualifierType.ts +244 -0
  180. package/src/packlets/qualifier-types/literalValueHierarchy.ts +332 -0
  181. package/src/packlets/qualifier-types/qualifierType.ts +360 -0
  182. package/src/packlets/qualifier-types/qualifierTypeCollector.ts +102 -0
  183. package/src/packlets/qualifier-types/territoryQualifierType.ts +255 -0
  184. package/src/packlets/qualifiers/convert/decls.ts +90 -0
  185. package/src/packlets/qualifiers/convert/index.ts +24 -0
  186. package/src/packlets/qualifiers/convert/qualifier.ts +55 -0
  187. package/src/packlets/qualifiers/index.ts +31 -0
  188. package/src/packlets/qualifiers/qualifier.ts +169 -0
  189. package/src/packlets/qualifiers/qualifierCollector.ts +194 -0
  190. package/src/packlets/qualifiers/qualifierDecl.ts +80 -0
  191. package/src/packlets/qualifiers/qualifierDefaultValueDecls.ts +57 -0
  192. package/src/packlets/qualifiers/qualifierDefaultValueToken.ts +230 -0
  193. package/src/packlets/resource-json/compiled/common.ts +35 -0
  194. package/src/packlets/resource-json/compiled/convert.ts +143 -0
  195. package/src/packlets/resource-json/compiled/index.ts +27 -0
  196. package/src/packlets/resource-json/compiled/json.ts +239 -0
  197. package/src/packlets/resource-json/convert.ts +236 -0
  198. package/src/packlets/resource-json/helpers.ts +284 -0
  199. package/src/packlets/resource-json/index.ts +33 -0
  200. package/src/packlets/resource-json/json.ts +295 -0
  201. package/src/packlets/resource-json/normalized.ts +211 -0
  202. package/src/packlets/resource-json/resourceDeclCollection.ts +117 -0
  203. package/src/packlets/resource-json/resourceDeclContainer.ts +48 -0
  204. package/src/packlets/resource-json/resourceDeclTree.ts +116 -0
  205. package/src/packlets/resource-types/config/convert.ts +36 -0
  206. package/src/packlets/resource-types/config/index.ts +27 -0
  207. package/src/packlets/resource-types/config/json.ts +30 -0
  208. package/src/packlets/resource-types/helpers.ts +44 -0
  209. package/src/packlets/resource-types/index.ts +30 -0
  210. package/src/packlets/resource-types/jsonResourceType.ts +96 -0
  211. package/src/packlets/resource-types/resourceType.ts +215 -0
  212. package/src/packlets/resource-types/resourceTypeCollector.ts +79 -0
  213. package/src/packlets/resources/candidateReducer.ts +331 -0
  214. package/src/packlets/resources/common.ts +98 -0
  215. package/src/packlets/resources/index.ts +28 -0
  216. package/src/packlets/resources/resource.ts +307 -0
  217. package/src/packlets/resources/resourceBuilder.ts +269 -0
  218. package/src/packlets/resources/resourceCandidate.ts +333 -0
  219. package/src/packlets/resources/resourceManagerBuilder.ts +1116 -0
  220. package/src/packlets/runtime/cacheListener.ts +113 -0
  221. package/src/packlets/runtime/cacheMetrics.ts +206 -0
  222. package/src/packlets/runtime/compiledResourceCollection.ts +607 -0
  223. package/src/packlets/runtime/conditionSetResolutionResult.ts +160 -0
  224. package/src/packlets/runtime/context/contextQualifierProvider.ts +117 -0
  225. package/src/packlets/runtime/context/contextQualifierProviderValidator.ts +281 -0
  226. package/src/packlets/runtime/context/index.ts +26 -0
  227. package/src/packlets/runtime/context/simpleContextQualifierProvider.ts +225 -0
  228. package/src/packlets/runtime/context/validatingSimpleContextQualifierProvider.ts +96 -0
  229. package/src/packlets/runtime/iResourceManager.ts +130 -0
  230. package/src/packlets/runtime/index.ts +35 -0
  231. package/src/packlets/runtime/resource-tree/common.ts +126 -0
  232. package/src/packlets/runtime/resource-tree/index.ts +26 -0
  233. package/src/packlets/runtime/resource-tree/readOnlyResourceTree.ts +342 -0
  234. package/src/packlets/runtime/resource-tree/resourceTreeChildren.ts +125 -0
  235. package/src/packlets/runtime/resource-tree/resourceTreeChildrenValidator.ts +189 -0
  236. package/src/packlets/runtime/resourceResolver.ts +626 -0
  237. package/src/packlets/runtime/validate.ts +63 -0
  238. package/CHANGELOG.md +0 -14
  239. package/CLAUDE.md +0 -186
  240. package/EXAMPLE_INIT_PARAMS.md +0 -88
  241. package/PROGRESS_SUMMARY.md +0 -48
  242. package/lib/index.d.ts.map +0 -1
  243. package/lib/index.js.map +0 -1
  244. package/lib/packlets/bundle/bundleBuilder.d.ts.map +0 -1
  245. package/lib/packlets/bundle/bundleBuilder.js.map +0 -1
  246. package/lib/packlets/bundle/bundleLoader.d.ts.map +0 -1
  247. package/lib/packlets/bundle/bundleLoader.js.map +0 -1
  248. package/lib/packlets/bundle/bundleNormalizer.d.ts.map +0 -1
  249. package/lib/packlets/bundle/bundleNormalizer.js.map +0 -1
  250. package/lib/packlets/bundle/bundleUtils.d.ts.map +0 -1
  251. package/lib/packlets/bundle/bundleUtils.js.map +0 -1
  252. package/lib/packlets/bundle/convert.d.ts.map +0 -1
  253. package/lib/packlets/bundle/convert.js.map +0 -1
  254. package/lib/packlets/bundle/index.d.ts.map +0 -1
  255. package/lib/packlets/bundle/index.js.map +0 -1
  256. package/lib/packlets/bundle/model.d.ts.map +0 -1
  257. package/lib/packlets/bundle/model.js.map +0 -1
  258. package/lib/packlets/common/conditions.d.ts.map +0 -1
  259. package/lib/packlets/common/conditions.js.map +0 -1
  260. package/lib/packlets/common/convert.d.ts.map +0 -1
  261. package/lib/packlets/common/convert.js.map +0 -1
  262. package/lib/packlets/common/helpers/conditions.d.ts.map +0 -1
  263. package/lib/packlets/common/helpers/conditions.js.map +0 -1
  264. package/lib/packlets/common/helpers/context.d.ts.map +0 -1
  265. package/lib/packlets/common/helpers/context.js.map +0 -1
  266. package/lib/packlets/common/helpers/index.d.ts.map +0 -1
  267. package/lib/packlets/common/helpers/index.js.map +0 -1
  268. package/lib/packlets/common/helpers/qualifierDefaultValues.d.ts.map +0 -1
  269. package/lib/packlets/common/helpers/qualifierDefaultValues.js.map +0 -1
  270. package/lib/packlets/common/helpers/resources.d.ts.map +0 -1
  271. package/lib/packlets/common/helpers/resources.js.map +0 -1
  272. package/lib/packlets/common/index.d.ts.map +0 -1
  273. package/lib/packlets/common/index.js.map +0 -1
  274. package/lib/packlets/common/resources.d.ts.map +0 -1
  275. package/lib/packlets/common/resources.js.map +0 -1
  276. package/lib/packlets/common/validate/conditions.d.ts.map +0 -1
  277. package/lib/packlets/common/validate/conditions.js.map +0 -1
  278. package/lib/packlets/common/validate/index.d.ts.map +0 -1
  279. package/lib/packlets/common/validate/index.js.map +0 -1
  280. package/lib/packlets/common/validate/regularExpressions.d.ts.map +0 -1
  281. package/lib/packlets/common/validate/regularExpressions.js.map +0 -1
  282. package/lib/packlets/common/validate/resources.d.ts.map +0 -1
  283. package/lib/packlets/common/validate/resources.js.map +0 -1
  284. package/lib/packlets/conditions/condition.d.ts.map +0 -1
  285. package/lib/packlets/conditions/condition.js.map +0 -1
  286. package/lib/packlets/conditions/conditionCollector.d.ts.map +0 -1
  287. package/lib/packlets/conditions/conditionCollector.js.map +0 -1
  288. package/lib/packlets/conditions/conditionDecls.d.ts.map +0 -1
  289. package/lib/packlets/conditions/conditionDecls.js.map +0 -1
  290. package/lib/packlets/conditions/conditionSet.d.ts.map +0 -1
  291. package/lib/packlets/conditions/conditionSet.js.map +0 -1
  292. package/lib/packlets/conditions/conditionSetCollector.d.ts.map +0 -1
  293. package/lib/packlets/conditions/conditionSetCollector.js.map +0 -1
  294. package/lib/packlets/conditions/conditionSetDecls.d.ts.map +0 -1
  295. package/lib/packlets/conditions/conditionSetDecls.js.map +0 -1
  296. package/lib/packlets/conditions/conditionToken.d.ts.map +0 -1
  297. package/lib/packlets/conditions/conditionToken.js.map +0 -1
  298. package/lib/packlets/conditions/convert/conditionSetDecls.d.ts.map +0 -1
  299. package/lib/packlets/conditions/convert/conditionSetDecls.js.map +0 -1
  300. package/lib/packlets/conditions/convert/decls.d.ts.map +0 -1
  301. package/lib/packlets/conditions/convert/decls.js.map +0 -1
  302. package/lib/packlets/conditions/convert/index.d.ts.map +0 -1
  303. package/lib/packlets/conditions/convert/index.js.map +0 -1
  304. package/lib/packlets/conditions/index.d.ts.map +0 -1
  305. package/lib/packlets/conditions/index.js.map +0 -1
  306. package/lib/packlets/config/common.d.ts.map +0 -1
  307. package/lib/packlets/config/common.js.map +0 -1
  308. package/lib/packlets/config/convert.d.ts.map +0 -1
  309. package/lib/packlets/config/convert.js.map +0 -1
  310. package/lib/packlets/config/index.d.ts.map +0 -1
  311. package/lib/packlets/config/index.js.map +0 -1
  312. package/lib/packlets/config/json.d.ts.map +0 -1
  313. package/lib/packlets/config/json.js.map +0 -1
  314. package/lib/packlets/config/predefined/default.d.ts.map +0 -1
  315. package/lib/packlets/config/predefined/default.js.map +0 -1
  316. package/lib/packlets/config/predefined/extended.d.ts.map +0 -1
  317. package/lib/packlets/config/predefined/extended.js.map +0 -1
  318. package/lib/packlets/config/predefined/index.d.ts.map +0 -1
  319. package/lib/packlets/config/predefined/index.js.map +0 -1
  320. package/lib/packlets/config/systemConfiguration.d.ts.map +0 -1
  321. package/lib/packlets/config/systemConfiguration.js.map +0 -1
  322. package/lib/packlets/context/contextDecls.d.ts.map +0 -1
  323. package/lib/packlets/context/contextDecls.js.map +0 -1
  324. package/lib/packlets/context/contextToken.d.ts.map +0 -1
  325. package/lib/packlets/context/contextToken.js.map +0 -1
  326. package/lib/packlets/context/convert/decls.d.ts.map +0 -1
  327. package/lib/packlets/context/convert/decls.js.map +0 -1
  328. package/lib/packlets/context/convert/index.d.ts.map +0 -1
  329. package/lib/packlets/context/convert/index.js.map +0 -1
  330. package/lib/packlets/context/index.d.ts.map +0 -1
  331. package/lib/packlets/context/index.js.map +0 -1
  332. package/lib/packlets/decisions/abstractDecision.d.ts.map +0 -1
  333. package/lib/packlets/decisions/abstractDecision.js.map +0 -1
  334. package/lib/packlets/decisions/abstractDecisionCollector.d.ts.map +0 -1
  335. package/lib/packlets/decisions/abstractDecisionCollector.js.map +0 -1
  336. package/lib/packlets/decisions/candidate.d.ts.map +0 -1
  337. package/lib/packlets/decisions/candidate.js.map +0 -1
  338. package/lib/packlets/decisions/common.d.ts.map +0 -1
  339. package/lib/packlets/decisions/common.js.map +0 -1
  340. package/lib/packlets/decisions/concreteDecision.d.ts.map +0 -1
  341. package/lib/packlets/decisions/concreteDecision.js.map +0 -1
  342. package/lib/packlets/decisions/decision.d.ts.map +0 -1
  343. package/lib/packlets/decisions/decision.js.map +0 -1
  344. package/lib/packlets/decisions/index.d.ts.map +0 -1
  345. package/lib/packlets/decisions/index.js.map +0 -1
  346. package/lib/packlets/import/fsItem.d.ts.map +0 -1
  347. package/lib/packlets/import/fsItem.js.map +0 -1
  348. package/lib/packlets/import/importContext.d.ts.map +0 -1
  349. package/lib/packlets/import/importContext.js.map +0 -1
  350. package/lib/packlets/import/importManager.d.ts.map +0 -1
  351. package/lib/packlets/import/importManager.js.map +0 -1
  352. package/lib/packlets/import/importable.d.ts.map +0 -1
  353. package/lib/packlets/import/importable.js.map +0 -1
  354. package/lib/packlets/import/importers/collectionImporter.d.ts.map +0 -1
  355. package/lib/packlets/import/importers/collectionImporter.js.map +0 -1
  356. package/lib/packlets/import/importers/fsItemImporter.d.ts.map +0 -1
  357. package/lib/packlets/import/importers/fsItemImporter.js.map +0 -1
  358. package/lib/packlets/import/importers/importer.d.ts.map +0 -1
  359. package/lib/packlets/import/importers/importer.js.map +0 -1
  360. package/lib/packlets/import/importers/index.d.ts.map +0 -1
  361. package/lib/packlets/import/importers/index.js.map +0 -1
  362. package/lib/packlets/import/importers/jsonImporter.d.ts.map +0 -1
  363. package/lib/packlets/import/importers/jsonImporter.js.map +0 -1
  364. package/lib/packlets/import/importers/pathImporter.d.ts.map +0 -1
  365. package/lib/packlets/import/importers/pathImporter.js.map +0 -1
  366. package/lib/packlets/import/index.d.ts.map +0 -1
  367. package/lib/packlets/import/index.js.map +0 -1
  368. package/lib/packlets/qualifier-types/config/convert.d.ts.map +0 -1
  369. package/lib/packlets/qualifier-types/config/convert.js.map +0 -1
  370. package/lib/packlets/qualifier-types/config/index.d.ts.map +0 -1
  371. package/lib/packlets/qualifier-types/config/index.js.map +0 -1
  372. package/lib/packlets/qualifier-types/config/json.d.ts.map +0 -1
  373. package/lib/packlets/qualifier-types/config/json.js.map +0 -1
  374. package/lib/packlets/qualifier-types/convert.d.ts.map +0 -1
  375. package/lib/packlets/qualifier-types/convert.js.map +0 -1
  376. package/lib/packlets/qualifier-types/helpers.d.ts.map +0 -1
  377. package/lib/packlets/qualifier-types/helpers.js.map +0 -1
  378. package/lib/packlets/qualifier-types/index.d.ts.map +0 -1
  379. package/lib/packlets/qualifier-types/index.js.map +0 -1
  380. package/lib/packlets/qualifier-types/languageQualifierType.d.ts.map +0 -1
  381. package/lib/packlets/qualifier-types/languageQualifierType.js.map +0 -1
  382. package/lib/packlets/qualifier-types/literalQualifierType.d.ts.map +0 -1
  383. package/lib/packlets/qualifier-types/literalQualifierType.js.map +0 -1
  384. package/lib/packlets/qualifier-types/literalValueHierarchy.d.ts.map +0 -1
  385. package/lib/packlets/qualifier-types/literalValueHierarchy.js.map +0 -1
  386. package/lib/packlets/qualifier-types/qualifierType.d.ts.map +0 -1
  387. package/lib/packlets/qualifier-types/qualifierType.js.map +0 -1
  388. package/lib/packlets/qualifier-types/qualifierTypeCollector.d.ts.map +0 -1
  389. package/lib/packlets/qualifier-types/qualifierTypeCollector.js.map +0 -1
  390. package/lib/packlets/qualifier-types/territoryQualifierType.d.ts.map +0 -1
  391. package/lib/packlets/qualifier-types/territoryQualifierType.js.map +0 -1
  392. package/lib/packlets/qualifiers/convert/decls.d.ts.map +0 -1
  393. package/lib/packlets/qualifiers/convert/decls.js.map +0 -1
  394. package/lib/packlets/qualifiers/convert/index.d.ts.map +0 -1
  395. package/lib/packlets/qualifiers/convert/index.js.map +0 -1
  396. package/lib/packlets/qualifiers/convert/qualifier.d.ts.map +0 -1
  397. package/lib/packlets/qualifiers/convert/qualifier.js.map +0 -1
  398. package/lib/packlets/qualifiers/index.d.ts.map +0 -1
  399. package/lib/packlets/qualifiers/index.js.map +0 -1
  400. package/lib/packlets/qualifiers/qualifier.d.ts.map +0 -1
  401. package/lib/packlets/qualifiers/qualifier.js.map +0 -1
  402. package/lib/packlets/qualifiers/qualifierCollector.d.ts.map +0 -1
  403. package/lib/packlets/qualifiers/qualifierCollector.js.map +0 -1
  404. package/lib/packlets/qualifiers/qualifierDecl.d.ts.map +0 -1
  405. package/lib/packlets/qualifiers/qualifierDecl.js.map +0 -1
  406. package/lib/packlets/qualifiers/qualifierDefaultValueDecls.d.ts.map +0 -1
  407. package/lib/packlets/qualifiers/qualifierDefaultValueDecls.js.map +0 -1
  408. package/lib/packlets/qualifiers/qualifierDefaultValueToken.d.ts.map +0 -1
  409. package/lib/packlets/qualifiers/qualifierDefaultValueToken.js.map +0 -1
  410. package/lib/packlets/resource-json/compiled/common.d.ts.map +0 -1
  411. package/lib/packlets/resource-json/compiled/common.js.map +0 -1
  412. package/lib/packlets/resource-json/compiled/convert.d.ts.map +0 -1
  413. package/lib/packlets/resource-json/compiled/convert.js.map +0 -1
  414. package/lib/packlets/resource-json/compiled/index.d.ts.map +0 -1
  415. package/lib/packlets/resource-json/compiled/index.js.map +0 -1
  416. package/lib/packlets/resource-json/compiled/json.d.ts.map +0 -1
  417. package/lib/packlets/resource-json/compiled/json.js.map +0 -1
  418. package/lib/packlets/resource-json/convert.d.ts.map +0 -1
  419. package/lib/packlets/resource-json/convert.js.map +0 -1
  420. package/lib/packlets/resource-json/helpers.d.ts.map +0 -1
  421. package/lib/packlets/resource-json/helpers.js.map +0 -1
  422. package/lib/packlets/resource-json/index.d.ts.map +0 -1
  423. package/lib/packlets/resource-json/index.js.map +0 -1
  424. package/lib/packlets/resource-json/json.d.ts.map +0 -1
  425. package/lib/packlets/resource-json/json.js.map +0 -1
  426. package/lib/packlets/resource-json/normalized.d.ts.map +0 -1
  427. package/lib/packlets/resource-json/normalized.js.map +0 -1
  428. package/lib/packlets/resource-json/resourceDeclCollection.d.ts.map +0 -1
  429. package/lib/packlets/resource-json/resourceDeclCollection.js.map +0 -1
  430. package/lib/packlets/resource-json/resourceDeclContainer.d.ts.map +0 -1
  431. package/lib/packlets/resource-json/resourceDeclContainer.js.map +0 -1
  432. package/lib/packlets/resource-json/resourceDeclTree.d.ts.map +0 -1
  433. package/lib/packlets/resource-json/resourceDeclTree.js.map +0 -1
  434. package/lib/packlets/resource-types/config/convert.d.ts.map +0 -1
  435. package/lib/packlets/resource-types/config/convert.js.map +0 -1
  436. package/lib/packlets/resource-types/config/index.d.ts.map +0 -1
  437. package/lib/packlets/resource-types/config/index.js.map +0 -1
  438. package/lib/packlets/resource-types/config/json.d.ts.map +0 -1
  439. package/lib/packlets/resource-types/config/json.js.map +0 -1
  440. package/lib/packlets/resource-types/helpers.d.ts.map +0 -1
  441. package/lib/packlets/resource-types/helpers.js.map +0 -1
  442. package/lib/packlets/resource-types/index.d.ts.map +0 -1
  443. package/lib/packlets/resource-types/index.js.map +0 -1
  444. package/lib/packlets/resource-types/jsonResourceType.d.ts.map +0 -1
  445. package/lib/packlets/resource-types/jsonResourceType.js.map +0 -1
  446. package/lib/packlets/resource-types/resourceType.d.ts.map +0 -1
  447. package/lib/packlets/resource-types/resourceType.js.map +0 -1
  448. package/lib/packlets/resource-types/resourceTypeCollector.d.ts.map +0 -1
  449. package/lib/packlets/resource-types/resourceTypeCollector.js.map +0 -1
  450. package/lib/packlets/resources/candidateReducer.d.ts.map +0 -1
  451. package/lib/packlets/resources/candidateReducer.js.map +0 -1
  452. package/lib/packlets/resources/common.d.ts.map +0 -1
  453. package/lib/packlets/resources/common.js.map +0 -1
  454. package/lib/packlets/resources/index.d.ts.map +0 -1
  455. package/lib/packlets/resources/index.js.map +0 -1
  456. package/lib/packlets/resources/resource.d.ts.map +0 -1
  457. package/lib/packlets/resources/resource.js.map +0 -1
  458. package/lib/packlets/resources/resourceBuilder.d.ts.map +0 -1
  459. package/lib/packlets/resources/resourceBuilder.js.map +0 -1
  460. package/lib/packlets/resources/resourceCandidate.d.ts.map +0 -1
  461. package/lib/packlets/resources/resourceCandidate.js.map +0 -1
  462. package/lib/packlets/resources/resourceManagerBuilder.d.ts.map +0 -1
  463. package/lib/packlets/resources/resourceManagerBuilder.js.map +0 -1
  464. package/lib/packlets/runtime/cacheListener.d.ts.map +0 -1
  465. package/lib/packlets/runtime/cacheListener.js.map +0 -1
  466. package/lib/packlets/runtime/cacheMetrics.d.ts.map +0 -1
  467. package/lib/packlets/runtime/cacheMetrics.js.map +0 -1
  468. package/lib/packlets/runtime/compiledResourceCollection.d.ts.map +0 -1
  469. package/lib/packlets/runtime/compiledResourceCollection.js.map +0 -1
  470. package/lib/packlets/runtime/conditionSetResolutionResult.d.ts.map +0 -1
  471. package/lib/packlets/runtime/conditionSetResolutionResult.js.map +0 -1
  472. package/lib/packlets/runtime/context/contextQualifierProvider.d.ts.map +0 -1
  473. package/lib/packlets/runtime/context/contextQualifierProvider.js.map +0 -1
  474. package/lib/packlets/runtime/context/contextQualifierProviderValidator.d.ts.map +0 -1
  475. package/lib/packlets/runtime/context/contextQualifierProviderValidator.js.map +0 -1
  476. package/lib/packlets/runtime/context/index.d.ts.map +0 -1
  477. package/lib/packlets/runtime/context/index.js.map +0 -1
  478. package/lib/packlets/runtime/context/simpleContextQualifierProvider.d.ts.map +0 -1
  479. package/lib/packlets/runtime/context/simpleContextQualifierProvider.js.map +0 -1
  480. package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.d.ts.map +0 -1
  481. package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.js.map +0 -1
  482. package/lib/packlets/runtime/iResourceManager.d.ts.map +0 -1
  483. package/lib/packlets/runtime/iResourceManager.js.map +0 -1
  484. package/lib/packlets/runtime/index.d.ts.map +0 -1
  485. package/lib/packlets/runtime/index.js.map +0 -1
  486. package/lib/packlets/runtime/resource-tree/common.d.ts.map +0 -1
  487. package/lib/packlets/runtime/resource-tree/common.js.map +0 -1
  488. package/lib/packlets/runtime/resource-tree/index.d.ts.map +0 -1
  489. package/lib/packlets/runtime/resource-tree/index.js.map +0 -1
  490. package/lib/packlets/runtime/resource-tree/readOnlyResourceTree.d.ts.map +0 -1
  491. package/lib/packlets/runtime/resource-tree/readOnlyResourceTree.js.map +0 -1
  492. package/lib/packlets/runtime/resource-tree/resourceTreeChildren.d.ts.map +0 -1
  493. package/lib/packlets/runtime/resource-tree/resourceTreeChildren.js.map +0 -1
  494. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.d.ts.map +0 -1
  495. package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.js.map +0 -1
  496. package/lib/packlets/runtime/resourceResolver.d.ts.map +0 -1
  497. package/lib/packlets/runtime/resourceResolver.js.map +0 -1
  498. package/lib/packlets/runtime/validate.d.ts.map +0 -1
  499. package/lib/packlets/runtime/validate.js.map +0 -1
@@ -0,0 +1,89 @@
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.TestQualifierType = void 0;
58
+ const ts_utils_1 = require("@fgv/ts-utils");
59
+ const TsRes = __importStar(require("../../../index"));
60
+ class TestQualifierType extends TsRes.QualifierTypes.QualifierType {
61
+ constructor(params) {
62
+ var _a;
63
+ super({
64
+ name: (_a = params === null || params === void 0 ? void 0 : params.name) !== null && _a !== void 0 ? _a : 'test',
65
+ allowContextList: (params === null || params === void 0 ? void 0 : params.allowContextList) === 'true',
66
+ index: params === null || params === void 0 ? void 0 : params.index
67
+ });
68
+ }
69
+ static create(params) {
70
+ return (0, ts_utils_1.captureResult)(() => new TestQualifierType(params));
71
+ }
72
+ isValidConditionValue(value) {
73
+ return true;
74
+ }
75
+ validateCondition(value, operator) {
76
+ return this.isValidConditionValue(value) ? (0, ts_utils_1.succeed)(value) : (0, ts_utils_1.fail)(`Invalid condition value: ${value}`);
77
+ }
78
+ _matchOne(condition, context, operator) {
79
+ if (condition === context) {
80
+ return TsRes.PerfectMatch;
81
+ }
82
+ if (condition.toLowerCase() === context.toLowerCase()) {
83
+ return 0.5;
84
+ }
85
+ return TsRes.NoMatch;
86
+ }
87
+ }
88
+ exports.TestQualifierType = TestQualifierType;
89
+ //# sourceMappingURL=testQualifierType.js.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=convert.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=qualifierCollector.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=qualifierDefaultValue.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=qualifierDefaultValueToken.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=convert.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=nameInheritance.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceDeclCollection.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceDeclTree.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=jsonResourceType.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceTypeCollector.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=candidateReducer.integration.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=candidateReducer.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=reduceCandidates.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=reduceQualifiers.comprehensive.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=reduceQualifiers.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resource.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceBuilder.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceCandidate.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceManagerBuilder.getBuiltResourceTree.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceManagerBuilder.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=cacheListener.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=cacheMetrics.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=compiledResourceCollection.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditionSetResolutionResult.comprehensive.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditionSetResolutionResult.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=contextQualifierProvider.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=contextQualifierProviderValidator.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=simpleContextQualifierProvider.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=validatingSimpleContextQualifierProvider.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=readOnlyResourceTree.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceTreeChildren.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceTreeChildrenValidator.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceResolver.defaultResolution.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resourceResolver.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=validate.test.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fgv/ts-res",
3
- "version": "5.0.0-11",
3
+ "version": "5.0.0-14",
4
4
  "description": "Multi-dimensional Resource Runtime",
5
5
  "main": "lib/index.js",
6
6
  "types": "dist/ts-res.d.ts",
@@ -18,48 +18,41 @@
18
18
  "homepage": "https://github.com/ErikFortune/fgv/tree/main/libraries/ts-res#readme",
19
19
  "sideEffects": false,
20
20
  "devDependencies": {
21
- "@microsoft/api-documenter": "^7.26.29",
22
- "@microsoft/api-extractor": "^7.49.1",
21
+ "@microsoft/api-documenter": "^7.26.31",
22
+ "@microsoft/api-extractor": "^7.52.10",
23
23
  "@types/jest": "^29.5.14",
24
- "@types/luxon": "^3.6.2",
24
+ "@types/luxon": "^3.7.1",
25
25
  "@types/node": "^20.14.9",
26
26
  "@typescript-eslint/eslint-plugin": "^7.14.1",
27
27
  "@typescript-eslint/parser": "^7.14.1",
28
28
  "eslint": "^8.57.0",
29
- "eslint-config-prettier": "^10.1.5",
29
+ "eslint-config-prettier": "^10.1.8",
30
30
  "eslint-plugin-import": "^2.32.0",
31
31
  "eslint-plugin-node": "^11.1.0",
32
- "eslint-plugin-prettier": "^5.5.1",
32
+ "eslint-plugin-prettier": "^5.5.4",
33
33
  "eslint-plugin-promise": "^6.2.0",
34
34
  "jest": "^29.7.0",
35
35
  "prettier": "^3.6.2",
36
36
  "rimraf": "^5.0.7",
37
- "ts-jest": "^29.4.0",
37
+ "ts-jest": "^29.4.1",
38
38
  "ts-node": "^10.9.2",
39
- "typescript": "^5.7.3",
39
+ "typescript": "^5.8.3",
40
40
  "eslint-plugin-n": "^16.6.2",
41
41
  "@rushstack/eslint-config": "~4.4.0",
42
- "@rushstack/heft": "~0.74.0",
43
- "@rushstack/heft-jest-plugin": "~0.16.9",
44
- "@rushstack/heft-node-rig": "~2.9.0",
42
+ "@rushstack/heft": "~0.74.2",
43
+ "@rushstack/heft-jest-plugin": "~0.16.11",
44
+ "@rushstack/heft-node-rig": "~2.9.3",
45
45
  "@types/heft-jest": "1.0.6",
46
46
  "eslint-plugin-tsdoc": "~0.4.0",
47
- "@fgv/ts-utils-jest": "5.0.0-11",
48
- "@fgv/ts-extras": "5.0.0-11",
49
- "@fgv/ts-utils": "5.0.0-11",
50
- "@fgv/ts-bcp47": "5.0.0-11",
51
- "@fgv/ts-json": "5.0.0-11",
52
- "@fgv/ts-json-base": "5.0.0-11"
47
+ "@fgv/ts-utils-jest": "5.0.0-14"
53
48
  },
54
49
  "dependencies": {
55
- "luxon": "^3.6.1"
56
- },
57
- "peerDependencies": {
58
- "@fgv/ts-utils": "5.0.0-11",
59
- "@fgv/ts-json-base": "5.0.0-11",
60
- "@fgv/ts-extras": "5.0.0-11",
61
- "@fgv/ts-bcp47": "5.0.0-11",
62
- "@fgv/ts-json": "5.0.0-11"
50
+ "luxon": "^3.7.1",
51
+ "@fgv/ts-utils": "5.0.0-14",
52
+ "@fgv/ts-extras": "5.0.0-14",
53
+ "@fgv/ts-json": "5.0.0-14",
54
+ "@fgv/ts-json-base": "5.0.0-14",
55
+ "@fgv/ts-bcp47": "5.0.0-14"
63
56
  },
64
57
  "scripts": {
65
58
  "build": "heft build --clean",
package/src/index.ts ADDED
@@ -0,0 +1,73 @@
1
+ /*
2
+ * Copyright (c) 2025 Erik Fortune
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in all
12
+ * copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+ import * as Bundle from './packlets/bundle';
24
+ import * as QualifierTypes from './packlets/qualifier-types';
25
+ import * as Qualifiers from './packlets/qualifiers';
26
+ import * as Conditions from './packlets/conditions';
27
+ import * as Config from './packlets/config';
28
+ import * as Context from './packlets/context';
29
+ import * as Decisions from './packlets/decisions';
30
+ import * as ResourceJson from './packlets/resource-json';
31
+ import * as Resources from './packlets/resources';
32
+ import * as ResourceTypes from './packlets/resource-types';
33
+ import * as Import from './packlets/import';
34
+ import * as Runtime from './packlets/runtime';
35
+
36
+ export * from './packlets/common';
37
+
38
+ import { Condition, ConditionSet } from './packlets/conditions';
39
+ import { Decision } from './packlets/decisions';
40
+ import { QualifierType } from './packlets/qualifier-types';
41
+ import { Qualifier } from './packlets/qualifiers';
42
+ import { ResourceType } from './packlets/resource-types';
43
+ import { Resource, ResourceCandidate, ResourceManagerBuilder } from './packlets/resources';
44
+ import { IResourceManager, ResourceResolver } from './packlets/runtime';
45
+ import { BundleBuilder, BundleLoader } from './packlets/bundle';
46
+
47
+ export {
48
+ Bundle,
49
+ BundleBuilder,
50
+ BundleLoader,
51
+ Condition,
52
+ Conditions,
53
+ ConditionSet,
54
+ Config,
55
+ Context,
56
+ Decision,
57
+ Decisions,
58
+ Import,
59
+ IResourceManager,
60
+ Qualifier,
61
+ QualifierType,
62
+ QualifierTypes,
63
+ Qualifiers,
64
+ Resource,
65
+ ResourceCandidate,
66
+ ResourceJson,
67
+ ResourceResolver,
68
+ ResourceManagerBuilder,
69
+ ResourceType,
70
+ ResourceTypes,
71
+ Resources,
72
+ Runtime
73
+ };
@@ -0,0 +1,159 @@
1
+ /*
2
+ * Copyright (c) 2025 Erik Fortune
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in all
12
+ * copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+ import { Result, succeed, Hash } from '@fgv/ts-utils';
24
+ import { ResourceManagerBuilder } from '../resources';
25
+ import {
26
+ SystemConfiguration,
27
+ PredefinedSystemConfiguration,
28
+ getPredefinedSystemConfiguration
29
+ } from '../config';
30
+ import { IBundle, IBundleCreateParams, IBundleMetadata } from './model';
31
+ import { BundleNormalizer } from './bundleNormalizer';
32
+
33
+ /**
34
+ * Builder for creating resource bundles from a ResourceManagerBuilder.
35
+ * Handles the compilation, configuration extraction, and integrity verification
36
+ * needed to create a complete, portable bundle.
37
+ * @public
38
+ */
39
+ export class BundleBuilder {
40
+ /**
41
+ * Creates a resource bundle from a ResourceManagerBuilder.
42
+ * @param builder - The ResourceManagerBuilder containing the resources to bundle
43
+ * @param systemConfig - The SystemConfiguration used to create the builder
44
+ * @param params - Optional parameters for bundle creation
45
+ * @returns Success with the created bundle if successful, Failure with error message otherwise
46
+ * @public
47
+ */
48
+ public static create(
49
+ builder: ResourceManagerBuilder,
50
+ systemConfig: SystemConfiguration,
51
+ params?: IBundleCreateParams
52
+ ): Result<IBundle> {
53
+ /* c8 ignore next 2 - defense in depth */
54
+ params = params ?? {};
55
+ const hashNormalizer = params.hashNormalizer ?? new Hash.Crc32Normalizer();
56
+
57
+ const builderToUse =
58
+ params.normalize === true
59
+ ? BundleNormalizer.normalize(builder, systemConfig)
60
+ : /* c8 ignore next 1 - is tested but coverage gets confused */
61
+ succeed(builder);
62
+
63
+ return builderToUse.onSuccess((targetBuilder) => {
64
+ return systemConfig.getConfig().onSuccess((config) => {
65
+ return targetBuilder.getCompiledResourceCollection().onSuccess((compiledCollection) => {
66
+ return BundleBuilder._generateChecksum(compiledCollection, hashNormalizer).onSuccess((checksum) => {
67
+ /* c8 ignore next 1 - defense in depth */
68
+ const dateBuilt = params.dateBuilt ?? new Date().toISOString();
69
+
70
+ const metadata: IBundleMetadata = {
71
+ dateBuilt,
72
+ checksum,
73
+ version: params.version,
74
+ description: params.description
75
+ };
76
+
77
+ const bundle: IBundle = {
78
+ metadata,
79
+ config,
80
+ compiledCollection
81
+ };
82
+
83
+ return succeed(bundle);
84
+ });
85
+ });
86
+ });
87
+ });
88
+ }
89
+
90
+ /**
91
+ * Creates a resource bundle from a ResourceManagerBuilder using a predefined system configuration.
92
+ * This is a convenience method for the common case of using predefined configurations.
93
+ * @param builder - The ResourceManagerBuilder containing the resources to bundle
94
+ * @param configName - The name of the predefined system configuration used
95
+ * @param params - Optional parameters for bundle creation
96
+ * @returns Success with the created bundle if successful, Failure with error message otherwise
97
+ * @public
98
+ */
99
+ public static createFromPredefined(
100
+ builder: ResourceManagerBuilder,
101
+ configName: PredefinedSystemConfiguration,
102
+ params?: IBundleCreateParams
103
+ ): Result<IBundle> {
104
+ /* c8 ignore next 1 */
105
+ params = params ?? {};
106
+ const hashNormalizer = params.hashNormalizer ?? new Hash.Crc32Normalizer();
107
+
108
+ // Determine which builder to use based on normalization setting
109
+ const builderToUse = params.normalize
110
+ ? BundleNormalizer.normalizeFromPredefined(builder, configName)
111
+ : succeed(builder);
112
+
113
+ return builderToUse.onSuccess((targetBuilder) => {
114
+ return getPredefinedSystemConfiguration(configName).onSuccess((systemConfig) => {
115
+ return systemConfig.getConfig().onSuccess((config) => {
116
+ return targetBuilder.getCompiledResourceCollection().onSuccess((compiledCollection) => {
117
+ return BundleBuilder._generateChecksum(compiledCollection, hashNormalizer).onSuccess(
118
+ (checksum) => {
119
+ /* c8 ignore next 1 - defense in depth */
120
+ const dateBuilt = params.dateBuilt ?? new Date().toISOString();
121
+
122
+ const metadata: IBundleMetadata = {
123
+ dateBuilt,
124
+ checksum,
125
+ version: params.version,
126
+ /* c8 ignore next 1 - defense in depth */
127
+ description: params?.description
128
+ };
129
+
130
+ const bundle: IBundle = {
131
+ metadata,
132
+ config,
133
+ compiledCollection
134
+ };
135
+
136
+ return succeed(bundle);
137
+ }
138
+ );
139
+ });
140
+ });
141
+ });
142
+ });
143
+ }
144
+
145
+ /**
146
+ * Generates a hash checksum for the compiled resource collection.
147
+ * The checksum is calculated using the provided hash normalizer.
148
+ * @param compiledCollection - The compiled resource collection to generate checksum for
149
+ * @param hashNormalizer - The hash normalizer to use for checksum generation
150
+ * @returns Success with the checksum string if successful, Failure otherwise
151
+ * @internal
152
+ */
153
+ private static _generateChecksum(
154
+ compiledCollection: unknown,
155
+ hashNormalizer: Hash.HashingNormalizer
156
+ ): Result<string> {
157
+ return hashNormalizer.computeHash(compiledCollection);
158
+ }
159
+ }