@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.
- package/.vscode/4.json +3 -0
- package/.vscode/launch.json +16 -0
- package/.vscode/settings.json +3 -0
- package/config/api-extractor.json +343 -0
- package/config/rig.json +16 -0
- package/dist/ts-res.d.ts +180 -13
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/packlets/config/configInitFactory.d.ts +78 -0
- package/lib/packlets/config/configInitFactory.js +147 -0
- package/lib/packlets/config/index.d.ts +1 -0
- package/lib/packlets/config/index.js +1 -0
- package/lib/packlets/config/systemConfiguration.d.ts +16 -3
- package/lib/packlets/config/systemConfiguration.js +19 -40
- package/lib/packlets/qualifier-types/config/json.d.ts +13 -0
- package/lib/packlets/qualifier-types/config/json.js +11 -0
- package/lib/packlets/resource-types/resourceType.d.ts +59 -3
- package/lib/packlets/resource-types/resourceType.js +2 -2
- package/lib/packlets/resources/resource.d.ts +1 -5
- package/lib/packlets/resources/resource.js +2 -8
- package/lib/packlets/runtime/compiledResourceCollection.d.ts +2 -2
- package/lib/packlets/runtime/iResourceManager.d.ts +2 -2
- package/lib/test/data/sample.json +32 -0
- package/lib/test/unit/bundle/bundleBuilder.test.d.ts +2 -0
- package/lib/test/unit/bundle/bundleLoader.test.d.ts +2 -0
- package/lib/test/unit/bundle/bundleUtils.test.d.ts +2 -0
- package/lib/test/unit/bundle/convert.test.d.ts +2 -0
- package/lib/test/unit/bundle/integration.test.d.ts +2 -0
- package/lib/test/unit/bundle/model.test.d.ts +2 -0
- package/lib/test/unit/bundle/normalization.test.d.ts +2 -0
- package/lib/test/unit/common/conditions.test.d.ts +2 -0
- package/lib/test/unit/common/helpers/conditions.test.d.ts +2 -0
- package/lib/test/unit/common/helpers/contexts.test.d.ts +2 -0
- package/lib/test/unit/common/helpers/qualifierDefaultValues.test.d.ts +2 -0
- package/lib/test/unit/common/resources.test.d.ts +2 -0
- package/lib/test/unit/conditions/condition.test.d.ts +2 -0
- package/lib/test/unit/conditions/conditionCollector.test.d.ts +2 -0
- package/lib/test/unit/conditions/conditionScoreAsDefault.test.d.ts +2 -0
- package/lib/test/unit/conditions/conditionSet.test.d.ts +2 -0
- package/lib/test/unit/conditions/conditionSetCollector.test.d.ts +2 -0
- package/lib/test/unit/conditions/conditionToken.test.d.ts +2 -0
- package/lib/test/unit/conditions/convert.test.d.ts +2 -0
- package/lib/test/unit/config/common.test.d.ts +2 -0
- package/lib/test/unit/config/convert.test.d.ts +2 -0
- package/lib/test/unit/config/predefined/default.test.d.ts +2 -0
- package/lib/test/unit/config/predefined/extended.test.d.ts +2 -0
- package/lib/test/unit/config/systemConfiguration.test.d.ts +2 -0
- package/lib/test/unit/config/systemConfigurationInitParams.test.d.ts +2 -0
- package/lib/test/unit/context/contextToken.test.d.ts +2 -0
- package/lib/test/unit/context/convert.test.d.ts +2 -0
- package/lib/test/unit/decisions/abstractDecision.test.d.ts +2 -0
- package/lib/test/unit/decisions/abstractDecisionCollector.test.d.ts +2 -0
- package/lib/test/unit/decisions/candidate.test.d.ts +2 -0
- package/lib/test/unit/decisions/concreteDecision.test.d.ts +2 -0
- package/lib/test/unit/decisions/decision.test.d.ts +2 -0
- package/lib/test/unit/import/collectionImporter.test.d.ts +2 -0
- package/lib/test/unit/import/fsItem.test.d.ts +2 -0
- package/lib/test/unit/import/fsItemImporter.test.d.ts +2 -0
- package/lib/test/unit/import/importContext.test.d.ts +2 -0
- package/lib/test/unit/import/importManager.test.d.ts +2 -0
- package/lib/test/unit/import/jsonImporter.test.d.ts +2 -0
- package/lib/test/unit/import/pathImporter.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/convert.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/helpers.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/languageQualifierType.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/literalQualifierType.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/literalValueHierarchy.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/qualifierType.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/qualifierTypeCollector.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/territoryQualifierType.test.d.ts +2 -0
- package/lib/test/unit/qualifier-types/testQualifierType.d.ts +15 -0
- package/lib/test/unit/qualifier-types/testQualifierType.js +89 -0
- package/lib/test/unit/qualifiers/convert.test.d.ts +2 -0
- package/lib/test/unit/qualifiers/qualifierCollector.test.d.ts +2 -0
- package/lib/test/unit/qualifiers/qualifierDefaultValue.test.d.ts +2 -0
- package/lib/test/unit/qualifiers/qualifierDefaultValueToken.test.d.ts +2 -0
- package/lib/test/unit/resource-json/convert.test.d.ts +2 -0
- package/lib/test/unit/resource-json/nameInheritance.test.d.ts +2 -0
- package/lib/test/unit/resource-json/resourceDeclCollection.test.d.ts +2 -0
- package/lib/test/unit/resource-json/resourceDeclTree.test.d.ts +2 -0
- package/lib/test/unit/resource-types/jsonResourceType.test.d.ts +2 -0
- package/lib/test/unit/resource-types/resourceTypeCollector.test.d.ts +2 -0
- package/lib/test/unit/resources/candidateReducer.integration.test.d.ts +2 -0
- package/lib/test/unit/resources/candidateReducer.test.d.ts +2 -0
- package/lib/test/unit/resources/reduceCandidates.test.d.ts +2 -0
- package/lib/test/unit/resources/reduceQualifiers.comprehensive.test.d.ts +2 -0
- package/lib/test/unit/resources/reduceQualifiers.test.d.ts +2 -0
- package/lib/test/unit/resources/resource.test.d.ts +2 -0
- package/lib/test/unit/resources/resourceBuilder.test.d.ts +2 -0
- package/lib/test/unit/resources/resourceCandidate.test.d.ts +2 -0
- package/lib/test/unit/resources/resourceManagerBuilder.getBuiltResourceTree.test.d.ts +2 -0
- package/lib/test/unit/resources/resourceManagerBuilder.test.d.ts +2 -0
- package/lib/test/unit/runtime/cacheListener.test.d.ts +2 -0
- package/lib/test/unit/runtime/cacheMetrics.test.d.ts +2 -0
- package/lib/test/unit/runtime/compiledResourceCollection.test.d.ts +2 -0
- package/lib/test/unit/runtime/conditionSetResolutionResult.comprehensive.test.d.ts +2 -0
- package/lib/test/unit/runtime/conditionSetResolutionResult.test.d.ts +2 -0
- package/lib/test/unit/runtime/context/contextQualifierProvider.test.d.ts +2 -0
- package/lib/test/unit/runtime/context/contextQualifierProviderValidator.test.d.ts +2 -0
- package/lib/test/unit/runtime/context/simpleContextQualifierProvider.test.d.ts +2 -0
- package/lib/test/unit/runtime/context/validatingSimpleContextQualifierProvider.test.d.ts +2 -0
- package/lib/test/unit/runtime/resource-tree/readOnlyResourceTree.test.d.ts +2 -0
- package/lib/test/unit/runtime/resource-tree/resourceTreeChildren.test.d.ts +2 -0
- package/lib/test/unit/runtime/resource-tree/resourceTreeChildrenValidator.test.d.ts +2 -0
- package/lib/test/unit/runtime/resourceResolver.defaultResolution.test.d.ts +2 -0
- package/lib/test/unit/runtime/resourceResolver.test.d.ts +2 -0
- package/lib/test/unit/runtime/validate.test.d.ts +2 -0
- package/package.json +18 -25
- package/src/index.ts +73 -0
- package/src/packlets/bundle/bundleBuilder.ts +159 -0
- package/src/packlets/bundle/bundleLoader.ts +157 -0
- package/src/packlets/bundle/bundleNormalizer.ts +173 -0
- package/src/packlets/bundle/bundleUtils.ts +142 -0
- package/src/packlets/bundle/convert.ts +87 -0
- package/src/packlets/bundle/index.ts +52 -0
- package/src/packlets/bundle/model.ts +138 -0
- package/src/packlets/common/conditions.ts +226 -0
- package/src/packlets/common/convert.ts +184 -0
- package/src/packlets/common/helpers/conditions.ts +84 -0
- package/src/packlets/common/helpers/context.ts +88 -0
- package/src/packlets/common/helpers/index.ts +26 -0
- package/src/packlets/common/helpers/qualifierDefaultValues.ts +91 -0
- package/src/packlets/common/helpers/resources.ts +96 -0
- package/src/packlets/common/index.ts +30 -0
- package/src/packlets/common/resources.ts +78 -0
- package/src/packlets/common/validate/conditions.ts +595 -0
- package/src/packlets/common/validate/index.ts +27 -0
- package/src/packlets/common/validate/regularExpressions.ts +92 -0
- package/src/packlets/common/validate/resources.ts +170 -0
- package/src/packlets/conditions/condition.ts +351 -0
- package/src/packlets/conditions/conditionCollector.ts +103 -0
- package/src/packlets/conditions/conditionDecls.ts +50 -0
- package/src/packlets/conditions/conditionSet.ts +318 -0
- package/src/packlets/conditions/conditionSetCollector.ts +127 -0
- package/src/packlets/conditions/conditionSetDecls.ts +41 -0
- package/src/packlets/conditions/conditionToken.ts +180 -0
- package/src/packlets/conditions/convert/conditionSetDecls.ts +72 -0
- package/src/packlets/conditions/convert/decls.ts +95 -0
- package/src/packlets/conditions/convert/index.ts +24 -0
- package/src/packlets/conditions/index.ts +33 -0
- package/src/packlets/config/common.ts +107 -0
- package/src/packlets/config/configInitFactory.ts +142 -0
- package/src/packlets/config/convert.ts +50 -0
- package/src/packlets/config/index.ts +30 -0
- package/src/packlets/config/json.ts +43 -0
- package/src/packlets/config/predefined/default.ts +150 -0
- package/src/packlets/config/predefined/extended.ts +198 -0
- package/src/packlets/config/predefined/index.ts +26 -0
- package/src/packlets/config/systemConfiguration.ts +217 -0
- package/src/packlets/context/contextDecls.ts +76 -0
- package/src/packlets/context/contextToken.ts +252 -0
- package/src/packlets/context/convert/decls.ts +126 -0
- package/src/packlets/context/convert/index.ts +23 -0
- package/src/packlets/context/index.ts +27 -0
- package/src/packlets/decisions/abstractDecision.ts +87 -0
- package/src/packlets/decisions/abstractDecisionCollector.ts +122 -0
- package/src/packlets/decisions/candidate.ts +101 -0
- package/src/packlets/decisions/common.ts +37 -0
- package/src/packlets/decisions/concreteDecision.ts +157 -0
- package/src/packlets/decisions/decision.ts +172 -0
- package/src/packlets/decisions/index.ts +28 -0
- package/src/packlets/import/fsItem.ts +212 -0
- package/src/packlets/import/importContext.ts +183 -0
- package/src/packlets/import/importManager.ts +187 -0
- package/src/packlets/import/importable.ts +107 -0
- package/src/packlets/import/importers/collectionImporter.ts +153 -0
- package/src/packlets/import/importers/fsItemImporter.ts +154 -0
- package/src/packlets/import/importers/importer.ts +58 -0
- package/src/packlets/import/importers/index.ts +27 -0
- package/src/packlets/import/importers/jsonImporter.ts +133 -0
- package/src/packlets/import/importers/pathImporter.ts +134 -0
- package/src/packlets/import/index.ts +29 -0
- package/src/packlets/qualifier-types/config/convert.ts +108 -0
- package/src/packlets/qualifier-types/config/index.ts +27 -0
- package/src/packlets/qualifier-types/config/json.ts +126 -0
- package/src/packlets/qualifier-types/convert.ts +77 -0
- package/src/packlets/qualifier-types/helpers.ts +94 -0
- package/src/packlets/qualifier-types/index.ts +34 -0
- package/src/packlets/qualifier-types/languageQualifierType.ts +143 -0
- package/src/packlets/qualifier-types/literalQualifierType.ts +244 -0
- package/src/packlets/qualifier-types/literalValueHierarchy.ts +332 -0
- package/src/packlets/qualifier-types/qualifierType.ts +360 -0
- package/src/packlets/qualifier-types/qualifierTypeCollector.ts +102 -0
- package/src/packlets/qualifier-types/territoryQualifierType.ts +255 -0
- package/src/packlets/qualifiers/convert/decls.ts +90 -0
- package/src/packlets/qualifiers/convert/index.ts +24 -0
- package/src/packlets/qualifiers/convert/qualifier.ts +55 -0
- package/src/packlets/qualifiers/index.ts +31 -0
- package/src/packlets/qualifiers/qualifier.ts +169 -0
- package/src/packlets/qualifiers/qualifierCollector.ts +194 -0
- package/src/packlets/qualifiers/qualifierDecl.ts +80 -0
- package/src/packlets/qualifiers/qualifierDefaultValueDecls.ts +57 -0
- package/src/packlets/qualifiers/qualifierDefaultValueToken.ts +230 -0
- package/src/packlets/resource-json/compiled/common.ts +35 -0
- package/src/packlets/resource-json/compiled/convert.ts +143 -0
- package/src/packlets/resource-json/compiled/index.ts +27 -0
- package/src/packlets/resource-json/compiled/json.ts +239 -0
- package/src/packlets/resource-json/convert.ts +236 -0
- package/src/packlets/resource-json/helpers.ts +284 -0
- package/src/packlets/resource-json/index.ts +33 -0
- package/src/packlets/resource-json/json.ts +295 -0
- package/src/packlets/resource-json/normalized.ts +211 -0
- package/src/packlets/resource-json/resourceDeclCollection.ts +117 -0
- package/src/packlets/resource-json/resourceDeclContainer.ts +48 -0
- package/src/packlets/resource-json/resourceDeclTree.ts +116 -0
- package/src/packlets/resource-types/config/convert.ts +36 -0
- package/src/packlets/resource-types/config/index.ts +27 -0
- package/src/packlets/resource-types/config/json.ts +30 -0
- package/src/packlets/resource-types/helpers.ts +44 -0
- package/src/packlets/resource-types/index.ts +30 -0
- package/src/packlets/resource-types/jsonResourceType.ts +96 -0
- package/src/packlets/resource-types/resourceType.ts +215 -0
- package/src/packlets/resource-types/resourceTypeCollector.ts +79 -0
- package/src/packlets/resources/candidateReducer.ts +331 -0
- package/src/packlets/resources/common.ts +98 -0
- package/src/packlets/resources/index.ts +28 -0
- package/src/packlets/resources/resource.ts +307 -0
- package/src/packlets/resources/resourceBuilder.ts +269 -0
- package/src/packlets/resources/resourceCandidate.ts +333 -0
- package/src/packlets/resources/resourceManagerBuilder.ts +1116 -0
- package/src/packlets/runtime/cacheListener.ts +113 -0
- package/src/packlets/runtime/cacheMetrics.ts +206 -0
- package/src/packlets/runtime/compiledResourceCollection.ts +607 -0
- package/src/packlets/runtime/conditionSetResolutionResult.ts +160 -0
- package/src/packlets/runtime/context/contextQualifierProvider.ts +117 -0
- package/src/packlets/runtime/context/contextQualifierProviderValidator.ts +281 -0
- package/src/packlets/runtime/context/index.ts +26 -0
- package/src/packlets/runtime/context/simpleContextQualifierProvider.ts +225 -0
- package/src/packlets/runtime/context/validatingSimpleContextQualifierProvider.ts +96 -0
- package/src/packlets/runtime/iResourceManager.ts +130 -0
- package/src/packlets/runtime/index.ts +35 -0
- package/src/packlets/runtime/resource-tree/common.ts +126 -0
- package/src/packlets/runtime/resource-tree/index.ts +26 -0
- package/src/packlets/runtime/resource-tree/readOnlyResourceTree.ts +342 -0
- package/src/packlets/runtime/resource-tree/resourceTreeChildren.ts +125 -0
- package/src/packlets/runtime/resource-tree/resourceTreeChildrenValidator.ts +189 -0
- package/src/packlets/runtime/resourceResolver.ts +626 -0
- package/src/packlets/runtime/validate.ts +63 -0
- package/CHANGELOG.md +0 -14
- package/CLAUDE.md +0 -186
- package/EXAMPLE_INIT_PARAMS.md +0 -88
- package/PROGRESS_SUMMARY.md +0 -48
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/packlets/bundle/bundleBuilder.d.ts.map +0 -1
- package/lib/packlets/bundle/bundleBuilder.js.map +0 -1
- package/lib/packlets/bundle/bundleLoader.d.ts.map +0 -1
- package/lib/packlets/bundle/bundleLoader.js.map +0 -1
- package/lib/packlets/bundle/bundleNormalizer.d.ts.map +0 -1
- package/lib/packlets/bundle/bundleNormalizer.js.map +0 -1
- package/lib/packlets/bundle/bundleUtils.d.ts.map +0 -1
- package/lib/packlets/bundle/bundleUtils.js.map +0 -1
- package/lib/packlets/bundle/convert.d.ts.map +0 -1
- package/lib/packlets/bundle/convert.js.map +0 -1
- package/lib/packlets/bundle/index.d.ts.map +0 -1
- package/lib/packlets/bundle/index.js.map +0 -1
- package/lib/packlets/bundle/model.d.ts.map +0 -1
- package/lib/packlets/bundle/model.js.map +0 -1
- package/lib/packlets/common/conditions.d.ts.map +0 -1
- package/lib/packlets/common/conditions.js.map +0 -1
- package/lib/packlets/common/convert.d.ts.map +0 -1
- package/lib/packlets/common/convert.js.map +0 -1
- package/lib/packlets/common/helpers/conditions.d.ts.map +0 -1
- package/lib/packlets/common/helpers/conditions.js.map +0 -1
- package/lib/packlets/common/helpers/context.d.ts.map +0 -1
- package/lib/packlets/common/helpers/context.js.map +0 -1
- package/lib/packlets/common/helpers/index.d.ts.map +0 -1
- package/lib/packlets/common/helpers/index.js.map +0 -1
- package/lib/packlets/common/helpers/qualifierDefaultValues.d.ts.map +0 -1
- package/lib/packlets/common/helpers/qualifierDefaultValues.js.map +0 -1
- package/lib/packlets/common/helpers/resources.d.ts.map +0 -1
- package/lib/packlets/common/helpers/resources.js.map +0 -1
- package/lib/packlets/common/index.d.ts.map +0 -1
- package/lib/packlets/common/index.js.map +0 -1
- package/lib/packlets/common/resources.d.ts.map +0 -1
- package/lib/packlets/common/resources.js.map +0 -1
- package/lib/packlets/common/validate/conditions.d.ts.map +0 -1
- package/lib/packlets/common/validate/conditions.js.map +0 -1
- package/lib/packlets/common/validate/index.d.ts.map +0 -1
- package/lib/packlets/common/validate/index.js.map +0 -1
- package/lib/packlets/common/validate/regularExpressions.d.ts.map +0 -1
- package/lib/packlets/common/validate/regularExpressions.js.map +0 -1
- package/lib/packlets/common/validate/resources.d.ts.map +0 -1
- package/lib/packlets/common/validate/resources.js.map +0 -1
- package/lib/packlets/conditions/condition.d.ts.map +0 -1
- package/lib/packlets/conditions/condition.js.map +0 -1
- package/lib/packlets/conditions/conditionCollector.d.ts.map +0 -1
- package/lib/packlets/conditions/conditionCollector.js.map +0 -1
- package/lib/packlets/conditions/conditionDecls.d.ts.map +0 -1
- package/lib/packlets/conditions/conditionDecls.js.map +0 -1
- package/lib/packlets/conditions/conditionSet.d.ts.map +0 -1
- package/lib/packlets/conditions/conditionSet.js.map +0 -1
- package/lib/packlets/conditions/conditionSetCollector.d.ts.map +0 -1
- package/lib/packlets/conditions/conditionSetCollector.js.map +0 -1
- package/lib/packlets/conditions/conditionSetDecls.d.ts.map +0 -1
- package/lib/packlets/conditions/conditionSetDecls.js.map +0 -1
- package/lib/packlets/conditions/conditionToken.d.ts.map +0 -1
- package/lib/packlets/conditions/conditionToken.js.map +0 -1
- package/lib/packlets/conditions/convert/conditionSetDecls.d.ts.map +0 -1
- package/lib/packlets/conditions/convert/conditionSetDecls.js.map +0 -1
- package/lib/packlets/conditions/convert/decls.d.ts.map +0 -1
- package/lib/packlets/conditions/convert/decls.js.map +0 -1
- package/lib/packlets/conditions/convert/index.d.ts.map +0 -1
- package/lib/packlets/conditions/convert/index.js.map +0 -1
- package/lib/packlets/conditions/index.d.ts.map +0 -1
- package/lib/packlets/conditions/index.js.map +0 -1
- package/lib/packlets/config/common.d.ts.map +0 -1
- package/lib/packlets/config/common.js.map +0 -1
- package/lib/packlets/config/convert.d.ts.map +0 -1
- package/lib/packlets/config/convert.js.map +0 -1
- package/lib/packlets/config/index.d.ts.map +0 -1
- package/lib/packlets/config/index.js.map +0 -1
- package/lib/packlets/config/json.d.ts.map +0 -1
- package/lib/packlets/config/json.js.map +0 -1
- package/lib/packlets/config/predefined/default.d.ts.map +0 -1
- package/lib/packlets/config/predefined/default.js.map +0 -1
- package/lib/packlets/config/predefined/extended.d.ts.map +0 -1
- package/lib/packlets/config/predefined/extended.js.map +0 -1
- package/lib/packlets/config/predefined/index.d.ts.map +0 -1
- package/lib/packlets/config/predefined/index.js.map +0 -1
- package/lib/packlets/config/systemConfiguration.d.ts.map +0 -1
- package/lib/packlets/config/systemConfiguration.js.map +0 -1
- package/lib/packlets/context/contextDecls.d.ts.map +0 -1
- package/lib/packlets/context/contextDecls.js.map +0 -1
- package/lib/packlets/context/contextToken.d.ts.map +0 -1
- package/lib/packlets/context/contextToken.js.map +0 -1
- package/lib/packlets/context/convert/decls.d.ts.map +0 -1
- package/lib/packlets/context/convert/decls.js.map +0 -1
- package/lib/packlets/context/convert/index.d.ts.map +0 -1
- package/lib/packlets/context/convert/index.js.map +0 -1
- package/lib/packlets/context/index.d.ts.map +0 -1
- package/lib/packlets/context/index.js.map +0 -1
- package/lib/packlets/decisions/abstractDecision.d.ts.map +0 -1
- package/lib/packlets/decisions/abstractDecision.js.map +0 -1
- package/lib/packlets/decisions/abstractDecisionCollector.d.ts.map +0 -1
- package/lib/packlets/decisions/abstractDecisionCollector.js.map +0 -1
- package/lib/packlets/decisions/candidate.d.ts.map +0 -1
- package/lib/packlets/decisions/candidate.js.map +0 -1
- package/lib/packlets/decisions/common.d.ts.map +0 -1
- package/lib/packlets/decisions/common.js.map +0 -1
- package/lib/packlets/decisions/concreteDecision.d.ts.map +0 -1
- package/lib/packlets/decisions/concreteDecision.js.map +0 -1
- package/lib/packlets/decisions/decision.d.ts.map +0 -1
- package/lib/packlets/decisions/decision.js.map +0 -1
- package/lib/packlets/decisions/index.d.ts.map +0 -1
- package/lib/packlets/decisions/index.js.map +0 -1
- package/lib/packlets/import/fsItem.d.ts.map +0 -1
- package/lib/packlets/import/fsItem.js.map +0 -1
- package/lib/packlets/import/importContext.d.ts.map +0 -1
- package/lib/packlets/import/importContext.js.map +0 -1
- package/lib/packlets/import/importManager.d.ts.map +0 -1
- package/lib/packlets/import/importManager.js.map +0 -1
- package/lib/packlets/import/importable.d.ts.map +0 -1
- package/lib/packlets/import/importable.js.map +0 -1
- package/lib/packlets/import/importers/collectionImporter.d.ts.map +0 -1
- package/lib/packlets/import/importers/collectionImporter.js.map +0 -1
- package/lib/packlets/import/importers/fsItemImporter.d.ts.map +0 -1
- package/lib/packlets/import/importers/fsItemImporter.js.map +0 -1
- package/lib/packlets/import/importers/importer.d.ts.map +0 -1
- package/lib/packlets/import/importers/importer.js.map +0 -1
- package/lib/packlets/import/importers/index.d.ts.map +0 -1
- package/lib/packlets/import/importers/index.js.map +0 -1
- package/lib/packlets/import/importers/jsonImporter.d.ts.map +0 -1
- package/lib/packlets/import/importers/jsonImporter.js.map +0 -1
- package/lib/packlets/import/importers/pathImporter.d.ts.map +0 -1
- package/lib/packlets/import/importers/pathImporter.js.map +0 -1
- package/lib/packlets/import/index.d.ts.map +0 -1
- package/lib/packlets/import/index.js.map +0 -1
- package/lib/packlets/qualifier-types/config/convert.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/config/convert.js.map +0 -1
- package/lib/packlets/qualifier-types/config/index.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/config/index.js.map +0 -1
- package/lib/packlets/qualifier-types/config/json.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/config/json.js.map +0 -1
- package/lib/packlets/qualifier-types/convert.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/convert.js.map +0 -1
- package/lib/packlets/qualifier-types/helpers.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/helpers.js.map +0 -1
- package/lib/packlets/qualifier-types/index.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/index.js.map +0 -1
- package/lib/packlets/qualifier-types/languageQualifierType.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/languageQualifierType.js.map +0 -1
- package/lib/packlets/qualifier-types/literalQualifierType.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/literalQualifierType.js.map +0 -1
- package/lib/packlets/qualifier-types/literalValueHierarchy.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/literalValueHierarchy.js.map +0 -1
- package/lib/packlets/qualifier-types/qualifierType.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/qualifierType.js.map +0 -1
- package/lib/packlets/qualifier-types/qualifierTypeCollector.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/qualifierTypeCollector.js.map +0 -1
- package/lib/packlets/qualifier-types/territoryQualifierType.d.ts.map +0 -1
- package/lib/packlets/qualifier-types/territoryQualifierType.js.map +0 -1
- package/lib/packlets/qualifiers/convert/decls.d.ts.map +0 -1
- package/lib/packlets/qualifiers/convert/decls.js.map +0 -1
- package/lib/packlets/qualifiers/convert/index.d.ts.map +0 -1
- package/lib/packlets/qualifiers/convert/index.js.map +0 -1
- package/lib/packlets/qualifiers/convert/qualifier.d.ts.map +0 -1
- package/lib/packlets/qualifiers/convert/qualifier.js.map +0 -1
- package/lib/packlets/qualifiers/index.d.ts.map +0 -1
- package/lib/packlets/qualifiers/index.js.map +0 -1
- package/lib/packlets/qualifiers/qualifier.d.ts.map +0 -1
- package/lib/packlets/qualifiers/qualifier.js.map +0 -1
- package/lib/packlets/qualifiers/qualifierCollector.d.ts.map +0 -1
- package/lib/packlets/qualifiers/qualifierCollector.js.map +0 -1
- package/lib/packlets/qualifiers/qualifierDecl.d.ts.map +0 -1
- package/lib/packlets/qualifiers/qualifierDecl.js.map +0 -1
- package/lib/packlets/qualifiers/qualifierDefaultValueDecls.d.ts.map +0 -1
- package/lib/packlets/qualifiers/qualifierDefaultValueDecls.js.map +0 -1
- package/lib/packlets/qualifiers/qualifierDefaultValueToken.d.ts.map +0 -1
- package/lib/packlets/qualifiers/qualifierDefaultValueToken.js.map +0 -1
- package/lib/packlets/resource-json/compiled/common.d.ts.map +0 -1
- package/lib/packlets/resource-json/compiled/common.js.map +0 -1
- package/lib/packlets/resource-json/compiled/convert.d.ts.map +0 -1
- package/lib/packlets/resource-json/compiled/convert.js.map +0 -1
- package/lib/packlets/resource-json/compiled/index.d.ts.map +0 -1
- package/lib/packlets/resource-json/compiled/index.js.map +0 -1
- package/lib/packlets/resource-json/compiled/json.d.ts.map +0 -1
- package/lib/packlets/resource-json/compiled/json.js.map +0 -1
- package/lib/packlets/resource-json/convert.d.ts.map +0 -1
- package/lib/packlets/resource-json/convert.js.map +0 -1
- package/lib/packlets/resource-json/helpers.d.ts.map +0 -1
- package/lib/packlets/resource-json/helpers.js.map +0 -1
- package/lib/packlets/resource-json/index.d.ts.map +0 -1
- package/lib/packlets/resource-json/index.js.map +0 -1
- package/lib/packlets/resource-json/json.d.ts.map +0 -1
- package/lib/packlets/resource-json/json.js.map +0 -1
- package/lib/packlets/resource-json/normalized.d.ts.map +0 -1
- package/lib/packlets/resource-json/normalized.js.map +0 -1
- package/lib/packlets/resource-json/resourceDeclCollection.d.ts.map +0 -1
- package/lib/packlets/resource-json/resourceDeclCollection.js.map +0 -1
- package/lib/packlets/resource-json/resourceDeclContainer.d.ts.map +0 -1
- package/lib/packlets/resource-json/resourceDeclContainer.js.map +0 -1
- package/lib/packlets/resource-json/resourceDeclTree.d.ts.map +0 -1
- package/lib/packlets/resource-json/resourceDeclTree.js.map +0 -1
- package/lib/packlets/resource-types/config/convert.d.ts.map +0 -1
- package/lib/packlets/resource-types/config/convert.js.map +0 -1
- package/lib/packlets/resource-types/config/index.d.ts.map +0 -1
- package/lib/packlets/resource-types/config/index.js.map +0 -1
- package/lib/packlets/resource-types/config/json.d.ts.map +0 -1
- package/lib/packlets/resource-types/config/json.js.map +0 -1
- package/lib/packlets/resource-types/helpers.d.ts.map +0 -1
- package/lib/packlets/resource-types/helpers.js.map +0 -1
- package/lib/packlets/resource-types/index.d.ts.map +0 -1
- package/lib/packlets/resource-types/index.js.map +0 -1
- package/lib/packlets/resource-types/jsonResourceType.d.ts.map +0 -1
- package/lib/packlets/resource-types/jsonResourceType.js.map +0 -1
- package/lib/packlets/resource-types/resourceType.d.ts.map +0 -1
- package/lib/packlets/resource-types/resourceType.js.map +0 -1
- package/lib/packlets/resource-types/resourceTypeCollector.d.ts.map +0 -1
- package/lib/packlets/resource-types/resourceTypeCollector.js.map +0 -1
- package/lib/packlets/resources/candidateReducer.d.ts.map +0 -1
- package/lib/packlets/resources/candidateReducer.js.map +0 -1
- package/lib/packlets/resources/common.d.ts.map +0 -1
- package/lib/packlets/resources/common.js.map +0 -1
- package/lib/packlets/resources/index.d.ts.map +0 -1
- package/lib/packlets/resources/index.js.map +0 -1
- package/lib/packlets/resources/resource.d.ts.map +0 -1
- package/lib/packlets/resources/resource.js.map +0 -1
- package/lib/packlets/resources/resourceBuilder.d.ts.map +0 -1
- package/lib/packlets/resources/resourceBuilder.js.map +0 -1
- package/lib/packlets/resources/resourceCandidate.d.ts.map +0 -1
- package/lib/packlets/resources/resourceCandidate.js.map +0 -1
- package/lib/packlets/resources/resourceManagerBuilder.d.ts.map +0 -1
- package/lib/packlets/resources/resourceManagerBuilder.js.map +0 -1
- package/lib/packlets/runtime/cacheListener.d.ts.map +0 -1
- package/lib/packlets/runtime/cacheListener.js.map +0 -1
- package/lib/packlets/runtime/cacheMetrics.d.ts.map +0 -1
- package/lib/packlets/runtime/cacheMetrics.js.map +0 -1
- package/lib/packlets/runtime/compiledResourceCollection.d.ts.map +0 -1
- package/lib/packlets/runtime/compiledResourceCollection.js.map +0 -1
- package/lib/packlets/runtime/conditionSetResolutionResult.d.ts.map +0 -1
- package/lib/packlets/runtime/conditionSetResolutionResult.js.map +0 -1
- package/lib/packlets/runtime/context/contextQualifierProvider.d.ts.map +0 -1
- package/lib/packlets/runtime/context/contextQualifierProvider.js.map +0 -1
- package/lib/packlets/runtime/context/contextQualifierProviderValidator.d.ts.map +0 -1
- package/lib/packlets/runtime/context/contextQualifierProviderValidator.js.map +0 -1
- package/lib/packlets/runtime/context/index.d.ts.map +0 -1
- package/lib/packlets/runtime/context/index.js.map +0 -1
- package/lib/packlets/runtime/context/simpleContextQualifierProvider.d.ts.map +0 -1
- package/lib/packlets/runtime/context/simpleContextQualifierProvider.js.map +0 -1
- package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.d.ts.map +0 -1
- package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.js.map +0 -1
- package/lib/packlets/runtime/iResourceManager.d.ts.map +0 -1
- package/lib/packlets/runtime/iResourceManager.js.map +0 -1
- package/lib/packlets/runtime/index.d.ts.map +0 -1
- package/lib/packlets/runtime/index.js.map +0 -1
- package/lib/packlets/runtime/resource-tree/common.d.ts.map +0 -1
- package/lib/packlets/runtime/resource-tree/common.js.map +0 -1
- package/lib/packlets/runtime/resource-tree/index.d.ts.map +0 -1
- package/lib/packlets/runtime/resource-tree/index.js.map +0 -1
- package/lib/packlets/runtime/resource-tree/readOnlyResourceTree.d.ts.map +0 -1
- package/lib/packlets/runtime/resource-tree/readOnlyResourceTree.js.map +0 -1
- package/lib/packlets/runtime/resource-tree/resourceTreeChildren.d.ts.map +0 -1
- package/lib/packlets/runtime/resource-tree/resourceTreeChildren.js.map +0 -1
- package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.d.ts.map +0 -1
- package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.js.map +0 -1
- package/lib/packlets/runtime/resourceResolver.d.ts.map +0 -1
- package/lib/packlets/runtime/resourceResolver.js.map +0 -1
- package/lib/packlets/runtime/validate.d.ts.map +0 -1
- 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<
|
|
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:
|
|
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
|
|
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
|
|
8217
|
+
export declare abstract class ResourceType<T = unknown> implements IResourceType<T> {
|
|
8074
8218
|
private _collectible;
|
|
8075
8219
|
/**
|
|
8076
|
-
*
|
|
8220
|
+
* {@inheritdoc ResourceTypes.IResourceType.key}
|
|
8077
8221
|
*/
|
|
8078
8222
|
get key(): ResourceTypeName;
|
|
8079
8223
|
/**
|
|
8080
|
-
*
|
|
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.
|
package/dist/tsdoc-metadata.json
CHANGED
|
@@ -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
|
|
@@ -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
|
|
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.
|