@fgv/ts-res 5.0.0-2 → 5.0.0-21
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 +1528 -161
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/index.d.ts +11 -2
- package/lib/index.js +25 -2
- 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/helpers/resources.d.ts +7 -0
- package/lib/packlets/common/helpers/resources.js +12 -0
- package/lib/packlets/common/resources.d.ts +8 -0
- package/lib/packlets/conditions/conditionSet.d.ts +9 -0
- package/lib/packlets/conditions/conditionSet.js +74 -1
- package/lib/packlets/config/configInitFactory.d.ts +78 -0
- package/lib/packlets/config/configInitFactory.js +147 -0
- package/lib/packlets/config/convert.d.ts +9 -0
- package/lib/packlets/config/convert.js +11 -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/import/fsItem.js +8 -13
- package/lib/packlets/import/importers/jsonImporter.js +1 -0
- package/lib/packlets/qualifier-types/config/json.d.ts +13 -0
- package/lib/packlets/qualifier-types/config/json.js +11 -0
- package/lib/packlets/qualifier-types/literalValueHierarchy.js +1 -1
- package/lib/packlets/qualifiers/qualifierCollector.js +1 -2
- package/lib/packlets/resource-types/jsonResourceType.d.ts +9 -4
- package/lib/packlets/resource-types/jsonResourceType.js +8 -1
- package/lib/packlets/resource-types/resourceType.d.ts +102 -13
- package/lib/packlets/resource-types/resourceType.js +34 -2
- package/lib/packlets/resources/common.d.ts +26 -0
- package/lib/packlets/resources/resource.d.ts +6 -6
- package/lib/packlets/resources/resource.js +3 -8
- package/lib/packlets/resources/resourceCandidate.d.ts +5 -1
- package/lib/packlets/resources/resourceCandidate.js +6 -0
- package/lib/packlets/resources/resourceManagerBuilder.d.ts +182 -11
- package/lib/packlets/resources/resourceManagerBuilder.js +469 -15
- package/lib/packlets/runtime/cacheListener.d.ts +9 -0
- package/lib/packlets/runtime/cacheListener.js +6 -0
- package/lib/packlets/runtime/cacheMetrics.d.ts +6 -0
- package/lib/packlets/runtime/cacheMetrics.js +11 -0
- package/lib/packlets/runtime/compiledResourceCollection.d.ts +3 -3
- package/lib/packlets/runtime/compiledResourceCollection.js +7 -0
- package/lib/packlets/runtime/iResourceManager.d.ts +13 -5
- 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 +21 -0
- package/lib/packlets/runtime/resourceResolver.js +39 -17
- 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 +104 -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 +194 -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 +285 -0
- 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.clone.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/lib/test/unit/zip-archive/convert.test.d.ts +2 -0
- package/lib/test/unit/zip-archive/json.test.d.ts +2 -0
- package/lib/test/unit/zip-archive/zipArchiveCreator.test.d.ts +2 -0
- package/lib/test/unit/zip-archive/zipArchiveFormat.test.d.ts +2 -0
- package/lib/test/unit/zip-archive/zipArchiveIdempotency.test.d.ts +2 -0
- package/lib/test/unit/zip-archive/zipArchiveLoader.test.d.ts +2 -0
- package/package.json +19 -25
- package/src/index.ts +75 -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 +61 -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 +104 -0
- package/src/packlets/resource-types/resourceType.ts +259 -0
- package/src/packlets/resource-types/resourceTypeCollector.ts +79 -0
- package/src/packlets/resources/candidateReducer.ts +331 -0
- package/src/packlets/resources/common.ts +114 -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 +1169 -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 +187 -0
- package/src/packlets/runtime/resourceResolver.ts +626 -0
- package/src/packlets/runtime/validate.ts +63 -0
- package/src/packlets/zip-archive/convert.ts +121 -0
- package/src/packlets/zip-archive/index.ts +76 -0
- package/src/packlets/zip-archive/json.ts +91 -0
- package/src/packlets/zip-archive/types.ts +140 -0
- package/src/packlets/zip-archive/zipArchiveCreator.ts +229 -0
- package/src/packlets/zip-archive/zipArchiveFormat.ts +158 -0
- package/src/packlets/zip-archive/zipArchiveLoader.ts +370 -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/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
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Result } from '@fgv/ts-utils';
|
|
2
|
+
import { SystemConfiguration } from '../config';
|
|
3
|
+
import { Compiled as ResourceJsonCompiled } from '../resource-json';
|
|
4
|
+
import { IBundleMetadata } from './model';
|
|
5
|
+
/**
|
|
6
|
+
* Components extracted from a bundle for reuse in different contexts.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface IBundleComponents {
|
|
10
|
+
/**
|
|
11
|
+
* The system configuration from the bundle.
|
|
12
|
+
*/
|
|
13
|
+
systemConfiguration: SystemConfiguration;
|
|
14
|
+
/**
|
|
15
|
+
* The compiled resource collection from the bundle.
|
|
16
|
+
*/
|
|
17
|
+
compiledCollection: ResourceJsonCompiled.ICompiledResourceCollection;
|
|
18
|
+
/**
|
|
19
|
+
* The bundle metadata including build information.
|
|
20
|
+
*/
|
|
21
|
+
metadata: IBundleMetadata;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Utility functions for working with resource bundles.
|
|
25
|
+
* Provides reusable logic for bundle detection, parsing, and component extraction.
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export declare class BundleUtils {
|
|
29
|
+
/**
|
|
30
|
+
* Checks if the given object appears to be a bundle file by examining its structure.
|
|
31
|
+
* This is a lightweight check that doesn't perform full validation.
|
|
32
|
+
* @param data - The data to check
|
|
33
|
+
* @returns True if the data appears to be a bundle structure
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
static isBundleFile(data: unknown): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Extracts and validates components from a bundle for reuse.
|
|
39
|
+
* Performs full validation of the bundle structure and creates typed components.
|
|
40
|
+
* @param bundleData - The raw bundle data to extract components from
|
|
41
|
+
* @returns Success with bundle components if valid, Failure with error message otherwise
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
static extractBundleComponents(bundleData: unknown): Result<IBundleComponents>;
|
|
45
|
+
/**
|
|
46
|
+
* Extracts just the metadata from potential bundle data without full validation.
|
|
47
|
+
* Useful for displaying bundle information without processing the entire bundle.
|
|
48
|
+
* @param data - The data to extract metadata from
|
|
49
|
+
* @returns Success with metadata if found and valid, Failure otherwise
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
static extractBundleMetadata(data: unknown): Result<IBundleMetadata>;
|
|
53
|
+
/**
|
|
54
|
+
* Parses bundle data from a JSON string.
|
|
55
|
+
* Convenience method that combines JSON parsing with bundle component extraction.
|
|
56
|
+
* @param jsonString - The JSON string containing bundle data
|
|
57
|
+
* @returns Success with bundle components if valid, Failure with error message otherwise
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
static parseBundleFromJson(jsonString: string): Result<IBundleComponents>;
|
|
61
|
+
/**
|
|
62
|
+
* Checks if a file name suggests it might be a bundle file.
|
|
63
|
+
* This is a heuristic check based on file naming conventions.
|
|
64
|
+
* @param fileName - The file name to check
|
|
65
|
+
* @returns True if the file name suggests a bundle file
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
static isBundleFileName(fileName: string): boolean;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=bundleUtils.d.ts.map
|
|
@@ -0,0 +1,117 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.BundleUtils = void 0;
|
|
25
|
+
const ts_utils_1 = require("@fgv/ts-utils");
|
|
26
|
+
const config_1 = require("../config");
|
|
27
|
+
const convert_1 = require("./convert");
|
|
28
|
+
/**
|
|
29
|
+
* Utility functions for working with resource bundles.
|
|
30
|
+
* Provides reusable logic for bundle detection, parsing, and component extraction.
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
class BundleUtils {
|
|
34
|
+
/**
|
|
35
|
+
* Checks if the given object appears to be a bundle file by examining its structure.
|
|
36
|
+
* This is a lightweight check that doesn't perform full validation.
|
|
37
|
+
* @param data - The data to check
|
|
38
|
+
* @returns True if the data appears to be a bundle structure
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
static isBundleFile(data) {
|
|
42
|
+
return convert_1.bundle.convert(data).isSuccess();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Extracts and validates components from a bundle for reuse.
|
|
46
|
+
* Performs full validation of the bundle structure and creates typed components.
|
|
47
|
+
* @param bundleData - The raw bundle data to extract components from
|
|
48
|
+
* @returns Success with bundle components if valid, Failure with error message otherwise
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
static extractBundleComponents(bundleData) {
|
|
52
|
+
return convert_1.bundle
|
|
53
|
+
.convert(bundleData)
|
|
54
|
+
.withErrorFormat((err) => `Invalid bundle structure: ${err}`)
|
|
55
|
+
.onSuccess((bundle) => {
|
|
56
|
+
return config_1.SystemConfiguration.create(bundle.config)
|
|
57
|
+
.withErrorFormat((err) => `Invalid system configuration in bundle: ${err}`)
|
|
58
|
+
.onSuccess((systemConfiguration) => {
|
|
59
|
+
return (0, ts_utils_1.succeed)({
|
|
60
|
+
systemConfiguration,
|
|
61
|
+
compiledCollection: bundle.compiledCollection,
|
|
62
|
+
metadata: bundle.metadata
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Extracts just the metadata from potential bundle data without full validation.
|
|
69
|
+
* Useful for displaying bundle information without processing the entire bundle.
|
|
70
|
+
* @param data - The data to extract metadata from
|
|
71
|
+
* @returns Success with metadata if found and valid, Failure otherwise
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
static extractBundleMetadata(data) {
|
|
75
|
+
return convert_1.bundle
|
|
76
|
+
.convert(data)
|
|
77
|
+
.onSuccess((bundle) => {
|
|
78
|
+
return (0, ts_utils_1.succeed)(bundle.metadata);
|
|
79
|
+
})
|
|
80
|
+
.withErrorFormat((err) => {
|
|
81
|
+
return `Not a bundle file: ${err}`;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Parses bundle data from a JSON string.
|
|
86
|
+
* Convenience method that combines JSON parsing with bundle component extraction.
|
|
87
|
+
* @param jsonString - The JSON string containing bundle data
|
|
88
|
+
* @returns Success with bundle components if valid, Failure with error message otherwise
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
static parseBundleFromJson(jsonString) {
|
|
92
|
+
try {
|
|
93
|
+
const data = JSON.parse(jsonString);
|
|
94
|
+
return BundleUtils.extractBundleComponents(data);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
/* c8 ignore next 1 - defense in depth */
|
|
98
|
+
return (0, ts_utils_1.fail)(`Failed to parse JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Checks if a file name suggests it might be a bundle file.
|
|
103
|
+
* This is a heuristic check based on file naming conventions.
|
|
104
|
+
* @param fileName - The file name to check
|
|
105
|
+
* @returns True if the file name suggests a bundle file
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
static isBundleFileName(fileName) {
|
|
109
|
+
const lowerName = fileName.toLowerCase();
|
|
110
|
+
return (lowerName.endsWith('.bundle.json') ||
|
|
111
|
+
lowerName.endsWith('-bundle.json') ||
|
|
112
|
+
lowerName.endsWith('_bundle.json') ||
|
|
113
|
+
(lowerName.includes('bundle') && lowerName.endsWith('.json')));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.BundleUtils = BundleUtils;
|
|
117
|
+
//# sourceMappingURL=bundleUtils.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Converter } from '@fgv/ts-utils';
|
|
2
|
+
import { IBundleMetadata, IBundleExportMetadata, IBundle, IBundleCreateParams } from './model';
|
|
3
|
+
/**
|
|
4
|
+
* `Converter` for a {@link Bundle.IBundleMetadata | bundle metadata} object.
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export declare const bundleMetadata: Converter<IBundleMetadata>;
|
|
8
|
+
/**
|
|
9
|
+
* `Converter` for {@link Bundle.IBundleExportMetadata | bundle export metadata}.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare const bundleExportMetadata: Converter<IBundleExportMetadata>;
|
|
13
|
+
/**
|
|
14
|
+
* `Converter` for a {@link Bundle.IBundle | bundle} object.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export declare const bundle: Converter<IBundle>;
|
|
18
|
+
/**
|
|
19
|
+
* `Converter` for {@link Bundle.IBundleCreateParams | bundle creation parameters}.
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export declare const bundleCreateParams: Converter<IBundleCreateParams>;
|
|
23
|
+
/**
|
|
24
|
+
* Lightweight converter for bundle structure validation without full processing.
|
|
25
|
+
* Useful for detecting bundle files without the overhead of full validation.
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export declare const bundleStructure: Converter<{
|
|
29
|
+
metadata: IBundleMetadata;
|
|
30
|
+
config: unknown;
|
|
31
|
+
compiledCollection: unknown;
|
|
32
|
+
}>;
|
|
33
|
+
//# sourceMappingURL=convert.d.ts.map
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.bundleStructure = exports.bundleCreateParams = exports.bundle = exports.bundleExportMetadata = exports.bundleMetadata = void 0;
|
|
25
|
+
const ts_utils_1 = require("@fgv/ts-utils");
|
|
26
|
+
const ts_json_base_1 = require("@fgv/ts-json-base");
|
|
27
|
+
const config_1 = require("../config");
|
|
28
|
+
const resource_json_1 = require("../resource-json");
|
|
29
|
+
/**
|
|
30
|
+
* `Converter` for a {@link Bundle.IBundleMetadata | bundle metadata} object.
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
exports.bundleMetadata = ts_utils_1.Converters.strictObject({
|
|
34
|
+
dateBuilt: ts_utils_1.Converters.string,
|
|
35
|
+
checksum: ts_utils_1.Converters.string,
|
|
36
|
+
version: ts_utils_1.Converters.string.optional(),
|
|
37
|
+
description: ts_utils_1.Converters.string.optional()
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* `Converter` for {@link Bundle.IBundleExportMetadata | bundle export metadata}.
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
exports.bundleExportMetadata = ts_utils_1.Converters.strictObject({
|
|
44
|
+
exportedAt: ts_utils_1.Converters.string,
|
|
45
|
+
exportedFrom: ts_utils_1.Converters.string,
|
|
46
|
+
type: ts_utils_1.Converters.string,
|
|
47
|
+
filterContext: ts_json_base_1.Converters.jsonObject.optional()
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* `Converter` for a {@link Bundle.IBundle | bundle} object.
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
exports.bundle = ts_utils_1.Converters.strictObject({
|
|
54
|
+
metadata: exports.bundleMetadata,
|
|
55
|
+
config: config_1.Convert.systemConfiguration,
|
|
56
|
+
compiledCollection: resource_json_1.Compiled.Convert.compiledResourceCollection,
|
|
57
|
+
exportMetadata: exports.bundleExportMetadata.optional()
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* `Converter` for {@link Bundle.IBundleCreateParams | bundle creation parameters}.
|
|
61
|
+
* @public
|
|
62
|
+
*/
|
|
63
|
+
exports.bundleCreateParams = ts_utils_1.Converters.strictObject({
|
|
64
|
+
version: ts_utils_1.Converters.string.optional(),
|
|
65
|
+
description: ts_utils_1.Converters.string.optional(),
|
|
66
|
+
dateBuilt: ts_utils_1.Converters.string.optional()
|
|
67
|
+
});
|
|
68
|
+
/**
|
|
69
|
+
* Lightweight converter for bundle structure validation without full processing.
|
|
70
|
+
* Useful for detecting bundle files without the overhead of full validation.
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
exports.bundleStructure = ts_utils_1.Converters.strictObject({
|
|
74
|
+
metadata: exports.bundleMetadata,
|
|
75
|
+
config: ts_json_base_1.Converters.jsonValue,
|
|
76
|
+
compiledCollection: ts_json_base_1.Converters.jsonValue
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundle packlet providing functionality for creating and loading resource bundles.
|
|
3
|
+
*
|
|
4
|
+
* Resource bundles encapsulate compiled resources, configuration, and metadata with
|
|
5
|
+
* integrity verification. They provide a portable way to distribute pre-compiled
|
|
6
|
+
* resource collections.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
import * as Model from './model';
|
|
11
|
+
import * as Convert from './convert';
|
|
12
|
+
export type { IBundleMetadata, IBundleExportMetadata, IBundle, IBundleCreateParams } from './model';
|
|
13
|
+
export { BundleBuilder } from './bundleBuilder';
|
|
14
|
+
export { BundleLoader } from './bundleLoader';
|
|
15
|
+
export type { IBundleLoaderCreateParams } from './bundleLoader';
|
|
16
|
+
export { BundleUtils } from './bundleUtils';
|
|
17
|
+
export type { IBundleComponents } from './bundleUtils';
|
|
18
|
+
export { Model, Convert };
|
|
19
|
+
/** @internal */
|
|
20
|
+
export { BundleNormalizer } from './bundleNormalizer';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,83 @@
|
|
|
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.BundleNormalizer = exports.Convert = exports.Model = exports.BundleUtils = exports.BundleLoader = exports.BundleBuilder = void 0;
|
|
58
|
+
/**
|
|
59
|
+
* Bundle packlet providing functionality for creating and loading resource bundles.
|
|
60
|
+
*
|
|
61
|
+
* Resource bundles encapsulate compiled resources, configuration, and metadata with
|
|
62
|
+
* integrity verification. They provide a portable way to distribute pre-compiled
|
|
63
|
+
* resource collections.
|
|
64
|
+
*
|
|
65
|
+
* @packageDocumentation
|
|
66
|
+
*/
|
|
67
|
+
const Model = __importStar(require("./model"));
|
|
68
|
+
exports.Model = Model;
|
|
69
|
+
const Convert = __importStar(require("./convert"));
|
|
70
|
+
exports.Convert = Convert;
|
|
71
|
+
// Builder and loader classes
|
|
72
|
+
var bundleBuilder_1 = require("./bundleBuilder");
|
|
73
|
+
Object.defineProperty(exports, "BundleBuilder", { enumerable: true, get: function () { return bundleBuilder_1.BundleBuilder; } });
|
|
74
|
+
var bundleLoader_1 = require("./bundleLoader");
|
|
75
|
+
Object.defineProperty(exports, "BundleLoader", { enumerable: true, get: function () { return bundleLoader_1.BundleLoader; } });
|
|
76
|
+
// Utilities
|
|
77
|
+
var bundleUtils_1 = require("./bundleUtils");
|
|
78
|
+
Object.defineProperty(exports, "BundleUtils", { enumerable: true, get: function () { return bundleUtils_1.BundleUtils; } });
|
|
79
|
+
// Internal utilities (not part of public API)
|
|
80
|
+
/** @internal */
|
|
81
|
+
var bundleNormalizer_1 = require("./bundleNormalizer");
|
|
82
|
+
Object.defineProperty(exports, "BundleNormalizer", { enumerable: true, get: function () { return bundleNormalizer_1.BundleNormalizer; } });
|
|
83
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Hash } from '@fgv/ts-utils';
|
|
2
|
+
import { Model as ConfigModel } from '../config';
|
|
3
|
+
import { Compiled as ResourceJsonCompiled } from '../resource-json';
|
|
4
|
+
/**
|
|
5
|
+
* Metadata for a resource bundle, including build information and integrity verification.
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface IBundleMetadata {
|
|
9
|
+
/**
|
|
10
|
+
* ISO timestamp indicating when the bundle was built.
|
|
11
|
+
*/
|
|
12
|
+
dateBuilt: string;
|
|
13
|
+
/**
|
|
14
|
+
* SHA-256 checksum of the serialized compiled resource collection for integrity verification.
|
|
15
|
+
*/
|
|
16
|
+
checksum: string;
|
|
17
|
+
/**
|
|
18
|
+
* Optional version identifier for the bundle.
|
|
19
|
+
*/
|
|
20
|
+
version?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Optional human-readable description of the bundle.
|
|
23
|
+
*/
|
|
24
|
+
description?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Optional export metadata for tracking bundle export information.
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
export interface IBundleExportMetadata {
|
|
31
|
+
/**
|
|
32
|
+
* ISO timestamp indicating when the bundle was exported.
|
|
33
|
+
*/
|
|
34
|
+
exportedAt: string;
|
|
35
|
+
/**
|
|
36
|
+
* Tool or application that exported the bundle.
|
|
37
|
+
*/
|
|
38
|
+
exportedFrom: string;
|
|
39
|
+
/**
|
|
40
|
+
* Type of bundle export (e.g., 'ts-res-bundle', 'ts-res-bundle-filtered').
|
|
41
|
+
*/
|
|
42
|
+
type: string;
|
|
43
|
+
/**
|
|
44
|
+
* Optional filter context if the bundle represents filtered data.
|
|
45
|
+
*/
|
|
46
|
+
filterContext?: Record<string, unknown>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A complete resource bundle that encapsulates built resources, configuration, and metadata.
|
|
50
|
+
* Bundles provide a portable, integrity-verified way to distribute pre-compiled resource collections.
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
export interface IBundle {
|
|
54
|
+
/**
|
|
55
|
+
* Metadata about the bundle including build date and integrity checksum.
|
|
56
|
+
*/
|
|
57
|
+
metadata: IBundleMetadata;
|
|
58
|
+
/**
|
|
59
|
+
* The system configuration that was used to build the resources in this bundle.
|
|
60
|
+
*/
|
|
61
|
+
config: ConfigModel.ISystemConfiguration;
|
|
62
|
+
/**
|
|
63
|
+
* The compiled resource collection containing all resources, conditions, and decisions.
|
|
64
|
+
*/
|
|
65
|
+
compiledCollection: ResourceJsonCompiled.ICompiledResourceCollection;
|
|
66
|
+
/**
|
|
67
|
+
* Optional export metadata for tracking when and how the bundle was exported.
|
|
68
|
+
*/
|
|
69
|
+
exportMetadata?: IBundleExportMetadata;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Optional parameters for bundle creation.
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
export interface IBundleCreateParams {
|
|
76
|
+
/**
|
|
77
|
+
* Optional version identifier to include in the bundle metadata.
|
|
78
|
+
*/
|
|
79
|
+
version?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Optional description to include in the bundle metadata.
|
|
82
|
+
*/
|
|
83
|
+
description?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Optional custom build date. If not provided, the current date will be used.
|
|
86
|
+
*/
|
|
87
|
+
dateBuilt?: string;
|
|
88
|
+
/**
|
|
89
|
+
* Optional hash normalizer for generating checksums. If not provided,
|
|
90
|
+
* a CRC32 normalizer will be used for browser compatibility.
|
|
91
|
+
*/
|
|
92
|
+
hashNormalizer?: Hash.HashingNormalizer;
|
|
93
|
+
/**
|
|
94
|
+
* Whether to normalize the ResourceManagerBuilder before bundle creation.
|
|
95
|
+
* When true, the builder is reconstructed in canonical order to ensure
|
|
96
|
+
* order-independent checksums. Defaults to false for Phase 1 compatibility.
|
|
97
|
+
*/
|
|
98
|
+
normalize?: boolean;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -31,4 +31,11 @@ export declare function joinResourceIds(...ids: (string | undefined)[]): Result<
|
|
|
31
31
|
* @public
|
|
32
32
|
*/
|
|
33
33
|
export declare function joinOptionalResourceIds(...ids: (string | undefined)[]): Result<ResourceId | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the name for a resource ID.
|
|
36
|
+
* @param id - The resource ID to get the name for.
|
|
37
|
+
* @returns The resource name if found, or undefined if not.
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export declare function getNameForResourceId(id: string | undefined): Result<ResourceName>;
|
|
34
41
|
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -24,6 +24,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
24
24
|
exports.splitResourceId = splitResourceId;
|
|
25
25
|
exports.joinResourceIds = joinResourceIds;
|
|
26
26
|
exports.joinOptionalResourceIds = joinOptionalResourceIds;
|
|
27
|
+
exports.getNameForResourceId = getNameForResourceId;
|
|
27
28
|
const ts_utils_1 = require("@fgv/ts-utils");
|
|
28
29
|
const resources_1 = require("../validate/resources");
|
|
29
30
|
/**
|
|
@@ -82,4 +83,15 @@ function joinOptionalResourceIds(...ids) {
|
|
|
82
83
|
const id = parts.join('.');
|
|
83
84
|
return errors.returnOrReport(id ? (0, resources_1.toResourceId)(id) : (0, ts_utils_1.succeed)(undefined));
|
|
84
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Gets the name for a resource ID.
|
|
88
|
+
* @param id - The resource ID to get the name for.
|
|
89
|
+
* @returns The resource name if found, or undefined if not.
|
|
90
|
+
* @public
|
|
91
|
+
*/
|
|
92
|
+
function getNameForResourceId(id) {
|
|
93
|
+
return splitResourceId(id).onSuccess((parts) => {
|
|
94
|
+
return parts.length > 0 ? (0, ts_utils_1.succeed)(parts[parts.length - 1]) : fail('Empty id has no name');
|
|
95
|
+
});
|
|
96
|
+
}
|
|
85
97
|
//# sourceMappingURL=resources.js.map
|
|
@@ -38,4 +38,12 @@ export type ResourceValueMergeMethod = 'augment' | 'delete' | 'replace';
|
|
|
38
38
|
* @public
|
|
39
39
|
*/
|
|
40
40
|
export declare const allResourceValueMergeMethods: ResourceValueMergeMethod[];
|
|
41
|
+
/**
|
|
42
|
+
* The completeness of a resource candidate value. A full value is one that
|
|
43
|
+
* contains all of the required properties for the resource type. A partial
|
|
44
|
+
* value is one that contains some of the required properties for the resource
|
|
45
|
+
* type.
|
|
46
|
+
* @public
|
|
47
|
+
*/
|
|
48
|
+
export type CandidateCompleteness = 'full' | 'partial';
|
|
41
49
|
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -2,6 +2,7 @@ import { Collections, Result } from '@fgv/ts-utils';
|
|
|
2
2
|
import { Condition } from './condition';
|
|
3
3
|
import { ConditionSetIndex, ConditionSetKey, QualifierName } from '../common';
|
|
4
4
|
import { IValidatedConditionSetDecl } from './conditionSetDecls';
|
|
5
|
+
import { ConditionCollector } from './conditionCollector';
|
|
5
6
|
import * as ResourceJson from '../resource-json';
|
|
6
7
|
import * as Context from '../context';
|
|
7
8
|
/**
|
|
@@ -93,6 +94,14 @@ export declare class ConditionSet implements IValidatedConditionSetDecl {
|
|
|
93
94
|
* @public
|
|
94
95
|
*/
|
|
95
96
|
static getKeyForDecl(decl: IValidatedConditionSetDecl): Result<ConditionSetKey>;
|
|
97
|
+
/**
|
|
98
|
+
* Gets a condition set key from a loose condition set declaration.
|
|
99
|
+
* @param conditionSet - The loose condition set declaration to convert.
|
|
100
|
+
* @param conditionCollector - The condition collector used for validation.
|
|
101
|
+
* @returns `Success` with the condition set key if successful, `Failure` otherwise.
|
|
102
|
+
* @public
|
|
103
|
+
*/
|
|
104
|
+
static getKeyFromLooseDecl(conditionSet: ResourceJson.Json.ConditionSetDecl | undefined, conditionCollector: ConditionCollector): Result<ConditionSetKey>;
|
|
96
105
|
/**
|
|
97
106
|
* Gets a {@link ConditionSetToken | condition set token} for this condition set,
|
|
98
107
|
* if possible.
|