@techspokes/typescript-wsdl-client 1.1.4 → 1.1.5
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 +49 -1
- package/dist/app/generateApp.d.ts.map +1 -1
- package/dist/app/generateApp.js +8 -6
- package/dist/cli.js +49 -5
- package/dist/client/checkedDirectRuntime.d.ts +59 -0
- package/dist/client/checkedDirectRuntime.d.ts.map +1 -0
- package/dist/client/checkedDirectRuntime.js +23 -0
- package/dist/client/directClientRuntime.d.ts +49 -0
- package/dist/client/directClientRuntime.d.ts.map +1 -0
- package/dist/client/directClientRuntime.js +112 -0
- package/dist/client/directClientVersion.d.ts +4 -0
- package/dist/client/directClientVersion.d.ts.map +1 -0
- package/dist/client/directClientVersion.js +3 -0
- package/dist/client/generateDirectClient.d.ts +14 -0
- package/dist/client/generateDirectClient.d.ts.map +1 -0
- package/dist/client/generateDirectClient.js +136 -0
- package/dist/compiler/buildCanonicalGraph.d.ts +7 -0
- package/dist/compiler/buildCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/buildCanonicalGraph.js +381 -0
- package/dist/compiler/canonicalGraph.d.ts +198 -0
- package/dist/compiler/canonicalGraph.d.ts.map +1 -0
- package/dist/compiler/canonicalGraph.js +37 -0
- package/dist/compiler/catalogErrors.d.ts +18 -0
- package/dist/compiler/catalogErrors.d.ts.map +1 -0
- package/dist/compiler/catalogErrors.js +86 -0
- package/dist/compiler/catalogProvenance.d.ts +15 -0
- package/dist/compiler/catalogProvenance.d.ts.map +1 -0
- package/dist/compiler/catalogProvenance.js +229 -0
- package/dist/compiler/checkedAssessment.d.ts +91 -0
- package/dist/compiler/checkedAssessment.d.ts.map +1 -0
- package/dist/compiler/checkedAssessment.js +300 -0
- package/dist/compiler/checkedSourcePreparation.d.ts +35 -0
- package/dist/compiler/checkedSourcePreparation.d.ts.map +1 -0
- package/dist/compiler/checkedSourcePreparation.js +131 -0
- package/dist/compiler/complexTypeContent.d.ts +59 -0
- package/dist/compiler/complexTypeContent.d.ts.map +1 -0
- package/dist/compiler/complexTypeContent.js +558 -0
- package/dist/compiler/composeCanonicalGraph.d.ts +69 -0
- package/dist/compiler/composeCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/composeCanonicalGraph.js +252 -0
- package/dist/compiler/dataOwnership.d.ts +22 -0
- package/dist/compiler/dataOwnership.d.ts.map +1 -0
- package/dist/compiler/dataOwnership.js +157 -0
- package/dist/compiler/datatypeValues.d.ts +47 -0
- package/dist/compiler/datatypeValues.d.ts.map +1 -0
- package/dist/compiler/datatypeValues.js +275 -0
- package/dist/compiler/directCodec.d.ts +59 -0
- package/dist/compiler/directCodec.d.ts.map +1 -0
- package/dist/compiler/directCodec.js +192 -0
- package/dist/compiler/directExecutionPolicy.d.ts +10 -0
- package/dist/compiler/directExecutionPolicy.d.ts.map +1 -0
- package/dist/compiler/directExecutionPolicy.js +17 -0
- package/dist/compiler/directOperation.d.ts +72 -0
- package/dist/compiler/directOperation.d.ts.map +1 -0
- package/dist/compiler/directOperation.js +282 -0
- package/dist/compiler/directSoap.d.ts +42 -0
- package/dist/compiler/directSoap.d.ts.map +1 -0
- package/dist/compiler/directSoap.js +298 -0
- package/dist/compiler/directSoapSource.d.ts +15 -0
- package/dist/compiler/directSoapSource.d.ts.map +1 -0
- package/dist/compiler/directSoapSource.js +86 -0
- package/dist/compiler/directSourceCapsule.d.ts +97 -0
- package/dist/compiler/directSourceCapsule.d.ts.map +1 -0
- package/dist/compiler/directSourceCapsule.js +305 -0
- package/dist/compiler/directStructure.d.ts +51 -0
- package/dist/compiler/directStructure.d.ts.map +1 -0
- package/dist/compiler/directStructure.js +252 -0
- package/dist/compiler/directStructurePlan.d.ts +16 -0
- package/dist/compiler/directStructurePlan.d.ts.map +1 -0
- package/dist/compiler/directStructurePlan.js +58 -0
- package/dist/compiler/directValues.d.ts +69 -0
- package/dist/compiler/directValues.d.ts.map +1 -0
- package/dist/compiler/directValues.js +282 -0
- package/dist/compiler/finiteRe01Verification.d.ts +140 -0
- package/dist/compiler/finiteRe01Verification.d.ts.map +1 -0
- package/dist/compiler/finiteRe01Verification.js +830 -0
- package/dist/compiler/graphTraversal.d.ts +11 -0
- package/dist/compiler/graphTraversal.d.ts.map +1 -0
- package/dist/compiler/graphTraversal.js +37 -0
- package/dist/compiler/hypotheticalScopedIdentity.d.ts +23 -0
- package/dist/compiler/hypotheticalScopedIdentity.d.ts.map +1 -0
- package/dist/compiler/hypotheticalScopedIdentity.js +81 -0
- package/dist/compiler/occurrenceAnalysis.d.ts +65 -0
- package/dist/compiler/occurrenceAnalysis.d.ts.map +1 -0
- package/dist/compiler/occurrenceAnalysis.js +300 -0
- package/dist/compiler/originalSourceMembership.d.ts +6 -0
- package/dist/compiler/originalSourceMembership.d.ts.map +1 -0
- package/dist/compiler/originalSourceMembership.js +31 -0
- package/dist/compiler/particleAttribution.d.ts +17 -0
- package/dist/compiler/particleAttribution.d.ts.map +1 -0
- package/dist/compiler/particleAttribution.js +474 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts +24 -0
- package/dist/compiler/particleDeclarationConsistency.d.ts.map +1 -0
- package/dist/compiler/particleDeclarationConsistency.js +197 -0
- package/dist/compiler/particleExtension.d.ts +22 -0
- package/dist/compiler/particleExtension.d.ts.map +1 -0
- package/dist/compiler/particleExtension.js +119 -0
- package/dist/compiler/particleLocalAssessment.d.ts +20 -0
- package/dist/compiler/particleLocalAssessment.d.ts.map +1 -0
- package/dist/compiler/particleLocalAssessment.js +92 -0
- package/dist/compiler/particleRestriction.d.ts +24 -0
- package/dist/compiler/particleRestriction.d.ts.map +1 -0
- package/dist/compiler/particleRestriction.js +489 -0
- package/dist/compiler/particleSemanticView.d.ts +50 -0
- package/dist/compiler/particleSemanticView.d.ts.map +1 -0
- package/dist/compiler/particleSemanticView.js +297 -0
- package/dist/compiler/particleWildcardRelation.d.ts +88 -0
- package/dist/compiler/particleWildcardRelation.d.ts.map +1 -0
- package/dist/compiler/particleWildcardRelation.js +143 -0
- package/dist/compiler/re01CandidateCorrespondence.d.ts +64 -0
- package/dist/compiler/re01CandidateCorrespondence.d.ts.map +1 -0
- package/dist/compiler/re01CandidateCorrespondence.js +572 -0
- package/dist/compiler/re01TypeProperties.d.ts +71 -0
- package/dist/compiler/re01TypeProperties.d.ts.map +1 -0
- package/dist/compiler/re01TypeProperties.js +120 -0
- package/dist/compiler/re01TypePropertyValidation.d.ts +23 -0
- package/dist/compiler/re01TypePropertyValidation.d.ts.map +1 -0
- package/dist/compiler/re01TypePropertyValidation.js +161 -0
- package/dist/compiler/resolveCanonicalGraph.d.ts +38 -0
- package/dist/compiler/resolveCanonicalGraph.d.ts.map +1 -0
- package/dist/compiler/resolveCanonicalGraph.js +170 -0
- package/dist/compiler/scalarSchemaAssessment.d.ts +425 -0
- package/dist/compiler/scalarSchemaAssessment.d.ts.map +1 -0
- package/dist/compiler/scalarSchemaAssessment.js +5198 -0
- package/dist/compiler/schemaAttributeGroupProperties.d.ts +17 -0
- package/dist/compiler/schemaAttributeGroupProperties.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeGroupProperties.js +53 -0
- package/dist/compiler/schemaAttributeProperties.d.ts +10 -0
- package/dist/compiler/schemaAttributeProperties.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeProperties.js +11 -0
- package/dist/compiler/schemaAttributeUses.d.ts +90 -0
- package/dist/compiler/schemaAttributeUses.d.ts.map +1 -0
- package/dist/compiler/schemaAttributeUses.js +725 -0
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts +10 -0
- package/dist/compiler/schemaBinaryWordReconstruction.d.ts.map +1 -0
- package/dist/compiler/schemaBinaryWordReconstruction.js +33 -0
- package/dist/compiler/schemaBuiltinFacets.d.ts +14 -0
- package/dist/compiler/schemaBuiltinFacets.d.ts.map +1 -0
- package/dist/compiler/schemaBuiltinFacets.js +51 -0
- package/dist/compiler/schemaCalendarImages.d.ts +8 -0
- package/dist/compiler/schemaCalendarImages.d.ts.map +1 -0
- package/dist/compiler/schemaCalendarImages.js +204 -0
- package/dist/compiler/schemaCalendarLanguage.d.ts +11 -0
- package/dist/compiler/schemaCalendarLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaCalendarLanguage.js +227 -0
- package/dist/compiler/schemaComponentEquality.d.ts +28 -0
- package/dist/compiler/schemaComponentEquality.d.ts.map +1 -0
- package/dist/compiler/schemaComponentEquality.js +446 -0
- package/dist/compiler/schemaConstructionAssessment.d.ts +46 -0
- package/dist/compiler/schemaConstructionAssessment.d.ts.map +1 -0
- package/dist/compiler/schemaConstructionAssessment.js +663 -0
- package/dist/compiler/schemaDatatypeValues.d.ts +4 -0
- package/dist/compiler/schemaDatatypeValues.d.ts.map +1 -0
- package/dist/compiler/schemaDatatypeValues.js +2 -0
- package/dist/compiler/schemaDecimalLanguage.d.ts +7 -0
- package/dist/compiler/schemaDecimalLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaDecimalLanguage.js +102 -0
- package/dist/compiler/schemaDeclarationPrimitives.d.ts +34 -0
- package/dist/compiler/schemaDeclarationPrimitives.d.ts.map +1 -0
- package/dist/compiler/schemaDeclarationPrimitives.js +194 -0
- package/dist/compiler/schemaDocumentSyntax.d.ts +55 -0
- package/dist/compiler/schemaDocumentSyntax.d.ts.map +1 -0
- package/dist/compiler/schemaDocumentSyntax.js +294 -0
- package/dist/compiler/schemaDurationLanguage.d.ts +11 -0
- package/dist/compiler/schemaDurationLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaDurationLanguage.js +170 -0
- package/dist/compiler/schemaElementProperties.d.ts +16 -0
- package/dist/compiler/schemaElementProperties.d.ts.map +1 -0
- package/dist/compiler/schemaElementProperties.js +23 -0
- package/dist/compiler/schemaEndpointWordCapacity.d.ts +36 -0
- package/dist/compiler/schemaEndpointWordCapacity.d.ts.map +1 -0
- package/dist/compiler/schemaEndpointWordCapacity.js +39 -0
- package/dist/compiler/schemaExactCalendar.d.ts +73 -0
- package/dist/compiler/schemaExactCalendar.d.ts.map +1 -0
- package/dist/compiler/schemaExactCalendar.js +264 -0
- package/dist/compiler/schemaFacetAnnotation.d.ts +32 -0
- package/dist/compiler/schemaFacetAnnotation.d.ts.map +1 -0
- package/dist/compiler/schemaFacetAnnotation.js +199 -0
- package/dist/compiler/schemaGeneratedScalarShape.d.ts +35 -0
- package/dist/compiler/schemaGeneratedScalarShape.d.ts.map +1 -0
- package/dist/compiler/schemaGeneratedScalarShape.js +176 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts +73 -0
- package/dist/compiler/schemaIdentityConstraints.d.ts.map +1 -0
- package/dist/compiler/schemaIdentityConstraints.js +362 -0
- package/dist/compiler/schemaIeeeLanguage.d.ts +43 -0
- package/dist/compiler/schemaIeeeLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaIeeeLanguage.js +759 -0
- package/dist/compiler/schemaIntegerImages.d.ts +11 -0
- package/dist/compiler/schemaIntegerImages.d.ts.map +1 -0
- package/dist/compiler/schemaIntegerImages.js +113 -0
- package/dist/compiler/schemaLexicalPredicates.d.ts +29 -0
- package/dist/compiler/schemaLexicalPredicates.d.ts.map +1 -0
- package/dist/compiler/schemaLexicalPredicates.js +63 -0
- package/dist/compiler/schemaNotationProperties.d.ts +32 -0
- package/dist/compiler/schemaNotationProperties.d.ts.map +1 -0
- package/dist/compiler/schemaNotationProperties.js +84 -0
- package/dist/compiler/schemaNumericImageConditions.d.ts +24 -0
- package/dist/compiler/schemaNumericImageConditions.d.ts.map +1 -0
- package/dist/compiler/schemaNumericImageConditions.js +66 -0
- package/dist/compiler/schemaParticleWildcardProperties.d.ts +20 -0
- package/dist/compiler/schemaParticleWildcardProperties.d.ts.map +1 -0
- package/dist/compiler/schemaParticleWildcardProperties.js +43 -0
- package/dist/compiler/schemaPattern.d.ts +1062 -0
- package/dist/compiler/schemaPattern.d.ts.map +1 -0
- package/dist/compiler/schemaPattern.js +581 -0
- package/dist/compiler/schemaRegularLanguage.d.ts +67 -0
- package/dist/compiler/schemaRegularLanguage.d.ts.map +1 -0
- package/dist/compiler/schemaRegularLanguage.js +1166 -0
- package/dist/compiler/schemaScalarContext.d.ts +81 -0
- package/dist/compiler/schemaScalarContext.d.ts.map +1 -0
- package/dist/compiler/schemaScalarContext.js +78 -0
- package/dist/compiler/schemaScalarKernel.d.ts +182 -0
- package/dist/compiler/schemaScalarKernel.d.ts.map +1 -0
- package/dist/compiler/schemaScalarKernel.js +391 -0
- package/dist/compiler/schemaScalarWitnesses.d.ts +6 -0
- package/dist/compiler/schemaScalarWitnesses.d.ts.map +1 -0
- package/dist/compiler/schemaScalarWitnesses.js +118 -0
- package/dist/compiler/schemaSimpleTypeProperties.d.ts +95 -0
- package/dist/compiler/schemaSimpleTypeProperties.d.ts.map +1 -0
- package/dist/compiler/schemaSimpleTypeProperties.js +103 -0
- package/dist/compiler/schemaSourceGrammar.d.ts +27 -0
- package/dist/compiler/schemaSourceGrammar.d.ts.map +1 -0
- package/dist/compiler/schemaSourceGrammar.js +290 -0
- package/dist/compiler/schemaSourceLexical.d.ts +4 -0
- package/dist/compiler/schemaSourceLexical.d.ts.map +1 -0
- package/dist/compiler/schemaSourceLexical.js +12 -0
- package/dist/compiler/schemaSourceValues.d.ts +51 -0
- package/dist/compiler/schemaSourceValues.d.ts.map +1 -0
- package/dist/compiler/schemaSourceValues.js +225 -0
- package/dist/compiler/schemaSourceWildcards.d.ts +28 -0
- package/dist/compiler/schemaSourceWildcards.d.ts.map +1 -0
- package/dist/compiler/schemaSourceWildcards.js +247 -0
- package/dist/compiler/schemaSymbolicSequences.d.ts +16 -0
- package/dist/compiler/schemaSymbolicSequences.d.ts.map +1 -0
- package/dist/compiler/schemaSymbolicSequences.js +99 -0
- package/dist/compiler/schemaSymbolicValueSets.d.ts +32 -0
- package/dist/compiler/schemaSymbolicValueSets.d.ts.map +1 -0
- package/dist/compiler/schemaSymbolicValueSets.js +149 -0
- package/dist/compiler/schemaSyntaxAssessment.d.ts +25 -0
- package/dist/compiler/schemaSyntaxAssessment.d.ts.map +1 -0
- package/dist/compiler/schemaSyntaxAssessment.js +361 -0
- package/dist/compiler/schemaTemporalAliases.d.ts +6 -0
- package/dist/compiler/schemaTemporalAliases.d.ts.map +1 -0
- package/dist/compiler/schemaTemporalAliases.js +195 -0
- package/dist/compiler/schemaTokenImages.d.ts +9 -0
- package/dist/compiler/schemaTokenImages.d.ts.map +1 -0
- package/dist/compiler/schemaTokenImages.js +142 -0
- package/dist/compiler/schemaTypeIdentity.d.ts +39 -0
- package/dist/compiler/schemaTypeIdentity.d.ts.map +1 -0
- package/dist/compiler/schemaTypeIdentity.js +78 -0
- package/dist/compiler/schemaTypeRelations.d.ts +38 -0
- package/dist/compiler/schemaTypeRelations.d.ts.map +1 -0
- package/dist/compiler/schemaTypeRelations.js +576 -0
- package/dist/compiler/schemaUri.d.ts +13 -0
- package/dist/compiler/schemaUri.d.ts.map +1 -0
- package/dist/compiler/schemaUri.js +103 -0
- package/dist/compiler/schemaValueContext.d.ts +26 -0
- package/dist/compiler/schemaValueContext.d.ts.map +1 -0
- package/dist/compiler/schemaValueContext.js +1 -0
- package/dist/compiler/schemaValueImages.d.ts +10 -0
- package/dist/compiler/schemaValueImages.d.ts.map +1 -0
- package/dist/compiler/schemaValueImages.js +142 -0
- package/dist/compiler/schemaValueSequences.d.ts +15 -0
- package/dist/compiler/schemaValueSequences.d.ts.map +1 -0
- package/dist/compiler/schemaValueSequences.js +19 -0
- package/dist/compiler/semanticBudget.d.ts +50 -0
- package/dist/compiler/semanticBudget.d.ts.map +1 -0
- package/dist/compiler/semanticBudget.js +178 -0
- package/dist/compiler/semanticCatalog.d.ts +122 -0
- package/dist/compiler/semanticCatalog.d.ts.map +1 -0
- package/dist/compiler/semanticCatalog.js +160 -0
- package/dist/compiler/semanticContext.d.ts +172 -0
- package/dist/compiler/semanticContext.d.ts.map +1 -0
- package/dist/compiler/semanticContext.js +1168 -0
- package/dist/compiler/semanticTypeDependencies.d.ts +8 -0
- package/dist/compiler/semanticTypeDependencies.d.ts.map +1 -0
- package/dist/compiler/semanticTypeDependencies.js +64 -0
- package/dist/compiler/semanticTypeReference.d.ts +24 -0
- package/dist/compiler/semanticTypeReference.d.ts.map +1 -0
- package/dist/compiler/semanticTypeReference.js +36 -0
- package/dist/compiler/shapeResolver.d.ts +1 -0
- package/dist/compiler/shapeResolver.d.ts.map +1 -1
- package/dist/compiler/shapeResolver.js +7 -9
- package/dist/compiler/sourceSchemaBinding.d.ts +26 -0
- package/dist/compiler/sourceSchemaBinding.d.ts.map +1 -0
- package/dist/compiler/sourceSchemaBinding.js +39 -0
- package/dist/compiler/structuralCompanions.d.ts +16 -0
- package/dist/compiler/structuralCompanions.d.ts.map +1 -0
- package/dist/compiler/structuralCompanions.js +232 -0
- package/dist/compiler/validateSemanticGraph.d.ts +5 -0
- package/dist/compiler/validateSemanticGraph.d.ts.map +1 -0
- package/dist/compiler/validateSemanticGraph.js +376 -0
- package/dist/compiler/wildcardAlgebra.d.ts +26 -0
- package/dist/compiler/wildcardAlgebra.d.ts.map +1 -0
- package/dist/compiler/wildcardAlgebra.js +155 -0
- package/dist/gateway/generateGateway.d.ts.map +1 -1
- package/dist/gateway/generateGateway.js +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/loader/orderedSyntax.d.ts +77 -0
- package/dist/loader/orderedSyntax.d.ts.map +1 -0
- package/dist/loader/orderedSyntax.js +202 -0
- package/dist/loader/resolutionDepth.d.ts +7 -0
- package/dist/loader/resolutionDepth.d.ts.map +1 -0
- package/dist/loader/resolutionDepth.js +65 -0
- package/dist/loader/schemaInput.d.ts +53 -0
- package/dist/loader/schemaInput.d.ts.map +1 -0
- package/dist/loader/schemaInput.js +212 -0
- package/dist/loader/schemaResources.d.ts +59 -0
- package/dist/loader/schemaResources.d.ts.map +1 -0
- package/dist/loader/schemaResources.js +292 -0
- package/dist/openapi/generateOpenAPI.d.ts.map +1 -1
- package/dist/openapi/generateOpenAPI.js +2 -2
- package/dist/test/generateTests.d.ts.map +1 -1
- package/dist/test/generateTests.js +2 -2
- package/dist/util/xmlWhitespace.d.ts +3 -0
- package/dist/util/xmlWhitespace.d.ts.map +1 -0
- package/dist/util/xmlWhitespace.js +4 -0
- package/docs/README.md +14 -1
- package/docs/architecture.md +9 -0
- package/docs/cli-reference.md +21 -1
- package/docs/content-model-analysis.md +92 -0
- package/docs/content-model-baseline.md +121 -0
- package/docs/content-model-catalog.md +116 -0
- package/docs/content-model-companions.md +90 -0
- package/docs/content-model-composition.md +103 -0
- package/docs/content-model-decisions.md +79 -0
- package/docs/content-model-gateway-feasibility.md +169 -0
- package/docs/content-model-graph.md +121 -0
- package/docs/content-model-loading.md +163 -0
- package/docs/content-model-matching.md +85 -0
- package/docs/content-model-readiness.md +144 -0
- package/docs/content-model-resolution.md +81 -0
- package/docs/content-model-s02-handoff.md +98 -0
- package/docs/content-model-s06-au-01.md +425 -0
- package/docs/content-model-s06-dt-01.md +386 -0
- package/docs/content-model-s06-pw-01.md +350 -0
- package/docs/content-model-s06-re-01-resolver-implementation.md +869 -0
- package/docs/content-model-s06-re-01-resolver.md +513 -0
- package/docs/content-model-s06-re-01-scalar-witnesses.md +1423 -0
- package/docs/content-model-s06-re-01-support-reconstruction.md +6337 -0
- package/docs/content-model-s06-re-01.md +7477 -0
- package/docs/content-model-s06-research-handoff.md +909 -0
- package/docs/content-model-shipped-fix.md +83 -0
- package/docs/content-model-soap-feasibility.md +165 -0
- package/docs/decisions/002-streamable-responses.md +2 -0
- package/docs/decisions/003-content-model-contracts.md +280 -0
- package/docs/direct-values.md +311 -0
- package/docs/reference-validation.md +243 -0
- package/docs/releases/v1.1.5.md +38 -0
- package/docs/roadmap/README.md +2 -2
- package/docs/supported-patterns.md +13 -5
- package/package.json +26 -13
- package/src/generation/preambles/direct-client/typescript.preamble +3 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Schema-only facade; the neutral calculations confer no receipt authority. */
|
|
2
|
+
export { datatypeValues as schemaDatatypeValues, builtinListItem, builtinParents, integerBounds, builtinPrimitive, whitespaceFor, normalizeWhitespace } from './datatypeValues.js';
|
|
3
|
+
export type { DecimalOperand, DatatypeOperand as SchemaOperand, DatatypeListTokens as SchemaListTokens } from './datatypeValues.js';
|
|
4
|
+
//# sourceMappingURL=schemaDatatypeValues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaDatatypeValues.d.ts","sourceRoot":"","sources":["../../src/compiler/schemaDatatypeValues.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,EAAC,cAAc,IAAI,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACjL,YAAY,EAAC,cAAc,EAAE,eAAe,IAAI,aAAa,EAAE,kBAAkB,IAAI,gBAAgB,EAAC,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Exact regular preimages of decimal value bounds and precision facets. */
|
|
2
|
+
import type { SchemaPatternContext } from './schemaValueContext.js';
|
|
3
|
+
export declare function schemaDecimalLanguages<Owner>(c: SchemaPatternContext<Owner>): {
|
|
4
|
+
relation: (canonical: string, greater: boolean, owner: Owner) => string | undefined;
|
|
5
|
+
precision: (name: "totalDigits" | "fractionDigits", bound: string, owner: Owner) => string;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=schemaDecimalLanguage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaDecimalLanguage.d.ts","sourceRoot":"","sources":["../../src/compiler/schemaDecimalLanguage.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAElE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC;0BA+C7C,MAAM,WAAW,OAAO,SAAS,KAAK,KAAG,MAAM,GAAG,SAAS;sBAc/D,aAAa,GAAG,gBAAgB,SAAS,MAAM,SAAS,KAAK,KAAG,MAAM;EAahG"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export function schemaDecimalLanguages(c) {
|
|
2
|
+
const join = (branches, owner) => {
|
|
3
|
+
c.step(owner, branches.length * 3 + 4);
|
|
4
|
+
for (const branch of branches)
|
|
5
|
+
c.text(branch, owner);
|
|
6
|
+
c.step(owner, branches.reduce((length, branch) => length + branch.length + 1, 2));
|
|
7
|
+
if (!branches.length)
|
|
8
|
+
throw new TypeError('Decimal branch union requires a nonempty private inventory');
|
|
9
|
+
return '(' + branches.join('|') + ')';
|
|
10
|
+
};
|
|
11
|
+
const emit = (text, owner) => { c.text(text, owner); return text; };
|
|
12
|
+
const fractional = (digits, greater, owner) => {
|
|
13
|
+
c.step(owner, digits.length * 4 + 4);
|
|
14
|
+
const branches = [];
|
|
15
|
+
for (let index = 0; index < digits.length; index++) {
|
|
16
|
+
c.step(owner, index * 2 + 30);
|
|
17
|
+
const digit = Number(digits[index]);
|
|
18
|
+
if (greater ? digit < 9 : digit > 0)
|
|
19
|
+
branches.push(emit(digits.slice(0, index)
|
|
20
|
+
+ (greater ? `[${digit + 1}-9]` : `[0-${digit - 1}]`) + '[0-9]*', owner));
|
|
21
|
+
// Omitted digits are padded with zeros for value comparison.
|
|
22
|
+
if (!greater)
|
|
23
|
+
branches.push(emit(digits.slice(0, index), owner));
|
|
24
|
+
}
|
|
25
|
+
if (greater)
|
|
26
|
+
branches.push(emit(digits + '0*[1-9][0-9]*', owner));
|
|
27
|
+
return branches;
|
|
28
|
+
};
|
|
29
|
+
const magnitude = (canonical, greater, owner) => {
|
|
30
|
+
c.text(canonical, owner);
|
|
31
|
+
const [integer, fraction = ''] = canonical.split('.'), branches = [];
|
|
32
|
+
if (integer !== '0') {
|
|
33
|
+
const length = integer.length;
|
|
34
|
+
c.step(owner, length * 4 + 8);
|
|
35
|
+
if (greater)
|
|
36
|
+
branches.push(emit(`0*[1-9][0-9]{${length},}([.][0-9]*)?`, owner));
|
|
37
|
+
else {
|
|
38
|
+
branches.push('0+([.][0-9]*)?|[.][0-9]+');
|
|
39
|
+
if (length > 1)
|
|
40
|
+
branches.push(emit(`0*[1-9][0-9]{0,${length - 2}}([.][0-9]*)?`, owner));
|
|
41
|
+
}
|
|
42
|
+
for (let index = 0; index < length; index++) {
|
|
43
|
+
c.step(owner, index * 2 + 32);
|
|
44
|
+
const digit = Number(integer[index]), minimum = index === 0 ? 1 : 0;
|
|
45
|
+
if (greater ? digit < 9 : digit > minimum)
|
|
46
|
+
branches.push(emit('0*' + integer.slice(0, index)
|
|
47
|
+
+ (greater ? `[${digit + 1}-9]` : `[${minimum}-${digit - 1}]`)
|
|
48
|
+
+ `[0-9]{${length - index - 1}}([.][0-9]*)?`, owner));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (greater)
|
|
52
|
+
branches.push('0*[1-9][0-9]*([.][0-9]*)?');
|
|
53
|
+
const fractions = fractional(fraction, greater, owner);
|
|
54
|
+
const prefix = integer === '0' ? '0*' : '0*' + integer;
|
|
55
|
+
if (fractions.length) {
|
|
56
|
+
const suffix = join(fractions, owner);
|
|
57
|
+
c.step(owner, prefix.length + suffix.length + 8);
|
|
58
|
+
branches.push(prefix + '[.]' + suffix);
|
|
59
|
+
}
|
|
60
|
+
if (!greater && fraction.length)
|
|
61
|
+
branches.push(emit(integer === '0' ? '0+' : prefix, owner));
|
|
62
|
+
return branches;
|
|
63
|
+
};
|
|
64
|
+
const relation = (canonical, greater, owner) => {
|
|
65
|
+
c.text(canonical, owner);
|
|
66
|
+
const negative = canonical.startsWith('-'), unsigned = negative ? canonical.slice(1) : canonical;
|
|
67
|
+
if (unsigned === '0')
|
|
68
|
+
return greater
|
|
69
|
+
? '[+]?(0*[1-9][0-9]*([.][0-9]*)?|0*[.]0*[1-9][0-9]*)'
|
|
70
|
+
: '\\-(0*[1-9][0-9]*([.][0-9]*)?|0*[.]0*[1-9][0-9]*)';
|
|
71
|
+
const positive = magnitude(unsigned, negative ? !greater : greater, owner);
|
|
72
|
+
const own = positive.length ? join(positive, owner) : undefined;
|
|
73
|
+
const branches = [];
|
|
74
|
+
if (own) {
|
|
75
|
+
c.step(owner, own.length + 8);
|
|
76
|
+
branches.push((negative ? '\\-' : '[+]?') + own);
|
|
77
|
+
}
|
|
78
|
+
// Opposite signs (including either spelling of zero) need no rounding.
|
|
79
|
+
if (negative && greater)
|
|
80
|
+
branches.push('[+]?([0-9]+([.][0-9]*)?|[.][0-9]+)', '\\-(0+([.]0*)?|[.]0+)');
|
|
81
|
+
if (!negative && !greater)
|
|
82
|
+
branches.push('\\-([0-9]+([.][0-9]*)?|[.][0-9]+)');
|
|
83
|
+
return branches.length ? join(branches, owner) : undefined;
|
|
84
|
+
};
|
|
85
|
+
const precision = (name, bound, owner) => {
|
|
86
|
+
c.text(bound, owner);
|
|
87
|
+
c.step(owner, bound.length ** 2 + 4);
|
|
88
|
+
if (name === 'fractionDigits')
|
|
89
|
+
return emit(`[+\\-]?([0-9]+([.][0-9]{0,${bound}}0*)?|[.][0-9]{0,${bound}}0*)`, owner);
|
|
90
|
+
const maximum = BigInt(bound), branches = ['0+([.]0*)?'];
|
|
91
|
+
c.step(owner, 32 + bound.length * 2);
|
|
92
|
+
branches.push(emit(`0*[.][0-9]{0,${bound}}0*`, owner));
|
|
93
|
+
for (let count = 1n; count <= maximum; count++) {
|
|
94
|
+
c.step(owner, bound.length * 8 + 40);
|
|
95
|
+
branches.push(emit(`0*[1-9][0-9]{${count - 1n}}([.][0-9]{0,${maximum - count}}0*)?`, owner));
|
|
96
|
+
}
|
|
97
|
+
const expression = join(branches, owner);
|
|
98
|
+
c.step(owner, expression.length + 10);
|
|
99
|
+
return '[+\\-]?' + expression;
|
|
100
|
+
};
|
|
101
|
+
return { relation, precision };
|
|
102
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SemanticTypeDependency } from './semanticTypeReference.js';
|
|
2
|
+
/** Declaration-local properties only. EDC and containing type validity are separate. */
|
|
3
|
+
import type { NodeId } from './canonicalGraph.js';
|
|
4
|
+
import type { SemanticContext } from './semanticContext.js';
|
|
5
|
+
import type { AssessedSchemaOperand, ScalarFailure } from './schemaScalarKernel.js';
|
|
6
|
+
import type { ResourceLimitFailure } from './semanticBudget.js';
|
|
7
|
+
import type { ScalarObligation } from './scalarSchemaAssessment.js';
|
|
8
|
+
import type { IdentityConstraintDependency } from './schemaIdentityConstraints.js';
|
|
9
|
+
export type DeclarationReceipt = Readonly<{
|
|
10
|
+
kind: 'checked';
|
|
11
|
+
component: NodeId;
|
|
12
|
+
contextId: string;
|
|
13
|
+
authority: 'XSD10-declaration-properties-v1';
|
|
14
|
+
constraint?: AssessedSchemaOperand;
|
|
15
|
+
obligations: readonly string[];
|
|
16
|
+
scalarObligations: readonly ScalarObligation[];
|
|
17
|
+
typeDependencies: readonly SemanticTypeDependency[];
|
|
18
|
+
identityConstraintDependencies: readonly IdentityConstraintDependency[];
|
|
19
|
+
}>;
|
|
20
|
+
export type DeclarationResult = DeclarationReceipt | ScalarFailure | ResourceLimitFailure;
|
|
21
|
+
export type DeclarationValuePropertyResult = DeclarationResult | Readonly<{
|
|
22
|
+
kind: 'checked';
|
|
23
|
+
component: NodeId;
|
|
24
|
+
contextId: string;
|
|
25
|
+
authority: 'XSD10-mixed-value-property-v1' | 'XSD10-source-simple-value-property-v1' | 'XSD10-raw-simple-value-property-v1';
|
|
26
|
+
constraint: AssessedSchemaOperand;
|
|
27
|
+
obligations: readonly string[];
|
|
28
|
+
scalarObligations: readonly ScalarObligation[];
|
|
29
|
+
typeDependencies: readonly SemanticTypeDependency[];
|
|
30
|
+
}>;
|
|
31
|
+
/** VALUE properties select actual scalar/fact support; full declaration validity has its own owner. */
|
|
32
|
+
export declare function checkDeclarationValueProperty(context: SemanticContext, id: NodeId): DeclarationValuePropertyResult;
|
|
33
|
+
export declare function checkDeclaration(context: SemanticContext, id: NodeId): DeclarationResult;
|
|
34
|
+
//# sourceMappingURL=schemaDeclarationPrimitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaDeclarationPrimitives.d.ts","sourceRoot":"","sources":["../../src/compiler/schemaDeclarationPrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqC,sBAAsB,EAAmC,MAAM,4BAA4B,CAAC;AAC7I,wFAAwF;AACxF,OAAO,KAAK,EAAwC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAEvF,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAC,qBAAqB,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAElF,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAG9D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,gCAAgC,CAAC;AAEjF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAC/F,SAAS,EAAE,iCAAiC,CAAC;IAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACjF,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAAC,gBAAgB,EAAC,SAAS,sBAAsB,EAAE,CAAC;IACnI,8BAA8B,EAAE,SAAS,4BAA4B,EAAE,CAAA;CAAC,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,aAAa,GAAG,oBAAoB,CAAC;AAG1F,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,GAAG,QAAQ,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAC/H,SAAS,EAAE,+BAA+B,GAAG,uCAAuC,GAAG,oCAAoC,CAAC;IAAC,UAAU,EAAE,qBAAqB,CAAC;IAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/L,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAAC,gBAAgB,EAAE,SAAS,sBAAsB,EAAE,CAAA;CAAC,CAAC,CAAC;AAkBxG,uGAAuG;AACvG,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,8BAA8B,CA+BlH;AACD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,CA0FxF"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { assertSemanticContext } from './semanticContext.js';
|
|
2
|
+
import { isXmlNCName, XSD_NAMESPACE } from '../loader/orderedSyntax.js';
|
|
3
|
+
import { createSchemaScalarKernel } from './schemaScalarKernel.js';
|
|
4
|
+
import { checkSubstitution, declarationMethods, RelationProblem } from './schemaTypeRelations.js';
|
|
5
|
+
import { resolveSemanticType, declaredType } from './schemaTypeIdentity.js';
|
|
6
|
+
import { collectSemanticTypeDependencies } from './semanticTypeDependencies.js';
|
|
7
|
+
import { readElementIdentityConstraints } from './schemaIdentityConstraints.js';
|
|
8
|
+
const nameAttribute = (node, name) => node.declaredAttributes.find(a => a.name.namespace === '' && a.name.local === name)?.value;
|
|
9
|
+
/** Shared actual VALUE assessment; selecting a mixed value's STRING is not FULL of its complex owner. */
|
|
10
|
+
function constraintValue(context, node, reference) {
|
|
11
|
+
const constraint = node.value;
|
|
12
|
+
if (constraint.kind !== 'default' && constraint.kind !== 'fixed')
|
|
13
|
+
return context.budget.freeze(context.budget.snapshot({ kind: 'invalid-schema',
|
|
14
|
+
rule: 'declaration-value', component: node.id, message: 'Value constraint must be default or fixed', source: node.context.source }));
|
|
15
|
+
const scalar = createSchemaScalarKernel(context), checked = scalar.checkValue(reference, constraint, node.id);
|
|
16
|
+
if (checked.kind !== 'checked')
|
|
17
|
+
return checked;
|
|
18
|
+
const assessed = scalar.assess(reference, constraint.lexical, node.id);
|
|
19
|
+
if (assessed.kind !== 'checked')
|
|
20
|
+
return assessed;
|
|
21
|
+
const typed = collectSemanticTypeDependencies(context);
|
|
22
|
+
typed.add(checked.typeDependencies);
|
|
23
|
+
typed.add(assessed.typeDependencies);
|
|
24
|
+
context.budget.chargeWork(4 + checked.obligations.length + assessed.obligations.length);
|
|
25
|
+
return Object.freeze({ kind: 'checked', constraint: assessed.value,
|
|
26
|
+
scalarObligations: Object.freeze([...checked.obligations, ...assessed.obligations]), typeDependencies: typed.snapshot() });
|
|
27
|
+
}
|
|
28
|
+
/** VALUE properties select actual scalar/fact support; full declaration validity has its own owner. */
|
|
29
|
+
export function checkDeclarationValueProperty(context, id) {
|
|
30
|
+
assertSemanticContext(context);
|
|
31
|
+
return context.budget.guard(() => {
|
|
32
|
+
context.budget.chargeWork(8 + id.length);
|
|
33
|
+
const found = context.lookup(id);
|
|
34
|
+
if (found.kind !== 'found' || found.node.kind !== 'element' || !found.node.value)
|
|
35
|
+
return checkDeclaration(context, id);
|
|
36
|
+
const node = found.node, declared = declaredType(context, node), type = resolveSemanticType(context, declared);
|
|
37
|
+
if (type.kind !== 'component' || type.node.kind !== 'complexType')
|
|
38
|
+
return checkDeclaration(context, id);
|
|
39
|
+
const raw = context.rawTypeProperties(type.node.id), source = context.sourceNode(type.node.id);
|
|
40
|
+
const sourceSimple = !raw && source?.kind === 'complexType' && source.derivation?.contentKind === 'simple'
|
|
41
|
+
&& (context.originalComplexContentSource(type.node.id) !== undefined || context.originalComplexPropertySource(type.node.id) !== undefined);
|
|
42
|
+
const rawSimple = raw?.content.kind === 'simple' ? raw.content : undefined;
|
|
43
|
+
if (rawSimple) {
|
|
44
|
+
const selected = resolveSemanticType(context, rawSimple.type);
|
|
45
|
+
if (selected.kind === 'missing' || selected.kind === 'outside-context')
|
|
46
|
+
return context.budget.freeze(context.budget.snapshot({ kind: 'unresolved', rule: 'src-resolve', component: type.node.id,
|
|
47
|
+
message: 'Simple content datatype is unavailable', source: type.node.context.source }));
|
|
48
|
+
if (!(selected.kind === 'builtin' && selected.name.local !== 'anyType' || selected.kind === 'original-generated'
|
|
49
|
+
|| selected.kind === 'component' && selected.node.kind === 'simpleType'))
|
|
50
|
+
return context.budget.freeze(context.budget.snapshot({ kind: 'invalid-schema', rule: 'raw-type-content-role', component: type.node.id,
|
|
51
|
+
message: 'Simple content requires an actual simple datatype', source: type.node.context.source }));
|
|
52
|
+
}
|
|
53
|
+
const mixed = raw ? raw.content.kind === 'mixed' : source?.kind === 'complexType' && source.mixed && source.derivation?.contentKind !== 'simple';
|
|
54
|
+
if (!sourceSimple && !rawSimple && !mixed)
|
|
55
|
+
return checkDeclaration(context, id);
|
|
56
|
+
const value = constraintValue(context, node, rawSimple?.type ?? (sourceSimple ? declared : { kind: 'builtin', name: { namespace: XSD_NAMESPACE, local: 'string' } }));
|
|
57
|
+
if (value.kind !== 'checked')
|
|
58
|
+
return value;
|
|
59
|
+
return context.budget.freeze(context.budget.snapshot({ kind: 'checked', component: id, contextId: context.contextId,
|
|
60
|
+
authority: rawSimple ? 'XSD10-raw-simple-value-property-v1' : sourceSimple ? 'XSD10-source-simple-value-property-v1' : 'XSD10-mixed-value-property-v1',
|
|
61
|
+
constraint: value.constraint, obligations: sourceSimple || rawSimple ? [] : ['element-default-mixed-emptiable:' + type.node.id],
|
|
62
|
+
scalarObligations: value.scalarObligations, typeDependencies: value.typeDependencies }));
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export function checkDeclaration(context, id) {
|
|
66
|
+
assertSemanticContext(context);
|
|
67
|
+
return context.budget.guard(() => {
|
|
68
|
+
const lookup = context.lookup(id);
|
|
69
|
+
if (lookup.kind !== 'found')
|
|
70
|
+
return context.budget.freeze(context.budget.snapshot({ kind: 'unresolved', rule: 'declaration-operand', component: id, message: 'Declaration is outside the authenticated context' }));
|
|
71
|
+
const node = lookup.node;
|
|
72
|
+
const fail = (rule, message, kind = 'invalid-schema') => context.budget.freeze(context.budget.snapshot({ kind, rule, message, component: id, source: node.context.source }));
|
|
73
|
+
if (node.kind !== 'attribute' && node.kind !== 'element')
|
|
74
|
+
return fail('declaration-kind', 'Expected an element or attribute declaration');
|
|
75
|
+
context.budget.chargeWork(32 + node.name.local.length + node.name.namespace.length + node.declaredAttributes.length * 8);
|
|
76
|
+
if (!isXmlNCName(node.name.local))
|
|
77
|
+
return fail('declaration-name', 'Declaration name must be an XML NCName');
|
|
78
|
+
if (node.kind === 'element' && (typeof node.abstract !== 'boolean' || typeof node.nillable !== 'boolean'))
|
|
79
|
+
return fail('e-props-correct', 'Abstract and nillable properties must be booleans');
|
|
80
|
+
if (node.value && node.value.kind !== 'default' && node.value.kind !== 'fixed')
|
|
81
|
+
return fail('declaration-value', 'Value constraint must be default or fixed');
|
|
82
|
+
if (node.kind === 'attribute' && node.name.namespace === 'http://www.w3.org/2001/XMLSchema-instance')
|
|
83
|
+
return fail('a-props-correct', 'Attribute declarations cannot target the XML Schema instance namespace');
|
|
84
|
+
if (node.name.namespace === 'http://www.w3.org/2000/xmlns/' || node.kind === 'attribute' && node.name.local === 'xmlns')
|
|
85
|
+
return fail('a-props-correct', 'The namespace declaration name is forbidden');
|
|
86
|
+
if (context.sourceNode(node.id)) {
|
|
87
|
+
if (nameAttribute(node, 'default') !== undefined && nameAttribute(node, 'fixed') !== undefined)
|
|
88
|
+
return fail('src-declaration', 'Default and fixed are mutually exclusive');
|
|
89
|
+
if (nameAttribute(node, 'ref') !== undefined && nameAttribute(node, 'name') !== undefined)
|
|
90
|
+
return fail('src-declaration', 'Name and ref are mutually exclusive');
|
|
91
|
+
if (nameAttribute(node, 'type') !== undefined && node.type.kind === 'local')
|
|
92
|
+
return fail('src-declaration', 'Type and anonymous type are mutually exclusive');
|
|
93
|
+
for (const property of node.kind === 'element' ? ['abstract', 'nillable'] : []) {
|
|
94
|
+
const value = nameAttribute(node, property);
|
|
95
|
+
if (value !== undefined && !['true', 'false', '0', '1'].includes(value.replace(/[\t\r\n ]+/g, ' ').replace(/^ | $/g, '')))
|
|
96
|
+
return fail('boolean-lexical', `Invalid ${property} boolean`);
|
|
97
|
+
}
|
|
98
|
+
if (node.identity.kind !== 'global') {
|
|
99
|
+
if (nameAttribute(node, 'substitutionGroup') !== undefined || nameAttribute(node, 'abstract') !== undefined || nameAttribute(node, 'final') !== undefined)
|
|
100
|
+
return fail('src-element', 'Local declaration has a global-only property');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
let identityConstraintDependencies = [];
|
|
104
|
+
if (node.kind === 'element') {
|
|
105
|
+
const constraints = readElementIdentityConstraints(context, id);
|
|
106
|
+
if (constraints.kind !== 'checked')
|
|
107
|
+
return constraints;
|
|
108
|
+
identityConstraintDependencies = constraints.identityConstraintDependencies;
|
|
109
|
+
}
|
|
110
|
+
const type = declaredType(context, node), selected = resolveSemanticType(context, type);
|
|
111
|
+
const typed = collectSemanticTypeDependencies(context);
|
|
112
|
+
if (selected.kind === 'component' || selected.kind === 'builtin' || selected.kind === 'original-generated')
|
|
113
|
+
typed.add([{ contextId: context.contextId, type: selected.identity }]);
|
|
114
|
+
if (selected.kind !== 'component' && selected.kind !== 'builtin' && selected.kind !== 'original-generated')
|
|
115
|
+
return fail('src-resolve', 'Declared type is unavailable', 'unresolved');
|
|
116
|
+
if (selected.kind === 'component' && selected.node.kind !== 'simpleType' && selected.node.kind !== 'complexType')
|
|
117
|
+
return fail('declared-type', 'Reference does not name a type');
|
|
118
|
+
if (node.kind === 'attribute' && (selected.kind === 'builtin' && selected.name.local === 'anyType' || selected.kind === 'component' && selected.node.kind === 'complexType'))
|
|
119
|
+
return fail('a-props-correct.2', 'Attribute declarations require a simple type');
|
|
120
|
+
if (node.kind === 'element') {
|
|
121
|
+
try {
|
|
122
|
+
declarationMethods(context, node, 'final');
|
|
123
|
+
declarationMethods(context, node, 'block');
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
if (error instanceof RelationProblem)
|
|
127
|
+
return fail(error.result.rule, error.message, error.result.kind === 'unresolved' ? 'unresolved' : 'invalid-schema');
|
|
128
|
+
throw error;
|
|
129
|
+
}
|
|
130
|
+
if (node.substitutionGroup) {
|
|
131
|
+
const head = context.resolve(node.substitutionGroup);
|
|
132
|
+
if (head.kind !== 'found' || head.node.kind !== 'element')
|
|
133
|
+
return fail('e-props-correct.4', 'Affiliation head is unavailable', 'unresolved');
|
|
134
|
+
if (node.identity.kind !== 'global' || head.node.identity.kind !== 'global')
|
|
135
|
+
return fail('e-props-correct.4', 'Affiliation requires global element declarations');
|
|
136
|
+
const relation = checkSubstitution(context, node.id, head.node.id, { mode: 'affiliation' });
|
|
137
|
+
if (relation.kind === 'resource-limit')
|
|
138
|
+
return relation;
|
|
139
|
+
if (relation.kind !== 'checked')
|
|
140
|
+
return fail(relation.rule, relation.message, 'unresolved');
|
|
141
|
+
typed.add(relation.typeDependencies);
|
|
142
|
+
if (!relation.value)
|
|
143
|
+
return fail('e-props-correct.4', 'Immediate affiliation type relation is not satisfied');
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const scalar = createSchemaScalarKernel(context), obligations = ['declared-type-component-validity'], scalarObligations = [];
|
|
147
|
+
const remember = (required) => {
|
|
148
|
+
context.budget.chargeWork(required.length * 8 + 1);
|
|
149
|
+
for (const obligation of required) {
|
|
150
|
+
context.budget.chargeWork(scalarObligations.length + 1);
|
|
151
|
+
if (!scalarObligations.some(prior => prior.rule === obligation.rule && prior.component === obligation.component && (prior.contextId ?? context.contextId) === (obligation.contextId ?? context.contextId)))
|
|
152
|
+
scalarObligations.push(obligation);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
if (selected.kind === 'original-generated' || selected.kind === 'builtin' && selected.name.local !== 'anyType' || selected.kind === 'component' && selected.node.kind === 'simpleType') {
|
|
156
|
+
const description = scalar.describe(type, node.id);
|
|
157
|
+
if (description.kind !== 'checked')
|
|
158
|
+
return description;
|
|
159
|
+
if (description.value.primitive === 'NOTATION' && !description.value.layers.some(layer => layer.facets.some(facet => facet.name === 'enumeration')))
|
|
160
|
+
return fail('enumeration-required-notation', 'NOTATION cannot be used directly as a declared datatype');
|
|
161
|
+
remember(description.obligations);
|
|
162
|
+
typed.add(description.typeDependencies);
|
|
163
|
+
}
|
|
164
|
+
let constraint;
|
|
165
|
+
if (node.value) {
|
|
166
|
+
let reference = type;
|
|
167
|
+
if (selected.kind === 'builtin' && selected.name.local === 'anyType')
|
|
168
|
+
reference = { kind: 'builtin', name: { namespace: XSD_NAMESPACE, local: 'anySimpleType' } };
|
|
169
|
+
else if (selected.kind === 'component' && selected.node.kind === 'complexType') {
|
|
170
|
+
const raw = context.rawTypeProperties(selected.node.id);
|
|
171
|
+
if (!raw && !context.sourceNode(selected.node.id))
|
|
172
|
+
return fail('missing-type-component-properties', 'Abstract helper type requires explicit component properties', 'unresolved');
|
|
173
|
+
const simple = raw ? raw.content.kind === 'simple' : selected.node.derivation?.contentKind === 'simple';
|
|
174
|
+
if (!simple) {
|
|
175
|
+
if (!(raw ? raw.content.kind === 'mixed' : selected.node.mixed))
|
|
176
|
+
return fail('e-props-correct.2', 'Element value constraints require simple or mixed content');
|
|
177
|
+
obligations.push('element-default-mixed-emptiable:' + selected.node.id);
|
|
178
|
+
reference = { kind: 'builtin', name: { namespace: XSD_NAMESPACE, local: 'string' } };
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const value = constraintValue(context, node, reference);
|
|
182
|
+
if (value.kind !== 'checked')
|
|
183
|
+
return value;
|
|
184
|
+
constraint = value.constraint;
|
|
185
|
+
remember(value.scalarObligations);
|
|
186
|
+
typed.add(value.typeDependencies);
|
|
187
|
+
}
|
|
188
|
+
const owned = context.budget.freeze(context.budget.snapshot({ kind: 'checked', component: id, contextId: context.contextId,
|
|
189
|
+
authority: 'XSD10-declaration-properties-v1', constraint, obligations, scalarObligations }));
|
|
190
|
+
const typeDependencies = typed.snapshot();
|
|
191
|
+
context.budget.chargeWork(24);
|
|
192
|
+
return Object.freeze({ ...owned, typeDependencies, identityConstraintDependencies });
|
|
193
|
+
});
|
|
194
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Original parsed schema documents; never a hypothetical-schema validity receipt.
|
|
3
|
+
* Checked means document representation plus the fixed S4S instance episode;
|
|
4
|
+
* explicit imported-XML prerequisites and component construction remain separate.
|
|
5
|
+
* Primary 2004 Structures: declare-schema, src-import, declare-notation,
|
|
6
|
+
* Notation_Declaration_details, no-identity, declare-annotation and sch-props-correct/c-nmd.
|
|
7
|
+
* S4S grammar corroboration: dgis/xsddiagram@9aedeb7dedfdd2fcd6bf916345499468dd4aa931,
|
|
8
|
+
* XSD/XMLSchema.xsd (e767a159c179bd6e4dc2bac2a63a62f50cbd027ec19d6b5cc9eb1c2f33e0cb2e).
|
|
9
|
+
* The complete grammar was independently compared to the dated REC Appendix A
|
|
10
|
+
* Structures/Datatypes text. Imported XML version prerequisites stay explicit.
|
|
11
|
+
*/
|
|
12
|
+
import type { SchemaInput } from '../loader/schemaInput.js';
|
|
13
|
+
import type { SyntaxSource } from '../loader/orderedSyntax.js';
|
|
14
|
+
import type { SemanticLimits } from './resolveCanonicalGraph.js';
|
|
15
|
+
import type { SemanticContext, SemanticPreparation } from './semanticContext.js';
|
|
16
|
+
import type { SemanticBudget, ResourceLimitFailure } from './semanticBudget.js';
|
|
17
|
+
import type { SourceWildcardObligation } from './schemaSourceWildcards.js';
|
|
18
|
+
import type { SourcePreparationFailure } from './sourceSchemaBinding.js';
|
|
19
|
+
export type { SourcePreparationFailure } from './sourceSchemaBinding.js';
|
|
20
|
+
export type SourceSchemaPreparation = SemanticPreparation | SourcePreparationFailure;
|
|
21
|
+
type RemainingDocumentObligation = 'child-component-syntax' | 'semantic-construction' | 'foreign-attribute-assessment' | 'annotation-payload-assessment' | 'namespace-interpretation';
|
|
22
|
+
export type SchemaDocumentResult = Readonly<{
|
|
23
|
+
kind: 'checked';
|
|
24
|
+
authority: 'XSD10-schema-document-syntax-v1';
|
|
25
|
+
scope: 'schema-document-source-syntax';
|
|
26
|
+
contextId: string;
|
|
27
|
+
sources: readonly Readonly<{
|
|
28
|
+
key: string;
|
|
29
|
+
digest: string;
|
|
30
|
+
source: SyntaxSource;
|
|
31
|
+
}>[];
|
|
32
|
+
remaining: readonly RemainingDocumentObligation[];
|
|
33
|
+
wildcardObligations: readonly SourceWildcardObligation[];
|
|
34
|
+
}> | Readonly<{
|
|
35
|
+
kind: 'invalid-schema' | 'unsupported-capability';
|
|
36
|
+
rule: string;
|
|
37
|
+
message: string;
|
|
38
|
+
source: SyntaxSource;
|
|
39
|
+
}> | Readonly<{
|
|
40
|
+
kind: 'unresolved';
|
|
41
|
+
rule: 'actual-source-only' | 'missing-source-syntax';
|
|
42
|
+
}> | ResourceLimitFailure;
|
|
43
|
+
/**
|
|
44
|
+
* One issued input snapshot owns both graph construction and retained source syntax.
|
|
45
|
+
* Loading happened before entry. Canonical construction/reference resolution retain
|
|
46
|
+
* their named legacy limits; the snapshot/context/syntax share the supplied budget.
|
|
47
|
+
*/
|
|
48
|
+
export declare function prepareSourceSchemaRequest(input: SchemaInput, options?: Readonly<{
|
|
49
|
+
budget?: SemanticBudget;
|
|
50
|
+
sourceLimits?: SemanticLimits;
|
|
51
|
+
accountPreparation?: true;
|
|
52
|
+
}>): SourceSchemaPreparation;
|
|
53
|
+
/** Checks source document representation only; component grammar/semantics remain owned elsewhere. */
|
|
54
|
+
export declare function checkSchemaDocumentSyntax(context: SemanticContext): SchemaDocumentResult;
|
|
55
|
+
//# sourceMappingURL=schemaDocumentSyntax.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaDocumentSyntax.d.ts","sourceRoot":"","sources":["../../src/compiler/schemaDocumentSyntax.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAC,WAAW,EAAuB,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAgB,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAC,cAAc,EAAE,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAI9E,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAIzE,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,0BAA0B,CAAC;AAEvE,YAAY,EAAC,wBAAwB,EAAC,MAAM,0BAA0B,CAAC;AACvE,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;AACrF,KAAK,2BAA2B,GAAG,wBAAwB,GAAG,uBAAuB,GACnF,8BAA8B,GAAG,+BAA+B,GAAG,0BAA0B,CAAC;AAChG,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,iCAAiC,CAAC;IAAC,KAAK,EAAE,+BAA+B,CAAC;IACtG,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,QAAQ,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAC,CAAC,EAAE,CAAC;IACrG,SAAS,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAClD,mBAAmB,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC1D,CAAC,GAAG,QAAQ,CAAC;IAAC,IAAI,EAAE,gBAAgB,GAAG,wBAAwB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAC,CAAC,GACnH,QAAQ,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,oBAAoB,GAAG,uBAAuB,CAAA;CAAC,CAAC,GAAG,oBAAoB,CAAC;AAIhH;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,GAAE,QAAQ,CAAC;IAC/E,MAAM,CAAC,EAAE,cAAc,CAAC;IAAC,YAAY,CAAC,EAAE,cAAc,CAAC;IAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;CACnF,CAAM,GAAG,uBAAuB,CAYhC;AAUD,sGAAsG;AACtG,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,oBAAoB,CAkLxF"}
|