@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
@@ -20,50 +20,16 @@
20
20
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  * SOFTWARE.
22
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
23
  Object.defineProperty(exports, "__esModule", { value: true });
57
24
  exports.SystemConfiguration = void 0;
58
25
  exports.updateSystemConfigurationQualifierDefaultValues = updateSystemConfigurationQualifierDefaultValues;
59
26
  const ts_utils_1 = require("@fgv/ts-utils");
60
- const QualifierTypes = __importStar(require("../qualifier-types"));
61
- const ResourceTypes = __importStar(require("../resource-types"));
62
27
  const qualifier_types_1 = require("../qualifier-types");
63
28
  const qualifiers_1 = require("../qualifiers");
64
29
  const resource_types_1 = require("../resource-types");
65
30
  const convert_1 = require("./convert");
66
31
  const ts_json_base_1 = require("@fgv/ts-json-base");
32
+ const configInitFactory_1 = require("./configInitFactory");
67
33
  /**
68
34
  * Creates a copy of the provided {@link Config.Model.ISystemConfiguration | system configuration}
69
35
  * with updated qualifier default values.
@@ -129,17 +95,20 @@ class SystemConfiguration {
129
95
  * @param config - The {@link Config.Model.ISystemConfiguration | system configuration} to use.
130
96
  * @public
131
97
  */
132
- constructor(config) {
98
+ constructor(config, initParams) {
99
+ var _a, _b;
133
100
  this._config = config;
101
+ const qualifierTypeFactory = (_a = initParams === null || initParams === void 0 ? void 0 : initParams.qualifierTypeFactory) !== null && _a !== void 0 ? _a : new configInitFactory_1.BuiltInQualifierTypeFactory();
102
+ const resourceTypeFactory = (_b = initParams === null || initParams === void 0 ? void 0 : initParams.resourceTypeFactory) !== null && _b !== void 0 ? _b : new configInitFactory_1.BuiltInResourceTypeFactory();
134
103
  this.qualifierTypes = qualifier_types_1.QualifierTypeCollector.create({
135
- qualifierTypes: (0, ts_utils_1.mapResults)(config.qualifierTypes.map(QualifierTypes.createQualifierTypeFromSystemConfig)).orThrow()
104
+ qualifierTypes: (0, ts_utils_1.mapResults)(config.qualifierTypes.map((tc) => qualifierTypeFactory.create(tc))).orThrow()
136
105
  }).orThrow();
137
106
  this.qualifiers = qualifiers_1.QualifierCollector.create({
138
107
  qualifierTypes: this.qualifierTypes,
139
108
  qualifiers: config.qualifiers
140
109
  }).orThrow();
141
110
  this.resourceTypes = resource_types_1.ResourceTypeCollector.create({
142
- resourceTypes: (0, ts_utils_1.mapResults)(config.resourceTypes.map(ResourceTypes.createResourceTypeFromConfig)).orThrow()
111
+ resourceTypes: (0, ts_utils_1.mapResults)(config.resourceTypes.map((rt) => resourceTypeFactory.create(rt))).orThrow()
143
112
  }).orThrow();
144
113
  }
145
114
  /**
@@ -153,9 +122,19 @@ class SystemConfiguration {
153
122
  */
154
123
  static create(config, initParams) {
155
124
  if (initParams === null || initParams === void 0 ? void 0 : initParams.qualifierDefaultValues) {
156
- return updateSystemConfigurationQualifierDefaultValues(config, initParams.qualifierDefaultValues).onSuccess((updatedConfig) => (0, ts_utils_1.captureResult)(() => new SystemConfiguration(updatedConfig)));
125
+ return updateSystemConfigurationQualifierDefaultValues(config, initParams.qualifierDefaultValues).onSuccess((updatedConfig) => (0, ts_utils_1.captureResult)(() => new SystemConfiguration(updatedConfig, (0, ts_utils_1.omit)(initParams, ['qualifierDefaultValues']))));
157
126
  }
158
- return (0, ts_utils_1.captureResult)(() => new SystemConfiguration(config));
127
+ return (0, ts_utils_1.captureResult)(() => new SystemConfiguration(config, initParams));
128
+ }
129
+ /**
130
+ * Loads a {@link Config.SystemConfiguration | SystemConfiguration} from a file.
131
+ * @param path - The path to the file to load.
132
+ * @returns `Success` with the {@link Config.SystemConfiguration | SystemConfiguration}
133
+ * if successful, `Failure` with an error message otherwise.
134
+ * @public
135
+ */
136
+ static loadFromFile(path, initParams) {
137
+ return ts_json_base_1.JsonFile.convertJsonFileSync(path, convert_1.systemConfiguration).onSuccess((config) => SystemConfiguration.create(config, initParams));
159
138
  }
160
139
  /**
161
140
  * Returns the {@link Config.Model.ISystemConfiguration | system configuration} that this
@@ -66,4 +66,17 @@ export interface ISystemLiteralQualifierTypeConfig extends IQualifierTypeConfig<
66
66
  * @public
67
67
  */
68
68
  export type ISystemQualifierTypeConfig = ISystemLanguageQualifierTypeConfig | ISystemTerritoryQualifierTypeConfig | ISystemLiteralQualifierTypeConfig;
69
+ /**
70
+ * A union of all qualifier type configurations.
71
+ * @public
72
+ */
73
+ export type IAnyQualifierTypeConfig = IQualifierTypeConfig | ISystemQualifierTypeConfig;
74
+ /**
75
+ * Checks if a {@link QualifierTypes.Config.IAnyQualifierTypeConfig | qualifier type configuration} is a
76
+ * {@link QualifierTypes.Config.ISystemQualifierTypeConfig | system qualifier type configuration}.
77
+ * @param config - The {@link QualifierTypes.Config.IAnyQualifierTypeConfig | qualifier type configuration} to check.
78
+ * @returns `true` if the configuration is a system qualifier type configuration, `false` otherwise.
79
+ * @public
80
+ */
81
+ export declare function isSystemQualifierTypeConfig(config: IAnyQualifierTypeConfig): config is ISystemQualifierTypeConfig;
69
82
  //# sourceMappingURL=json.d.ts.map
@@ -21,4 +21,15 @@
21
21
  * SOFTWARE.
22
22
  */
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.isSystemQualifierTypeConfig = isSystemQualifierTypeConfig;
25
+ /**
26
+ * Checks if a {@link QualifierTypes.Config.IAnyQualifierTypeConfig | qualifier type configuration} is a
27
+ * {@link QualifierTypes.Config.ISystemQualifierTypeConfig | system qualifier type configuration}.
28
+ * @param config - The {@link QualifierTypes.Config.IAnyQualifierTypeConfig | qualifier type configuration} to check.
29
+ * @returns `true` if the configuration is a system qualifier type configuration, `false` otherwise.
30
+ * @public
31
+ */
32
+ function isSystemQualifierTypeConfig(config) {
33
+ return (config.systemType === 'language' || config.systemType === 'territory' || config.systemType === 'literal');
34
+ }
24
35
  //# sourceMappingURL=json.js.map
@@ -27,20 +27,76 @@ export interface IResourceCandidateValidationProperties {
27
27
  */
28
28
  mergeMethod: ResourceValueMergeMethod;
29
29
  }
30
+ /**
31
+ * Interface for a resource type. Resource types are responsible for
32
+ * validating and converting JSON values into the appropriate strongly-typed
33
+ * resource value.
34
+ * @public
35
+ */
36
+ export interface IResourceType<T = unknown> extends ICollectible<ResourceTypeName, ResourceTypeIndex> {
37
+ /**
38
+ * The key for this resource type.
39
+ */
40
+ readonly key: ResourceTypeName;
41
+ /**
42
+ * The index for this resource type.
43
+ */
44
+ readonly index: ResourceTypeIndex | undefined;
45
+ /**
46
+ * Validates properties of a {@link ResourceJson.Json.ILooseResourceCandidateDecl | resource candidate declaration} for
47
+ * a resource instance value.
48
+ * @param props - The {@link ResourceTypes.IResourceCandidateValidationProperties | properties } to validate.
49
+ * @returns `Success` with the strongly-typed resource value if the JSON and merge method
50
+ * are valid, `Failure` with an error message otherwise.
51
+ * @public
52
+ */
53
+ validateDeclaration(props: IResourceCandidateValidationProperties): Result<T | Partial<T>>;
54
+ /**
55
+ * Validates a JSON value for use as a partial resource instance value.
56
+ * @param json - The JSON value to validate.
57
+ * @param completeness - Describes {@link CandidateCompleteness | how complete} the candidate value is.
58
+ * @returns `Success` with the strongly-typed partial resource value if the JSON is valid,
59
+ * `Failure` with an error message otherwise.
60
+ * @public
61
+ */
62
+ validate(json: JsonValue, completeness: CandidateCompleteness): Result<Partial<T>>;
63
+ /**
64
+ * Validates a JSON value for use as a complete resource instance value.
65
+ * @param json - The JSON value to validate.
66
+ * @param completeness - Describes {@link CandidateCompleteness | how complete} the candidate value is.
67
+ * @returns `Success` with the strongly-typed resource value if the JSON is valid,
68
+ * `Failure` with an error message otherwise.
69
+ * @public
70
+ */
71
+ validate(json: JsonValue, completeness: 'full'): Result<T>;
72
+ /**
73
+ * Validates a JSON value for use as a partial resource instance value.
74
+ * @param json - The JSON value to validate.
75
+ * @param completeness - Describes {@link CandidateCompleteness | how complete} the candidate value is.
76
+ * @returns `Success` with the strongly-typed partial resource value if the JSON is valid,
77
+ * `Failure` with an error message otherwise.
78
+ * @public
79
+ */
80
+ validate(json: JsonValue, completeness: 'partial'): Result<Partial<T>>;
81
+ /**
82
+ * Sets the index for this resource type. Once set, the index cannot be changed.
83
+ */
84
+ setIndex(index: number): Result<ResourceTypeIndex>;
85
+ }
30
86
  /**
31
87
  * Abstract base class for resource types which are responsible for
32
88
  * validating and converting JSON values into the appropriate strongly-typed
33
89
  * resource value.
34
90
  * @public
35
91
  */
36
- export declare abstract class ResourceType<T = unknown> implements ICollectible<ResourceTypeName, ResourceTypeIndex> {
92
+ export declare abstract class ResourceType<T = unknown> implements IResourceType<T> {
37
93
  private _collectible;
38
94
  /**
39
- * The key for this resource type.
95
+ * {@inheritdoc ResourceTypes.IResourceType.key}
40
96
  */
41
97
  get key(): ResourceTypeName;
42
98
  /**
43
- * The index for this resource type.
99
+ * {@inheritdoc ResourceTypes.IResourceType.index}
44
100
  */
45
101
  get index(): ResourceTypeIndex | undefined;
46
102
  protected constructor(key: ResourceTypeName, index?: number);
@@ -32,13 +32,13 @@ const common_1 = require("../common");
32
32
  */
33
33
  class ResourceType {
34
34
  /**
35
- * The key for this resource type.
35
+ * {@inheritdoc ResourceTypes.IResourceType.key}
36
36
  */
37
37
  get key() {
38
38
  return this._collectible.key;
39
39
  }
40
40
  /**
41
- * The index for this resource type.
41
+ * {@inheritdoc ResourceTypes.IResourceType.index}
42
42
  */
43
43
  get index() {
44
44
  return this._collectible.index;
@@ -47,7 +47,7 @@ export declare class Resource implements IResource {
47
47
  /**
48
48
  * The {@link ResourceTypes.ResourceType | type} of the resource.
49
49
  */
50
- readonly _resourceType: ResourceType;
50
+ readonly resourceType: ResourceType;
51
51
  /**
52
52
  * The array of {@link Resources.ResourceCandidate | candidates} for the resource.
53
53
  */
@@ -56,10 +56,6 @@ export declare class Resource implements IResource {
56
56
  * {@link Decisions.ConcreteDecision | Decision} for optimized resource resolution.
57
57
  */
58
58
  readonly decision: ConcreteDecision;
59
- /**
60
- * Gets the resource type (implements IResource interface).
61
- */
62
- get resourceType(): ResourceType;
63
59
  /**
64
60
  * Gets the resource type name as a string.
65
61
  */
@@ -33,17 +33,11 @@ const decisions_1 = require("../decisions");
33
33
  * @public
34
34
  */
35
35
  class Resource {
36
- /**
37
- * Gets the resource type (implements IResource interface).
38
- */
39
- get resourceType() {
40
- return this._resourceType;
41
- }
42
36
  /**
43
37
  * Gets the resource type name as a string.
44
38
  */
45
39
  get resourceTypeName() {
46
- return this._resourceType.key;
40
+ return this.resourceType.key;
47
41
  }
48
42
  /**
49
43
  * Constructor for a {@link Resources.Resource | Resource} object.
@@ -54,7 +48,7 @@ class Resource {
54
48
  const id = params.id ? common_1.Validate.toResourceId(params.id).orThrow() : undefined;
55
49
  this.id = Resource._validateCandidateResourceIds(id, params.candidates).orThrow();
56
50
  this.name = common_1.Helpers.getNameForResourceId(this.id).orThrow();
57
- this._resourceType = resourceCandidate_1.ResourceCandidate.validateResourceTypes(params.candidates, params.resourceType)
51
+ this.resourceType = resourceCandidate_1.ResourceCandidate.validateResourceTypes(params.candidates, params.resourceType)
58
52
  .onSuccess((t) => {
59
53
  /* c8 ignore next 3 - functional code path tested but coverage intermittently missed */
60
54
  if (t === undefined) {
@@ -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}.
@@ -105,7 +105,7 @@ export declare class CompiledResourceCollection implements IResourceManager<IRes
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
@@ -3,7 +3,7 @@ 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
8
  import { IReadOnlyResourceTreeRoot } from './resource-tree';
9
9
  /**
@@ -34,7 +34,7 @@ export interface IResource {
34
34
  /** The resource name */
35
35
  readonly name: string;
36
36
  /** The resource type */
37
- readonly resourceType: ResourceType;
37
+ readonly resourceType: IResourceType;
38
38
  /** The decision used to select candidates */
39
39
  readonly decision: ConcreteDecision;
40
40
  /** The available candidates for this resource */
@@ -0,0 +1,32 @@
1
+ [
2
+ {
3
+ "id": "some.resource.path",
4
+ "json": { "home": "United States" },
5
+ "conditions": {
6
+ "homeTerritory": "US"
7
+ }
8
+ },
9
+ {
10
+ "id": "some.resource.path",
11
+ "json": { "speaks": "English" },
12
+ "conditions": {
13
+ "language": "en"
14
+ }
15
+ },
16
+ {
17
+ "id": "some.resource.path",
18
+ "json": { "home": "Canada", "speaks": "Canadian English" },
19
+ "conditions": {
20
+ "homeTerritory": "CA",
21
+ "language": "en-CA"
22
+ },
23
+ "mergeMethod": "replace"
24
+ },
25
+ {
26
+ "id": "some.resource.path",
27
+ "json": { "speaks": "Español" },
28
+ "conditions": {
29
+ "language": "es"
30
+ }
31
+ }
32
+ ]
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=bundleBuilder.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=bundleLoader.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=bundleUtils.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=integration.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=model.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=normalization.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditions.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditions.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=contexts.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=qualifierDefaultValues.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=resources.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=condition.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditionCollector.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditionScoreAsDefault.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditionSet.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditionSetCollector.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=conditionToken.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=common.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=default.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=extended.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=systemConfiguration.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=systemConfigurationInitParams.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=contextToken.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=abstractDecision.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=abstractDecisionCollector.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=candidate.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=concreteDecision.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=decision.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=collectionImporter.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=fsItem.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=fsItemImporter.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=importContext.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=importManager.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=jsonImporter.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=pathImporter.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=helpers.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=languageQualifierType.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=literalQualifierType.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=literalValueHierarchy.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=qualifierType.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=qualifierTypeCollector.test.d.ts.map
@@ -0,0 +1,2 @@
1
+ import '@fgv/ts-utils-jest';
2
+ //# sourceMappingURL=territoryQualifierType.test.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { Result } from '@fgv/ts-utils';
2
+ import * as TsRes from '../../../index';
3
+ export interface ITestQualifierTypeConstructorParams {
4
+ name?: string;
5
+ allowContextList?: string;
6
+ index?: number;
7
+ }
8
+ export declare class TestQualifierType extends TsRes.QualifierTypes.QualifierType {
9
+ constructor(params?: ITestQualifierTypeConstructorParams);
10
+ static create(params?: ITestQualifierTypeConstructorParams): Result<TestQualifierType>;
11
+ isValidConditionValue(value: string): value is TsRes.QualifierConditionValue;
12
+ validateCondition(value: string, operator?: TsRes.ConditionOperator): Result<TsRes.QualifierConditionValue>;
13
+ protected _matchOne(condition: TsRes.QualifierConditionValue, context: TsRes.QualifierContextValue, operator: TsRes.ConditionOperator): TsRes.QualifierMatchScore;
14
+ }
15
+ //# sourceMappingURL=testQualifierType.d.ts.map