@fgv/ts-res 5.0.0-8 → 5.0.1-0
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/CHANGELOG.json +21 -0
- package/CHANGELOG.md +14 -1
- package/README.md +794 -137
- package/dist/ts-res.d.ts +2533 -334
- package/dist/tsdoc-metadata.json +1 -1
- package/eslint.config.js +16 -0
- package/lib/index.d.ts +4 -1
- package/lib/index.js +8 -1
- package/lib/packlets/bundle/bundleBuilder.d.ts +41 -0
- package/lib/packlets/bundle/bundleBuilder.js +134 -0
- package/lib/packlets/bundle/bundleLoader.d.ts +72 -0
- package/lib/packlets/bundle/bundleLoader.js +105 -0
- package/lib/packlets/bundle/bundleNormalizer.d.ts +73 -0
- package/lib/packlets/bundle/bundleNormalizer.js +142 -0
- package/lib/packlets/bundle/bundleUtils.d.ts +70 -0
- package/lib/packlets/bundle/bundleUtils.js +117 -0
- package/lib/packlets/bundle/convert.d.ts +33 -0
- package/lib/packlets/bundle/convert.js +78 -0
- package/lib/packlets/bundle/index.d.ts +21 -0
- package/lib/packlets/bundle/index.js +83 -0
- package/lib/packlets/bundle/model.d.ts +100 -0
- package/lib/packlets/bundle/model.js +24 -0
- package/lib/packlets/common/convert.d.ts +15 -0
- package/lib/packlets/common/convert.js +16 -1
- package/lib/packlets/common/helpers/context.js +1 -0
- package/lib/packlets/common/helpers/resources.d.ts +7 -0
- package/lib/packlets/common/helpers/resources.js +13 -0
- package/lib/packlets/common/resources.d.ts +40 -1
- package/lib/packlets/common/validate/conditions.d.ts +17 -1
- package/lib/packlets/common/validate/conditions.js +32 -6
- package/lib/packlets/common/validate/regularExpressions.d.ts +4 -0
- package/lib/packlets/common/validate/regularExpressions.js +5 -1
- package/lib/packlets/common/validate/resources.d.ts +35 -1
- package/lib/packlets/common/validate/resources.js +55 -0
- package/lib/packlets/conditions/condition.js +1 -0
- package/lib/packlets/conditions/conditionSet.d.ts +9 -0
- package/lib/packlets/conditions/conditionSet.js +75 -1
- package/lib/packlets/config/configInitFactory.d.ts +217 -0
- package/lib/packlets/config/configInitFactory.js +302 -0
- package/lib/packlets/config/convert.d.ts +9 -0
- package/lib/packlets/config/convert.js +12 -1
- package/lib/packlets/config/index.d.ts +1 -0
- package/lib/packlets/config/index.js +1 -0
- package/lib/packlets/config/json.d.ts +1 -1
- package/lib/packlets/config/systemConfiguration.d.ts +16 -3
- package/lib/packlets/config/systemConfiguration.js +19 -40
- package/lib/packlets/import/fsItem.d.ts +2 -1
- package/lib/packlets/import/fsItem.js +9 -13
- package/lib/packlets/import/importManager.d.ts +2 -1
- package/lib/packlets/import/importers/jsonImporter.js +1 -0
- package/lib/packlets/import/importers/pathImporter.d.ts +2 -1
- package/lib/packlets/import/importers/pathImporter.js +2 -1
- package/lib/packlets/qualifier-types/config/convert.d.ts +22 -1
- package/lib/packlets/qualifier-types/config/convert.js +67 -2
- package/lib/packlets/qualifier-types/config/json.d.ts +24 -2
- package/lib/packlets/qualifier-types/config/json.js +11 -0
- package/lib/packlets/qualifier-types/convert.d.ts +1 -1
- package/lib/packlets/qualifier-types/helpers.d.ts +14 -5
- package/lib/packlets/qualifier-types/helpers.js +2 -2
- package/lib/packlets/qualifier-types/languageQualifierType.d.ts +28 -2
- package/lib/packlets/qualifier-types/languageQualifierType.js +73 -0
- package/lib/packlets/qualifier-types/literalQualifierType.d.ts +31 -5
- package/lib/packlets/qualifier-types/literalQualifierType.js +75 -0
- package/lib/packlets/qualifier-types/literalValueHierarchy.d.ts +7 -11
- package/lib/packlets/qualifier-types/literalValueHierarchy.js +12 -1
- package/lib/packlets/qualifier-types/qualifierType.d.ts +31 -2
- package/lib/packlets/qualifier-types/territoryQualifierType.d.ts +31 -5
- package/lib/packlets/qualifier-types/territoryQualifierType.js +80 -0
- package/lib/packlets/qualifiers/qualifierCollector.js +1 -2
- package/lib/packlets/resource-json/compiled/convert.js +2 -1
- package/lib/packlets/resource-json/compiled/json.d.ts +6 -2
- package/lib/packlets/resource-types/config/convert.d.ts +1 -1
- package/lib/packlets/resource-types/config/convert.js +3 -1
- package/lib/packlets/resource-types/config/json.d.ts +3 -1
- package/lib/packlets/resource-types/jsonResourceType.d.ts +10 -1
- package/lib/packlets/resource-types/jsonResourceType.js +7 -3
- package/lib/packlets/resource-types/resourceType.d.ts +100 -8
- package/lib/packlets/resource-types/resourceType.js +39 -3
- package/lib/packlets/resources/candidateReducer.js +3 -0
- package/lib/packlets/resources/candidateValue.d.ts +92 -0
- package/lib/packlets/resources/candidateValue.js +128 -0
- package/lib/packlets/resources/candidateValueCollector.d.ts +55 -0
- package/lib/packlets/resources/candidateValueCollector.js +96 -0
- package/lib/packlets/resources/common.d.ts +14 -0
- package/lib/packlets/resources/index.d.ts +2 -0
- package/lib/packlets/resources/index.js +2 -0
- package/lib/packlets/resources/resource.d.ts +6 -6
- package/lib/packlets/resources/resource.js +5 -10
- package/lib/packlets/resources/resourceBuilder.d.ts +6 -0
- package/lib/packlets/resources/resourceBuilder.js +4 -1
- package/lib/packlets/resources/resourceCandidate.d.ts +15 -2
- package/lib/packlets/resources/resourceCandidate.js +17 -5
- package/lib/packlets/resources/resourceManagerBuilder.d.ts +142 -11
- package/lib/packlets/resources/resourceManagerBuilder.js +314 -45
- package/lib/packlets/runtime/compiledResourceCollection.d.ts +23 -11
- package/lib/packlets/runtime/compiledResourceCollection.js +65 -28
- package/lib/packlets/runtime/conditionSetResolutionResult.js +3 -0
- package/lib/packlets/runtime/context/contextQualifierProvider.d.ts +53 -3
- package/lib/packlets/runtime/context/contextQualifierProviderValidator.d.ts +82 -37
- package/lib/packlets/runtime/context/contextQualifierProviderValidator.js +49 -77
- package/lib/packlets/runtime/context/simpleContextQualifierProvider.d.ts +23 -2
- package/lib/packlets/runtime/context/simpleContextQualifierProvider.js +53 -31
- package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.d.ts +4 -4
- package/lib/packlets/runtime/context/validatingSimpleContextQualifierProvider.js +2 -2
- package/lib/packlets/runtime/iResourceManager.d.ts +13 -5
- package/lib/packlets/runtime/index.d.ts +1 -0
- package/lib/packlets/runtime/index.js +1 -0
- package/lib/packlets/runtime/resource-tree/common.d.ts +1 -1
- package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.d.ts +7 -7
- package/lib/packlets/runtime/resource-tree/resourceTreeChildrenValidator.js +5 -5
- package/lib/packlets/runtime/resourceResolver.d.ts +39 -1
- package/lib/packlets/runtime/resourceResolver.js +50 -28
- package/lib/packlets/runtime/resourceTreeResolver.d.ts +152 -0
- package/lib/packlets/runtime/resourceTreeResolver.js +222 -0
- package/lib/packlets/runtime/validate.js +1 -0
- package/lib/packlets/zip-archive/convert.d.ts +52 -0
- package/lib/packlets/zip-archive/convert.js +103 -0
- package/lib/packlets/zip-archive/index.d.ts +23 -0
- package/lib/packlets/zip-archive/index.js +95 -0
- package/lib/packlets/zip-archive/json.d.ts +64 -0
- package/lib/packlets/zip-archive/json.js +24 -0
- package/lib/packlets/zip-archive/types.d.ts +98 -0
- package/lib/packlets/zip-archive/types.js +39 -0
- package/lib/packlets/zip-archive/zipArchiveCreator.d.ts +35 -0
- package/lib/packlets/zip-archive/zipArchiveCreator.js +195 -0
- package/lib/packlets/zip-archive/zipArchiveFormat.d.ts +70 -0
- package/lib/packlets/zip-archive/zipArchiveFormat.js +184 -0
- package/lib/packlets/zip-archive/zipArchiveLoader.d.ts +70 -0
- package/lib/packlets/zip-archive/zipArchiveLoader.js +286 -0
- package/package.json +26 -32
- 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/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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Result } from '@fgv/ts-utils';
|
|
2
|
-
import { ResourceId } from '../common';
|
|
2
|
+
import { ResourceId, ResourceName } from '../common';
|
|
3
3
|
import { ResourceCandidate } from './resourceCandidate';
|
|
4
4
|
import { ResourceType } from '../resource-types';
|
|
5
5
|
import { ConcreteDecision, AbstractDecisionCollector } from '../decisions';
|
|
@@ -40,10 +40,14 @@ export declare class Resource implements IResource {
|
|
|
40
40
|
* The unique {@link ResourceId | id} of the resource.
|
|
41
41
|
*/
|
|
42
42
|
readonly id: ResourceId;
|
|
43
|
+
/**
|
|
44
|
+
* The name of the resource.
|
|
45
|
+
*/
|
|
46
|
+
readonly name: ResourceName;
|
|
43
47
|
/**
|
|
44
48
|
* The {@link ResourceTypes.ResourceType | type} of the resource.
|
|
45
49
|
*/
|
|
46
|
-
readonly
|
|
50
|
+
readonly resourceType: ResourceType;
|
|
47
51
|
/**
|
|
48
52
|
* The array of {@link Resources.ResourceCandidate | candidates} for the resource.
|
|
49
53
|
*/
|
|
@@ -52,10 +56,6 @@ export declare class Resource implements IResource {
|
|
|
52
56
|
* {@link Decisions.ConcreteDecision | Decision} for optimized resource resolution.
|
|
53
57
|
*/
|
|
54
58
|
readonly decision: ConcreteDecision;
|
|
55
|
-
/**
|
|
56
|
-
* Gets the resource type (implements IResource interface).
|
|
57
|
-
*/
|
|
58
|
-
get resourceType(): ResourceType;
|
|
59
59
|
/**
|
|
60
60
|
* Gets the resource type name as a string.
|
|
61
61
|
*/
|
|
@@ -33,17 +33,11 @@ const decisions_1 = require("../decisions");
|
|
|
33
33
|
* @public
|
|
34
34
|
*/
|
|
35
35
|
class Resource {
|
|
36
|
-
/**
|
|
37
|
-
* Gets the resource type (implements IResource interface).
|
|
38
|
-
*/
|
|
39
|
-
get resourceType() {
|
|
40
|
-
return this._resourceType;
|
|
41
|
-
}
|
|
42
36
|
/**
|
|
43
37
|
* Gets the resource type name as a string.
|
|
44
38
|
*/
|
|
45
39
|
get resourceTypeName() {
|
|
46
|
-
return this.
|
|
40
|
+
return this.resourceType.key;
|
|
47
41
|
}
|
|
48
42
|
/**
|
|
49
43
|
* Constructor for a {@link Resources.Resource | Resource} object.
|
|
@@ -53,7 +47,8 @@ class Resource {
|
|
|
53
47
|
constructor(params) {
|
|
54
48
|
const id = params.id ? common_1.Validate.toResourceId(params.id).orThrow() : undefined;
|
|
55
49
|
this.id = Resource._validateCandidateResourceIds(id, params.candidates).orThrow();
|
|
56
|
-
this.
|
|
50
|
+
this.name = common_1.Helpers.getNameForResourceId(this.id).orThrow();
|
|
51
|
+
this.resourceType = resourceCandidate_1.ResourceCandidate.validateResourceTypes(params.candidates, params.resourceType)
|
|
57
52
|
.onSuccess((t) => {
|
|
58
53
|
/* c8 ignore next 3 - functional code path tested but coverage intermittently missed */
|
|
59
54
|
if (t === undefined) {
|
|
@@ -120,9 +115,9 @@ class Resource {
|
|
|
120
115
|
*/
|
|
121
116
|
toCompiled(options) {
|
|
122
117
|
const candidates = this._getMatchingCandidates(options).map((c) => ({
|
|
123
|
-
json: c.json,
|
|
124
118
|
isPartial: c.isPartial,
|
|
125
|
-
mergeMethod: c.mergeMethod
|
|
119
|
+
mergeMethod: c.mergeMethod,
|
|
120
|
+
valueIndex: c.candidateValue.index
|
|
126
121
|
}));
|
|
127
122
|
return {
|
|
128
123
|
id: this.id,
|
|
@@ -5,6 +5,7 @@ import { ReadOnlyResourceTypeCollector, ResourceType } from '../resource-types';
|
|
|
5
5
|
import { Resource } from './resource';
|
|
6
6
|
import { ConditionSetCollector } from '../conditions';
|
|
7
7
|
import { AbstractDecisionCollector } from '../decisions';
|
|
8
|
+
import { CandidateValueCollector } from './candidateValueCollector';
|
|
8
9
|
import * as ResourceJson from '../resource-json';
|
|
9
10
|
import * as Context from '../context';
|
|
10
11
|
/**
|
|
@@ -17,6 +18,7 @@ export interface IResourceBuilderCreateParams {
|
|
|
17
18
|
conditionSets: ConditionSetCollector;
|
|
18
19
|
resourceTypes: ReadOnlyResourceTypeCollector;
|
|
19
20
|
decisions: AbstractDecisionCollector;
|
|
21
|
+
candidateValues: CandidateValueCollector;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* Possible result details returned by the resource builder
|
|
@@ -66,6 +68,10 @@ export declare class ResourceBuilder {
|
|
|
66
68
|
* Collector for {@link Decisions.AbstractDecision | abstract decisions}.
|
|
67
69
|
*/
|
|
68
70
|
protected _decisions: AbstractDecisionCollector;
|
|
71
|
+
/**
|
|
72
|
+
* Collector for candidate values.
|
|
73
|
+
*/
|
|
74
|
+
protected _candidateValues: CandidateValueCollector;
|
|
69
75
|
/**
|
|
70
76
|
* Constructor for a {@link Resources.ResourceBuilder | ResourceBuilder} object.
|
|
71
77
|
* @param params - Parameters to construct the new {@link Resources.ResourceBuilder | ResourceBuilder}.
|
|
@@ -56,6 +56,7 @@ class ResourceBuilder {
|
|
|
56
56
|
this._resourceTypes = params.resourceTypes;
|
|
57
57
|
this._conditionSets = params.conditionSets;
|
|
58
58
|
this._decisions = params.decisions;
|
|
59
|
+
this._candidateValues = params.candidateValues;
|
|
59
60
|
this._candidates = new ts_utils_1.ResultMap();
|
|
60
61
|
if (params.typeName) {
|
|
61
62
|
this._resourceType = this._resourceTypes.validating.get(params.typeName).orThrow();
|
|
@@ -93,7 +94,8 @@ class ResourceBuilder {
|
|
|
93
94
|
id: this.id,
|
|
94
95
|
resourceType: this._resourceType,
|
|
95
96
|
decl: childDecl,
|
|
96
|
-
conditionSets: this._conditionSets
|
|
97
|
+
conditionSets: this._conditionSets,
|
|
98
|
+
candidateValues: this._candidateValues
|
|
97
99
|
})
|
|
98
100
|
.withDetail('failure', 'success')
|
|
99
101
|
.onSuccess((candidate) => {
|
|
@@ -101,6 +103,7 @@ class ResourceBuilder {
|
|
|
101
103
|
.getOrAdd(candidate.conditions.toString(), candidate)
|
|
102
104
|
.onSuccess((added, detail) => {
|
|
103
105
|
if (detail === 'exists') {
|
|
106
|
+
/* c8 ignore next 5 - defensive coding: conflicting candidates with same conditions should not occur */
|
|
104
107
|
if (!resourceCandidate_1.ResourceCandidate.equal(added, candidate)) {
|
|
105
108
|
return (0, ts_utils_1.failWithDetail)(`${this.id}: conflicting candidates.`, 'exists');
|
|
106
109
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { JsonObject } from '@fgv/ts-json-base';
|
|
2
|
-
import { QualifierName, ResourceId, ResourceValueMergeMethod } from '../common';
|
|
2
|
+
import { CandidateCompleteness, QualifierName, ResourceId, ResourceValueMergeMethod } from '../common';
|
|
3
3
|
import { Condition, ConditionSet, ConditionSetCollector } from '../conditions';
|
|
4
4
|
import * as ResourceJson from '../resource-json';
|
|
5
5
|
import { ResourceType } from '../resource-types';
|
|
6
|
+
import { CandidateValue } from './candidateValue';
|
|
7
|
+
import { CandidateValueCollector } from './candidateValueCollector';
|
|
6
8
|
import { Result } from '@fgv/ts-utils';
|
|
7
9
|
import * as Context from '../context';
|
|
8
10
|
import { IResourceCandidate } from '../runtime';
|
|
@@ -16,6 +18,7 @@ export interface IResourceCandidateCreateParams {
|
|
|
16
18
|
resourceType?: ResourceType;
|
|
17
19
|
parentConditions?: ReadonlyArray<Condition>;
|
|
18
20
|
conditionSets: ConditionSetCollector;
|
|
21
|
+
candidateValues: CandidateValueCollector;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
24
|
* Options for creating a {@link Resources.ResourceCandidate | ResourceCandidate} declaration.
|
|
@@ -43,10 +46,16 @@ export declare class ResourceCandidate implements IResourceCandidate {
|
|
|
43
46
|
* is a possible instance.
|
|
44
47
|
*/
|
|
45
48
|
readonly id: ResourceId;
|
|
49
|
+
/**
|
|
50
|
+
* The candidate value that contains the JSON representation of the instance data.
|
|
51
|
+
*/
|
|
52
|
+
readonly candidateValue: CandidateValue;
|
|
46
53
|
/**
|
|
47
54
|
* The JSON representation of the instance data to be applied.
|
|
55
|
+
* @remarks
|
|
56
|
+
* This property provides access to the JSON data from the underlying candidate value.
|
|
48
57
|
*/
|
|
49
|
-
|
|
58
|
+
get json(): JsonObject;
|
|
50
59
|
/**
|
|
51
60
|
* The conditions under which this candidate applies.
|
|
52
61
|
*/
|
|
@@ -64,6 +73,10 @@ export declare class ResourceCandidate implements IResourceCandidate {
|
|
|
64
73
|
* this candidate belongs.
|
|
65
74
|
*/
|
|
66
75
|
readonly resourceType: ResourceType | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* The completeness of the candidate value.
|
|
78
|
+
*/
|
|
79
|
+
get completeness(): CandidateCompleteness;
|
|
67
80
|
/**
|
|
68
81
|
* Constructor for a {@link Resources.ResourceCandidate | ResourceCandidate} object.
|
|
69
82
|
* @param params - Parameters to create a new {@link Resources.ResourceCandidate | ResourceCandidate}.
|
|
@@ -66,6 +66,20 @@ const ts_utils_1 = require("@fgv/ts-utils");
|
|
|
66
66
|
* @public
|
|
67
67
|
*/
|
|
68
68
|
class ResourceCandidate {
|
|
69
|
+
/**
|
|
70
|
+
* The JSON representation of the instance data to be applied.
|
|
71
|
+
* @remarks
|
|
72
|
+
* This property provides access to the JSON data from the underlying candidate value.
|
|
73
|
+
*/
|
|
74
|
+
get json() {
|
|
75
|
+
return this.candidateValue.json;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The completeness of the candidate value.
|
|
79
|
+
*/
|
|
80
|
+
get completeness() {
|
|
81
|
+
return this.isPartial ? 'partial' : 'full';
|
|
82
|
+
}
|
|
69
83
|
/**
|
|
70
84
|
* Constructor for a {@link Resources.ResourceCandidate | ResourceCandidate} object.
|
|
71
85
|
* @param params - Parameters to create a new {@link Resources.ResourceCandidate | ResourceCandidate}.
|
|
@@ -74,7 +88,7 @@ class ResourceCandidate {
|
|
|
74
88
|
constructor(params) {
|
|
75
89
|
var _a, _b;
|
|
76
90
|
this.id = common_1.Validate.toResourceId(params.id).orThrow();
|
|
77
|
-
this.
|
|
91
|
+
this.candidateValue = params.candidateValues.validating.getOrAdd(params.decl.json).orThrow();
|
|
78
92
|
this.conditions = ResourceCandidate._mergeConditions(params.conditionSets, params.decl.conditions, params.parentConditions).orThrow();
|
|
79
93
|
this.isPartial = (_a = params.decl.isPartial) !== null && _a !== void 0 ? _a : false;
|
|
80
94
|
this.mergeMethod = (_b = params.decl.mergeMethod) !== null && _b !== void 0 ? _b : 'augment';
|
|
@@ -175,10 +189,8 @@ class ResourceCandidate {
|
|
|
175
189
|
rc1.mergeMethod === rc2.mergeMethod &&
|
|
176
190
|
conditions_1.ConditionSet.compare(rc1.conditions, rc2.conditions) === 0;
|
|
177
191
|
if (equal) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
const n2 = normalizer.computeHash(rc2.json).orDefault('(n2 normalization failed)');
|
|
181
|
-
equal = n1 === n2;
|
|
192
|
+
// Compare candidate values by their keys for efficient JSON comparison
|
|
193
|
+
equal = rc1.candidateValue.key === rc2.candidateValue.key;
|
|
182
194
|
}
|
|
183
195
|
return equal;
|
|
184
196
|
}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { Collections, DetailedResult, Result, ValidatingResultMap } from '@fgv/ts-utils';
|
|
2
|
-
import { ConditionCollector, ConditionSetCollector, ReadOnlyConditionCollector, ReadOnlyConditionSetCollector } from '../conditions';
|
|
2
|
+
import { ConditionCollector, ConditionSetCollector, ReadOnlyConditionCollector, ReadOnlyConditionSetCollector, Condition, ConditionSet } from '../conditions';
|
|
3
3
|
import { AbstractDecisionCollector, ReadOnlyAbstractDecisionCollector } from '../decisions';
|
|
4
4
|
import { IReadOnlyQualifierCollector } from '../qualifiers';
|
|
5
5
|
import { ReadOnlyResourceTypeCollector } from '../resource-types';
|
|
6
6
|
import { ResourceId } from '../common';
|
|
7
|
-
import { IResourceManager } from '../runtime';
|
|
7
|
+
import { IResourceManager, ResourceTree } from '../runtime';
|
|
8
8
|
import { ResourceBuilder, ResourceBuilderResultDetail } from './resourceBuilder';
|
|
9
9
|
import { Resource } from './resource';
|
|
10
10
|
import { ResourceCandidate } from './resourceCandidate';
|
|
11
|
+
import { CandidateValueCollector } from './candidateValueCollector';
|
|
11
12
|
import { IResourceDeclarationOptions, IResourceManagerCloneOptions } from './common';
|
|
12
13
|
import * as ResourceJson from '../resource-json';
|
|
13
14
|
import * as Context from '../context';
|
|
14
15
|
import * as Config from '../config';
|
|
16
|
+
import { ReadOnlyQualifierTypeCollector } from '../qualifier-types';
|
|
15
17
|
/**
|
|
16
18
|
* Interface for parameters to the {@link Resources.ResourceManagerBuilder.create | ResourceManagerBuilder create method}.
|
|
17
19
|
* @public
|
|
@@ -32,15 +34,59 @@ export type ResourceManagerBuilderResultDetail = Collections.ResultMapResultDeta
|
|
|
32
34
|
* and builds a collection of {@link Resources.Resource | resources} once all candidates are collected.
|
|
33
35
|
* @public
|
|
34
36
|
*/
|
|
35
|
-
export declare class ResourceManagerBuilder implements IResourceManager {
|
|
37
|
+
export declare class ResourceManagerBuilder implements IResourceManager<Resource> {
|
|
38
|
+
/**
|
|
39
|
+
* The {@link Qualifiers.IReadOnlyQualifierCollector | qualifiers} used by this resource manager.
|
|
40
|
+
*/
|
|
36
41
|
readonly qualifiers: IReadOnlyQualifierCollector;
|
|
42
|
+
/**
|
|
43
|
+
* The {@link ResourceTypes.ReadOnlyResourceTypeCollector | resource types} used by this resource manager.
|
|
44
|
+
*/
|
|
37
45
|
readonly resourceTypes: ReadOnlyResourceTypeCollector;
|
|
46
|
+
/**
|
|
47
|
+
* The {@link Conditions.ConditionCollector | condition collector} used by this resource manager.
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
38
50
|
protected readonly _conditions: ConditionCollector;
|
|
51
|
+
/**
|
|
52
|
+
* The {@link Conditions.ConditionSetCollector | condition set collector} used by this resource manager.
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
39
55
|
protected readonly _conditionSets: ConditionSetCollector;
|
|
56
|
+
/**
|
|
57
|
+
* The {@link Decisions.AbstractDecisionCollector | abstract decision collector} used by this resource manager.
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
40
60
|
protected readonly _decisions: AbstractDecisionCollector;
|
|
61
|
+
/**
|
|
62
|
+
* The candidate value collector used by this resource manager.
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
protected readonly _candidateValues: CandidateValueCollector;
|
|
66
|
+
/**
|
|
67
|
+
* The {@link Resources.ResourceBuilder | resource builders} used by this resource manager.
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
41
70
|
protected readonly _resources: ValidatingResultMap<ResourceId, ResourceBuilder>;
|
|
42
|
-
|
|
71
|
+
/**
|
|
72
|
+
* The {@link Resources.Resource | resources} built by this resource manager.
|
|
73
|
+
* @internal
|
|
74
|
+
*/
|
|
75
|
+
protected readonly _builtResources: ValidatingResultMap<ResourceId, Resource>;
|
|
76
|
+
/**
|
|
77
|
+
* Whether the resources have been built.
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
43
80
|
protected _built: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* The cached resource tree for this resource manager.
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
protected _cachedResourceTree?: ResourceTree.IReadOnlyResourceTreeRoot<Resource>;
|
|
86
|
+
/**
|
|
87
|
+
* The {@link QualifierTypes.ReadOnlyQualifierTypeCollector | qualifier types} used by this resource manager.
|
|
88
|
+
*/
|
|
89
|
+
get qualifierTypes(): ReadOnlyQualifierTypeCollector;
|
|
44
90
|
/**
|
|
45
91
|
* A {@link Conditions.ConditionCollector | ConditionCollector} which
|
|
46
92
|
* contains the {@link Conditions.Condition | conditions} used so far by
|
|
@@ -106,6 +152,17 @@ export declare class ResourceManagerBuilder implements IResourceManager {
|
|
|
106
152
|
* @public
|
|
107
153
|
*/
|
|
108
154
|
static createPredefined(name: Config.PredefinedSystemConfiguration, qualifierDefaultValues?: Config.ISystemConfigurationInitParams['qualifierDefaultValues']): Result<ResourceManagerBuilder>;
|
|
155
|
+
/**
|
|
156
|
+
* Creates a new {@link Resources.ResourceManagerBuilder | ResourceManagerBuilder} from a
|
|
157
|
+
* {@link ResourceJson.Compiled.ICompiledResourceCollection | compiled resource collection}.
|
|
158
|
+
* This method reconstructs an exactly equivalent builder where all qualifier, condition,
|
|
159
|
+
* condition set, and decision indices match the original compiled collection.
|
|
160
|
+
* @param compiledCollection - The compiled resource collection to reconstruct from.
|
|
161
|
+
* @param systemConfig - The system configuration containing qualifiers and resource types.
|
|
162
|
+
* @returns `Success` with the new manager if successful, or `Failure` with an error message if not.
|
|
163
|
+
* @public
|
|
164
|
+
*/
|
|
165
|
+
static createFromCompiledResourceCollection(compiledCollection: ResourceJson.Compiled.ICompiledResourceCollection, systemConfig: Config.SystemConfiguration): Result<ResourceManagerBuilder>;
|
|
109
166
|
/**
|
|
110
167
|
* Given a {@link ResourceJson.Json.ILooseResourceCandidateDecl | resource candidate declaration}, builds and adds
|
|
111
168
|
* a {@link Resources.ResourceCandidate | candidate} to the manager.
|
|
@@ -115,6 +172,20 @@ export declare class ResourceManagerBuilder implements IResourceManager {
|
|
|
115
172
|
*/
|
|
116
173
|
addLooseCandidate(decl: ResourceJson.Json.ILooseResourceCandidateDecl): DetailedResult<ResourceCandidate, ResourceBuilderResultDetail>;
|
|
117
174
|
addResource(decl: ResourceJson.Json.ILooseResourceDecl): DetailedResult<ResourceBuilder, ResourceBuilderResultDetail>;
|
|
175
|
+
/**
|
|
176
|
+
* Adds a condition to the manager.
|
|
177
|
+
* @param decl - The condition declaration to add.
|
|
178
|
+
* @returns `Success` with the condition if successful, or `Failure` with an error message if not.
|
|
179
|
+
* @public
|
|
180
|
+
*/
|
|
181
|
+
addCondition(decl: ResourceJson.Json.ILooseConditionDecl): Result<Condition>;
|
|
182
|
+
/**
|
|
183
|
+
* Adds a condition set to the manager.
|
|
184
|
+
* @param decl - The condition set declaration to add.
|
|
185
|
+
* @returns `Success` with the condition set if successful, or `Failure` with an error message if not.
|
|
186
|
+
* @public
|
|
187
|
+
*/
|
|
188
|
+
addConditionSet(conditions: ResourceJson.Normalized.ConditionSetDecl): Result<ConditionSet>;
|
|
118
189
|
/**
|
|
119
190
|
* Gets a read-only array of all {@link Resources.ResourceBuilder | resource builders} present in the manager.
|
|
120
191
|
* @returns `Success` with the {@link Resources.ResourceBuilder | resource builder} if successful,
|
|
@@ -145,6 +216,19 @@ export declare class ResourceManagerBuilder implements IResourceManager {
|
|
|
145
216
|
* @public
|
|
146
217
|
*/
|
|
147
218
|
getAllBuiltResources(): Result<ReadonlyArray<Resource>>;
|
|
219
|
+
/**
|
|
220
|
+
* Builds and returns a hierarchical tree representation of all resources managed by this builder.
|
|
221
|
+
* Resources are organized based on their dot-separated resource IDs (e.g., "app.messages.welcome"
|
|
222
|
+
* becomes a tree with "app" as root, "messages" as branch, and "welcome" as leaf).
|
|
223
|
+
*
|
|
224
|
+
* String-based validation is available through the `children.validating` property,
|
|
225
|
+
* allowing callers to use `tree.children.validating.getById(stringId)` for validated access.
|
|
226
|
+
*
|
|
227
|
+
* Uses lazy initialization with caching for performance.
|
|
228
|
+
* @returns Result containing the resource tree root, or failure if tree construction fails
|
|
229
|
+
* @public
|
|
230
|
+
*/
|
|
231
|
+
getBuiltResourceTree(): Result<ResourceTree.IReadOnlyResourceTreeRoot<Resource>>;
|
|
148
232
|
/**
|
|
149
233
|
* Gets a read-only array of all {@link Resources.Resource | built resources} in the manager.
|
|
150
234
|
* @returns `Success` with an array of resources if successful, or `Failure` with an error message if not.
|
|
@@ -218,12 +302,17 @@ export declare class ResourceManagerBuilder implements IResourceManager {
|
|
|
218
302
|
*/
|
|
219
303
|
getResourceCollectionDecl(options?: IResourceDeclarationOptions): Result<ResourceJson.Normalized.IResourceCollectionDecl>;
|
|
220
304
|
/**
|
|
221
|
-
* Creates a
|
|
222
|
-
* This
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
* @
|
|
305
|
+
* Creates a clone of this ResourceManagerBuilder with optional configuration overrides.
|
|
306
|
+
* This method creates a new ResourceManagerBuilder that can optionally use different
|
|
307
|
+
* qualifiers and/or resource types than the original. It can also be filtered to include
|
|
308
|
+
* only candidates that match the provided context and apply candidate edits.
|
|
309
|
+
*
|
|
310
|
+
* @param options - Options for the cloning operation:
|
|
311
|
+
* - `qualifiers`: Optional qualifier collector to use instead of the original
|
|
312
|
+
* - `resourceTypes`: Optional resource type collector to use instead of the original
|
|
313
|
+
* - `filterForContext`: Optional context filter for candidates
|
|
314
|
+
* - `candidates`: Optional candidate edits to apply during cloning
|
|
315
|
+
* @returns A Result containing the new ResourceManagerBuilder with the specified configuration.
|
|
227
316
|
* @public
|
|
228
317
|
*/
|
|
229
318
|
clone(options?: IResourceManagerCloneOptions): Result<ResourceManagerBuilder>;
|
|
@@ -242,7 +331,6 @@ export declare class ResourceManagerBuilder implements IResourceManager {
|
|
|
242
331
|
* @returns A Result containing the ConditionSet token if successful, or failure if validation fails
|
|
243
332
|
* @internal
|
|
244
333
|
*/
|
|
245
|
-
private static _getConditionSetToken;
|
|
246
334
|
/**
|
|
247
335
|
* Applies candidate edits to a resource declaration, handling collisions using condition set tokens.
|
|
248
336
|
* If there's no collision, adds the candidate. If there's a collision, replaces the original candidate with the edit.
|
|
@@ -263,5 +351,48 @@ export declare class ResourceManagerBuilder implements IResourceManager {
|
|
|
263
351
|
* @internal
|
|
264
352
|
*/
|
|
265
353
|
private static _createResourceDeclFromCandidates;
|
|
354
|
+
/**
|
|
355
|
+
* Reconstructs conditions from a compiled collection and adds them to the builder.
|
|
356
|
+
* @param builder - The builder to add conditions to.
|
|
357
|
+
* @param compiledCollection - The compiled collection containing conditions.
|
|
358
|
+
* @returns `Success` if all conditions were added successfully, `Failure` otherwise.
|
|
359
|
+
* @internal
|
|
360
|
+
*/
|
|
361
|
+
private static _reconstructConditions;
|
|
362
|
+
/**
|
|
363
|
+
* Reconstructs condition sets from a compiled collection and adds them to the builder.
|
|
364
|
+
* @param builder - The builder to add condition sets to.
|
|
365
|
+
* @param compiledCollection - The compiled collection containing condition sets.
|
|
366
|
+
* @returns `Success` if all condition sets were added successfully, `Failure` otherwise.
|
|
367
|
+
* @internal
|
|
368
|
+
*/
|
|
369
|
+
private static _reconstructConditionSets;
|
|
370
|
+
/**
|
|
371
|
+
* Reconstructs decisions from a compiled collection and adds them to the builder.
|
|
372
|
+
* @param builder - The builder to add decisions to.
|
|
373
|
+
* @param compiledCollection - The compiled collection containing decisions.
|
|
374
|
+
* @returns `Success` if all decisions were added successfully, `Failure` otherwise.
|
|
375
|
+
* @internal
|
|
376
|
+
*/
|
|
377
|
+
private static _reconstructDecisions;
|
|
378
|
+
/**
|
|
379
|
+
* Reconstructs resources and their candidates from a compiled collection and adds them to the builder.
|
|
380
|
+
* @param builder - The builder to add resources to.
|
|
381
|
+
* @param compiledCollection - The compiled collection containing resources.
|
|
382
|
+
* @returns `Success` if all resources were added successfully, `Failure` otherwise.
|
|
383
|
+
* @internal
|
|
384
|
+
*/
|
|
385
|
+
private static _reconstructResources;
|
|
386
|
+
/**
|
|
387
|
+
* Helper method to create candidates from a decision's condition sets.
|
|
388
|
+
* @param compiledResource - The compiled resource containing candidates.
|
|
389
|
+
* @param decision - The decision containing condition sets.
|
|
390
|
+
* @param resourceType - The resource type for the candidates.
|
|
391
|
+
* @param builder - The builder to add candidates to.
|
|
392
|
+
* @param candidateValues - Array of candidate values indexed by valueIndex.
|
|
393
|
+
* @returns `Success` if all candidates were added successfully, `Failure` otherwise.
|
|
394
|
+
* @internal
|
|
395
|
+
*/
|
|
396
|
+
private static _createCandidatesFromDecision;
|
|
266
397
|
}
|
|
267
398
|
//# sourceMappingURL=resourceManagerBuilder.d.ts.map
|