@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
package/dist/ts-res.d.ts CHANGED
@@ -179,6 +179,24 @@ declare function buildQualifierDefaultValuesToken(parts: ReadonlyArray<IQualifie
179
179
  */
180
180
  declare function buildQualifierDefaultValueToken({ qualifier, value }: IQualifierDefaultValueTokenParts): Result<QualifierDefaultValueToken>;
181
181
 
182
+ /**
183
+ * A factory that creates a {@link QualifierTypes.QualifierType | QualifierType} from a {@link QualifierTypes.Config.ISystemQualifierTypeConfig | system qualifier type configuration}.
184
+ * @public
185
+ */
186
+ declare class BuiltInQualifierTypeFactory implements IConfigInitFactory<QualifierTypes.Config.IAnyQualifierTypeConfig, QualifierType> {
187
+ /** {@inheritDoc Config.IConfigInitFactory.create} */
188
+ create(config: QualifierTypes.Config.IAnyQualifierTypeConfig): Result<QualifierType>;
189
+ }
190
+
191
+ /**
192
+ * A factory that creates a {@link ResourceTypes.ResourceType | ResourceType} from a {@link ResourceTypes.Config.IResourceTypeConfig | resource type configuration}.
193
+ * @public
194
+ */
195
+ declare class BuiltInResourceTypeFactory implements IConfigInitFactory<ResourceTypes.Config.IResourceTypeConfig, ResourceType> {
196
+ /** {@inheritDoc Config.IConfigInitFactory.create} */
197
+ create(config: ResourceTypes.Config.IResourceTypeConfig): Result<ResourceType>;
198
+ }
199
+
182
200
  declare namespace Bundle {
183
201
  export {
184
202
  IBundleMetadata,
@@ -558,6 +576,25 @@ declare class CandidateReducer {
558
576
  reduceCandidate(candidate: ResourceCandidate): Result<IReducedCandidate | undefined>;
559
577
  }
560
578
 
579
+ /**
580
+ * A factory that chains multiple factories together.
581
+ * @public
582
+ */
583
+ declare class ChainedConfigInitFactory<TConfig, T> implements IConfigInitFactory<TConfig, T> {
584
+ readonly factories: IConfigInitFactory<TConfig, T>[];
585
+ /**
586
+ * Constructor for a chained config init factory.
587
+ * @param factories - The factories to chain.
588
+ */
589
+ constructor(factories: IConfigInitFactory<TConfig, T>[]);
590
+ /**
591
+ * Creates a new instance of a configuration object.
592
+ * @param config - The configuration object to create.
593
+ * @returns A result containing the new instance of the configuration object.
594
+ */
595
+ create(config: TConfig): Result<T>;
596
+ }
597
+
561
598
  /**
562
599
  * `Converter` for a normalized {@link ResourceJson.Json.IChildConditionDecl | child condition declaration}.
563
600
  * @public
@@ -830,7 +867,7 @@ declare class CompiledResourceCollection implements IResourceManager<IResource>
830
867
  * @returns Result containing the resource tree root, or failure if tree construction fails
831
868
  * @public
832
869
  */
833
- getBuiltResourceTree(): Result<IReadOnlyResourceTreeRoot<IResource>>;
870
+ getBuiltResourceTree(): Result<ReadOnlyResourceTreeRoot<IResource>>;
834
871
  /**
835
872
  * Reconstructs a QualifierTypeCollector from compiled data.
836
873
  * @param compiled - The compiled resource collection
@@ -1650,6 +1687,12 @@ declare namespace Config {
1650
1687
  export {
1651
1688
  Model,
1652
1689
  Convert_9 as Convert,
1690
+ IConfigInitFactory,
1691
+ ChainedConfigInitFactory,
1692
+ BuiltInQualifierTypeFactory,
1693
+ QualifierTypeFactory,
1694
+ BuiltInResourceTypeFactory,
1695
+ ResourceTypeFactory,
1653
1696
  updateSystemConfigurationQualifierDefaultValues,
1654
1697
  ISystemConfigurationInitParams,
1655
1698
  SystemConfiguration,
@@ -1666,6 +1709,7 @@ export { Config }
1666
1709
  declare namespace Config_2 {
1667
1710
  export {
1668
1711
  Convert_2 as Convert,
1712
+ isSystemQualifierTypeConfig,
1669
1713
  IQualifierTypeConfig,
1670
1714
  ILanguageQualifierTypeConfig,
1671
1715
  ITerritoryQualifierTypeConfig,
@@ -1673,7 +1717,8 @@ declare namespace Config_2 {
1673
1717
  ISystemLanguageQualifierTypeConfig,
1674
1718
  ISystemTerritoryQualifierTypeConfig,
1675
1719
  ISystemLiteralQualifierTypeConfig,
1676
- ISystemQualifierTypeConfig
1720
+ ISystemQualifierTypeConfig,
1721
+ IAnyQualifierTypeConfig
1677
1722
  }
1678
1723
  }
1679
1724
 
@@ -2577,6 +2622,12 @@ declare interface IAbstractDecisionCreateParams {
2577
2622
  index?: number;
2578
2623
  }
2579
2624
 
2625
+ /**
2626
+ * A union of all qualifier type configurations.
2627
+ * @public
2628
+ */
2629
+ declare type IAnyQualifierTypeConfig = IQualifierTypeConfig | ISystemQualifierTypeConfig;
2630
+
2580
2631
  /**
2581
2632
  * A complete resource bundle that encapsulates built resources, configuration, and metadata.
2582
2633
  * Bundles provide a portable, integrity-verified way to distribute pre-compiled resource collections.
@@ -3264,6 +3315,19 @@ declare interface IConditionTokenParts {
3264
3315
  value: string;
3265
3316
  }
3266
3317
 
3318
+ /**
3319
+ * Interface for a factory that creates a new instance of a configuration object.
3320
+ * @public
3321
+ */
3322
+ declare interface IConfigInitFactory<TConfig, T> {
3323
+ /**
3324
+ * Creates a new instance of a configuration object.
3325
+ * @param config - The configuration object to create.
3326
+ * @returns A result containing the new instance of the configuration object.
3327
+ */
3328
+ create(config: TConfig): Result<T>;
3329
+ }
3330
+
3267
3331
  /**
3268
3332
  * Declared context for a resource container.
3269
3333
  * @public
@@ -4515,7 +4579,7 @@ declare interface IResource {
4515
4579
  /** The resource name */
4516
4580
  readonly name: string;
4517
4581
  /** The resource type */
4518
- readonly resourceType: ResourceType;
4582
+ readonly resourceType: IResourceType;
4519
4583
  /** The decision used to select candidates */
4520
4584
  readonly decision: ConcreteDecision;
4521
4585
  /** The available candidates for this resource */
@@ -4931,6 +4995,63 @@ declare interface IResourceTreeRootInit<T> {
4931
4995
  readonly children: Record<ResourceName, ResourceTreeNodeInit<T>>;
4932
4996
  }
4933
4997
 
4998
+ /**
4999
+ * Interface for a resource type. Resource types are responsible for
5000
+ * validating and converting JSON values into the appropriate strongly-typed
5001
+ * resource value.
5002
+ * @public
5003
+ */
5004
+ declare interface IResourceType<T = unknown> extends ICollectible<ResourceTypeName, ResourceTypeIndex> {
5005
+ /**
5006
+ * The key for this resource type.
5007
+ */
5008
+ readonly key: ResourceTypeName;
5009
+ /**
5010
+ * The index for this resource type.
5011
+ */
5012
+ readonly index: ResourceTypeIndex | undefined;
5013
+ /**
5014
+ * Validates properties of a {@link ResourceJson.Json.ILooseResourceCandidateDecl | resource candidate declaration} for
5015
+ * a resource instance value.
5016
+ * @param props - The {@link ResourceTypes.IResourceCandidateValidationProperties | properties } to validate.
5017
+ * @returns `Success` with the strongly-typed resource value if the JSON and merge method
5018
+ * are valid, `Failure` with an error message otherwise.
5019
+ * @public
5020
+ */
5021
+ validateDeclaration(props: IResourceCandidateValidationProperties): Result<T | Partial<T>>;
5022
+ /**
5023
+ * Validates a JSON value for use as a partial resource instance value.
5024
+ * @param json - The JSON value to validate.
5025
+ * @param completeness - Describes {@link CandidateCompleteness | how complete} the candidate value is.
5026
+ * @returns `Success` with the strongly-typed partial resource value if the JSON is valid,
5027
+ * `Failure` with an error message otherwise.
5028
+ * @public
5029
+ */
5030
+ validate(json: JsonValue, completeness: CandidateCompleteness): Result<Partial<T>>;
5031
+ /**
5032
+ * Validates a JSON value for use as a complete resource instance value.
5033
+ * @param json - The JSON value to validate.
5034
+ * @param completeness - Describes {@link CandidateCompleteness | how complete} the candidate value is.
5035
+ * @returns `Success` with the strongly-typed resource value if the JSON is valid,
5036
+ * `Failure` with an error message otherwise.
5037
+ * @public
5038
+ */
5039
+ validate(json: JsonValue, completeness: 'full'): Result<T>;
5040
+ /**
5041
+ * Validates a JSON value for use as a partial resource instance value.
5042
+ * @param json - The JSON value to validate.
5043
+ * @param completeness - Describes {@link CandidateCompleteness | how complete} the candidate value is.
5044
+ * @returns `Success` with the strongly-typed partial resource value if the JSON is valid,
5045
+ * `Failure` with an error message otherwise.
5046
+ * @public
5047
+ */
5048
+ validate(json: JsonValue, completeness: 'partial'): Result<Partial<T>>;
5049
+ /**
5050
+ * Sets the index for this resource type. Once set, the index cannot be changed.
5051
+ */
5052
+ setIndex(index: number): Result<ResourceTypeIndex>;
5053
+ }
5054
+
4934
5055
  /**
4935
5056
  * Configuration for a {@link ResourceTypes.ResourceType | resource type}.
4936
5057
  * @public
@@ -4992,6 +5113,15 @@ declare function isResourceTreeLeafInit<T>(init: ResourceTreeNodeInit<T>): init
4992
5113
  */
4993
5114
  declare function isResourceTreeRootOrNodeInit<T>(init: ResourceTreeNodeInit<T> | IResourceTreeRootInit<T>): init is IResourceTreeBranchInit<T>;
4994
5115
 
5116
+ /**
5117
+ * Checks if a {@link QualifierTypes.Config.IAnyQualifierTypeConfig | qualifier type configuration} is a
5118
+ * {@link QualifierTypes.Config.ISystemQualifierTypeConfig | system qualifier type configuration}.
5119
+ * @param config - The {@link QualifierTypes.Config.IAnyQualifierTypeConfig | qualifier type configuration} to check.
5120
+ * @returns `true` if the configuration is a system qualifier type configuration, `false` otherwise.
5121
+ * @public
5122
+ */
5123
+ declare function isSystemQualifierTypeConfig(config: IAnyQualifierTypeConfig): config is ISystemQualifierTypeConfig;
5124
+
4995
5125
  /**
4996
5126
  * Determines whether a number is a valid condition index.
4997
5127
  * @param index - the number to validate
@@ -5238,6 +5368,8 @@ declare interface ISystemConfigurationInitParams {
5238
5368
  * Use `null` as the value to remove an existing default value.
5239
5369
  */
5240
5370
  qualifierDefaultValues?: Record<string, string | null>;
5371
+ qualifierTypeFactory?: IConfigInitFactory<QualifierTypes.Config.IAnyQualifierTypeConfig, QualifierType>;
5372
+ resourceTypeFactory?: IConfigInitFactory<ResourceTypes.Config.IResourceTypeConfig, ResourceType>;
5241
5373
  }
5242
5374
 
5243
5375
  /**
@@ -5972,6 +6104,7 @@ declare namespace Model {
5972
6104
 
5973
6105
  declare namespace Model_2 {
5974
6106
  export {
6107
+ isSystemQualifierTypeConfig,
5975
6108
  IQualifierTypeConfig,
5976
6109
  ILanguageQualifierTypeConfig,
5977
6110
  ITerritoryQualifierTypeConfig,
@@ -5979,7 +6112,8 @@ declare namespace Model_2 {
5979
6112
  ISystemLanguageQualifierTypeConfig,
5980
6113
  ISystemTerritoryQualifierTypeConfig,
5981
6114
  ISystemLiteralQualifierTypeConfig,
5982
- ISystemQualifierTypeConfig
6115
+ ISystemQualifierTypeConfig,
6116
+ IAnyQualifierTypeConfig
5983
6117
  }
5984
6118
  }
5985
6119
 
@@ -6672,6 +6806,20 @@ declare class QualifierTypeCollector extends ValidatingConvertingCollector<Quali
6672
6806
  protected static _toQualifierType(from: unknown): Result<QualifierType>;
6673
6807
  }
6674
6808
 
6809
+ /**
6810
+ * A factory that creates a {@link QualifierTypes.QualifierType | QualifierType} from a {@link QualifierTypes.Config.IAnyQualifierTypeConfig | system qualifier type configuration}
6811
+ * by chaining a supplied factory with a {@link Config.BuiltInQualifierTypeFactory | built-in factory} that handles built-in qualifier types.
6812
+ * @public
6813
+ */
6814
+ declare class QualifierTypeFactory extends ChainedConfigInitFactory<QualifierTypes.Config.IAnyQualifierTypeConfig, QualifierType> {
6815
+ /**
6816
+ * Constructor for a {@link Config.QualifierTypeFactory | qualifier type factory}.
6817
+ * @param factories - The {@link Config.IConfigInitFactory | factories} to chain.
6818
+ * @remarks The {@link Config.BuiltInQualifierTypeFactory | built-in factory} is always added to the end of the chain.
6819
+ */
6820
+ constructor(factories: IConfigInitFactory<QualifierTypes.Config.IAnyQualifierTypeConfig, QualifierType>[]);
6821
+ }
6822
+
6675
6823
  /**
6676
6824
  * Branded number representing a validated qualifier type index.
6677
6825
  * @public
@@ -6908,7 +7056,7 @@ export declare class Resource implements IResource {
6908
7056
  /**
6909
7057
  * The {@link ResourceTypes.ResourceType | type} of the resource.
6910
7058
  */
6911
- readonly _resourceType: ResourceType;
7059
+ readonly resourceType: ResourceType;
6912
7060
  /**
6913
7061
  * The array of {@link Resources.ResourceCandidate | candidates} for the resource.
6914
7062
  */
@@ -6917,10 +7065,6 @@ export declare class Resource implements IResource {
6917
7065
  * {@link Decisions.ConcreteDecision | Decision} for optimized resource resolution.
6918
7066
  */
6919
7067
  readonly decision: ConcreteDecision;
6920
- /**
6921
- * Gets the resource type (implements IResource interface).
6922
- */
6923
- get resourceType(): ResourceType;
6924
7068
  /**
6925
7069
  * Gets the resource type name as a string.
6926
7070
  */
@@ -8070,14 +8214,14 @@ declare const resourceTreeRootDecl: Converter<Normalized.IResourceTreeRootDecl>;
8070
8214
  * resource value.
8071
8215
  * @public
8072
8216
  */
8073
- export declare abstract class ResourceType<T = unknown> implements ICollectible<ResourceTypeName, ResourceTypeIndex> {
8217
+ export declare abstract class ResourceType<T = unknown> implements IResourceType<T> {
8074
8218
  private _collectible;
8075
8219
  /**
8076
- * The key for this resource type.
8220
+ * {@inheritdoc ResourceTypes.IResourceType.key}
8077
8221
  */
8078
8222
  get key(): ResourceTypeName;
8079
8223
  /**
8080
- * The index for this resource type.
8224
+ * {@inheritdoc ResourceTypes.IResourceType.index}
8081
8225
  */
8082
8226
  get index(): ResourceTypeIndex | undefined;
8083
8227
  protected constructor(key: ResourceTypeName, index?: number);
@@ -8155,6 +8299,20 @@ declare class ResourceTypeCollector extends ValidatingCollector<ResourceType> {
8155
8299
  */
8156
8300
  declare const resourceTypeConfig: ObjectConverter<IResourceTypeConfig, unknown>;
8157
8301
 
8302
+ /**
8303
+ * A factory that creates a {@link ResourceTypes.ResourceType | ResourceType} from a {@link ResourceTypes.Config.IResourceTypeConfig | resource type configuration}
8304
+ * by chaining a supplied factory with a {@link Config.BuiltInResourceTypeFactory | built-in factory} that handles built-in resource types.
8305
+ * @public
8306
+ */
8307
+ declare class ResourceTypeFactory extends ChainedConfigInitFactory<ResourceTypes.Config.IResourceTypeConfig, ResourceType> {
8308
+ /**
8309
+ * Constructor for a resource type factory.
8310
+ * @param factories - The {@link Config.IConfigInitFactory | factories} to chain.
8311
+ * @remarks The {@link Config.BuiltInResourceTypeFactory | built-in factory} is always added to the end of the chain.
8312
+ */
8313
+ constructor(factories: IConfigInitFactory<ResourceTypes.Config.IResourceTypeConfig, ResourceType>[]);
8314
+ }
8315
+
8158
8316
  /**
8159
8317
  * Branded number representing a validated resource type index.
8160
8318
  * @public
@@ -8183,6 +8341,7 @@ declare namespace ResourceTypes {
8183
8341
  export {
8184
8342
  Config_3 as Config,
8185
8343
  IResourceCandidateValidationProperties,
8344
+ IResourceType,
8186
8345
  ResourceType,
8187
8346
  IResourceCollectorCreateParams,
8188
8347
  ResourceTypeCollector,
@@ -8382,7 +8541,7 @@ declare class SystemConfiguration {
8382
8541
  * @param config - The {@link Config.Model.ISystemConfiguration | system configuration} to use.
8383
8542
  * @public
8384
8543
  */
8385
- protected constructor(config: ISystemConfiguration);
8544
+ protected constructor(config: ISystemConfiguration, initParams?: ISystemConfigurationInitParams);
8386
8545
  /**
8387
8546
  * Creates a new {@link Config.SystemConfiguration | SystemConfiguration} from the supplied
8388
8547
  * {@link Config.Model.ISystemConfiguration | system configuration}.
@@ -8393,6 +8552,14 @@ declare class SystemConfiguration {
8393
8552
  * @public
8394
8553
  */
8395
8554
  static create(config: ISystemConfiguration, initParams?: ISystemConfigurationInitParams): Result<SystemConfiguration>;
8555
+ /**
8556
+ * Loads a {@link Config.SystemConfiguration | SystemConfiguration} from a file.
8557
+ * @param path - The path to the file to load.
8558
+ * @returns `Success` with the {@link Config.SystemConfiguration | SystemConfiguration}
8559
+ * if successful, `Failure` with an error message otherwise.
8560
+ * @public
8561
+ */
8562
+ static loadFromFile(path: string, initParams?: ISystemConfigurationInitParams): Result<SystemConfiguration>;
8396
8563
  /**
8397
8564
  * Returns the {@link Config.Model.ISystemConfiguration | system configuration} that this
8398
8565
  * {@link Config.SystemConfiguration | SystemConfiguration} was created from.
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.8"
8
+ "packageVersion": "7.52.10"
9
9
  }
10
10
  ]
11
11
  }
@@ -0,0 +1,78 @@
1
+ import { Result } from '@fgv/ts-utils';
2
+ import { QualifierType } from '../qualifier-types';
3
+ import * as QualifierTypes from '../qualifier-types';
4
+ import * as ResourceTypes from '../resource-types';
5
+ import { ResourceType } from '../resource-types';
6
+ /**
7
+ * Interface for a factory that creates a new instance of a configuration object.
8
+ * @public
9
+ */
10
+ export interface IConfigInitFactory<TConfig, T> {
11
+ /**
12
+ * Creates a new instance of a configuration object.
13
+ * @param config - The configuration object to create.
14
+ * @returns A result containing the new instance of the configuration object.
15
+ */
16
+ create(config: TConfig): Result<T>;
17
+ }
18
+ /**
19
+ * A factory that chains multiple factories together.
20
+ * @public
21
+ */
22
+ export declare class ChainedConfigInitFactory<TConfig, T> implements IConfigInitFactory<TConfig, T> {
23
+ readonly factories: IConfigInitFactory<TConfig, T>[];
24
+ /**
25
+ * Constructor for a chained config init factory.
26
+ * @param factories - The factories to chain.
27
+ */
28
+ constructor(factories: IConfigInitFactory<TConfig, T>[]);
29
+ /**
30
+ * Creates a new instance of a configuration object.
31
+ * @param config - The configuration object to create.
32
+ * @returns A result containing the new instance of the configuration object.
33
+ */
34
+ create(config: TConfig): Result<T>;
35
+ }
36
+ /**
37
+ * A factory that creates a {@link QualifierTypes.QualifierType | QualifierType} from a {@link QualifierTypes.Config.ISystemQualifierTypeConfig | system qualifier type configuration}.
38
+ * @public
39
+ */
40
+ export declare class BuiltInQualifierTypeFactory implements IConfigInitFactory<QualifierTypes.Config.IAnyQualifierTypeConfig, QualifierType> {
41
+ /** {@inheritDoc Config.IConfigInitFactory.create} */
42
+ create(config: QualifierTypes.Config.IAnyQualifierTypeConfig): Result<QualifierType>;
43
+ }
44
+ /**
45
+ * A factory that creates a {@link QualifierTypes.QualifierType | QualifierType} from a {@link QualifierTypes.Config.IAnyQualifierTypeConfig | system qualifier type configuration}
46
+ * by chaining a supplied factory with a {@link Config.BuiltInQualifierTypeFactory | built-in factory} that handles built-in qualifier types.
47
+ * @public
48
+ */
49
+ export declare class QualifierTypeFactory extends ChainedConfigInitFactory<QualifierTypes.Config.IAnyQualifierTypeConfig, QualifierType> {
50
+ /**
51
+ * Constructor for a {@link Config.QualifierTypeFactory | qualifier type factory}.
52
+ * @param factories - The {@link Config.IConfigInitFactory | factories} to chain.
53
+ * @remarks The {@link Config.BuiltInQualifierTypeFactory | built-in factory} is always added to the end of the chain.
54
+ */
55
+ constructor(factories: IConfigInitFactory<QualifierTypes.Config.IAnyQualifierTypeConfig, QualifierType>[]);
56
+ }
57
+ /**
58
+ * A factory that creates a {@link ResourceTypes.ResourceType | ResourceType} from a {@link ResourceTypes.Config.IResourceTypeConfig | resource type configuration}.
59
+ * @public
60
+ */
61
+ export declare class BuiltInResourceTypeFactory implements IConfigInitFactory<ResourceTypes.Config.IResourceTypeConfig, ResourceType> {
62
+ /** {@inheritDoc Config.IConfigInitFactory.create} */
63
+ create(config: ResourceTypes.Config.IResourceTypeConfig): Result<ResourceType>;
64
+ }
65
+ /**
66
+ * A factory that creates a {@link ResourceTypes.ResourceType | ResourceType} from a {@link ResourceTypes.Config.IResourceTypeConfig | resource type configuration}
67
+ * by chaining a supplied factory with a {@link Config.BuiltInResourceTypeFactory | built-in factory} that handles built-in resource types.
68
+ * @public
69
+ */
70
+ export declare class ResourceTypeFactory extends ChainedConfigInitFactory<ResourceTypes.Config.IResourceTypeConfig, ResourceType> {
71
+ /**
72
+ * Constructor for a resource type factory.
73
+ * @param factories - The {@link Config.IConfigInitFactory | factories} to chain.
74
+ * @remarks The {@link Config.BuiltInResourceTypeFactory | built-in factory} is always added to the end of the chain.
75
+ */
76
+ constructor(factories: IConfigInitFactory<ResourceTypes.Config.IResourceTypeConfig, ResourceType>[]);
77
+ }
78
+ //# sourceMappingURL=configInitFactory.d.ts.map
@@ -0,0 +1,147 @@
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.ResourceTypeFactory = exports.BuiltInResourceTypeFactory = exports.QualifierTypeFactory = exports.BuiltInQualifierTypeFactory = exports.ChainedConfigInitFactory = void 0;
58
+ const ts_utils_1 = require("@fgv/ts-utils");
59
+ const QualifierTypes = __importStar(require("../qualifier-types"));
60
+ const ResourceTypes = __importStar(require("../resource-types"));
61
+ /**
62
+ * A factory that chains multiple factories together.
63
+ * @public
64
+ */
65
+ class ChainedConfigInitFactory {
66
+ /**
67
+ * Constructor for a chained config init factory.
68
+ * @param factories - The factories to chain.
69
+ */
70
+ constructor(factories) {
71
+ this.factories = factories;
72
+ }
73
+ /**
74
+ * Creates a new instance of a configuration object.
75
+ * @param config - The configuration object to create.
76
+ * @returns A result containing the new instance of the configuration object.
77
+ */
78
+ create(config) {
79
+ for (const factory of this.factories) {
80
+ const result = factory.create(config);
81
+ if (result.isSuccess()) {
82
+ return result;
83
+ }
84
+ }
85
+ return (0, ts_utils_1.fail)('No factory was able to create the configuration object');
86
+ }
87
+ }
88
+ exports.ChainedConfigInitFactory = ChainedConfigInitFactory;
89
+ /**
90
+ * A factory that creates a {@link QualifierTypes.QualifierType | QualifierType} from a {@link QualifierTypes.Config.ISystemQualifierTypeConfig | system qualifier type configuration}.
91
+ * @public
92
+ */
93
+ class BuiltInQualifierTypeFactory {
94
+ /** {@inheritDoc Config.IConfigInitFactory.create} */
95
+ create(config) {
96
+ if (QualifierTypes.Config.isSystemQualifierTypeConfig(config)) {
97
+ return QualifierTypes.createQualifierTypeFromSystemConfig(config);
98
+ }
99
+ return (0, ts_utils_1.fail)(`${config.name}: unknown built-in qualifier type (${config.systemType})`);
100
+ }
101
+ }
102
+ exports.BuiltInQualifierTypeFactory = BuiltInQualifierTypeFactory;
103
+ /**
104
+ * A factory that creates a {@link QualifierTypes.QualifierType | QualifierType} from a {@link QualifierTypes.Config.IAnyQualifierTypeConfig | system qualifier type configuration}
105
+ * by chaining a supplied factory with a {@link Config.BuiltInQualifierTypeFactory | built-in factory} that handles built-in qualifier types.
106
+ * @public
107
+ */
108
+ class QualifierTypeFactory extends ChainedConfigInitFactory {
109
+ /**
110
+ * Constructor for a {@link Config.QualifierTypeFactory | qualifier type factory}.
111
+ * @param factories - The {@link Config.IConfigInitFactory | factories} to chain.
112
+ * @remarks The {@link Config.BuiltInQualifierTypeFactory | built-in factory} is always added to the end of the chain.
113
+ */
114
+ constructor(factories) {
115
+ super([...factories, new BuiltInQualifierTypeFactory()]);
116
+ }
117
+ }
118
+ exports.QualifierTypeFactory = QualifierTypeFactory;
119
+ /**
120
+ * A factory that creates a {@link ResourceTypes.ResourceType | ResourceType} from a {@link ResourceTypes.Config.IResourceTypeConfig | resource type configuration}.
121
+ * @public
122
+ */
123
+ class BuiltInResourceTypeFactory {
124
+ /** {@inheritDoc Config.IConfigInitFactory.create} */
125
+ create(config) {
126
+ return ResourceTypes.createResourceTypeFromConfig(config);
127
+ }
128
+ }
129
+ exports.BuiltInResourceTypeFactory = BuiltInResourceTypeFactory;
130
+ /**
131
+ * A factory that creates a {@link ResourceTypes.ResourceType | ResourceType} from a {@link ResourceTypes.Config.IResourceTypeConfig | resource type configuration}
132
+ * by chaining a supplied factory with a {@link Config.BuiltInResourceTypeFactory | built-in factory} that handles built-in resource types.
133
+ * @public
134
+ */
135
+ class ResourceTypeFactory extends ChainedConfigInitFactory {
136
+ /**
137
+ * Constructor for a resource type factory.
138
+ * @param factories - The {@link Config.IConfigInitFactory | factories} to chain.
139
+ * @remarks The {@link Config.BuiltInResourceTypeFactory | built-in factory} is always added to the end of the chain.
140
+ */
141
+ constructor(factories) {
142
+ factories = factories !== null && factories !== void 0 ? factories : [];
143
+ super([...factories, new BuiltInResourceTypeFactory()]);
144
+ }
145
+ }
146
+ exports.ResourceTypeFactory = ResourceTypeFactory;
147
+ //# sourceMappingURL=configInitFactory.js.map
@@ -1,5 +1,6 @@
1
1
  import * as Model from './json';
2
2
  import * as Convert from './convert';
3
+ export * from './configInitFactory';
3
4
  export * from './systemConfiguration';
4
5
  export * from './common';
5
6
  export { Model, Convert };
@@ -62,6 +62,7 @@ const Model = __importStar(require("./json"));
62
62
  exports.Model = Model;
63
63
  const Convert = __importStar(require("./convert"));
64
64
  exports.Convert = Convert;
65
+ __exportStar(require("./configInitFactory"), exports);
65
66
  __exportStar(require("./systemConfiguration"), exports);
66
67
  __exportStar(require("./common"), exports);
67
68
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,11 @@
1
1
  import { Result } from '@fgv/ts-utils';
2
- import { ReadOnlyQualifierTypeCollector } from '../qualifier-types';
2
+ import * as QualifierTypes from '../qualifier-types';
3
+ import * as ResourceTypes from '../resource-types';
4
+ import { QualifierType, ReadOnlyQualifierTypeCollector } from '../qualifier-types';
3
5
  import { IReadOnlyQualifierCollector } from '../qualifiers';
4
- import { ReadOnlyResourceTypeCollector } from '../resource-types';
6
+ import { ReadOnlyResourceTypeCollector, ResourceType } from '../resource-types';
5
7
  import { ISystemConfiguration } from './json';
8
+ import { IConfigInitFactory } from './configInitFactory';
6
9
  /**
7
10
  * Parameters used to initialize a {@link Config.SystemConfiguration | SystemConfiguration}.
8
11
  * @public
@@ -14,6 +17,8 @@ export interface ISystemConfigurationInitParams {
14
17
  * Use `null` as the value to remove an existing default value.
15
18
  */
16
19
  qualifierDefaultValues?: Record<string, string | null>;
20
+ qualifierTypeFactory?: IConfigInitFactory<QualifierTypes.Config.IAnyQualifierTypeConfig, QualifierType>;
21
+ resourceTypeFactory?: IConfigInitFactory<ResourceTypes.Config.IResourceTypeConfig, ResourceType>;
17
22
  }
18
23
  /**
19
24
  * Creates a copy of the provided {@link Config.Model.ISystemConfiguration | system configuration}
@@ -58,7 +63,7 @@ export declare class SystemConfiguration {
58
63
  * @param config - The {@link Config.Model.ISystemConfiguration | system configuration} to use.
59
64
  * @public
60
65
  */
61
- protected constructor(config: ISystemConfiguration);
66
+ protected constructor(config: ISystemConfiguration, initParams?: ISystemConfigurationInitParams);
62
67
  /**
63
68
  * Creates a new {@link Config.SystemConfiguration | SystemConfiguration} from the supplied
64
69
  * {@link Config.Model.ISystemConfiguration | system configuration}.
@@ -69,6 +74,14 @@ export declare class SystemConfiguration {
69
74
  * @public
70
75
  */
71
76
  static create(config: ISystemConfiguration, initParams?: ISystemConfigurationInitParams): Result<SystemConfiguration>;
77
+ /**
78
+ * Loads a {@link Config.SystemConfiguration | SystemConfiguration} from a file.
79
+ * @param path - The path to the file to load.
80
+ * @returns `Success` with the {@link Config.SystemConfiguration | SystemConfiguration}
81
+ * if successful, `Failure` with an error message otherwise.
82
+ * @public
83
+ */
84
+ static loadFromFile(path: string, initParams?: ISystemConfigurationInitParams): Result<SystemConfiguration>;
72
85
  /**
73
86
  * Returns the {@link Config.Model.ISystemConfiguration | system configuration} that this
74
87
  * {@link Config.SystemConfiguration | SystemConfiguration} was created from.