@blockml/parser 0.7.0 → 0.8.0
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/blocks/org/blockml/bml/compiler/parser/Library.bml +14 -4
- package/blocks/org/blockml/bml/compiler/parser/ParserType.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/README.bml +3 -6
- package/blocks/org/blockml/bml/compiler/parser/capability/AssertBlockRoot.bml +9 -4
- package/blocks/org/blockml/bml/compiler/parser/capability/BuildSubBlockIndex.bml +7 -2
- package/blocks/org/blockml/bml/compiler/parser/capability/CollectLeadingComments.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/CollectTrailingComments.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/CreateMapContext.bml +7 -2
- package/blocks/org/blockml/bml/compiler/parser/capability/DetectFormat.bml +7 -2
- package/blocks/org/blockml/bml/compiler/parser/capability/DocumentElement.bml +9 -4
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementChildren.bml +10 -5
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementLocalName.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementPrefix.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementSourceLoc.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/ExpressionFromRaw.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/ExtractNamespaceBindings.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/FqnToQName.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/GetAttribute.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/GetCharacterData.bml +11 -8
- package/blocks/org/blockml/bml/compiler/parser/capability/GetParseErrors.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/HasBmlSemanticQNameBindings.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/InferCardinality.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/IsBooleanLiteral.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/IsCData.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/IsComment.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/IsElement.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/IsTextNode.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/IsTypeReferenceEntitySugar.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/MapBlock.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/MapBlockInstanceNode.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/MapCompositionTemplate.bml +10 -5
- package/blocks/org/blockml/bml/compiler/parser/capability/MapDocumentBlock.bml +10 -5
- package/blocks/org/blockml/bml/compiler/parser/capability/MapTypeReferenceEntityInstance.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/MergeSourceInfo.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/NormalizeBooleanValue.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/Parse.bml +7 -2
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseBmlMeta.bml +10 -5
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseBooleanAttribute.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseDirectives.bml +10 -5
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseMemberValue.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseTypeExpression.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseVisibilityFromName.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseXmlDom.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolveBlockReference.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolvePrefix.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolveTypeName.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/SourceLoc.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/SplitQName.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/capability/TrimText.bml +7 -5
- package/blocks/org/blockml/bml/compiler/parser/capability/TypeExpressionToString.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/VisibilityPrefix.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/capability/XmlTriviaFromElement.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/config/MapTimeDiagnosticCodes.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/config/ParserConstants.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/documentation/ArchitectureOverview.bml +7 -2
- package/blocks/org/blockml/bml/compiler/parser/documentation/AttributeClassification.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/BlockMetadataMapping.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/documentation/DesignDecisions.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/documentation/Diagnostics.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/documentation/ExpressionCapture.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/documentation/Introduction.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/LayerSeparation.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/MappingPrinciples.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMapping.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMappingOrder.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/PackageOwnership.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/PublicApi.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/documentation/RoundtripContract.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/ScopeExclusions.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/SingleFileScope.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/documentation/StructuralGrammar.bml +7 -3
- package/blocks/org/blockml/bml/compiler/parser/documentation/TypeDescriptorParsing.bml +5 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/V1Scope.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/documentation/XmlCommentsParse.bml +6 -1
- package/blocks/org/blockml/bml/compiler/parser/map/BmlMeta.bml +54 -0
- package/blocks/org/blockml/bml/compiler/parser/map/CharacterData.bml +48 -0
- package/blocks/org/blockml/bml/compiler/parser/map/MapContext.bml +8 -3
- package/blocks/org/blockml/bml/compiler/parser/map/MapContextOptions.bml +57 -0
- package/blocks/org/blockml/bml/compiler/parser/map/QNameParts.bml +48 -0
- package/blocks/org/blockml/bml/compiler/parser/map/VisibilityParse.bml +48 -0
- package/blocks/org/blockml/bml/compiler/parser/map/XmlDomNode.bml +39 -0
- package/dist/map/map-block.d.ts.map +1 -1
- package/dist/map/map-block.js +39 -4
- package/dist/map/map-block.js.map +1 -1
- package/dist/map/type-expression.js +8 -8
- package/dist/map/type-expression.js.map +1 -1
- package/dist/util/qname.d.ts.map +1 -1
- package/dist/util/qname.js +12 -1
- package/dist/util/qname.js.map +1 -1
- package/package.json +3 -3
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,6 +24,10 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
26
31
|
xmlns:doc="org.blockml.bml.documentation">
|
|
27
32
|
|
|
28
33
|
<name>PackageOwnership</name>
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,6 +24,10 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
26
31
|
xmlns:doc="org.blockml.bml.documentation">
|
|
27
32
|
|
|
28
33
|
<name>PublicApi</name>
|
|
@@ -33,7 +38,7 @@
|
|
|
33
38
|
<documentation>parse(source: string, options?: ParseOptions): ParseResult
|
|
34
39
|
|
|
35
40
|
ParseOptions (owned by @blockml/bom):
|
|
36
|
-
• filePath — default "
|
|
41
|
+
• filePath — default "<memory>"; written to BomDocument.source.filePath
|
|
37
42
|
• continueOnError — default true; keep mapping after errors when possible
|
|
38
43
|
|
|
39
44
|
ParseResult (owned by @blockml/bom):
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,6 +24,10 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
26
31
|
xmlns:doc="org.blockml.bml.documentation">
|
|
27
32
|
|
|
28
33
|
<name>RoundtripContract</name>
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,6 +24,10 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
26
31
|
xmlns:doc="org.blockml.bml.documentation">
|
|
27
32
|
|
|
28
33
|
<name>ScopeExclusions</name>
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,6 +24,10 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
26
31
|
xmlns:doc="org.blockml.bml.documentation">
|
|
27
32
|
|
|
28
33
|
<name>SingleFileScope</name>
|
|
@@ -38,7 +43,7 @@
|
|
|
38
43
|
• bml:version on instances — no registry lookup at parse time
|
|
39
44
|
|
|
40
45
|
TypeRegistry bootstrap, effective member resolution, cross-file validation →
|
|
41
|
-
@blockml/cli orchestrator + @blockml/
|
|
46
|
+
@blockml/cli orchestrator + @blockml/framework utilities + @blockml/validator.</documentation>
|
|
42
47
|
|
|
43
48
|
<references>
|
|
44
49
|
<see type="pardocumentation:DesignDecisions" relation="ReadNext"></see>
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,8 +24,11 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
26
|
-
xmlns:
|
|
27
|
-
xmlns:
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
28
32
|
|
|
29
33
|
<name>StructuralGrammar</name>
|
|
30
34
|
<type>pardocumentation:StructuralGrammar</type>
|
|
@@ -56,7 +60,7 @@
|
|
|
56
60
|
Block instances: extra attributes stay in memberValues for semantic checking.</documentation>
|
|
57
61
|
|
|
58
62
|
<references>
|
|
59
|
-
<see type="pardocumentation:
|
|
63
|
+
<see type="pardocumentation:XmlCommentsParse" relation="ReadNext"></see>
|
|
60
64
|
<see type="valdocumentation:ValidityContract" relation="SeeAlso"></see>
|
|
61
65
|
</references>
|
|
62
66
|
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,6 +24,10 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
26
31
|
xmlns:doc="org.blockml.bml.documentation">
|
|
27
32
|
|
|
28
33
|
<name>TypeDescriptorParsing</name>
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,6 +24,10 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
26
31
|
xmlns:doc="org.blockml.bml.documentation">
|
|
27
32
|
|
|
28
33
|
<name>V1Scope</name>
|
|
@@ -31,7 +36,7 @@
|
|
|
31
36
|
<is>Phase A parser slice and deferred features</is>
|
|
32
37
|
|
|
33
38
|
<documentation>V1 (Phase A) parser implements:
|
|
34
|
-
• Hardcoded BML → BOM mapper for
|
|
39
|
+
• Hardcoded BML → BOM mapper for <block> root documents
|
|
35
40
|
• Single-file scope (B5) — no TypeRegistry bootstrap in parse()
|
|
36
41
|
• Stage 1 structural BML validation (unknown Gerüst tags/attributes/directives); no TypeRegistry semantic checks (B8: XSD not Stage 1)
|
|
37
42
|
• JSON BML authoring not planned (B6)
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -23,6 +24,10 @@
|
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
26
|
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
26
31
|
xmlns:doc="org.blockml.bml.documentation">
|
|
27
32
|
|
|
28
33
|
<name>XmlCommentsParse</name>
|
|
@@ -37,7 +42,7 @@
|
|
|
37
42
|
• Comments after element end tag → trailingComments on that element
|
|
38
43
|
• Storage: xmlTrivia on elements, memberSectionTrivia, metadataTrivia
|
|
39
44
|
|
|
40
|
-
Comment bodies only — without
|
|
45
|
+
Comment bodies only — without <!-- / -->. Whitespace/layout not stored (B13).
|
|
41
46
|
Re-emit rules (B22) → @blockml/serializer.</documentation>
|
|
42
47
|
|
|
43
48
|
<references>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser — BmlMeta
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.map.BmlMeta
|
|
4
|
+
-->
|
|
5
|
+
<block
|
|
6
|
+
xmlns="http://blockml.org/bml"
|
|
7
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
8
|
+
xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
|
|
9
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
14
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
15
|
+
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
|
+
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
19
|
+
xmlns:core="org.blockml.bml.core"
|
|
20
|
+
xmlns:def="org.blockml.bml.definition"
|
|
21
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
22
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
23
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
24
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
25
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
26
|
+
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
|
+
|
|
32
|
+
<name>BmlMeta</name>
|
|
33
|
+
<type>parmap:BmlMeta</type>
|
|
34
|
+
<baseType>parser:ParserType</baseType>
|
|
35
|
+
<is>Parsed bml:id/version/bean/scope on a BlockInstance</is>
|
|
36
|
+
|
|
37
|
+
<documentation>BML type gap: stands for the object returned by parseBmlMeta() (packages/parser/src/map/directives.ts).</documentation>
|
|
38
|
+
|
|
39
|
+
<properties>
|
|
40
|
+
<id type="bomvalue:MemberValue">
|
|
41
|
+
<documentation>id. TS type: bomvalue:MemberValue. (optional)</documentation>
|
|
42
|
+
</id>
|
|
43
|
+
<version type="bomvalue:MemberValue">
|
|
44
|
+
<documentation>version. TS type: bomvalue:MemberValue. (optional)</documentation>
|
|
45
|
+
</version>
|
|
46
|
+
<bean type="bomvalue:MemberValue">
|
|
47
|
+
<documentation>bean. TS type: bomvalue:MemberValue. (optional)</documentation>
|
|
48
|
+
</bean>
|
|
49
|
+
<scope type="type:Text">
|
|
50
|
+
<documentation>scope. TS type: type:Text. (optional)</documentation>
|
|
51
|
+
</scope>
|
|
52
|
+
</properties>
|
|
53
|
+
|
|
54
|
+
</block>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser — CharacterData
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.map.CharacterData
|
|
4
|
+
-->
|
|
5
|
+
<block
|
|
6
|
+
xmlns="http://blockml.org/bml"
|
|
7
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
8
|
+
xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
|
|
9
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
14
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
15
|
+
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
|
+
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
19
|
+
xmlns:core="org.blockml.bml.core"
|
|
20
|
+
xmlns:def="org.blockml.bml.definition"
|
|
21
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
22
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
23
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
24
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
25
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
26
|
+
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
|
+
|
|
32
|
+
<name>CharacterData</name>
|
|
33
|
+
<type>parmap:CharacterData</type>
|
|
34
|
+
<baseType>parser:ParserType</baseType>
|
|
35
|
+
<is>Trimmed element character data and authored form</is>
|
|
36
|
+
|
|
37
|
+
<documentation>BML type gap: stands for TypeScript { text: string; form: "text" | "cdata" } from getCharacterData() (packages/parser/src/util/xml.ts).</documentation>
|
|
38
|
+
|
|
39
|
+
<properties>
|
|
40
|
+
<text type="type:Text">
|
|
41
|
+
<documentation>text. TS type: type:Text. (required)</documentation>
|
|
42
|
+
</text>
|
|
43
|
+
<form type="bomcommon:CharacterDataForm">
|
|
44
|
+
<documentation>form. TS type: bomcommon:CharacterDataForm. (required)</documentation>
|
|
45
|
+
</form>
|
|
46
|
+
</properties>
|
|
47
|
+
|
|
48
|
+
</block>
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
16
|
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
17
|
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
18
19
|
xmlns:core="org.blockml.bml.core"
|
|
19
20
|
xmlns:def="org.blockml.bml.definition"
|
|
20
21
|
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
@@ -22,7 +23,11 @@
|
|
|
22
23
|
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
24
|
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
25
|
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
-
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
26
31
|
|
|
27
32
|
<name>MapContext</name>
|
|
28
33
|
<type>parmap:MapContext</type>
|
|
@@ -39,10 +44,10 @@
|
|
|
39
44
|
<documentation>Original source string. (required)</documentation>
|
|
40
45
|
</source>
|
|
41
46
|
<bindings type="type:Text">
|
|
42
|
-
<documentation>Record
|
|
47
|
+
<documentation>Record<string, string> namespace bindings. (required)</documentation>
|
|
43
48
|
</bindings>
|
|
44
49
|
<subBlockIndex type="type:Text">
|
|
45
|
-
<documentation>Map
|
|
50
|
+
<documentation>Map<string, string> sub-block lookup. (required)</documentation>
|
|
46
51
|
</subBlockIndex>
|
|
47
52
|
<parentBlockType type="type:Text">
|
|
48
53
|
<documentation>Enclosing block type FQN when nested. (optional)</documentation>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser — MapContextOptions
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.map.MapContextOptions
|
|
4
|
+
-->
|
|
5
|
+
<block
|
|
6
|
+
xmlns="http://blockml.org/bml"
|
|
7
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
8
|
+
xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
|
|
9
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
14
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
15
|
+
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
|
+
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
19
|
+
xmlns:core="org.blockml.bml.core"
|
|
20
|
+
xmlns:def="org.blockml.bml.definition"
|
|
21
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
22
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
23
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
24
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
25
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
26
|
+
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
|
+
|
|
32
|
+
<name>MapContextOptions</name>
|
|
33
|
+
<type>parmap:MapContextOptions</type>
|
|
34
|
+
<baseType>parser:ParserType</baseType>
|
|
35
|
+
<is>Optional extras when building MapContext</is>
|
|
36
|
+
|
|
37
|
+
<documentation>BML type gap: stands for the options argument of createMapContext() (packages/parser/src/map/context.ts).</documentation>
|
|
38
|
+
|
|
39
|
+
<properties>
|
|
40
|
+
<subBlockIndex type="type:Text">
|
|
41
|
+
<documentation>Map<string, string> sub-block lookup. (optional)</documentation>
|
|
42
|
+
</subBlockIndex>
|
|
43
|
+
<parentBlockType type="type:Text">
|
|
44
|
+
<documentation>Enclosing block type FQN when nested. (optional)</documentation>
|
|
45
|
+
</parentBlockType>
|
|
46
|
+
<isRoot type="type:Boolean">
|
|
47
|
+
<documentation>isRoot. TS type: type:Boolean. (optional)</documentation>
|
|
48
|
+
</isRoot>
|
|
49
|
+
<isEmbedded type="type:Boolean">
|
|
50
|
+
<documentation>isEmbedded. TS type: type:Boolean. (optional)</documentation>
|
|
51
|
+
</isEmbedded>
|
|
52
|
+
<diagnostics type="bomcommon:Diagnostic[]">
|
|
53
|
+
<documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (optional)</documentation>
|
|
54
|
+
</diagnostics>
|
|
55
|
+
</properties>
|
|
56
|
+
|
|
57
|
+
</block>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser — QNameParts
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.map.QNameParts
|
|
4
|
+
-->
|
|
5
|
+
<block
|
|
6
|
+
xmlns="http://blockml.org/bml"
|
|
7
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
8
|
+
xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
|
|
9
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
14
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
15
|
+
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
|
+
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
19
|
+
xmlns:core="org.blockml.bml.core"
|
|
20
|
+
xmlns:def="org.blockml.bml.definition"
|
|
21
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
22
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
23
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
24
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
25
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
26
|
+
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
|
+
|
|
32
|
+
<name>QNameParts</name>
|
|
33
|
+
<type>parmap:QNameParts</type>
|
|
34
|
+
<baseType>parser:ParserType</baseType>
|
|
35
|
+
<is>Prefix and local name from a QName split</is>
|
|
36
|
+
|
|
37
|
+
<documentation>BML type gap: stands for TypeScript { prefix: string; local: string } from splitQName() (packages/parser/src/util/qname.ts).</documentation>
|
|
38
|
+
|
|
39
|
+
<properties>
|
|
40
|
+
<prefix type="type:Text">
|
|
41
|
+
<documentation>prefix. TS type: type:Text. (required)</documentation>
|
|
42
|
+
</prefix>
|
|
43
|
+
<local type="type:Text">
|
|
44
|
+
<documentation>local. TS type: type:Text. (required)</documentation>
|
|
45
|
+
</local>
|
|
46
|
+
</properties>
|
|
47
|
+
|
|
48
|
+
</block>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser — VisibilityParse
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.map.VisibilityParse
|
|
4
|
+
-->
|
|
5
|
+
<block
|
|
6
|
+
xmlns="http://blockml.org/bml"
|
|
7
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
8
|
+
xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
|
|
9
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
14
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
15
|
+
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
|
+
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
19
|
+
xmlns:core="org.blockml.bml.core"
|
|
20
|
+
xmlns:def="org.blockml.bml.definition"
|
|
21
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
22
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
23
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
24
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
25
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
26
|
+
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
|
+
|
|
32
|
+
<name>VisibilityParse</name>
|
|
33
|
+
<type>parmap:VisibilityParse</type>
|
|
34
|
+
<baseType>parser:ParserType</baseType>
|
|
35
|
+
<is>Logical name plus visibility from a localName prefix</is>
|
|
36
|
+
|
|
37
|
+
<documentation>BML type gap: stands for TypeScript { name: string; visibility: string } from parseVisibilityFromName().</documentation>
|
|
38
|
+
|
|
39
|
+
<properties>
|
|
40
|
+
<name type="type:Text">
|
|
41
|
+
<documentation>name. TS type: type:Text. (required)</documentation>
|
|
42
|
+
</name>
|
|
43
|
+
<visibility type="type:Text">
|
|
44
|
+
<documentation>visibility. TS type: type:Text. (required)</documentation>
|
|
45
|
+
</visibility>
|
|
46
|
+
</properties>
|
|
47
|
+
|
|
48
|
+
</block>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser — XmlDomNode
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.map.XmlDomNode
|
|
4
|
+
-->
|
|
5
|
+
<block
|
|
6
|
+
xmlns="http://blockml.org/bml"
|
|
7
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
8
|
+
xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
|
|
9
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
14
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
15
|
+
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
16
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
17
|
+
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
18
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
19
|
+
xmlns:core="org.blockml.bml.core"
|
|
20
|
+
xmlns:def="org.blockml.bml.definition"
|
|
21
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
22
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
23
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
24
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
25
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
26
|
+
xmlns:type="org.blockml.bml.type"
|
|
27
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
28
|
+
xmlns:bomcap="org.blockml.bml.bom.capability"
|
|
29
|
+
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
|
+
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
|
+
|
|
32
|
+
<name>XmlDomNode</name>
|
|
33
|
+
<type>parmap:XmlDomNode</type>
|
|
34
|
+
<baseType>parser:ParserType</baseType>
|
|
35
|
+
<is>Host XML DOM node from @xmldom/xmldom</is>
|
|
36
|
+
|
|
37
|
+
<documentation>BML type gap: stands for TypeScript Node | Element | Document (@xmldom/xmldom). Core has no DOM ValueType; this is a host-boundary type, not a reconstructed DOM struct.</documentation>
|
|
38
|
+
|
|
39
|
+
</block>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-block.d.ts","sourceRoot":"","sources":["../../src/map/map-block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,eAAe,EAKf,UAAU,EAiBX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"map-block.d.ts","sourceRoot":"","sources":["../../src/map/map-block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,eAAe,EAKf,UAAU,EAiBX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AA6mCjE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,eAAe,CAE3E;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,WAAW,GAAE,UAAU,EAAO,GAC7B,eAAe,CAGjB"}
|
package/dist/map/map-block.js
CHANGED
|
@@ -416,7 +416,11 @@ function mapMetadataFields(element, block, ctx) {
|
|
|
416
416
|
case "baseType": {
|
|
417
417
|
const bt = getTextOrAttr(child);
|
|
418
418
|
if (bt) {
|
|
419
|
-
|
|
419
|
+
const parsed = withElementLocation(ctx.filePath, ctx.source, child, () => parseBaseType(bt, ctx, block.type));
|
|
420
|
+
block.baseType = parsed.fqn;
|
|
421
|
+
if (parsed.expression) {
|
|
422
|
+
block.baseTypeExpression = parsed.expression;
|
|
423
|
+
}
|
|
420
424
|
}
|
|
421
425
|
block.baseTypeSource = elementSourceLoc(ctx.filePath, ctx.source, child);
|
|
422
426
|
break;
|
|
@@ -562,8 +566,20 @@ function mapProseEntry(element, ctx) {
|
|
|
562
566
|
function blockEffectiveLanguage(_ctx) {
|
|
563
567
|
return "org.blockml.bml.language.English";
|
|
564
568
|
}
|
|
569
|
+
const FREE_TEXT_KEYWORD = "org.blockml.bml.meta.FreeTextKeyword";
|
|
570
|
+
const FREE_TEXT_ALIAS = "org.blockml.bml.meta.FreeTextAlias";
|
|
571
|
+
function commaSeparatedTokens(text) {
|
|
572
|
+
return text
|
|
573
|
+
.split(",")
|
|
574
|
+
.map((token) => token.trim())
|
|
575
|
+
.filter((token) => token.length > 0);
|
|
576
|
+
}
|
|
565
577
|
function mapKeywords(element, ctx) {
|
|
566
578
|
const entries = [];
|
|
579
|
+
const { text } = getCharacterData(element);
|
|
580
|
+
for (const term of commaSeparatedTokens(text)) {
|
|
581
|
+
entries.push({ typeFqn: FREE_TEXT_KEYWORD, term });
|
|
582
|
+
}
|
|
567
583
|
for (const child of elementChildren(element)) {
|
|
568
584
|
const local = elementLocalName(child);
|
|
569
585
|
const prefix = elementPrefix(child);
|
|
@@ -586,6 +602,10 @@ function mapKeywords(element, ctx) {
|
|
|
586
602
|
}
|
|
587
603
|
function mapAliases(element, ctx) {
|
|
588
604
|
const entries = [];
|
|
605
|
+
const { text } = getCharacterData(element);
|
|
606
|
+
for (const name of commaSeparatedTokens(text)) {
|
|
607
|
+
entries.push({ typeFqn: FREE_TEXT_ALIAS, name });
|
|
608
|
+
}
|
|
589
609
|
for (const child of elementChildren(element)) {
|
|
590
610
|
const local = elementLocalName(child);
|
|
591
611
|
const prefix = elementPrefix(child);
|
|
@@ -719,12 +739,27 @@ function typeResolveOptions(ctx) {
|
|
|
719
739
|
}
|
|
720
740
|
return options;
|
|
721
741
|
}
|
|
722
|
-
function
|
|
742
|
+
function isRichNamedType(expr) {
|
|
743
|
+
return (expr.kind === "named" &&
|
|
744
|
+
((expr.typeArguments?.length ?? 0) > 0 ||
|
|
745
|
+
expr.instanceConfiguration !== undefined ||
|
|
746
|
+
expr.multiplicity !== undefined));
|
|
747
|
+
}
|
|
748
|
+
function parseBaseType(raw, ctx, fallbackParent) {
|
|
723
749
|
const expr = parseTypeExpression(raw, ctx.bindings, "type", typeResolveOptions(ctx));
|
|
724
750
|
if (expr.kind === "named") {
|
|
725
|
-
|
|
751
|
+
if (isRichNamedType(expr)) {
|
|
752
|
+
return { fqn: expr.fqn, expression: expr };
|
|
753
|
+
}
|
|
754
|
+
return { fqn: expr.fqn };
|
|
726
755
|
}
|
|
727
|
-
return
|
|
756
|
+
return {
|
|
757
|
+
fqn: resolveBlockReference(raw, ctx.bindings, ctx.subBlockIndex, fallbackParent),
|
|
758
|
+
expression: expr,
|
|
759
|
+
};
|
|
760
|
+
}
|
|
761
|
+
function namedTypeFqn(raw, ctx, fallbackParent) {
|
|
762
|
+
return parseBaseType(raw, ctx, fallbackParent).fqn;
|
|
728
763
|
}
|
|
729
764
|
function mapGenericTypes(element, ctx) {
|
|
730
765
|
return elementChildren(element).map((c) => {
|