@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,87 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Erik Fortune
|
|
3
|
+
*
|
|
4
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
* in the Software without restriction, including without limitation the rights
|
|
7
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
* furnished to do so, subject to the following conditions:
|
|
10
|
+
*
|
|
11
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
* copies or substantial portions of the Software.
|
|
13
|
+
*
|
|
14
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
* SOFTWARE.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import { Converter, Converters } from '@fgv/ts-utils';
|
|
24
|
+
import { Converters as JsonConverters } from '@fgv/ts-json-base';
|
|
25
|
+
import { Convert as ConfigConvert } from '../config';
|
|
26
|
+
import { Compiled as ResourceJsonCompiled } from '../resource-json';
|
|
27
|
+
import { IBundleMetadata, IBundleExportMetadata, IBundle, IBundleCreateParams } from './model';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* `Converter` for a {@link Bundle.IBundleMetadata | bundle metadata} object.
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
export const bundleMetadata: Converter<IBundleMetadata> = Converters.strictObject<IBundleMetadata>({
|
|
34
|
+
dateBuilt: Converters.string,
|
|
35
|
+
checksum: Converters.string,
|
|
36
|
+
version: Converters.string.optional(),
|
|
37
|
+
description: Converters.string.optional()
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* `Converter` for {@link Bundle.IBundleExportMetadata | bundle export metadata}.
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export const bundleExportMetadata: Converter<IBundleExportMetadata> =
|
|
45
|
+
Converters.strictObject<IBundleExportMetadata>({
|
|
46
|
+
exportedAt: Converters.string,
|
|
47
|
+
exportedFrom: Converters.string,
|
|
48
|
+
type: Converters.string,
|
|
49
|
+
filterContext: JsonConverters.jsonObject.optional()
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* `Converter` for a {@link Bundle.IBundle | bundle} object.
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
export const bundle: Converter<IBundle> = Converters.strictObject<IBundle>({
|
|
57
|
+
metadata: bundleMetadata,
|
|
58
|
+
config: ConfigConvert.systemConfiguration,
|
|
59
|
+
compiledCollection: ResourceJsonCompiled.Convert.compiledResourceCollection,
|
|
60
|
+
exportMetadata: bundleExportMetadata.optional()
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* `Converter` for {@link Bundle.IBundleCreateParams | bundle creation parameters}.
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export const bundleCreateParams: Converter<IBundleCreateParams> =
|
|
68
|
+
Converters.strictObject<IBundleCreateParams>({
|
|
69
|
+
version: Converters.string.optional(),
|
|
70
|
+
description: Converters.string.optional(),
|
|
71
|
+
dateBuilt: Converters.string.optional()
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Lightweight converter for bundle structure validation without full processing.
|
|
76
|
+
* Useful for detecting bundle files without the overhead of full validation.
|
|
77
|
+
* @public
|
|
78
|
+
*/
|
|
79
|
+
export const bundleStructure: Converter<{
|
|
80
|
+
metadata: IBundleMetadata;
|
|
81
|
+
config: unknown;
|
|
82
|
+
compiledCollection: unknown;
|
|
83
|
+
}> = Converters.strictObject({
|
|
84
|
+
metadata: bundleMetadata,
|
|
85
|
+
config: JsonConverters.jsonValue,
|
|
86
|
+
compiledCollection: JsonConverters.jsonValue
|
|
87
|
+
});
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Erik Fortune
|
|
3
|
+
*
|
|
4
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
* in the Software without restriction, including without limitation the rights
|
|
7
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
* furnished to do so, subject to the following conditions:
|
|
10
|
+
*
|
|
11
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
* copies or substantial portions of the Software.
|
|
13
|
+
*
|
|
14
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
* SOFTWARE.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Bundle packlet providing functionality for creating and loading resource bundles.
|
|
25
|
+
*
|
|
26
|
+
* Resource bundles encapsulate compiled resources, configuration, and metadata with
|
|
27
|
+
* integrity verification. They provide a portable way to distribute pre-compiled
|
|
28
|
+
* resource collections.
|
|
29
|
+
*
|
|
30
|
+
* @packageDocumentation
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
import * as Model from './model';
|
|
34
|
+
import * as Convert from './convert';
|
|
35
|
+
|
|
36
|
+
// Model interfaces
|
|
37
|
+
export type { IBundleMetadata, IBundleExportMetadata, IBundle, IBundleCreateParams } from './model';
|
|
38
|
+
|
|
39
|
+
// Builder and loader classes
|
|
40
|
+
export { BundleBuilder } from './bundleBuilder';
|
|
41
|
+
export { BundleLoader } from './bundleLoader';
|
|
42
|
+
export type { IBundleLoaderCreateParams } from './bundleLoader';
|
|
43
|
+
|
|
44
|
+
// Utilities
|
|
45
|
+
export { BundleUtils } from './bundleUtils';
|
|
46
|
+
export type { IBundleComponents } from './bundleUtils';
|
|
47
|
+
|
|
48
|
+
export { Model, Convert };
|
|
49
|
+
|
|
50
|
+
// Internal utilities (not part of public API)
|
|
51
|
+
/** @internal */
|
|
52
|
+
export { BundleNormalizer } from './bundleNormalizer';
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Erik Fortune
|
|
3
|
+
*
|
|
4
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
* in the Software without restriction, including without limitation the rights
|
|
7
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
* furnished to do so, subject to the following conditions:
|
|
10
|
+
*
|
|
11
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
* copies or substantial portions of the Software.
|
|
13
|
+
*
|
|
14
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
* SOFTWARE.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import { Hash } from '@fgv/ts-utils';
|
|
24
|
+
import { Model as ConfigModel } from '../config';
|
|
25
|
+
import { Compiled as ResourceJsonCompiled } from '../resource-json';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Metadata for a resource bundle, including build information and integrity verification.
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export interface IBundleMetadata {
|
|
32
|
+
/**
|
|
33
|
+
* ISO timestamp indicating when the bundle was built.
|
|
34
|
+
*/
|
|
35
|
+
dateBuilt: string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* SHA-256 checksum of the serialized compiled resource collection for integrity verification.
|
|
39
|
+
*/
|
|
40
|
+
checksum: string;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Optional version identifier for the bundle.
|
|
44
|
+
*/
|
|
45
|
+
version?: string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Optional human-readable description of the bundle.
|
|
49
|
+
*/
|
|
50
|
+
description?: string;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Optional export metadata for tracking bundle export information.
|
|
55
|
+
* @public
|
|
56
|
+
*/
|
|
57
|
+
export interface IBundleExportMetadata {
|
|
58
|
+
/**
|
|
59
|
+
* ISO timestamp indicating when the bundle was exported.
|
|
60
|
+
*/
|
|
61
|
+
exportedAt: string;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Tool or application that exported the bundle.
|
|
65
|
+
*/
|
|
66
|
+
exportedFrom: string;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Type of bundle export (e.g., 'ts-res-bundle', 'ts-res-bundle-filtered').
|
|
70
|
+
*/
|
|
71
|
+
type: string;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Optional filter context if the bundle represents filtered data.
|
|
75
|
+
*/
|
|
76
|
+
filterContext?: Record<string, unknown>;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* A complete resource bundle that encapsulates built resources, configuration, and metadata.
|
|
81
|
+
* Bundles provide a portable, integrity-verified way to distribute pre-compiled resource collections.
|
|
82
|
+
* @public
|
|
83
|
+
*/
|
|
84
|
+
export interface IBundle {
|
|
85
|
+
/**
|
|
86
|
+
* Metadata about the bundle including build date and integrity checksum.
|
|
87
|
+
*/
|
|
88
|
+
metadata: IBundleMetadata;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* The system configuration that was used to build the resources in this bundle.
|
|
92
|
+
*/
|
|
93
|
+
config: ConfigModel.ISystemConfiguration;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* The compiled resource collection containing all resources, conditions, and decisions.
|
|
97
|
+
*/
|
|
98
|
+
compiledCollection: ResourceJsonCompiled.ICompiledResourceCollection;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Optional export metadata for tracking when and how the bundle was exported.
|
|
102
|
+
*/
|
|
103
|
+
exportMetadata?: IBundleExportMetadata;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Optional parameters for bundle creation.
|
|
108
|
+
* @public
|
|
109
|
+
*/
|
|
110
|
+
export interface IBundleCreateParams {
|
|
111
|
+
/**
|
|
112
|
+
* Optional version identifier to include in the bundle metadata.
|
|
113
|
+
*/
|
|
114
|
+
version?: string;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Optional description to include in the bundle metadata.
|
|
118
|
+
*/
|
|
119
|
+
description?: string;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Optional custom build date. If not provided, the current date will be used.
|
|
123
|
+
*/
|
|
124
|
+
dateBuilt?: string;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Optional hash normalizer for generating checksums. If not provided,
|
|
128
|
+
* a CRC32 normalizer will be used for browser compatibility.
|
|
129
|
+
*/
|
|
130
|
+
hashNormalizer?: Hash.HashingNormalizer;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Whether to normalize the ResourceManagerBuilder before bundle creation.
|
|
134
|
+
* When true, the builder is reconstructed in canonical order to ensure
|
|
135
|
+
* order-independent checksums. Defaults to false for Phase 1 compatibility.
|
|
136
|
+
*/
|
|
137
|
+
normalize?: boolean;
|
|
138
|
+
}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Erik Fortune
|
|
3
|
+
*
|
|
4
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
* in the Software without restriction, including without limitation the rights
|
|
7
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
* furnished to do so, subject to the following conditions:
|
|
10
|
+
*
|
|
11
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
* copies or substantial portions of the Software.
|
|
13
|
+
*
|
|
14
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
* SOFTWARE.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import { Brand } from '@fgv/ts-utils';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Branded string representing a validated qualifier name.
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export type QualifierName = Brand<string, 'QualifierName'>;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Branded number representing a validated qualifier index.
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
export type QualifierIndex = Brand<number, 'QualifierIndex'>;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Branded string representing a validated qualifier type name.
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
export type QualifierTypeName = Brand<string, 'QualifierTypeName'>;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Branded number representing a validated qualifier type index.
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
export type QualifierTypeIndex = Brand<number, 'QualifierTypeIndex'>;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Branded type for a validated qualifier condition value - i.e. a value
|
|
51
|
+
* that has been determined to be valid for use in a condition attached
|
|
52
|
+
* to some resource.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* For a language qualifier type, it is likely that a single language
|
|
56
|
+
* tag can be used for either a condition or a context value. However,
|
|
57
|
+
* a list of languages would likely only be valid as a context value.
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
export type QualifierConditionValue = Brand<string, 'QualifierConditionValue'>;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Branded type for a validated qualifier context value - i.e. a value
|
|
64
|
+
* that has been determined to be valid for use in some runtime context.
|
|
65
|
+
* @example
|
|
66
|
+
* For a language qualifier type, it is likely that a single language
|
|
67
|
+
* tag can be used for either a condition or a context value. However,
|
|
68
|
+
* a list of languages would likely only be valid as a context value.
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
export type QualifierContextValue = Brand<string, 'QualifierContextValue'>;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Branded number representing a score in the range 0.0 (no match) .. 1.0 (perfect match)
|
|
75
|
+
* which results from evaluating some condition.
|
|
76
|
+
* @public
|
|
77
|
+
*/
|
|
78
|
+
export type QualifierMatchScore = Brand<number, 'QualifierMatchScore'>;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* {@link QualifierMatchScore | Match score} indicating no match.
|
|
82
|
+
* @public
|
|
83
|
+
*/
|
|
84
|
+
export const NoMatch: QualifierMatchScore = 0.0 as QualifierMatchScore;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* {@link QualifierMatchScore | Match score} indicating a perfect match.
|
|
88
|
+
* @public
|
|
89
|
+
*/
|
|
90
|
+
export const PerfectMatch: QualifierMatchScore = 1.0 as QualifierMatchScore;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Branded number representing a validated condition priority.
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
export type ConditionPriority = Brand<number, 'ConditionPriority'>;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Minimum valid priority for a condition.
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
102
|
+
export const MinConditionPriority: ConditionPriority = 0 as ConditionPriority;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Maximum valid priority for a condition.
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
export const MaxConditionPriority: ConditionPriority = 1000 as ConditionPriority;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Condition operators for use in conditions.
|
|
112
|
+
* @public
|
|
113
|
+
*/
|
|
114
|
+
export type ConditionOperator = 'always' | 'never' | 'matches';
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Array of all valid condition operators.
|
|
118
|
+
* @public
|
|
119
|
+
*/
|
|
120
|
+
export const allConditionOperators: ConditionOperator[] = ['always', 'never', 'matches'];
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Branded number representing a validated condition index.
|
|
124
|
+
* @public
|
|
125
|
+
*/
|
|
126
|
+
export type ConditionIndex = Brand<number, 'ConditionIndex'>;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* A branded string representing a validated condition key. A condition key is a
|
|
130
|
+
* string value which fully describes the condition apart from index. The condition
|
|
131
|
+
* key can be used to quickly determine if two conditions are identical apart from
|
|
132
|
+
* index, or for inspection.
|
|
133
|
+
* @public
|
|
134
|
+
*/
|
|
135
|
+
export type ConditionKey = Brand<string, 'ConditionKey'>;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* A string representing a validated condition token. Condition tokens are
|
|
139
|
+
* typically extracted from the name of some resource (e.g. file or folder)
|
|
140
|
+
* being imported. A condition token has the form `<qualifierName>=<value>`
|
|
141
|
+
* or `<value>`.
|
|
142
|
+
* @public
|
|
143
|
+
*/
|
|
144
|
+
export type ConditionToken = Brand<string, 'ConditionToken'>;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Branded number representing a validated condition set index.
|
|
148
|
+
* @public
|
|
149
|
+
*/
|
|
150
|
+
export type ConditionSetIndex = Brand<number, 'ConditionSetIndex'>;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Branded string representing a validated condition set key. A condition set key
|
|
154
|
+
* is a string value which fully describes the condition set apart from index. The
|
|
155
|
+
* condition set key can be used to quickly determine if two condition sets are
|
|
156
|
+
* identical apart from index, or for inspection.
|
|
157
|
+
* @public
|
|
158
|
+
*/
|
|
159
|
+
export type ConditionSetKey = Brand<string, 'ConditionSetKey'>;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* A string representing a validated condition set token. Condition set tokens are
|
|
163
|
+
* typically extracted from the name of some resource (e.g. file or folder) being
|
|
164
|
+
* imported. A condition set token is a comma-separated list of one or more
|
|
165
|
+
* {@link ConditionToken | condition tokens}, where a condition token has either
|
|
166
|
+
* the form `<qualifierName>=<value>` or `<value>`.
|
|
167
|
+
* @public
|
|
168
|
+
*/
|
|
169
|
+
export type ConditionSetToken = Brand<string, 'ConditionSetToken'>;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Branded string representing a hash value for a condition set. The hash value
|
|
173
|
+
* is an 8-character string derived from the crc32 hash of the condition set key
|
|
174
|
+
* and is used to quickly and compactly identify a condition set or compare for
|
|
175
|
+
* equality.
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
export type ConditionSetHash = Brand<string, 'ConditionSetHash'>;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Branded string representing a validated decision key. A decision key is a string
|
|
182
|
+
* value which fully describes the decision apart from index. The decision key can
|
|
183
|
+
* be used to quickly determine if two decisions are identical apart from index.
|
|
184
|
+
* @public
|
|
185
|
+
*/
|
|
186
|
+
export type DecisionKey = Brand<string, 'DecisionKey'>;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Branded number representing a validated decision index.
|
|
190
|
+
* @public
|
|
191
|
+
*/
|
|
192
|
+
export type DecisionIndex = Brand<number, 'DecisionIndex'>;
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* A string representing a validated context qualifier token. Context qualifier tokens are used
|
|
196
|
+
* for filtering resources by context criteria. A context qualifier token has the form
|
|
197
|
+
* `<qualifierName>=<value>` or `<value>`.
|
|
198
|
+
* @public
|
|
199
|
+
*/
|
|
200
|
+
export type ContextQualifierToken = Brand<string, 'ContextQualifierToken'>;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* A string representing a validated context token. Context tokens are
|
|
204
|
+
* pipe-separated lists of one or more context qualifier tokens. Uses "|" as separator
|
|
205
|
+
* to avoid conflicts with comma-separated values within context values.
|
|
206
|
+
* Example: "language=en-US,de-DE|territory=US|role=admin"
|
|
207
|
+
* @public
|
|
208
|
+
*/
|
|
209
|
+
export type ContextToken = Brand<string, 'ContextToken'>;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* A string representing a single qualifier default value assignment.
|
|
213
|
+
* Format: "qualifierName=defaultValue" or "qualifierName=" (to remove default)
|
|
214
|
+
* Example: "language=en-US,en-CA" or "territory=US"
|
|
215
|
+
* @public
|
|
216
|
+
*/
|
|
217
|
+
export type QualifierDefaultValueToken = Brand<string, 'QualifierDefaultValueToken'>;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* A string representing a validated qualifier default values token. Default value tokens are
|
|
221
|
+
* pipe-separated lists of one or more qualifier default value tokens. Uses "|" as separator
|
|
222
|
+
* to avoid conflicts with comma-separated values within default values.
|
|
223
|
+
* Example: "language=en-US,en-CA|territory=US|device=desktop,tablet"
|
|
224
|
+
* @public
|
|
225
|
+
*/
|
|
226
|
+
export type QualifierDefaultValuesToken = Brand<string, 'QualifierDefaultValuesToken'>;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Erik Fortune
|
|
3
|
+
*
|
|
4
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
* in the Software without restriction, including without limitation the rights
|
|
7
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
* furnished to do so, subject to the following conditions:
|
|
10
|
+
*
|
|
11
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
* copies or substantial portions of the Software.
|
|
13
|
+
*
|
|
14
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
* SOFTWARE.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import { Converters } from '@fgv/ts-utils';
|
|
24
|
+
import * as Validate from './validate';
|
|
25
|
+
import { allConditionOperators } from './conditions';
|
|
26
|
+
import { allResourceValueMergeMethods } from './resources';
|
|
27
|
+
|
|
28
|
+
/* eslint-disable @rushstack/typedef-var */
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* `Converter` which validates an `unknown` value as a {@link QualifierName | QualifierName}.
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
export const qualifierName = Converters.string.map(Validate.toQualifierName);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* `Converter` which validates an `unknown` value as a {@link QualifierIndex | QualifierIndex}.
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export const qualifierIndex = Converters.number.map(Validate.toQualifierIndex);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* `Converter` which validates an `unknown` value as a {@link QualifierTypeName | QualifierTypeName}.
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
export const qualifierTypeName = Converters.string.map(Validate.toQualifierTypeName);
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* `Converter` which validates an `unknown` value as a {@link QualifierTypeIndex | QualifierTypeIndex}.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export const qualifierTypeIndex = Converters.number.map(Validate.toQualifierTypeIndex);
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* `Converter` which validates an `unknown` value as a {@link QualifierConditionValue | QualifierConditionValue}.
|
|
56
|
+
* @public
|
|
57
|
+
*/
|
|
58
|
+
export const qualifierMatchScore = Converters.number.map(Validate.toQualifierMatchScore);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionPriority | ConditionPriority}.
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
export const conditionPriority = Converters.number.map(Validate.toConditionPriority);
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionOperator | ConditionOperator}.
|
|
68
|
+
* @public
|
|
69
|
+
*/
|
|
70
|
+
export const conditionOperator = Converters.enumeratedValue(allConditionOperators);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionIndex | ConditionIndex}.
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
export const conditionIndex = Converters.number.map(Validate.toConditionIndex);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionKey | ConditionKey}.
|
|
80
|
+
* @public
|
|
81
|
+
*/
|
|
82
|
+
export const conditionKey = Converters.string.map(Validate.toConditionKey);
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionToken | ConditionToken}.
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
export const conditionToken = Converters.string.map(Validate.toConditionToken);
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionSetIndex | ConditionSetIndex}.
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
export const conditionSetIndex = Converters.number.map(Validate.toConditionSetIndex);
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionSetKey | ConditionSetKey}.
|
|
98
|
+
* @public
|
|
99
|
+
*/
|
|
100
|
+
export const conditionSetKey = Converters.string.map(Validate.toConditionSetKey);
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionSetToken | ConditionSetToken}.
|
|
104
|
+
* @public
|
|
105
|
+
*/
|
|
106
|
+
export const conditionSetToken = Converters.string.map(Validate.toConditionSetToken);
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* `Converter` which validates an `unknown` value as a {@link ConditionSetHash | ConditionSetHash}.
|
|
110
|
+
* @public
|
|
111
|
+
*/
|
|
112
|
+
export const conditionSetHash = Converters.string.map(Validate.toConditionSetHash);
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* `Converter` which validates an `unknown` value as a {@link DecisionIndex | DecisionIndex}.
|
|
116
|
+
* @public
|
|
117
|
+
*/
|
|
118
|
+
export const decisionIndex = Converters.number.map(Validate.toDecisionIndex);
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* `Converter` which validates an `unknown` value as a {@link DecisionKey | DecisionKey}.
|
|
122
|
+
* @public
|
|
123
|
+
*/
|
|
124
|
+
export const decisionKey = Converters.string.map(Validate.toDecisionKey);
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* `Converter` which validates an `unknown` value as a {@link ResourceId | ResourceId}.
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
export const resourceId = Converters.string.map(Validate.toResourceId);
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* `Converter` which validates an `unknown` value as a {@link ResourceName | ResourceName}.
|
|
134
|
+
* @public
|
|
135
|
+
*/
|
|
136
|
+
export const resourceName = Converters.string.map(Validate.toResourceName);
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* `Converter` which validates an `unknown` value as a {@link ResourceIndex | ResourceIndex}.
|
|
140
|
+
* @public
|
|
141
|
+
*/
|
|
142
|
+
export const resourceIndex = Converters.number.map(Validate.toResourceIndex);
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* `Converter` which validates an `unknown` value as a {@link ResourceTypeName | ResourceTypeName}.
|
|
146
|
+
* @public
|
|
147
|
+
*/
|
|
148
|
+
export const resourceTypeName = Converters.string.map(Validate.toResourceTypeName);
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* `Converter` which validates an `unknown` value as a {@link ResourceTypeIndex | ResourceTypeIndex}.
|
|
152
|
+
* @public
|
|
153
|
+
*/
|
|
154
|
+
export const resourceTypeIndex = Converters.number.map(Validate.toResourceTypeIndex);
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* `Converter` for a resource value merge method.
|
|
158
|
+
* @public
|
|
159
|
+
*/
|
|
160
|
+
export const resourceValueMergeMethod = Converters.enumeratedValue(allResourceValueMergeMethods);
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* `Converter` which validates an `unknown` value as a {@link ContextQualifierToken | ContextQualifierToken}.
|
|
164
|
+
* @public
|
|
165
|
+
*/
|
|
166
|
+
export const contextQualifierToken = Converters.string.map(Validate.toContextQualifierToken);
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* `Converter` which validates an `unknown` value as a {@link ContextToken | ContextToken}.
|
|
170
|
+
* @public
|
|
171
|
+
*/
|
|
172
|
+
export const contextToken = Converters.string.map(Validate.toContextToken);
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* `Converter` which validates an `unknown` value as a {@link QualifierDefaultValueToken | QualifierDefaultValueToken}.
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
export const qualifierDefaultValueToken = Converters.string.map(Validate.toQualifierDefaultValueToken);
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* `Converter` which validates an `unknown` value as a {@link QualifierDefaultValuesToken | QualifierDefaultValuesToken}.
|
|
182
|
+
* @public
|
|
183
|
+
*/
|
|
184
|
+
export const qualifierDefaultValuesToken = Converters.string.map(Validate.toQualifierDefaultValuesToken);
|