@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
|
@@ -7,7 +7,7 @@ import { QualifierType, QualifierTypeCollector } from '../qualifier-types';
|
|
|
7
7
|
import { ResourceId } from '../common';
|
|
8
8
|
import { IResourceManager, IResource } from './iResourceManager';
|
|
9
9
|
import * as ResourceJson from '../resource-json';
|
|
10
|
-
import {
|
|
10
|
+
import { ReadOnlyResourceTreeRoot } from './resource-tree';
|
|
11
11
|
import * as Context from '../context';
|
|
12
12
|
/**
|
|
13
13
|
* Interface for parameters to create a {@link Runtime.CompiledResourceCollection | CompiledResourceCollection}.
|
|
@@ -33,7 +33,7 @@ export interface ICompiledResourceCollectionCreateParams {
|
|
|
33
33
|
* and use pre-compiled resource collections without rebuilding them from scratch.
|
|
34
34
|
* @public
|
|
35
35
|
*/
|
|
36
|
-
export declare class CompiledResourceCollection implements IResourceManager {
|
|
36
|
+
export declare class CompiledResourceCollection implements IResourceManager<IResource> {
|
|
37
37
|
readonly conditions: ReadOnlyConditionCollector;
|
|
38
38
|
readonly conditionSets: ReadOnlyConditionSetCollector;
|
|
39
39
|
readonly decisions: ReadOnlyAbstractDecisionCollector;
|
|
@@ -105,7 +105,7 @@ export declare class CompiledResourceCollection implements IResourceManager {
|
|
|
105
105
|
* @returns Result containing the resource tree root, or failure if tree construction fails
|
|
106
106
|
* @public
|
|
107
107
|
*/
|
|
108
|
-
getBuiltResourceTree(): Result<
|
|
108
|
+
getBuiltResourceTree(): Result<ReadOnlyResourceTreeRoot<IResource>>;
|
|
109
109
|
/**
|
|
110
110
|
* Reconstructs a QualifierTypeCollector from compiled data.
|
|
111
111
|
* @param compiled - The compiled resource collection
|
|
@@ -446,9 +446,16 @@ class CompiledResourceCollection {
|
|
|
446
446
|
continue;
|
|
447
447
|
}
|
|
448
448
|
const concreteDecision = concreteDecisionResult.value;
|
|
449
|
+
const { value: name, message: nameError } = common_1.Helpers.getNameForResourceId(compiledResource.id);
|
|
450
|
+
/* c8 ignore next 4 - defense in depth nearly impossible to reproduce */
|
|
451
|
+
if (nameError !== undefined) {
|
|
452
|
+
errors.addMessage(`Failed to get name for resource ${compiledResource.id}: ${nameError}`);
|
|
453
|
+
continue;
|
|
454
|
+
}
|
|
449
455
|
// Create minimal resource that implements IResource
|
|
450
456
|
const resource = {
|
|
451
457
|
id: compiledResource.id,
|
|
458
|
+
name,
|
|
452
459
|
resourceType,
|
|
453
460
|
decision: concreteDecision,
|
|
454
461
|
candidates
|
|
@@ -3,8 +3,9 @@ import { JsonObject } from '@fgv/ts-json-base';
|
|
|
3
3
|
import { ReadOnlyConditionCollector, ReadOnlyConditionSetCollector } from '../conditions';
|
|
4
4
|
import { ReadOnlyAbstractDecisionCollector, ConcreteDecision } from '../decisions';
|
|
5
5
|
import { ResourceId, ResourceValueMergeMethod } from '../common';
|
|
6
|
-
import {
|
|
6
|
+
import { IResourceType } from '../resource-types';
|
|
7
7
|
import { IContextDecl, IValidatedContextDecl } from '../context';
|
|
8
|
+
import { IReadOnlyResourceTreeRoot } from './resource-tree';
|
|
8
9
|
/**
|
|
9
10
|
* Runtime representation of a resource candidate with the minimal data needed for resolution.
|
|
10
11
|
* @public
|
|
@@ -30,8 +31,10 @@ export interface IResourceCandidate {
|
|
|
30
31
|
export interface IResource {
|
|
31
32
|
/** The resource identifier */
|
|
32
33
|
readonly id: string;
|
|
34
|
+
/** The resource name */
|
|
35
|
+
readonly name: string;
|
|
33
36
|
/** The resource type */
|
|
34
|
-
readonly resourceType:
|
|
37
|
+
readonly resourceType: IResourceType;
|
|
35
38
|
/** The decision used to select candidates */
|
|
36
39
|
readonly decision: ConcreteDecision;
|
|
37
40
|
/** The available candidates for this resource */
|
|
@@ -43,7 +46,7 @@ export interface IResource {
|
|
|
43
46
|
* implementations without requiring the full ResourceManagerBuilder build mechanics.
|
|
44
47
|
* @public
|
|
45
48
|
*/
|
|
46
|
-
export interface IResourceManager {
|
|
49
|
+
export interface IResourceManager<TR extends IResource = IResource> {
|
|
47
50
|
/**
|
|
48
51
|
* A {@link Conditions.ReadOnlyConditionCollector | ReadOnlyConditionCollector} which
|
|
49
52
|
* contains the {@link Conditions.Condition | conditions} used by resource candidates.
|
|
@@ -64,12 +67,17 @@ export interface IResourceManager {
|
|
|
64
67
|
* @param id - The resource identifier
|
|
65
68
|
* @returns Success with the runtime resource if found, Failure otherwise
|
|
66
69
|
*/
|
|
67
|
-
getBuiltResource(id: string): Result<
|
|
70
|
+
getBuiltResource(id: string): Result<TR>;
|
|
71
|
+
/**
|
|
72
|
+
* Gets a resource tree built from the resources in this resource manager.
|
|
73
|
+
* @returns Result containing the resource tree root, or failure if tree construction fails
|
|
74
|
+
*/
|
|
75
|
+
getBuiltResourceTree(): Result<IReadOnlyResourceTreeRoot<TR>>;
|
|
68
76
|
/**
|
|
69
77
|
* A read-only result map of all built resources, keyed by resource ID.
|
|
70
78
|
* Resources are built on-demand when accessed and returns Results for error handling.
|
|
71
79
|
*/
|
|
72
|
-
readonly builtResources: Collections.IReadOnlyValidatingResultMap<ResourceId,
|
|
80
|
+
readonly builtResources: Collections.IReadOnlyValidatingResultMap<ResourceId, TR>;
|
|
73
81
|
/**
|
|
74
82
|
* The number of resources in this resource manager.
|
|
75
83
|
*/
|
|
@@ -14,7 +14,7 @@ import { IReadOnlyResourceTreeBranch, IReadOnlyResourceTreeChildren, IReadOnlyRe
|
|
|
14
14
|
* strongly-typed internal tree operations, ensuring type safety and consistent
|
|
15
15
|
* error handling throughout the resource tree navigation.
|
|
16
16
|
*
|
|
17
|
-
* @
|
|
17
|
+
* @public
|
|
18
18
|
*/
|
|
19
19
|
export declare class ResourceTreeChildrenValidator<T> implements IReadOnlyResourceTreeChildren<T, string, string> {
|
|
20
20
|
private readonly _inner;
|
|
@@ -69,17 +69,17 @@ export declare class ResourceTreeChildrenValidator<T> implements IReadOnlyResour
|
|
|
69
69
|
*/
|
|
70
70
|
forEach(cb: (value: unknown, key: string, map: IReadOnlyResultMap<string, unknown>, thisArg?: unknown) => void, arg?: unknown): void;
|
|
71
71
|
/**
|
|
72
|
-
* Gets a child node by its
|
|
73
|
-
* @param key - The
|
|
72
|
+
* Gets a child node by its string key with detailed error information.
|
|
73
|
+
* @param key - The string key to look up
|
|
74
74
|
* @returns DetailedResult containing the node if found, or failure with details
|
|
75
75
|
*/
|
|
76
|
-
get(key:
|
|
76
|
+
get(key: string): DetailedResult<IReadOnlyResourceTreeNode<T>, Collections.ResultMapResultDetail>;
|
|
77
77
|
/**
|
|
78
|
-
* Checks if a child node exists at the given
|
|
79
|
-
* @param key - The
|
|
78
|
+
* Checks if a child node exists at the given string key.
|
|
79
|
+
* @param key - The string key to check
|
|
80
80
|
* @returns True if a child node exists at the key, false otherwise
|
|
81
81
|
*/
|
|
82
|
-
has(key:
|
|
82
|
+
has(key: string): boolean;
|
|
83
83
|
/**
|
|
84
84
|
* Returns an iterator of ResourceName keys for all child nodes.
|
|
85
85
|
* @returns Map iterator for all child node keys
|
|
@@ -37,7 +37,7 @@ const ts_utils_1 = require("@fgv/ts-utils");
|
|
|
37
37
|
* strongly-typed internal tree operations, ensuring type safety and consistent
|
|
38
38
|
* error handling throughout the resource tree navigation.
|
|
39
39
|
*
|
|
40
|
-
* @
|
|
40
|
+
* @public
|
|
41
41
|
*/
|
|
42
42
|
class ResourceTreeChildrenValidator {
|
|
43
43
|
/**
|
|
@@ -121,8 +121,8 @@ class ResourceTreeChildrenValidator {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
|
-
* Gets a child node by its
|
|
125
|
-
* @param key - The
|
|
124
|
+
* Gets a child node by its string key with detailed error information.
|
|
125
|
+
* @param key - The string key to look up
|
|
126
126
|
* @returns DetailedResult containing the node if found, or failure with details
|
|
127
127
|
*/
|
|
128
128
|
get(key) {
|
|
@@ -132,8 +132,8 @@ class ResourceTreeChildrenValidator {
|
|
|
132
132
|
return (0, ts_utils_1.failWithDetail)(`${key}: invalid resource name.`, 'invalid-key');
|
|
133
133
|
}
|
|
134
134
|
/**
|
|
135
|
-
* Checks if a child node exists at the given
|
|
136
|
-
* @param key - The
|
|
135
|
+
* Checks if a child node exists at the given string key.
|
|
136
|
+
* @param key - The string key to check
|
|
137
137
|
* @returns True if a child node exists at the key, false otherwise
|
|
138
138
|
*/
|
|
139
139
|
has(key) {
|
|
@@ -20,6 +20,19 @@ export type DecisionResolutionResult = {
|
|
|
20
20
|
instanceIndices: ReadonlyArray<number>;
|
|
21
21
|
defaultInstanceIndices: ReadonlyArray<number>;
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Options for configuring a {@link Runtime.ResourceResolver | ResourceResolver}.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export interface IResourceResolverOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Controls whether null values in resource composition should suppress properties
|
|
30
|
+
* instead of setting them to null. When true, properties with null values from
|
|
31
|
+
* higher-priority partial candidates will be omitted from the final composed resource.
|
|
32
|
+
* @defaultValue false
|
|
33
|
+
*/
|
|
34
|
+
suppressNullAsDelete?: boolean;
|
|
35
|
+
}
|
|
23
36
|
/**
|
|
24
37
|
* Parameters for creating a {@link Runtime.ResourceResolver | ResourceResolver}.
|
|
25
38
|
* @public
|
|
@@ -44,6 +57,10 @@ export interface IResourceResolverCreateParams {
|
|
|
44
57
|
* An optional listener for {@link Runtime.ResourceResolver | ResourceResolver} cache activity.
|
|
45
58
|
*/
|
|
46
59
|
listener?: IResourceResolverCacheListener;
|
|
60
|
+
/**
|
|
61
|
+
* Optional configuration options for the {@link Runtime.ResourceResolver | ResourceResolver}.
|
|
62
|
+
*/
|
|
63
|
+
options?: IResourceResolverOptions;
|
|
47
64
|
}
|
|
48
65
|
/**
|
|
49
66
|
* High-performance runtime resource resolver with O(1) condition caching.
|
|
@@ -64,6 +81,10 @@ export declare class ResourceResolver {
|
|
|
64
81
|
* The context qualifier provider that resolves qualifier values.
|
|
65
82
|
*/
|
|
66
83
|
readonly contextQualifierProvider: IContextQualifierProvider;
|
|
84
|
+
/**
|
|
85
|
+
* The configuration options for this resource resolver.
|
|
86
|
+
*/
|
|
87
|
+
readonly options: IResourceResolverOptions;
|
|
67
88
|
/**
|
|
68
89
|
* The cache array for resolved conditions, indexed by condition index for O(1) lookup.
|
|
69
90
|
* Each entry stores the resolved {@link Runtime.IConditionMatchResult | condition match result} for
|
|
@@ -61,9 +61,13 @@ class ResourceResolver {
|
|
|
61
61
|
* @param params - {@link Runtime.IResourceResolverCreateParams | Parameters} used to create the resolver.
|
|
62
62
|
*/
|
|
63
63
|
constructor(params) {
|
|
64
|
+
var _a, _b;
|
|
64
65
|
this.resourceManager = params.resourceManager;
|
|
65
66
|
this.qualifierTypes = params.qualifierTypes;
|
|
66
67
|
this.contextQualifierProvider = params.contextQualifierProvider;
|
|
68
|
+
this.options = {
|
|
69
|
+
suppressNullAsDelete: (_b = (_a = params.options) === null || _a === void 0 ? void 0 : _a.suppressNullAsDelete) !== null && _b !== void 0 ? _b : false
|
|
70
|
+
};
|
|
67
71
|
// Initialize condition cache array with size matching the condition collector
|
|
68
72
|
const conditionCollectorSize = this.resourceManager.conditions.size;
|
|
69
73
|
this._conditionCache = new Array(conditionCollectorSize);
|
|
@@ -94,7 +98,7 @@ class ResourceResolver {
|
|
|
94
98
|
* @public
|
|
95
99
|
*/
|
|
96
100
|
resolveCondition(condition) {
|
|
97
|
-
var _a, _b, _c
|
|
101
|
+
var _a, _b, _c;
|
|
98
102
|
// Get the condition's index for cache lookup
|
|
99
103
|
const conditionIndex = condition.index;
|
|
100
104
|
if (conditionIndex === undefined) {
|
|
@@ -107,16 +111,20 @@ class ResourceResolver {
|
|
|
107
111
|
return (0, ts_utils_1.succeed)(cachedResult);
|
|
108
112
|
}
|
|
109
113
|
// Resolve the condition by getting qualifier value and evaluating with qualifier type
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
const score = this.contextQualifierProvider
|
|
115
|
+
.get(condition.qualifier)
|
|
116
|
+
.onSuccess((qualifierValue) => {
|
|
117
|
+
// Evaluate the condition using the qualifier type's matching logic
|
|
118
|
+
return (0, ts_utils_1.succeed)(condition.qualifier.type.matches(condition.value, qualifierValue, condition.operator));
|
|
119
|
+
})
|
|
120
|
+
.onFailure((err) => {
|
|
121
|
+
var _a;
|
|
122
|
+
(_a = this._listener) === null || _a === void 0 ? void 0 : _a.onContextError(condition.qualifier.name, err);
|
|
123
|
+
return (0, ts_utils_1.fail)(err);
|
|
124
|
+
})
|
|
125
|
+
.orDefault(common_1.NoMatch);
|
|
118
126
|
const priority = condition.priority;
|
|
119
|
-
const scoreAsDefault = (
|
|
127
|
+
const scoreAsDefault = (_b = condition.scoreAsDefault) !== null && _b !== void 0 ? _b : common_1.NoMatch;
|
|
120
128
|
const matchResult = score > common_1.NoMatch
|
|
121
129
|
? { score, priority, matchType: 'match' }
|
|
122
130
|
: scoreAsDefault > common_1.NoMatch
|
|
@@ -124,7 +132,7 @@ class ResourceResolver {
|
|
|
124
132
|
: { score: common_1.NoMatch, priority, matchType: 'noMatch' };
|
|
125
133
|
// Cache the resolved value for future O(1) lookup
|
|
126
134
|
this._conditionCache[conditionIndex] = matchResult;
|
|
127
|
-
(
|
|
135
|
+
(_c = this._listener) === null || _c === void 0 ? void 0 : _c.onCacheMiss('condition', conditionIndex);
|
|
128
136
|
return (0, ts_utils_1.succeed)(matchResult);
|
|
129
137
|
}
|
|
130
138
|
/**
|
|
@@ -153,8 +161,8 @@ class ResourceResolver {
|
|
|
153
161
|
let matchType = 'match';
|
|
154
162
|
for (const condition of conditionSet.conditions) {
|
|
155
163
|
const { value: conditionResult, message: conditionMessage } = this.resolveCondition(condition);
|
|
164
|
+
/* c8 ignore next 4 - defensive coding: extreme internal error scenario not reachable in normal operation */
|
|
156
165
|
if (conditionMessage !== undefined) {
|
|
157
|
-
/* c8 ignore next 2 - defensive coding: extreme internal error scenario not reachable in normal operation */
|
|
158
166
|
(_b = this._listener) === null || _b === void 0 ? void 0 : _b.onCacheError('conditionSet', conditionSetIndex);
|
|
159
167
|
return (0, ts_utils_1.fail)(`Failed to resolve condition "${condition.key}": ${conditionMessage}`);
|
|
160
168
|
}
|
|
@@ -223,8 +231,8 @@ class ResourceResolver {
|
|
|
223
231
|
for (let instanceIndex = 0; instanceIndex < decision.candidates.length; instanceIndex++) {
|
|
224
232
|
const candidate = decision.candidates[instanceIndex];
|
|
225
233
|
const conditionSetResult = this.resolveConditionSet(candidate.conditionSet);
|
|
234
|
+
/* c8 ignore next 4 - defensive coding: extreme internal error scenario not reachable in normal operation */
|
|
226
235
|
if (conditionSetResult.isFailure()) {
|
|
227
|
-
/* c8 ignore next 2 - defensive coding: extreme internal error scenario not reachable in normal operation */
|
|
228
236
|
(_b = this._listener) === null || _b === void 0 ? void 0 : _b.onCacheError('decision', decisionIndex);
|
|
229
237
|
return (0, ts_utils_1.fail)(`${decision.key}: Failed to resolve condition set": ${conditionSetResult.message}`);
|
|
230
238
|
}
|
|
@@ -370,9 +378,22 @@ class ResourceResolver {
|
|
|
370
378
|
// If no full candidate found, use the last candidate as the base
|
|
371
379
|
const baseCandidateIndex = fullCandidateIndex >= 0 ? fullCandidateIndex : candidates.length - 1;
|
|
372
380
|
const baseCandidate = candidates[baseCandidateIndex];
|
|
373
|
-
// If there are no partial candidates to merge,
|
|
381
|
+
// If there are no partial candidates to merge, but null-as-delete is enabled,
|
|
382
|
+
// still process through JsonEditor to handle null properties in the base candidate
|
|
374
383
|
if (partialCandidates.length === 0) {
|
|
375
|
-
|
|
384
|
+
if (this.options.suppressNullAsDelete || !(0, ts_json_base_1.isJsonObject)(baseCandidate.json)) {
|
|
385
|
+
return (0, ts_utils_1.succeed)(baseCandidate.json);
|
|
386
|
+
}
|
|
387
|
+
// Process single candidate through JsonEditor to apply null-as-delete
|
|
388
|
+
const editor = ts_json_1.JsonEditor.create({
|
|
389
|
+
merge: {
|
|
390
|
+
arrayMergeBehavior: 'replace',
|
|
391
|
+
nullAsDelete: true
|
|
392
|
+
}
|
|
393
|
+
}).orThrow(); // Should never fail with valid options
|
|
394
|
+
return editor
|
|
395
|
+
.mergeObjectsInPlace({}, [baseCandidate.json])
|
|
396
|
+
.withErrorFormat((err) => `${resource.id}: Composition failed: ${err}`);
|
|
376
397
|
}
|
|
377
398
|
const allCandidates = [
|
|
378
399
|
baseCandidate.json,
|
|
@@ -382,10 +403,11 @@ class ResourceResolver {
|
|
|
382
403
|
if (allCandidates.length !== partialCandidates.length + 1) {
|
|
383
404
|
return (0, ts_utils_1.fail)(`${resource.id}: Unable to compose non-object candidate values.`);
|
|
384
405
|
}
|
|
385
|
-
// Create JsonEditor with array replacement behavior for resource composition
|
|
406
|
+
// Create JsonEditor with array replacement behavior and null-as-delete for resource composition
|
|
386
407
|
const editor = ts_json_1.JsonEditor.create({
|
|
387
408
|
merge: {
|
|
388
|
-
arrayMergeBehavior: 'replace'
|
|
409
|
+
arrayMergeBehavior: 'replace',
|
|
410
|
+
nullAsDelete: !this.options.suppressNullAsDelete
|
|
389
411
|
}
|
|
390
412
|
}).orThrow(); // Should never fail with valid options
|
|
391
413
|
return editor
|
|
@@ -42,6 +42,7 @@ exports.resourceCandidate = ts_utils_1.Validators.object({
|
|
|
42
42
|
*/
|
|
43
43
|
exports.resource = ts_utils_1.Validators.object({
|
|
44
44
|
id: ts_utils_1.Validators.isA('ResourceId', (v) => typeof v === 'string' && common_1.Validate.isValidResourceId(v)),
|
|
45
|
+
name: ts_utils_1.Validators.isA('ResourceName', (v) => typeof v === 'string' && common_1.Validate.isValidResourceName(v)),
|
|
45
46
|
resourceType: ts_utils_1.Validators.isA('ResourceType instance', (v) => v instanceof resource_types_1.ResourceType),
|
|
46
47
|
decision: ts_utils_1.Validators.isA('ConcreteDecision instance', (v) => v instanceof decisions_1.ConcreteDecision),
|
|
47
48
|
candidates: ts_utils_1.Validators.arrayOf(exports.resourceCandidate)
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Validator, Converter } from '@fgv/ts-utils';
|
|
2
|
+
import * as Json from './json';
|
|
3
|
+
import { Model as ConfigModel } from '../config';
|
|
4
|
+
/**
|
|
5
|
+
* Validator for ZIP archive input type
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export declare const zipArchiveInputType: Validator<'file' | 'directory'>;
|
|
9
|
+
/**
|
|
10
|
+
* Validator for ZIP archive config type
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare const zipArchiveConfigType: Validator<'file'>;
|
|
14
|
+
/**
|
|
15
|
+
* Validator for ZIP archive input information
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export declare const zipArchiveInputInfo: Validator<Json.IZipArchiveInputInfo>;
|
|
19
|
+
/**
|
|
20
|
+
* Validator for ZIP archive config information
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export declare const zipArchiveConfigInfo: Validator<Json.IZipArchiveConfigInfo>;
|
|
24
|
+
/**
|
|
25
|
+
* Validator for ZIP archive manifest
|
|
26
|
+
* Compatible with existing tools from ts-res-browser-cli
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export declare const zipArchiveManifest: Validator<Json.IZipArchiveManifest>;
|
|
30
|
+
/**
|
|
31
|
+
* Validator for MIME type strings
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
export declare const mimeType: Validator<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Converter for imported file
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export declare const importedFile: Converter<Json.IImportedFile>;
|
|
40
|
+
/**
|
|
41
|
+
* Converter for imported directory structure (recursive)
|
|
42
|
+
* Note: Uses Converter pattern because Validators don't support recursion with self parameter
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export declare const importedDirectory: Converter<Json.IImportedDirectory>;
|
|
46
|
+
/**
|
|
47
|
+
* Validator for system configuration (delegates to config packlet)
|
|
48
|
+
* This validates that the parsed JSON conforms to the system configuration schema
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
export declare const systemConfiguration: Validator<ConfigModel.ISystemConfiguration>;
|
|
52
|
+
//# sourceMappingURL=convert.d.ts.map
|
|
@@ -0,0 +1,104 @@
|
|
|
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.systemConfiguration = exports.importedDirectory = exports.importedFile = exports.mimeType = exports.zipArchiveManifest = exports.zipArchiveConfigInfo = exports.zipArchiveInputInfo = exports.zipArchiveConfigType = exports.zipArchiveInputType = void 0;
|
|
25
|
+
/* eslint-disable @rushstack/typedef-var */
|
|
26
|
+
const ts_utils_1 = require("@fgv/ts-utils");
|
|
27
|
+
const config_1 = require("../config");
|
|
28
|
+
/**
|
|
29
|
+
* Validator for ZIP archive input type
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
exports.zipArchiveInputType = ts_utils_1.Validators.enumeratedValue([
|
|
33
|
+
'file',
|
|
34
|
+
'directory'
|
|
35
|
+
]);
|
|
36
|
+
/**
|
|
37
|
+
* Validator for ZIP archive config type
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
exports.zipArchiveConfigType = ts_utils_1.Validators.enumeratedValue(['file']);
|
|
41
|
+
/**
|
|
42
|
+
* Validator for ZIP archive input information
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
exports.zipArchiveInputInfo = ts_utils_1.Validators.object({
|
|
46
|
+
type: exports.zipArchiveInputType,
|
|
47
|
+
originalPath: ts_utils_1.Validators.string,
|
|
48
|
+
archivePath: ts_utils_1.Validators.string
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Validator for ZIP archive config information
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
exports.zipArchiveConfigInfo = ts_utils_1.Validators.object({
|
|
55
|
+
type: exports.zipArchiveConfigType,
|
|
56
|
+
originalPath: ts_utils_1.Validators.string,
|
|
57
|
+
archivePath: ts_utils_1.Validators.string
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* Validator for ZIP archive manifest
|
|
61
|
+
* Compatible with existing tools from ts-res-browser-cli
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
exports.zipArchiveManifest = ts_utils_1.Validators.object({
|
|
65
|
+
timestamp: ts_utils_1.Validators.string,
|
|
66
|
+
input: exports.zipArchiveInputInfo.optional(),
|
|
67
|
+
config: exports.zipArchiveConfigInfo.optional()
|
|
68
|
+
});
|
|
69
|
+
/**
|
|
70
|
+
* Validator for MIME type strings
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
exports.mimeType = ts_utils_1.Validators.string;
|
|
74
|
+
/**
|
|
75
|
+
* Converter for imported file
|
|
76
|
+
* @public
|
|
77
|
+
*/
|
|
78
|
+
exports.importedFile = ts_utils_1.Converters.strictObject({
|
|
79
|
+
name: ts_utils_1.Converters.string,
|
|
80
|
+
path: ts_utils_1.Converters.string,
|
|
81
|
+
content: ts_utils_1.Converters.string,
|
|
82
|
+
type: ts_utils_1.Converters.string // MIME type as string
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* Converter for imported directory structure (recursive)
|
|
86
|
+
* Note: Uses Converter pattern because Validators don't support recursion with self parameter
|
|
87
|
+
* @public
|
|
88
|
+
*/
|
|
89
|
+
exports.importedDirectory = ts_utils_1.Converters.generic((from, self, context) => {
|
|
90
|
+
return ts_utils_1.Converters.strictObject({
|
|
91
|
+
name: ts_utils_1.Converters.string,
|
|
92
|
+
files: ts_utils_1.Converters.arrayOf(exports.importedFile),
|
|
93
|
+
subdirectories: ts_utils_1.Converters.arrayOf(self)
|
|
94
|
+
}).convert(from, context);
|
|
95
|
+
});
|
|
96
|
+
/**
|
|
97
|
+
* Validator for system configuration (delegates to config packlet)
|
|
98
|
+
* This validates that the parsed JSON conforms to the system configuration schema
|
|
99
|
+
* @public
|
|
100
|
+
*/
|
|
101
|
+
exports.systemConfiguration = ts_utils_1.Validators.isA('system configuration', (value) => {
|
|
102
|
+
return config_1.Convert.systemConfiguration.convert(value).isSuccess();
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ZIP archive functionality for ts-res source file archives
|
|
3
|
+
*
|
|
4
|
+
* This packlet provides consolidated ZIP archive creation and loading functionality
|
|
5
|
+
* for source files, compatible with existing tools while using fflate for
|
|
6
|
+
* universal browser compatibility.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* ZIP archives contain source files for resource ingestion with directory
|
|
10
|
+
* structure preserved and optional validation but no processing or transformation.
|
|
11
|
+
* This is distinct from ZIP bundles which contain processed resource output.
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*/
|
|
15
|
+
import * as Json from './json';
|
|
16
|
+
import * as Convert from './convert';
|
|
17
|
+
export { Json, Convert };
|
|
18
|
+
export { ZipArchiveCreator } from './zipArchiveCreator';
|
|
19
|
+
export { ZipArchiveLoader } from './zipArchiveLoader';
|
|
20
|
+
export type { IZipArchivePathOptions, IZipArchiveFileTreeOptions, ZipArchiveOptions, IZipArchiveResult, IZipArchiveManifest, IZipArchiveLoadOptions, IZipArchiveLoadResult, IImportedFile, IImportedDirectory, ZipArchiveProgressCallback } from './types';
|
|
21
|
+
export { createZipArchiveManifest, parseZipArchiveManifest, validateZipArchiveManifest, parseZipArchiveConfiguration, generateZipArchiveFilename, normalizePath, getDirectoryName, sanitizeFilename, isZipFile } from './zipArchiveFormat';
|
|
22
|
+
export { ZipArchiveConstants } from './types';
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,95 @@
|
|
|
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.ZipArchiveConstants = exports.isZipFile = exports.sanitizeFilename = exports.getDirectoryName = exports.normalizePath = exports.generateZipArchiveFilename = exports.parseZipArchiveConfiguration = exports.validateZipArchiveManifest = exports.parseZipArchiveManifest = exports.createZipArchiveManifest = exports.ZipArchiveLoader = exports.ZipArchiveCreator = exports.Convert = exports.Json = void 0;
|
|
58
|
+
/**
|
|
59
|
+
* ZIP archive functionality for ts-res source file archives
|
|
60
|
+
*
|
|
61
|
+
* This packlet provides consolidated ZIP archive creation and loading functionality
|
|
62
|
+
* for source files, compatible with existing tools while using fflate for
|
|
63
|
+
* universal browser compatibility.
|
|
64
|
+
*
|
|
65
|
+
* @remarks
|
|
66
|
+
* ZIP archives contain source files for resource ingestion with directory
|
|
67
|
+
* structure preserved and optional validation but no processing or transformation.
|
|
68
|
+
* This is distinct from ZIP bundles which contain processed resource output.
|
|
69
|
+
*
|
|
70
|
+
* @packageDocumentation
|
|
71
|
+
*/
|
|
72
|
+
const Json = __importStar(require("./json"));
|
|
73
|
+
exports.Json = Json;
|
|
74
|
+
const Convert = __importStar(require("./convert"));
|
|
75
|
+
exports.Convert = Convert;
|
|
76
|
+
// Core classes
|
|
77
|
+
var zipArchiveCreator_1 = require("./zipArchiveCreator");
|
|
78
|
+
Object.defineProperty(exports, "ZipArchiveCreator", { enumerable: true, get: function () { return zipArchiveCreator_1.ZipArchiveCreator; } });
|
|
79
|
+
var zipArchiveLoader_1 = require("./zipArchiveLoader");
|
|
80
|
+
Object.defineProperty(exports, "ZipArchiveLoader", { enumerable: true, get: function () { return zipArchiveLoader_1.ZipArchiveLoader; } });
|
|
81
|
+
// Format utilities
|
|
82
|
+
var zipArchiveFormat_1 = require("./zipArchiveFormat");
|
|
83
|
+
Object.defineProperty(exports, "createZipArchiveManifest", { enumerable: true, get: function () { return zipArchiveFormat_1.createZipArchiveManifest; } });
|
|
84
|
+
Object.defineProperty(exports, "parseZipArchiveManifest", { enumerable: true, get: function () { return zipArchiveFormat_1.parseZipArchiveManifest; } });
|
|
85
|
+
Object.defineProperty(exports, "validateZipArchiveManifest", { enumerable: true, get: function () { return zipArchiveFormat_1.validateZipArchiveManifest; } });
|
|
86
|
+
Object.defineProperty(exports, "parseZipArchiveConfiguration", { enumerable: true, get: function () { return zipArchiveFormat_1.parseZipArchiveConfiguration; } });
|
|
87
|
+
Object.defineProperty(exports, "generateZipArchiveFilename", { enumerable: true, get: function () { return zipArchiveFormat_1.generateZipArchiveFilename; } });
|
|
88
|
+
Object.defineProperty(exports, "normalizePath", { enumerable: true, get: function () { return zipArchiveFormat_1.normalizePath; } });
|
|
89
|
+
Object.defineProperty(exports, "getDirectoryName", { enumerable: true, get: function () { return zipArchiveFormat_1.getDirectoryName; } });
|
|
90
|
+
Object.defineProperty(exports, "sanitizeFilename", { enumerable: true, get: function () { return zipArchiveFormat_1.sanitizeFilename; } });
|
|
91
|
+
Object.defineProperty(exports, "isZipFile", { enumerable: true, get: function () { return zipArchiveFormat_1.isZipFile; } });
|
|
92
|
+
// Constants
|
|
93
|
+
var types_1 = require("./types");
|
|
94
|
+
Object.defineProperty(exports, "ZipArchiveConstants", { enumerable: true, get: function () { return types_1.ZipArchiveConstants; } });
|
|
95
|
+
//# sourceMappingURL=index.js.map
|