@techspokes/typescript-wsdl-client 1.1.4 → 1.1.8
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/README.md +81 -35
- package/dist/app/generateApp.d.ts +0 -1
- package/dist/app/generateApp.js +8 -6
- package/dist/app/generateCheckedApp.d.ts +38 -0
- package/dist/app/generateCheckedApp.js +108 -0
- package/dist/checkedPipeline.d.ts +155 -0
- package/dist/checkedPipeline.js +448 -0
- package/dist/checkedPlanning.d.ts +123 -0
- package/dist/checkedPlanning.js +245 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +123 -5
- package/dist/client/checkedDirectRuntime.d.ts +96 -0
- package/dist/client/checkedDirectRuntime.js +43 -0
- package/dist/client/directClientRuntime.d.ts +74 -0
- package/dist/client/directClientRuntime.js +165 -0
- package/dist/client/directClientVersion.d.ts +6 -0
- package/dist/client/directClientVersion.js +6 -0
- package/dist/client/generateClient.d.ts +0 -1
- package/dist/client/generateClient.js +26 -12
- package/dist/client/generateDirectClient.d.ts +32 -0
- package/dist/client/generateDirectClient.js +268 -0
- package/dist/client/generateOperations.d.ts +0 -1
- package/dist/client/generateTypes.d.ts +0 -1
- package/dist/client/generateUtils.d.ts +0 -1
- package/dist/client/generateUtils.js +3 -1
- package/dist/compiler/applicationGroups.d.ts +53 -0
- package/dist/compiler/applicationGroups.js +403 -0
- package/dist/compiler/buildCanonicalGraph.d.ts +6 -0
- package/dist/compiler/buildCanonicalGraph.js +381 -0
- package/dist/compiler/canonicalGraph.d.ts +197 -0
- package/dist/compiler/canonicalGraph.js +37 -0
- package/dist/compiler/catalogErrors.d.ts +17 -0
- package/dist/compiler/catalogErrors.js +86 -0
- package/dist/compiler/catalogProvenance.d.ts +14 -0
- package/dist/compiler/catalogProvenance.js +229 -0
- package/dist/compiler/checkedAssessment.d.ts +90 -0
- package/dist/compiler/checkedAssessment.js +300 -0
- package/dist/compiler/checkedComponentSource.d.ts +16 -0
- package/dist/compiler/checkedComponentSource.js +31 -0
- package/dist/compiler/checkedSourcePreparation.d.ts +72 -0
- package/dist/compiler/checkedSourcePreparation.js +202 -0
- package/dist/compiler/complexTypeContent.d.ts +58 -0
- package/dist/compiler/complexTypeContent.js +558 -0
- package/dist/compiler/componentCorrespondence.d.ts +32 -0
- package/dist/compiler/componentCorrespondence.js +140 -0
- package/dist/compiler/componentRecordProjection.d.ts +109 -0
- package/dist/compiler/componentRecordProjection.js +319 -0
- package/dist/compiler/componentSoapPreparation.d.ts +20 -0
- package/dist/compiler/componentSoapPreparation.js +36 -0
- package/dist/compiler/composeCanonicalGraph.d.ts +68 -0
- package/dist/compiler/composeCanonicalGraph.js +252 -0
- package/dist/compiler/dataOwnership.d.ts +21 -0
- package/dist/compiler/dataOwnership.js +167 -0
- package/dist/compiler/datatypeValues.d.ts +46 -0
- package/dist/compiler/datatypeValues.js +275 -0
- package/dist/compiler/directCodec.d.ts +116 -0
- package/dist/compiler/directCodec.js +377 -0
- package/dist/compiler/directExecutionPolicy.d.ts +9 -0
- package/dist/compiler/directExecutionPolicy.js +17 -0
- package/dist/compiler/directOperation.d.ts +114 -0
- package/dist/compiler/directOperation.js +373 -0
- package/dist/compiler/directSoap.d.ts +66 -0
- package/dist/compiler/directSoap.js +391 -0
- package/dist/compiler/directSoapSource.d.ts +38 -0
- package/dist/compiler/directSoapSource.js +233 -0
- package/dist/compiler/directSourceCapsule.d.ts +169 -0
- package/dist/compiler/directSourceCapsule.js +727 -0
- package/dist/compiler/directStructure.d.ts +128 -0
- package/dist/compiler/directStructure.js +543 -0
- package/dist/compiler/directStructurePlan.d.ts +149 -0
- package/dist/compiler/directStructurePlan.js +623 -0
- package/dist/compiler/directValues.d.ts +128 -0
- package/dist/compiler/directValues.js +1116 -0
- package/dist/compiler/finiteRe01Construction.d.ts +69 -0
- package/dist/compiler/finiteRe01Construction.js +422 -0
- package/dist/compiler/finiteRe01Verification.d.ts +218 -0
- package/dist/compiler/finiteRe01Verification.js +1217 -0
- package/dist/compiler/generateCatalog.d.ts +0 -1
- package/dist/compiler/graphTraversal.d.ts +10 -0
- package/dist/compiler/graphTraversal.js +37 -0
- package/dist/compiler/hypotheticalScopedIdentity.d.ts +22 -0
- package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
- package/dist/compiler/occurrenceAnalysis.d.ts +66 -0
- package/dist/compiler/occurrenceAnalysis.js +316 -0
- package/dist/compiler/originalSourceMembership.d.ts +5 -0
- package/dist/compiler/originalSourceMembership.js +31 -0
- package/dist/compiler/particleAttribution.d.ts +16 -0
- package/dist/compiler/particleAttribution.js +494 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts +23 -0
- package/dist/compiler/particleDeclarationConsistency.js +206 -0
- package/dist/compiler/particleExtension.d.ts +21 -0
- package/dist/compiler/particleExtension.js +123 -0
- package/dist/compiler/particleLocalAssessment.d.ts +19 -0
- package/dist/compiler/particleLocalAssessment.js +92 -0
- package/dist/compiler/particleRestriction.d.ts +23 -0
- package/dist/compiler/particleRestriction.js +494 -0
- package/dist/compiler/particleSemanticView.d.ts +51 -0
- package/dist/compiler/particleSemanticView.js +310 -0
- package/dist/compiler/particleWildcardRelation.d.ts +87 -0
- package/dist/compiler/particleWildcardRelation.js +143 -0
- package/dist/compiler/projectionScalar.d.ts +32 -0
- package/dist/compiler/projectionScalar.js +184 -0
- package/dist/compiler/re01CandidateAssignments.d.ts +95 -0
- package/dist/compiler/re01CandidateAssignments.js +341 -0
- package/dist/compiler/re01CandidateCorrespondence.d.ts +85 -0
- package/dist/compiler/re01CandidateCorrespondence.js +701 -0
- package/dist/compiler/re01TypeProperties.d.ts +70 -0
- package/dist/compiler/re01TypeProperties.js +120 -0
- package/dist/compiler/re01TypePropertyValidation.d.ts +22 -0
- package/dist/compiler/re01TypePropertyValidation.js +161 -0
- package/dist/compiler/resolveCanonicalGraph.d.ts +41 -0
- package/dist/compiler/resolveCanonicalGraph.js +240 -0
- package/dist/compiler/scalarSchemaAssessment.d.ts +424 -0
- package/dist/compiler/scalarSchemaAssessment.js +5198 -0
- package/dist/compiler/schemaAttributeGroupProperties.d.ts +16 -0
- package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
- package/dist/compiler/schemaAttributeProperties.d.ts +9 -0
- package/dist/compiler/schemaAttributeProperties.js +11 -0
- package/dist/compiler/schemaAttributeUses.d.ts +110 -0
- package/dist/compiler/schemaAttributeUses.js +798 -0
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts +9 -0
- package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
- package/dist/compiler/schemaBuiltinFacets.d.ts +13 -0
- package/dist/compiler/schemaBuiltinFacets.js +51 -0
- package/dist/compiler/schemaCalendarImages.d.ts +7 -0
- package/dist/compiler/schemaCalendarImages.js +204 -0
- package/dist/compiler/schemaCalendarLanguage.d.ts +10 -0
- package/dist/compiler/schemaCalendarLanguage.js +227 -0
- package/dist/compiler/schemaCompiler.d.ts +0 -1
- package/dist/compiler/schemaComponentEquality.d.ts +27 -0
- package/dist/compiler/schemaComponentEquality.js +446 -0
- package/dist/compiler/schemaConstructionAssessment.d.ts +79 -0
- package/dist/compiler/schemaConstructionAssessment.js +745 -0
- package/dist/compiler/schemaDatatypeValues.d.ts +3 -0
- package/dist/compiler/schemaDatatypeValues.js +2 -0
- package/dist/compiler/schemaDecimalLanguage.d.ts +6 -0
- package/dist/compiler/schemaDecimalLanguage.js +102 -0
- package/dist/compiler/schemaDeclarationPrimitives.d.ts +39 -0
- package/dist/compiler/schemaDeclarationPrimitives.js +211 -0
- package/dist/compiler/schemaDocumentSyntax.d.ts +54 -0
- package/dist/compiler/schemaDocumentSyntax.js +294 -0
- package/dist/compiler/schemaDurationLanguage.d.ts +10 -0
- package/dist/compiler/schemaDurationLanguage.js +170 -0
- package/dist/compiler/schemaElementInstance.d.ts +30 -0
- package/dist/compiler/schemaElementInstance.js +45 -0
- package/dist/compiler/schemaElementProperties.d.ts +15 -0
- package/dist/compiler/schemaElementProperties.js +23 -0
- package/dist/compiler/schemaEndpointWordCapacity.d.ts +35 -0
- package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
- package/dist/compiler/schemaExactCalendar.d.ts +72 -0
- package/dist/compiler/schemaExactCalendar.js +264 -0
- package/dist/compiler/schemaFacetAnnotation.d.ts +31 -0
- package/dist/compiler/schemaFacetAnnotation.js +199 -0
- package/dist/compiler/schemaGeneratedScalarShape.d.ts +34 -0
- package/dist/compiler/schemaGeneratedScalarShape.js +178 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts +72 -0
- package/dist/compiler/schemaIdentityConstraints.js +362 -0
- package/dist/compiler/schemaIeeeLanguage.d.ts +42 -0
- package/dist/compiler/schemaIeeeLanguage.js +759 -0
- package/dist/compiler/schemaIntegerImages.d.ts +10 -0
- package/dist/compiler/schemaIntegerImages.js +113 -0
- package/dist/compiler/schemaLexicalPredicates.d.ts +28 -0
- package/dist/compiler/schemaLexicalPredicates.js +63 -0
- package/dist/compiler/schemaNotationProperties.d.ts +31 -0
- package/dist/compiler/schemaNotationProperties.js +84 -0
- package/dist/compiler/schemaNumericImageConditions.d.ts +23 -0
- package/dist/compiler/schemaNumericImageConditions.js +66 -0
- package/dist/compiler/schemaParticleWildcardProperties.d.ts +19 -0
- package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
- package/dist/compiler/schemaPattern.d.ts +1061 -0
- package/dist/compiler/schemaPattern.js +581 -0
- package/dist/compiler/schemaRegularLanguage.d.ts +66 -0
- package/dist/compiler/schemaRegularLanguage.js +1166 -0
- package/dist/compiler/schemaScalarContext.d.ts +85 -0
- package/dist/compiler/schemaScalarContext.js +78 -0
- package/dist/compiler/schemaScalarKernel.d.ts +181 -0
- package/dist/compiler/schemaScalarKernel.js +391 -0
- package/dist/compiler/schemaScalarWitnesses.d.ts +5 -0
- package/dist/compiler/schemaScalarWitnesses.js +118 -0
- package/dist/compiler/schemaSimpleTypeProperties.d.ts +94 -0
- package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
- package/dist/compiler/schemaSourceGrammar.d.ts +26 -0
- package/dist/compiler/schemaSourceGrammar.js +290 -0
- package/dist/compiler/schemaSourceLexical.d.ts +3 -0
- package/dist/compiler/schemaSourceLexical.js +12 -0
- package/dist/compiler/schemaSourceValues.d.ts +50 -0
- package/dist/compiler/schemaSourceValues.js +225 -0
- package/dist/compiler/schemaSourceWildcards.d.ts +27 -0
- package/dist/compiler/schemaSourceWildcards.js +249 -0
- package/dist/compiler/schemaSymbolicSequences.d.ts +15 -0
- package/dist/compiler/schemaSymbolicSequences.js +99 -0
- package/dist/compiler/schemaSymbolicValueSets.d.ts +31 -0
- package/dist/compiler/schemaSymbolicValueSets.js +149 -0
- package/dist/compiler/schemaSyntaxAssessment.d.ts +24 -0
- package/dist/compiler/schemaSyntaxAssessment.js +361 -0
- package/dist/compiler/schemaTemporalAliases.d.ts +5 -0
- package/dist/compiler/schemaTemporalAliases.js +195 -0
- package/dist/compiler/schemaTokenImages.d.ts +8 -0
- package/dist/compiler/schemaTokenImages.js +142 -0
- package/dist/compiler/schemaTypeIdentity.d.ts +38 -0
- package/dist/compiler/schemaTypeIdentity.js +80 -0
- package/dist/compiler/schemaTypeRelations.d.ts +37 -0
- package/dist/compiler/schemaTypeRelations.js +576 -0
- package/dist/compiler/schemaUri.d.ts +12 -0
- package/dist/compiler/schemaUri.js +103 -0
- package/dist/compiler/schemaValueContext.d.ts +25 -0
- package/dist/compiler/schemaValueContext.js +1 -0
- package/dist/compiler/schemaValueImages.d.ts +9 -0
- package/dist/compiler/schemaValueImages.js +142 -0
- package/dist/compiler/schemaValueSequences.d.ts +14 -0
- package/dist/compiler/schemaValueSequences.js +19 -0
- package/dist/compiler/semanticBudget.d.ts +67 -0
- package/dist/compiler/semanticBudget.js +193 -0
- package/dist/compiler/semanticCatalog.d.ts +121 -0
- package/dist/compiler/semanticCatalog.js +160 -0
- package/dist/compiler/semanticContext.d.ts +183 -0
- package/dist/compiler/semanticContext.js +1207 -0
- package/dist/compiler/semanticTypeDependencies.d.ts +7 -0
- package/dist/compiler/semanticTypeDependencies.js +64 -0
- package/dist/compiler/semanticTypeReference.d.ts +23 -0
- package/dist/compiler/semanticTypeReference.js +36 -0
- package/dist/compiler/shapeResolver.d.ts +1 -1
- package/dist/compiler/shapeResolver.js +7 -9
- package/dist/compiler/soapHeaders.d.ts +16 -0
- package/dist/compiler/soapHeaders.js +42 -0
- package/dist/compiler/sourceSchemaBinding.d.ts +25 -0
- package/dist/compiler/sourceSchemaBinding.js +39 -0
- package/dist/compiler/standardSchemaComponents.d.ts +71 -0
- package/dist/compiler/standardSchemaComponents.js +74 -0
- package/dist/compiler/standardSchemaConstruction.d.ts +20 -0
- package/dist/compiler/standardSchemaConstruction.js +34 -0
- package/dist/compiler/structuralCompanions.d.ts +15 -0
- package/dist/compiler/structuralCompanions.js +232 -0
- package/dist/compiler/validateSemanticGraph.d.ts +4 -0
- package/dist/compiler/validateSemanticGraph.js +376 -0
- package/dist/compiler/wildcardAlgebra.d.ts +25 -0
- package/dist/compiler/wildcardAlgebra.js +155 -0
- package/dist/compiler/wsdlPolicyRequirements.d.ts +43 -0
- package/dist/compiler/wsdlPolicyRequirements.js +239 -0
- package/dist/config.d.ts +0 -1
- package/dist/gateway/generateCheckedGateway.d.ts +32 -0
- package/dist/gateway/generateCheckedGateway.js +293 -0
- package/dist/gateway/generateGateway.d.ts +0 -1
- package/dist/gateway/generateGateway.js +2 -2
- package/dist/gateway/generators.d.ts +0 -1
- package/dist/gateway/helpers.d.ts +0 -1
- package/dist/generation/componentShape.d.ts +14 -0
- package/dist/generation/componentShape.js +269 -0
- package/dist/generation/preamble.d.ts +0 -1
- package/dist/generation/sourceLayout.d.ts +13 -0
- package/dist/generation/sourceLayout.js +40 -0
- package/dist/generation/writeGeneratedSource.d.ts +0 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +3 -0
- package/dist/loader/fetch.d.ts +0 -1
- package/dist/loader/orderedSyntax.d.ts +84 -0
- package/dist/loader/orderedSyntax.js +222 -0
- package/dist/loader/resolutionDepth.d.ts +6 -0
- package/dist/loader/resolutionDepth.js +65 -0
- package/dist/loader/schemaInput.d.ts +80 -0
- package/dist/loader/schemaInput.js +249 -0
- package/dist/loader/schemaResources.d.ts +60 -0
- package/dist/loader/schemaResources.js +333 -0
- package/dist/loader/wsdlLoader.d.ts +0 -1
- package/dist/openapi/casing.d.ts +0 -1
- package/dist/openapi/generateOpenAPI.d.ts +0 -1
- package/dist/openapi/generateOpenAPI.js +2 -2
- package/dist/openapi/generatePaths.d.ts +0 -1
- package/dist/openapi/generateSchemas.d.ts +0 -1
- package/dist/openapi/security.d.ts +0 -1
- package/dist/pipeline.d.ts +6 -2
- package/dist/pipeline.js +13 -0
- package/dist/test/generateCheckedTests.d.ts +17 -0
- package/dist/test/generateCheckedTests.js +60 -0
- package/dist/test/generateTests.d.ts +0 -1
- package/dist/test/generateTests.js +2 -2
- package/dist/test/generators.d.ts +0 -1
- package/dist/test/mockData.d.ts +0 -1
- package/dist/test/mockData.js +20 -14
- package/dist/util/attributeWildcards.d.ts +0 -1
- package/dist/util/builder.d.ts +0 -1
- package/dist/util/catalogMeta.d.ts +0 -1
- package/dist/util/checkedCliDiagnostics.d.ts +11 -0
- package/dist/util/checkedCliDiagnostics.js +22 -0
- package/dist/util/cli.d.ts +0 -1
- package/dist/util/errors.d.ts +0 -1
- package/dist/util/imports.d.ts +0 -1
- package/dist/util/runtimeSource.d.ts +0 -1
- package/dist/util/runtimeSource.js +3 -5
- package/dist/util/securityConfig.d.ts +0 -1
- package/dist/util/streamConfig.d.ts +0 -1
- package/dist/util/tools.d.ts +0 -1
- package/dist/util/xmlWhitespace.d.ts +2 -0
- package/dist/util/xmlWhitespace.js +4 -0
- package/dist/xsd/primitives.d.ts +0 -1
- package/docs/agent-skill.md +2 -0
- package/docs/api-reference.md +1 -1
- package/docs/checked-gateway.md +210 -0
- package/docs/checked-generation.md +161 -0
- package/docs/cli-reference.md +43 -1
- package/docs/concepts.md +136 -1
- package/docs/configuration.md +5 -1
- package/docs/corpus.md +33 -0
- package/docs/direct-values.md +311 -0
- package/docs/examples/checked-forecast.wsdl +19 -0
- package/docs/gateway-guide.md +1 -1
- package/docs/generated-code.md +10 -5
- package/docs/mapping-contract.md +114 -0
- package/docs/migration-playbook.md +1 -1
- package/docs/output-anatomy.md +1 -1
- package/docs/start-here.md +8 -2
- package/docs/supported-patterns.md +17 -5
- package/docs/testing.md +117 -31
- package/llms.txt +7 -7
- package/package.json +79 -25
- package/src/generation/preambles/direct-client/typescript.preamble +3 -0
- package/src/runtime/checkedGatewayHost.tpl.txt +157 -0
- package/src/runtime/streamXml.ts +1 -1
- package/dist/app/generateApp.d.ts.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/client/generateClient.d.ts.map +0 -1
- package/dist/client/generateOperations.d.ts.map +0 -1
- package/dist/client/generateTypes.d.ts.map +0 -1
- package/dist/client/generateUtils.d.ts.map +0 -1
- package/dist/compiler/generateCatalog.d.ts.map +0 -1
- package/dist/compiler/schemaCompiler.d.ts.map +0 -1
- package/dist/compiler/shapeResolver.d.ts.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/gateway/generateGateway.d.ts.map +0 -1
- package/dist/gateway/generators.d.ts.map +0 -1
- package/dist/gateway/helpers.d.ts.map +0 -1
- package/dist/generation/preamble.d.ts.map +0 -1
- package/dist/generation/writeGeneratedSource.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/loader/fetch.d.ts.map +0 -1
- package/dist/loader/wsdlLoader.d.ts.map +0 -1
- package/dist/openapi/casing.d.ts.map +0 -1
- package/dist/openapi/generateOpenAPI.d.ts.map +0 -1
- package/dist/openapi/generatePaths.d.ts.map +0 -1
- package/dist/openapi/generateSchemas.d.ts.map +0 -1
- package/dist/openapi/security.d.ts.map +0 -1
- package/dist/pipeline.d.ts.map +0 -1
- package/dist/runtime/jsonArray.d.ts +0 -24
- package/dist/runtime/jsonArray.d.ts.map +0 -1
- package/dist/runtime/jsonArray.js +0 -52
- package/dist/runtime/ndjson.d.ts +0 -24
- package/dist/runtime/ndjson.d.ts.map +0 -1
- package/dist/runtime/ndjson.js +0 -30
- package/dist/runtime/streamXml.d.ts +0 -45
- package/dist/runtime/streamXml.d.ts.map +0 -1
- package/dist/runtime/streamXml.js +0 -212
- package/dist/test/generateTests.d.ts.map +0 -1
- package/dist/test/generators.d.ts.map +0 -1
- package/dist/test/mockData.d.ts.map +0 -1
- package/dist/util/attributeWildcards.d.ts.map +0 -1
- package/dist/util/builder.d.ts.map +0 -1
- package/dist/util/catalogMeta.d.ts.map +0 -1
- package/dist/util/cli.d.ts.map +0 -1
- package/dist/util/errors.d.ts.map +0 -1
- package/dist/util/imports.d.ts.map +0 -1
- package/dist/util/runtimeSource.d.ts.map +0 -1
- package/dist/util/securityConfig.d.ts.map +0 -1
- package/dist/util/streamConfig.d.ts.map +0 -1
- package/dist/util/tools.d.ts.map +0 -1
- package/dist/xsd/primitives.d.ts.map +0 -1
- package/docs/AGENTS.md +0 -47
- package/docs/README.md +0 -56
- package/docs/architecture.md +0 -149
- package/docs/decisions/001-test-generation.md +0 -36
- package/docs/decisions/002-streamable-responses.md +0 -330
- package/docs/file-naming-and-path-organization.md +0 -213
- package/docs/releases/README.md +0 -94
- package/docs/releases/v0.20.0.md +0 -22
- package/docs/releases/v0.21.0.md +0 -30
- package/docs/releases/v0.22.0.md +0 -30
- package/docs/releases/v0.23.0.md +0 -31
- package/docs/releases/v0.24.0.md +0 -38
- package/docs/releases/v0.25.0.md +0 -31
- package/docs/releases/v0.25.2.md +0 -32
- package/docs/releases/v0.26.0.md +0 -32
- package/docs/releases/v0.27.0.md +0 -31
- package/docs/releases/v0.28.0.md +0 -32
- package/docs/releases/v0.29.0.md +0 -32
- package/docs/releases/v0.30.0.md +0 -30
- package/docs/releases/v0.30.1.md +0 -31
- package/docs/releases/v0.30.2.md +0 -30
- package/docs/releases/v0.30.3.md +0 -33
- package/docs/releases/v0.31.0.md +0 -33
- package/docs/releases/v0.32.0.md +0 -33
- package/docs/releases/v0.33.0.md +0 -34
- package/docs/releases/v0.34.0.md +0 -30
- package/docs/releases/v0.35.0.md +0 -33
- package/docs/releases/v0.36.0.md +0 -32
- package/docs/releases/v0.37.0.md +0 -33
- package/docs/releases/v0.38.0.md +0 -35
- package/docs/releases/v0.39.0.md +0 -35
- package/docs/releases/v0.40.0.md +0 -45
- package/docs/releases/v0.40.1.md +0 -34
- package/docs/releases/v1.0.0.md +0 -42
- package/docs/releases/v1.0.1.md +0 -38
- package/docs/releases/v1.0.2.md +0 -51
- package/docs/releases/v1.0.3.md +0 -37
- package/docs/releases/v1.0.4.md +0 -45
- package/docs/releases/v1.0.5.md +0 -41
- package/docs/releases/v1.0.6.md +0 -35
- package/docs/releases/v1.0.7.md +0 -36
- package/docs/releases/v1.1.0.md +0 -42
- package/docs/releases/v1.1.1.md +0 -44
- package/docs/releases/v1.1.2.md +0 -42
- package/docs/releases/v1.1.3.md +0 -36
- package/docs/releases/v1.1.4.md +0 -36
- package/docs/roadmap/README.md +0 -107
- package/docs/roadmap/v1.0-capability-conformance-framework.md +0 -582
- package/docs/roadmap/v1.0-choice-union-mode.md +0 -90
- package/docs/roadmap/v1.0-contract-audit.md +0 -75
- package/docs/roadmap/v1.0-json-array-streaming.md +0 -101
- package/docs/roadmap/v1.0-openapi-fastify-compatibility.md +0 -99
- package/docs/roadmap/v1.0-release-candidate-gates.md +0 -92
- package/docs/roadmap/v1.0-wsdl-coverage-matrix.md +0 -200
- package/docs/roadmap/v1.0-xs-anyattribute-wildcard-bag.md +0 -932
- package/src/runtime/jsonArray.ts +0 -55
- package/src/runtime/ndjson.ts +0 -32
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { isXmlNCName, isXmlName, isXmlNmtoken } from "../loader/orderedSyntax.js";
|
|
2
|
+
import { parseCalendar, parseReduced, parseDuration, compareCalendar, compareDuration, ProbeFailure } from "./schemaExactCalendar.js";
|
|
3
|
+
import { schemaUri } from "./schemaUri.js";
|
|
4
|
+
import { normalizeWhitespace } from '../util/xmlWhitespace.js';
|
|
5
|
+
export const builtinListItem = (name) => name === 'NMTOKENS' ? 'NMTOKEN' : name === 'IDREFS' ? 'IDREF' : name === 'ENTITIES' ? 'ENTITY' : undefined;
|
|
6
|
+
export const builtinParents = Object.freeze({
|
|
7
|
+
normalizedString: "string", token: "normalizedString", language: "token", NMTOKEN: "token", Name: "token", NCName: "Name",
|
|
8
|
+
ID: "NCName", IDREF: "NCName", ENTITY: "NCName", integer: "decimal", nonPositiveInteger: "integer", negativeInteger: "nonPositiveInteger",
|
|
9
|
+
long: "integer", int: "long", short: "int", byte: "short", nonNegativeInteger: "integer", unsignedLong: "nonNegativeInteger",
|
|
10
|
+
unsignedInt: "unsignedLong", unsignedShort: "unsignedInt", unsignedByte: "unsignedShort", positiveInteger: "nonNegativeInteger",
|
|
11
|
+
});
|
|
12
|
+
export const integerBounds = Object.freeze({
|
|
13
|
+
nonPositiveInteger: [undefined, "0"], negativeInteger: [undefined, "-1"], nonNegativeInteger: ["0", undefined], positiveInteger: ["1", undefined],
|
|
14
|
+
long: ["-9223372036854775808", "9223372036854775807"], int: ["-2147483648", "2147483647"], short: ["-32768", "32767"], byte: ["-128", "127"],
|
|
15
|
+
unsignedLong: ["0", "18446744073709551615"], unsignedInt: ["0", "4294967295"], unsignedShort: ["0", "65535"], unsignedByte: ["0", "255"],
|
|
16
|
+
});
|
|
17
|
+
export const builtinPrimitive = (name) => {
|
|
18
|
+
while (builtinParents[name])
|
|
19
|
+
name = builtinParents[name];
|
|
20
|
+
return name;
|
|
21
|
+
};
|
|
22
|
+
export const whitespaceFor = (name) => name === "string" || name === "anySimpleType" ? "preserve" : name === "normalizedString" ? "replace" : "collapse";
|
|
23
|
+
export { normalizeWhitespace } from '../util/xmlWhitespace.js';
|
|
24
|
+
export function datatypeValues(c) {
|
|
25
|
+
const invalid = (owner, lexical) => c.fail(owner, "cvc-datatype-valid", "Schema operand is outside the datatype's lexical/value space", lexical.context.source);
|
|
26
|
+
const decimal = (text, owner) => {
|
|
27
|
+
c.text(text, owner);
|
|
28
|
+
if (!/^[+-]?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)$/.test(text))
|
|
29
|
+
c.fail(owner, "cvc-datatype-valid", "Schema numeric operand must be an exact decimal");
|
|
30
|
+
const dot = text.indexOf("."), scale = dot < 0 ? 0 : text.length - dot - 1;
|
|
31
|
+
c.step(owner, (text.length + 2) ** 2);
|
|
32
|
+
let coefficient = BigInt(text.replace(".", "")), resultScale = scale;
|
|
33
|
+
while (resultScale && coefficient % 10n === 0n) {
|
|
34
|
+
c.step(owner, text.length + 1);
|
|
35
|
+
coefficient /= 10n;
|
|
36
|
+
resultScale--;
|
|
37
|
+
}
|
|
38
|
+
return { coefficient, scale: resultScale, digits: text.length };
|
|
39
|
+
};
|
|
40
|
+
const scaleTo = (value, scale, owner) => {
|
|
41
|
+
c.step(owner, (scale - value.scale + (value.digits ?? 20) + 2) ** 2);
|
|
42
|
+
return value.coefficient * 10n ** BigInt(scale - value.scale);
|
|
43
|
+
};
|
|
44
|
+
const compareDecimal = (a, b, owner) => {
|
|
45
|
+
const scale = Math.max(a.scale, b.scale), x = scaleTo(a, scale, owner), y = scaleTo(b, scale, owner);
|
|
46
|
+
return x === y ? 0 : x < y ? -1 : 1;
|
|
47
|
+
};
|
|
48
|
+
const decimalKey = (d, owner) => {
|
|
49
|
+
c.step(owner, d.scale + (d.digits ?? 20) + 2);
|
|
50
|
+
const raw = (d.coefficient < 0n ? -d.coefficient : d.coefficient).toString().padStart(d.scale + 1, "0");
|
|
51
|
+
return `${d.coefficient < 0n ? "-" : ""}${d.scale ? raw.slice(0, -d.scale) + "." + raw.slice(-d.scale) : raw}`;
|
|
52
|
+
};
|
|
53
|
+
const addDecimal = (a, b, owner) => {
|
|
54
|
+
const scale = Math.max(a.scale, b.scale);
|
|
55
|
+
return { coefficient: scaleTo(a, scale, owner) + scaleTo(b, scale, owner), scale, digits: Math.max((a.digits ?? 20) + scale - a.scale, (b.digits ?? 20) + scale - b.scale) + 1 };
|
|
56
|
+
};
|
|
57
|
+
const calendarBudget = (owner) => ({
|
|
58
|
+
charge: work => c.step(owner, work), arithmetic: digits => c.step(owner, (digits + 2) ** 2), text: value => c.text(value, owner),
|
|
59
|
+
});
|
|
60
|
+
const temporal = (name, value, lexical, owner) => {
|
|
61
|
+
try {
|
|
62
|
+
const budget = calendarBudget(owner);
|
|
63
|
+
const calendar = name === "date" || name === "dateTime" ? parseCalendar(name, value, budget) : parseReduced(name, value, budget);
|
|
64
|
+
return { family: name, canonical: (calendar.zoned ? "zoned:" : "local:") + decimalKey(calendar.seconds, owner), calendar };
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (error instanceof ProbeFailure && error.kind === "invalid-schema")
|
|
68
|
+
return invalid(owner, lexical);
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
/** Round the exact decimal rational directly to its declared IEEE format. */
|
|
73
|
+
const ieee = (value, single, owner) => {
|
|
74
|
+
const negative = value[0] === "-", unsigned = value.replace(/^[+-]/, "");
|
|
75
|
+
const [mantissa, rawExponent = "0"] = unsigned.split(/[eE]/), dot = mantissa.indexOf(".");
|
|
76
|
+
const digits = mantissa.replace(".", "").replace(/^0+/, "");
|
|
77
|
+
if (!digits)
|
|
78
|
+
return 0;
|
|
79
|
+
c.step(owner, (rawExponent.length + 2) ** 2);
|
|
80
|
+
const exponent = BigInt(rawExponent) - BigInt(dot < 0 ? 0 : mantissa.length - dot - 1);
|
|
81
|
+
const order = exponent + BigInt(digits.length - 1);
|
|
82
|
+
// Outside these conservative thresholds, exact IEEE rounding is known
|
|
83
|
+
// without constructing a power from an adversarial exponent literal.
|
|
84
|
+
if (order > BigInt(single ? 39 : 309))
|
|
85
|
+
return negative ? -Infinity : Infinity;
|
|
86
|
+
if (order < BigInt(single ? -47 : -326))
|
|
87
|
+
return 0;
|
|
88
|
+
const magnitude = exponent < 0n ? -exponent : exponent;
|
|
89
|
+
// The inequalities above bound magnitude by input length + 327. Charge
|
|
90
|
+
// decimal powers and binary representations before constructing either.
|
|
91
|
+
c.step(owner, (digits.length * 4 + Number(magnitude) * 4 + 32) ** 2);
|
|
92
|
+
const power = 10n ** magnitude;
|
|
93
|
+
let numerator = BigInt(digits), denominator = 1n;
|
|
94
|
+
if (exponent >= 0n)
|
|
95
|
+
numerator *= power;
|
|
96
|
+
else
|
|
97
|
+
denominator = power;
|
|
98
|
+
const bits = (number) => number.toString(2).length;
|
|
99
|
+
let binaryExponent = bits(numerator) - bits(denominator);
|
|
100
|
+
const below = binaryExponent >= 0 ? numerator < denominator << BigInt(binaryExponent) : numerator << BigInt(-binaryExponent) < denominator;
|
|
101
|
+
if (below)
|
|
102
|
+
binaryExponent--;
|
|
103
|
+
const precision = single ? 24 : 53, minimum = single ? -126 : -1022, maximum = single ? 127 : 1023;
|
|
104
|
+
binaryExponent = Math.max(minimum, binaryExponent);
|
|
105
|
+
const shift = precision - 1 - binaryExponent;
|
|
106
|
+
c.step(owner, Math.abs(shift) + 1);
|
|
107
|
+
if (shift >= 0)
|
|
108
|
+
numerator <<= BigInt(shift);
|
|
109
|
+
else
|
|
110
|
+
denominator <<= BigInt(-shift);
|
|
111
|
+
let significand = numerator / denominator;
|
|
112
|
+
const twiceRemainder = numerator % denominator * 2n;
|
|
113
|
+
if (twiceRemainder > denominator || twiceRemainder === denominator && significand % 2n !== 0n)
|
|
114
|
+
significand++;
|
|
115
|
+
if (significand === 1n << BigInt(precision)) {
|
|
116
|
+
significand >>= 1n;
|
|
117
|
+
binaryExponent++;
|
|
118
|
+
}
|
|
119
|
+
if (binaryExponent > maximum)
|
|
120
|
+
return negative ? -Infinity : Infinity;
|
|
121
|
+
const number = Number(significand) * 2 ** (binaryExponent - precision + 1);
|
|
122
|
+
return negative ? -number : number;
|
|
123
|
+
};
|
|
124
|
+
const atomic = (name, lexical, owner, whitespace = whitespaceFor(name)) => {
|
|
125
|
+
c.text(lexical.value, owner);
|
|
126
|
+
for (const character of lexical.value) {
|
|
127
|
+
c.step(owner);
|
|
128
|
+
const code = character.codePointAt(0);
|
|
129
|
+
if (!(code === 9 || code === 10 || code === 13 || code >= 0x20 && code <= 0xd7ff || code >= 0xe000 && code <= 0xfffd || code >= 0x10000 && code <= 0x10ffff))
|
|
130
|
+
return invalid(owner, lexical);
|
|
131
|
+
}
|
|
132
|
+
const value = normalizeWhitespace(lexical.value, whitespace), family = builtinPrimitive(name);
|
|
133
|
+
if (name === "ENTITY")
|
|
134
|
+
c.unresolved(owner, "datatype:ENTITY", "A schema ENTITY operand requires a DTD declaration context excluded by the loading policy", lexical.context.source);
|
|
135
|
+
if (family === "decimal") {
|
|
136
|
+
if (name !== "decimal" && !/^[+-]?[0-9]+$/.test(value))
|
|
137
|
+
return invalid(owner, lexical);
|
|
138
|
+
const d = decimal(value, owner), bound = integerBounds[name];
|
|
139
|
+
if (bound && (bound[0] !== undefined && compareDecimal(d, decimal(bound[0], owner), owner) < 0 || bound[1] !== undefined && compareDecimal(d, decimal(bound[1], owner), owner) > 0))
|
|
140
|
+
return invalid(owner, lexical);
|
|
141
|
+
return { family, canonical: decimalKey(d, owner), decimal: d };
|
|
142
|
+
}
|
|
143
|
+
if (family === "boolean") {
|
|
144
|
+
if (!["true", "false", "1", "0"].includes(value))
|
|
145
|
+
return invalid(owner, lexical);
|
|
146
|
+
return { family, canonical: value === "true" || value === "1" ? "true" : "false" };
|
|
147
|
+
}
|
|
148
|
+
if (family === "float" || family === "double") {
|
|
149
|
+
if (!["INF", "-INF", "NaN"].includes(value) && !/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(value))
|
|
150
|
+
return invalid(owner, lexical);
|
|
151
|
+
const typed = value === "INF" ? Infinity : value === "-INF" ? -Infinity : value === "NaN" ? NaN : ieee(value, family === "float", owner);
|
|
152
|
+
return { family, canonical: Number.isNaN(typed) ? "NaN" : typed === 0 ? "0" : String(typed) };
|
|
153
|
+
}
|
|
154
|
+
if (family === "QName" || family === "NOTATION") {
|
|
155
|
+
const parts = value.split(":");
|
|
156
|
+
if (parts.length > 2 || parts.some(p => !isXmlNCName(p)))
|
|
157
|
+
return invalid(owner, lexical);
|
|
158
|
+
const prefix = parts.length === 2 ? parts[0] : "", namespace = lexical.context.namespaces[prefix];
|
|
159
|
+
if (prefix && namespace === undefined)
|
|
160
|
+
return invalid(owner, lexical);
|
|
161
|
+
c.text(namespace ?? "", owner);
|
|
162
|
+
if (family === "NOTATION")
|
|
163
|
+
c.notation(namespace ?? "", parts.at(-1), owner);
|
|
164
|
+
return { family, canonical: JSON.stringify([namespace ?? "", parts.at(-1)]) };
|
|
165
|
+
}
|
|
166
|
+
if (family === "hexBinary" || family === "base64Binary") {
|
|
167
|
+
let bytes;
|
|
168
|
+
if (family === "hexBinary") {
|
|
169
|
+
if (!/^(?:[0-9a-fA-F]{2})*$/.test(value))
|
|
170
|
+
return invalid(owner, lexical);
|
|
171
|
+
c.step(owner, value.length);
|
|
172
|
+
bytes = Buffer.from(value, "hex");
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
const compact = value.replace(/[\t\r\n ]/g, "");
|
|
176
|
+
if (!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(compact))
|
|
177
|
+
return invalid(owner, lexical);
|
|
178
|
+
c.step(owner, compact.length);
|
|
179
|
+
bytes = Buffer.from(compact, "base64");
|
|
180
|
+
if (bytes.toString("base64") !== compact)
|
|
181
|
+
return invalid(owner, lexical);
|
|
182
|
+
}
|
|
183
|
+
c.step(owner, bytes.length * 2);
|
|
184
|
+
return { family, canonical: bytes.toString("hex"), length: bytes.length.toString() };
|
|
185
|
+
}
|
|
186
|
+
if (["dateTime", "date", "time", "gYearMonth", "gYear", "gMonthDay", "gDay", "gMonth"].includes(family))
|
|
187
|
+
return temporal(family, value, lexical, owner);
|
|
188
|
+
if (family === "duration") {
|
|
189
|
+
try {
|
|
190
|
+
const duration = parseDuration(value, calendarBudget(owner));
|
|
191
|
+
return { family, canonical: duration.months + "/" + decimalKey(duration.seconds, owner), duration };
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
if (error instanceof ProbeFailure && error.kind === "invalid-schema")
|
|
195
|
+
return invalid(owner, lexical);
|
|
196
|
+
throw error;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
if (family === "string" || family === "anySimpleType" || family === "anyURI") {
|
|
200
|
+
if (name === "language" && !/^[a-zA-Z]{1,8}(?:-[a-zA-Z0-9]{1,8})*$/.test(value))
|
|
201
|
+
return invalid(owner, lexical);
|
|
202
|
+
if (["Name", "NCName", "NMTOKEN", "ID", "IDREF", "ENTITY"].includes(name)) {
|
|
203
|
+
if (!(name === "NMTOKEN" ? isXmlNmtoken(value) : name === "Name" ? isXmlName(value) : isXmlNCName(value)))
|
|
204
|
+
return invalid(owner, lexical);
|
|
205
|
+
}
|
|
206
|
+
// anyURI is an IRI reference after escaping; relative/empty values are legal.
|
|
207
|
+
if (family === "anyURI" && !schemaUri(value, owner, c))
|
|
208
|
+
return invalid(owner, lexical);
|
|
209
|
+
let length = 0;
|
|
210
|
+
for (const ignored of value) {
|
|
211
|
+
c.step(owner);
|
|
212
|
+
length++;
|
|
213
|
+
}
|
|
214
|
+
return { family: family === "anySimpleType" ? "string" : family, canonical: value, length: length.toString() };
|
|
215
|
+
}
|
|
216
|
+
return c.unsupported(owner, `datatype:${name}`, "Datatype is outside the approved scalar profile", lexical.context.source);
|
|
217
|
+
};
|
|
218
|
+
const sameValue = (a, b, owner) => {
|
|
219
|
+
c.text(a.canonical, owner);
|
|
220
|
+
c.text(b.canonical, owner);
|
|
221
|
+
return a.family === b.family && a.canonical === b.canonical;
|
|
222
|
+
};
|
|
223
|
+
const compare = (a, b, owner) => {
|
|
224
|
+
c.step(owner);
|
|
225
|
+
if (a.family !== b.family)
|
|
226
|
+
return undefined;
|
|
227
|
+
if (a.decimal && b.decimal)
|
|
228
|
+
return compareDecimal(a.decimal, b.decimal, owner);
|
|
229
|
+
if (a.family === "float" || a.family === "double") {
|
|
230
|
+
if (a.canonical === "NaN" || b.canonical === "NaN")
|
|
231
|
+
return a.canonical === b.canonical ? 0 : undefined;
|
|
232
|
+
const x = Number(a.canonical), y = Number(b.canonical);
|
|
233
|
+
return x === y ? 0 : x < y ? -1 : 1;
|
|
234
|
+
}
|
|
235
|
+
if (a.calendar && b.calendar || a.duration && b.duration) {
|
|
236
|
+
const order = a.calendar && b.calendar ? compareCalendar(a.calendar, b.calendar, calendarBudget(owner))
|
|
237
|
+
: compareDuration(a.duration, b.duration, calendarBudget(owner));
|
|
238
|
+
return order === "less" ? -1 : order === "greater" ? 1 : order === "equal" ? 0 : undefined;
|
|
239
|
+
}
|
|
240
|
+
return sameValue(a, b, owner) ? 0 : undefined;
|
|
241
|
+
};
|
|
242
|
+
const listTokens = (lexical, owner) => {
|
|
243
|
+
c.text(lexical.value, owner);
|
|
244
|
+
const normalized = normalizeWhitespace(lexical.value, 'collapse');
|
|
245
|
+
c.step(owner, normalized.length + 3);
|
|
246
|
+
return { normalized, tokens: normalized ? normalized.split(' ') : [], source: lexical.context.source };
|
|
247
|
+
};
|
|
248
|
+
const listOperand = (tokens, items, owner, builtinName) => {
|
|
249
|
+
c.step(owner, items.length * 2 + 4);
|
|
250
|
+
if (tokens.tokens.length !== items.length)
|
|
251
|
+
throw new TypeError('Internally assessed list item count differs from token count');
|
|
252
|
+
if (builtinName && builtinListItem(builtinName) && !items.length)
|
|
253
|
+
c.fail(owner, 'cvc-minLength-valid', 'Builtin token list requires at least one item', tokens.source);
|
|
254
|
+
const keys = [];
|
|
255
|
+
for (const item of items) {
|
|
256
|
+
c.step(owner, 8 * (item.family.length + item.canonical.length) + 16);
|
|
257
|
+
keys.push(JSON.stringify([item.family, item.canonical]));
|
|
258
|
+
}
|
|
259
|
+
for (const key of keys)
|
|
260
|
+
c.step(owner, key.length * 8 + 4);
|
|
261
|
+
return { family: 'list', canonical: JSON.stringify(keys), length: items.length.toString(), normalized: tokens.normalized, items };
|
|
262
|
+
};
|
|
263
|
+
const builtin = (name, lexical, owner) => {
|
|
264
|
+
c.step(owner);
|
|
265
|
+
const itemName = builtinListItem(name);
|
|
266
|
+
if (!itemName)
|
|
267
|
+
return atomic(name, lexical, owner);
|
|
268
|
+
const tokens = listTokens(lexical, owner), items = [];
|
|
269
|
+
c.step(owner, tokens.tokens.length * 3);
|
|
270
|
+
for (const value of tokens.tokens)
|
|
271
|
+
items.push(atomic(itemName, { value, context: lexical.context }, owner));
|
|
272
|
+
return listOperand(tokens, items, owner, name);
|
|
273
|
+
};
|
|
274
|
+
return { atomic, builtin, listTokens, listOperand, decimal, decimalKey, compareDecimal, sameValue, compare };
|
|
275
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { DirectOperationContract } from './directOperation.js';
|
|
2
|
+
import type { DirectValueMapping, DirectValueReceipt, DirectValueFailure, DirectExpandedValue, ComponentValueMapping, ProjectionExpandedValue, ProjectionValueReceipt } from './directValues.js';
|
|
3
|
+
import type { SyntaxElement, SyntaxSource } from '../loader/orderedSyntax.js';
|
|
4
|
+
import type { ResolverUsage } from './semanticBudget.js';
|
|
5
|
+
export interface DirectXmlLimits {
|
|
6
|
+
readonly maxBytes?: number;
|
|
7
|
+
readonly maxDepth?: number;
|
|
8
|
+
readonly maxNodes?: number;
|
|
9
|
+
/** Aggregate parsed/emitted text in UTF-16 units, excluding markup. */
|
|
10
|
+
readonly maxText?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const DIRECT_XML_LIMITS: Readonly<{
|
|
13
|
+
maxBytes: number;
|
|
14
|
+
maxDepth: 256;
|
|
15
|
+
maxNodes: 100000;
|
|
16
|
+
maxText: number;
|
|
17
|
+
}>;
|
|
18
|
+
type Options = Readonly<{
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
limits?: DirectXmlLimits;
|
|
21
|
+
}>;
|
|
22
|
+
/** Internal protocol selection over the same parsed observed document. */
|
|
23
|
+
export interface DirectPayloadSelection {
|
|
24
|
+
readonly payload: SyntaxElement;
|
|
25
|
+
readonly mapping: DirectValueMapping;
|
|
26
|
+
}
|
|
27
|
+
export interface DirectCodecFailure {
|
|
28
|
+
readonly kind: DirectValueFailure['kind'] | 'xml-invalid' | 'mismatch';
|
|
29
|
+
readonly rule: string;
|
|
30
|
+
readonly source?: SyntaxSource;
|
|
31
|
+
readonly schemaPath?: string;
|
|
32
|
+
readonly payloadPath?: string;
|
|
33
|
+
readonly usage: ResolverUsage;
|
|
34
|
+
}
|
|
35
|
+
export interface DirectEncodedXml {
|
|
36
|
+
readonly kind: 'direct-encoded';
|
|
37
|
+
readonly admitted: false;
|
|
38
|
+
readonly encoding: 'utf-8';
|
|
39
|
+
/** Owned mutable output bytes; bytes are data, never receipt authority. */
|
|
40
|
+
readonly bytes: Uint8Array;
|
|
41
|
+
readonly expanded: DirectExpandedValue;
|
|
42
|
+
readonly usage: ResolverUsage;
|
|
43
|
+
}
|
|
44
|
+
export interface DirectDecodedXml {
|
|
45
|
+
readonly kind: 'direct-decoded';
|
|
46
|
+
readonly admitted: false;
|
|
47
|
+
readonly payload: SyntaxElement;
|
|
48
|
+
readonly validated: DirectValueReceipt;
|
|
49
|
+
readonly usage: ResolverUsage;
|
|
50
|
+
}
|
|
51
|
+
export interface ComponentEncodedXml {
|
|
52
|
+
readonly kind: 'component-encoded';
|
|
53
|
+
readonly admitted: false;
|
|
54
|
+
readonly encoding: 'utf-8';
|
|
55
|
+
readonly bytes: Uint8Array;
|
|
56
|
+
readonly expanded: ProjectionExpandedValue;
|
|
57
|
+
readonly mapping: ComponentValueMapping;
|
|
58
|
+
readonly usage: ResolverUsage;
|
|
59
|
+
}
|
|
60
|
+
export interface ComponentDecodedXml {
|
|
61
|
+
readonly kind: 'component-decoded';
|
|
62
|
+
readonly admitted: false;
|
|
63
|
+
readonly payload: SyntaxElement;
|
|
64
|
+
readonly validated: ProjectionValueReceipt;
|
|
65
|
+
readonly mapping: ComponentValueMapping;
|
|
66
|
+
readonly usage: ResolverUsage;
|
|
67
|
+
}
|
|
68
|
+
export interface ComponentPayloadSelection {
|
|
69
|
+
readonly payload: SyntaxElement;
|
|
70
|
+
readonly mapping: ComponentValueMapping;
|
|
71
|
+
}
|
|
72
|
+
/** Parser ownership only; neither the observation nor its displayed fields establish value or operation validity. */
|
|
73
|
+
export interface ComponentXmlObservation {
|
|
74
|
+
readonly kind: 'observed-component-xml';
|
|
75
|
+
readonly root: SyntaxElement;
|
|
76
|
+
readonly usage: ResolverUsage;
|
|
77
|
+
}
|
|
78
|
+
/** Validate fresh values using the delivered inverse, then emit deterministic UTF-8. */
|
|
79
|
+
export declare function encodeDirectXml(contract: DirectOperationContract, mapping: unknown, application: unknown, options?: Options): DirectEncodedXml | DirectCodecFailure;
|
|
80
|
+
/** Encode a component-qualified structured operation direction through the same native inverse and XML writer.
|
|
81
|
+
* @remarks Mapping/source authority is checked before values. This supplies XML bytes only, not policy enforcement or dispatch.
|
|
82
|
+
* @returns Native-validated UTF-8 output or explicit scalar/value/unsupported/cancellation/resource failure.
|
|
83
|
+
*/
|
|
84
|
+
export declare function encodeComponentXml(contract: DirectOperationContract, mapping: unknown, application: unknown, options?: Options): ComponentEncodedXml | DirectCodecFailure;
|
|
85
|
+
/** Observe once through the existing component parser and execution controls.
|
|
86
|
+
* @remarks Any exact operation-owned mapping can bind parsing to its execution context. Its value/root is not
|
|
87
|
+
* assessed here. Source qualification, wrapper scope and selected payload validation remain separate owners.
|
|
88
|
+
*/
|
|
89
|
+
export declare function observeComponentXml(contract: DirectOperationContract, mapping: unknown, bytes: Uint8Array, options?: Options & Readonly<{
|
|
90
|
+
uri?: string;
|
|
91
|
+
}>): ComponentXmlObservation | DirectCodecFailure;
|
|
92
|
+
/** Validate a genuine observed subtree through an independently qualified component mapping.
|
|
93
|
+
* @remarks XML capacities belong to the observation episode. This entry assesses the selected mapping's
|
|
94
|
+
* structure and scalar duties; it does not assert cross-contract wrapper, SOAP or runtime authority.
|
|
95
|
+
* @throws TypeError For copied observations, foreign mappings or a node outside the observed document.
|
|
96
|
+
*/
|
|
97
|
+
export declare function assessObservedComponentPayload(contract: DirectOperationContract, mapping: unknown, observation: ComponentXmlObservation, payload: SyntaxElement, options?: Readonly<{
|
|
98
|
+
signal?: AbortSignal;
|
|
99
|
+
}>): ComponentDecodedXml | DirectCodecFailure;
|
|
100
|
+
/** Verify membership without conferring a selected mapping or wrapper validity. */
|
|
101
|
+
export declare function assertComponentObservedPayload(observation: ComponentXmlObservation, payload: SyntaxElement, check: () => void): void;
|
|
102
|
+
/** Bounded observed bytes -> ordered syntax -> existing structural/scalar checks. */
|
|
103
|
+
export declare function decodeDirectXml(contract: DirectOperationContract, mapping: unknown, bytes: Uint8Array, options?: Options & Readonly<{
|
|
104
|
+
uri?: string;
|
|
105
|
+
selectPayload?: (root: SyntaxElement) => DirectPayloadSelection;
|
|
106
|
+
}>): DirectDecodedXml | DirectCodecFailure;
|
|
107
|
+
/** Decode observed component-profile bytes through the same parser and native structured/scalar owners.
|
|
108
|
+
* @remarks Protocol selection may choose only an actual node from this parse and an exact operation-owned mapping.
|
|
109
|
+
* It cannot relabel a copied syntax tree, switch operations or acquire runtime/policy enforcement authority.
|
|
110
|
+
* @returns A native-validated structured value or explicit XML/structure/scalar/unsupported/resource failure.
|
|
111
|
+
*/
|
|
112
|
+
export declare function decodeComponentXml(contract: DirectOperationContract, mapping: unknown, bytes: Uint8Array, options?: Options & Readonly<{
|
|
113
|
+
uri?: string;
|
|
114
|
+
selectPayload?: (root: SyntaxElement) => ComponentPayloadSelection;
|
|
115
|
+
}>): ComponentDecodedXml | DirectCodecFailure;
|
|
116
|
+
export {};
|