@blockml/parser 0.1.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 +143 -0
- package/blocks/org/blockml/bml/compiler/parser/ParserType.bml +40 -0
- package/blocks/org/blockml/bml/compiler/parser/README.bml +68 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/AssertBlockRoot.bml +45 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/BuildSubBlockIndex.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/CollectLeadingComments.bml +50 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/CollectTrailingComments.bml +50 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/CreateMapContext.bml +56 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/DetectFormat.bml +47 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/DocumentElement.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementChildren.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementLocalName.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementPrefix.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementSourceLoc.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ExpressionFromRaw.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ExtractNamespaceBindings.bml +47 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/FqnToQName.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/GetAttribute.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/GetCharacterData.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/GetParseErrors.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/HasBmlSemanticQNameBindings.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/InferCardinality.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/IsBooleanLiteral.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/IsCData.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/IsComment.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/IsElement.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/IsTextNode.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/IsTypeReferenceEntitySugar.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/MapBlock.bml +50 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/MapBlockInstanceNode.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/MapCompositionTemplate.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/MapDocumentBlock.bml +54 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/MapTypeReferenceEntityInstance.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/MergeSourceInfo.bml +49 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/NormalizeBooleanValue.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/Parse.bml +52 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseBmlMeta.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseBooleanAttribute.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseDirectives.bml +50 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseMemberValue.bml +50 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseTypeExpression.bml +53 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseVisibilityFromName.bml +47 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseXmlDom.bml +47 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolveBlockReference.bml +53 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolvePrefix.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolveTypeName.bml +53 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/SourceLoc.bml +49 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/SplitQName.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/TrimText.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/TypeExpressionToString.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/VisibilityPrefix.bml +43 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/XmlTriviaFromElement.bml +47 -0
- package/blocks/org/blockml/bml/compiler/parser/config/MapTimeDiagnosticCodes.bml +40 -0
- package/blocks/org/blockml/bml/compiler/parser/config/ParserConstants.bml +49 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/ArchitectureOverview.bml +61 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/AttributeClassification.bml +56 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/BlockMetadataMapping.bml +51 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/DesignDecisions.bml +53 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/Diagnostics.bml +52 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/ExpressionCapture.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/Introduction.bml +52 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/LayerSeparation.bml +55 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/MappingPrinciples.bml +48 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMapping.bml +48 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMappingOrder.bml +46 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/PackageOwnership.bml +50 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/PublicApi.bml +58 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/RoundtripContract.bml +50 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/ScopeExclusions.bml +49 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/SingleFileScope.bml +47 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/TypeDescriptorParsing.bml +47 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/V1Scope.bml +48 -0
- package/blocks/org/blockml/bml/compiler/parser/documentation/XmlCommentsParse.bml +48 -0
- package/blocks/org/blockml/bml/compiler/parser/map/MapContext.bml +58 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/map/context.d.ts +16 -0
- package/dist/map/context.d.ts.map +1 -0
- package/dist/map/context.js +15 -0
- package/dist/map/context.js.map +1 -0
- package/dist/map/directives.d.ts +23 -0
- package/dist/map/directives.d.ts.map +1 -0
- package/dist/map/directives.js +89 -0
- package/dist/map/directives.js.map +1 -0
- package/dist/map/map-block.d.ts +6 -0
- package/dist/map/map-block.d.ts.map +1 -0
- package/dist/map/map-block.js +792 -0
- package/dist/map/map-block.js.map +1 -0
- package/dist/map/map-composition.d.ts +23 -0
- package/dist/map/map-composition.d.ts.map +1 -0
- package/dist/map/map-composition.js +241 -0
- package/dist/map/map-composition.js.map +1 -0
- package/dist/map/member-value.d.ts +4 -0
- package/dist/map/member-value.d.ts.map +1 -0
- package/dist/map/member-value.js +69 -0
- package/dist/map/member-value.js.map +1 -0
- package/dist/map/type-expression.d.ts +6 -0
- package/dist/map/type-expression.d.ts.map +1 -0
- package/dist/map/type-expression.js +266 -0
- package/dist/map/type-expression.js.map +1 -0
- package/dist/parse.d.ts +3 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +80 -0
- package/dist/parse.js.map +1 -0
- package/dist/pipeline/format-detect.d.ts +2 -0
- package/dist/pipeline/format-detect.d.ts.map +1 -0
- package/dist/pipeline/format-detect.js +8 -0
- package/dist/pipeline/format-detect.js.map +1 -0
- package/dist/pipeline/namespaces.d.ts +7 -0
- package/dist/pipeline/namespaces.d.ts.map +1 -0
- package/dist/pipeline/namespaces.js +45 -0
- package/dist/pipeline/namespaces.js.map +1 -0
- package/dist/pipeline/root-type.d.ts +3 -0
- package/dist/pipeline/root-type.d.ts.map +1 -0
- package/dist/pipeline/root-type.js +8 -0
- package/dist/pipeline/root-type.js.map +1 -0
- package/dist/pipeline/xml-dom.d.ts +5 -0
- package/dist/pipeline/xml-dom.d.ts.map +1 -0
- package/dist/pipeline/xml-dom.js +20 -0
- package/dist/pipeline/xml-dom.js.map +1 -0
- package/dist/util/boolean.d.ts +4 -0
- package/dist/util/boolean.d.ts.map +1 -0
- package/dist/util/boolean.js +18 -0
- package/dist/util/boolean.js.map +1 -0
- package/dist/util/qname.d.ts +17 -0
- package/dist/util/qname.d.ts.map +1 -0
- package/dist/util/qname.js +189 -0
- package/dist/util/qname.js.map +1 -0
- package/dist/util/visibility.d.ts +7 -0
- package/dist/util/visibility.d.ts.map +1 -0
- package/dist/util/visibility.js +20 -0
- package/dist/util/visibility.js.map +1 -0
- package/dist/util/xml.d.ts +25 -0
- package/dist/util/xml.d.ts.map +1 -0
- package/dist/util/xml.js +133 -0
- package/dist/util/xml.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — MemberMappingOrder
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.MemberMappingOrder
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>MemberMappingOrder</name>
|
|
29
|
+
<type>pardocumentation:MemberMappingOrder</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>BML document order preserved in members[]</is>
|
|
32
|
+
|
|
33
|
+
<documentation>Append to members[] in BML document order — the order elements appear in source.
|
|
34
|
+
|
|
35
|
+
• Element localName = member name (no name= attribute on member elements)
|
|
36
|
+
• MUST NOT sort by name, kind, or type
|
|
37
|
+
• Ordinal = index in members[] — roundtrip must preserve array order
|
|
38
|
+
• Parser accepts any authored sibling order; serializer emits canonical order (B12)
|
|
39
|
+
|
|
40
|
+
Inside containers (properties/aggregations/…): filter by kind, keep BOM array order.</documentation>
|
|
41
|
+
|
|
42
|
+
<references>
|
|
43
|
+
<see type="pardocumentation:AttributeClassification" relation="ReadNext"></see>
|
|
44
|
+
</references>
|
|
45
|
+
|
|
46
|
+
</block>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — PackageOwnership
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.PackageOwnership
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>PackageOwnership</name>
|
|
29
|
+
<type>pardocumentation:PackageOwnership</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>Toolchain package responsibilities for parsing</is>
|
|
32
|
+
|
|
33
|
+
<documentation>@blockml/parser — BML XML → BomDocument; parse() → ParseResult.
|
|
34
|
+
Owns mapping algorithm, Stage 1 pipeline [1]–[5], this BML library.
|
|
35
|
+
|
|
36
|
+
@blockml/bom — Urmodell types, ParseOptions/ParseResult (B26), Diagnostic,
|
|
37
|
+
bomEquals/stripProvenance (B20). Parser produces; does not redefine.
|
|
38
|
+
|
|
39
|
+
@blockml/framework — TypeRegistry, parseExpression(), Definition meta-model, validateTypes.
|
|
40
|
+
Parser consumes implicit namespace rules; defers AST and semantic validation.
|
|
41
|
+
|
|
42
|
+
@blockml/serializer — BOM → BML inverse. @blockml/validator — Stage 2 checks.
|
|
43
|
+
@blockml/cli — TypeRegistry bootstrap and orchestration.</documentation>
|
|
44
|
+
|
|
45
|
+
<references>
|
|
46
|
+
<see type="pardocumentation:ScopeExclusions" relation="ReadNext"></see>
|
|
47
|
+
<see type="bomdocumentation:PackageOwnership" relation="SeeAlso"></see>
|
|
48
|
+
</references>
|
|
49
|
+
|
|
50
|
+
</block>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — PublicApi
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.PublicApi
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>PublicApi</name>
|
|
29
|
+
<type>pardocumentation:PublicApi</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>parse() entry point (B26)</is>
|
|
32
|
+
|
|
33
|
+
<documentation>parse(source: string, options?: ParseOptions): ParseResult
|
|
34
|
+
|
|
35
|
+
ParseOptions (owned by @blockml/bom):
|
|
36
|
+
• filePath — default "<memory>"; written to BomDocument.source.filePath
|
|
37
|
+
• continueOnError — default true; keep mapping after errors when possible
|
|
38
|
+
|
|
39
|
+
ParseResult (owned by @blockml/bom):
|
|
40
|
+
• document — BomDocument | null (null on hard fail)
|
|
41
|
+
• diagnostics — Diagnostic[]
|
|
42
|
+
• success — false if any diagnostic has severity === "error"
|
|
43
|
+
|
|
44
|
+
Behaviour:
|
|
45
|
+
• B24 detect → [2] xmldom → [3]–[5] map
|
|
46
|
+
• Hard fail → document: null (unsupported format, missing root, invalid root)
|
|
47
|
+
• Mapping errors → BML_MAP_ERROR; with continueOnError still return document when possible
|
|
48
|
+
• Sync only; no throw on recoverable errors
|
|
49
|
+
• Does NOT call validator; does NOT expand directives</documentation>
|
|
50
|
+
|
|
51
|
+
<references>
|
|
52
|
+
<see type="bomapi:ParseOptions" relation="Defines"></see>
|
|
53
|
+
<see type="bomapi:ParseResult" relation="Defines"></see>
|
|
54
|
+
<see type="parcap:Parse" relation="Defines"></see>
|
|
55
|
+
<see type="pardocumentation:MappingPrinciples" relation="ReadNext"></see>
|
|
56
|
+
</references>
|
|
57
|
+
|
|
58
|
+
</block>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — RoundtripContract
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.RoundtripContract
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>RoundtripContract</name>
|
|
29
|
+
<type>pardocumentation:RoundtripContract</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>Parse-side roundtrip obligations (B10/B11/B13/B20)</is>
|
|
32
|
+
|
|
33
|
+
<documentation>Phase-A gate: bomEquals(stripProvenance(parse(serialize(parse(f)))), parse(f)).
|
|
34
|
+
Shared definition in @blockml/bom (B20).
|
|
35
|
+
|
|
36
|
+
Parser obligations:
|
|
37
|
+
• Preserve semantic content for serializer re-emit
|
|
38
|
+
• Store xmlRendering, authoredPlacement, authoredCharacterDataForm, namespaceBindings
|
|
39
|
+
• Do NOT require storing formatting whitespace (B13)
|
|
40
|
+
• Single-file roundtrip tests do not require TypeRegistry bootstrap
|
|
41
|
+
|
|
42
|
+
XML byte fidelity NOT a gate — see @blockml/serializer RoundtripContract.</documentation>
|
|
43
|
+
|
|
44
|
+
<references>
|
|
45
|
+
<see type="bomcap:BomEquals" relation="SeeAlso"></see>
|
|
46
|
+
<see type="serdocumentation:RoundtripContract" relation="SeeAlso"></see>
|
|
47
|
+
<see type="pardocumentation:Diagnostics" relation="ReadNext"></see>
|
|
48
|
+
</references>
|
|
49
|
+
|
|
50
|
+
</block>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — ScopeExclusions
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.ScopeExclusions
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>ScopeExclusions</name>
|
|
29
|
+
<type>pardocumentation:ScopeExclusions</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>Explicit out-of-scope for the parser package</is>
|
|
32
|
+
|
|
33
|
+
<documentation>Out of scope for @blockml/parser:
|
|
34
|
+
|
|
35
|
+
• BOM → BML emit — @blockml/serializer
|
|
36
|
+
• Semantic validation — @blockml/validator
|
|
37
|
+
• TypeRegistry bootstrap / cross-file resolve — @blockml/cli + @blockml/framework
|
|
38
|
+
• parseExpression() AST — @blockml/framework (Stage 2)
|
|
39
|
+
• Render target output — @blockml/compiler
|
|
40
|
+
• parseFile, async, streaming — deferred API
|
|
41
|
+
• Meta-driven mapping from Definition blocks — V2
|
|
42
|
+
|
|
43
|
+
In scope: single-file BML XML → lossless BomDocument.</documentation>
|
|
44
|
+
|
|
45
|
+
<references>
|
|
46
|
+
<see type="pardocumentation:Introduction" relation="SeeAlso"></see>
|
|
47
|
+
</references>
|
|
48
|
+
|
|
49
|
+
</block>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — SingleFileScope
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.SingleFileScope
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>SingleFileScope</name>
|
|
29
|
+
<type>pardocumentation:SingleFileScope</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>One BomDocument per parse(); external refs as strings (B5)</is>
|
|
32
|
+
|
|
33
|
+
<documentation>parse() produces exactly one BomDocument per invocation.
|
|
34
|
+
|
|
35
|
+
Cross-file references stored in authored form:
|
|
36
|
+
• type/baseType FQNs as resolved strings
|
|
37
|
+
• Preset refs as FQN::id strings (unmerged)
|
|
38
|
+
• bml:version on instances — no registry lookup at parse time
|
|
39
|
+
|
|
40
|
+
TypeRegistry bootstrap, effective member resolution, cross-file validation →
|
|
41
|
+
@blockml/cli orchestrator + @blockml/core utilities + @blockml/validator.</documentation>
|
|
42
|
+
|
|
43
|
+
<references>
|
|
44
|
+
<see type="pardocumentation:DesignDecisions" relation="ReadNext"></see>
|
|
45
|
+
</references>
|
|
46
|
+
|
|
47
|
+
</block>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — TypeDescriptorParsing
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.TypeDescriptorParsing
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>TypeDescriptorParsing</name>
|
|
29
|
+
<type>pardocumentation:TypeDescriptorParsing</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>TypeExpression parsing at map time</is>
|
|
32
|
+
|
|
33
|
+
<documentation>Parse type attribute strings into BOM TypeExpression shapes (defined in @blockml/bom).
|
|
34
|
+
|
|
35
|
+
• Named type refs → resolved FQN via namespace bindings + implicit namespaces
|
|
36
|
+
• Union (A | B), struct ({ a: T }), multiplicity, generics, self refs
|
|
37
|
+
• Boolean.True/Boolean.False preserved as type refs (B16) — not rewritten to literals
|
|
38
|
+
• Boolean values normalized to lowercase (B15)
|
|
39
|
+
• Failure → BML_UNKNOWN_TYPE
|
|
40
|
+
• Anonymous struct at specialized sites; context-bound implicit namespaces per 02_mbml.md</documentation>
|
|
41
|
+
|
|
42
|
+
<references>
|
|
43
|
+
<see type="parcap:ParseTypeExpression" relation="Defines"></see>
|
|
44
|
+
<see type="pardocumentation:BlockMetadataMapping" relation="ReadNext"></see>
|
|
45
|
+
</references>
|
|
46
|
+
|
|
47
|
+
</block>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — V1Scope
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.V1Scope
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>V1Scope</name>
|
|
29
|
+
<type>pardocumentation:V1Scope</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>Phase A parser slice and deferred features</is>
|
|
32
|
+
|
|
33
|
+
<documentation>V1 (Phase A) parser implements:
|
|
34
|
+
• Hardcoded BML → BOM mapper for <block> root documents
|
|
35
|
+
• Single-file scope (B5) — no TypeRegistry bootstrap in parse()
|
|
36
|
+
• Stage 1 only — no semantic validation (B8: XSD not Stage 1)
|
|
37
|
+
• JSON BML authoring not planned (B6)
|
|
38
|
+
• Tolerant parse by default (continueOnError: true)
|
|
39
|
+
|
|
40
|
+
Deferred: cross-file resolution, parseFile/async, streaming, parse({ validate: true }),
|
|
41
|
+
meta-driven mapping from Definition blocks (V2).</documentation>
|
|
42
|
+
|
|
43
|
+
<references>
|
|
44
|
+
<see type="pardocumentation:PublicApi" relation="ReadNext"></see>
|
|
45
|
+
<see type="pardocumentation:SingleFileScope" relation="SeeAlso"></see>
|
|
46
|
+
</references>
|
|
47
|
+
|
|
48
|
+
</block>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser Documentation — XmlCommentsParse
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.documentation.XmlCommentsParse
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
27
|
+
|
|
28
|
+
<name>XmlCommentsParse</name>
|
|
29
|
+
<type>pardocumentation:XmlCommentsParse</type>
|
|
30
|
+
<baseType>core:Documentation</baseType>
|
|
31
|
+
<is>Comment binding algorithm (B11 parse side)</is>
|
|
32
|
+
|
|
33
|
+
<documentation>Cross-ref: org.blockml.bml.bom.documentation.XmlComments for Urmodell storage model.
|
|
34
|
+
|
|
35
|
+
Parse algorithm:
|
|
36
|
+
• pendingLeading comments → bind to next element as leadingComments
|
|
37
|
+
• Comments after element end tag → trailingComments on that element
|
|
38
|
+
• Storage: xmlTrivia on elements, memberSectionTrivia, metadataTrivia
|
|
39
|
+
|
|
40
|
+
Comment bodies only — without <!-- / -->. Whitespace/layout not stored (B13).
|
|
41
|
+
Re-emit rules (B22) → @blockml/serializer.</documentation>
|
|
42
|
+
|
|
43
|
+
<references>
|
|
44
|
+
<see type="bomdocumentation:XmlComments" relation="SeeAlso"></see>
|
|
45
|
+
<see type="pardocumentation:TypeDescriptorParsing" relation="ReadNext"></see>
|
|
46
|
+
</references>
|
|
47
|
+
|
|
48
|
+
</block>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Parser — MapContext
|
|
3
|
+
FQN: org.blockml.bml.compiler.parser.map.MapContext
|
|
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:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
21
|
+
xmlns:parcap="org.blockml.bml.compiler.parser.capability"
|
|
22
|
+
xmlns:parconfig="org.blockml.bml.compiler.parser.config"
|
|
23
|
+
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
24
|
+
xmlns:parmap="org.blockml.bml.compiler.parser.map"
|
|
25
|
+
xmlns:type="org.blockml.bml.type">
|
|
26
|
+
|
|
27
|
+
<name>MapContext</name>
|
|
28
|
+
<type>parmap:MapContext</type>
|
|
29
|
+
<baseType>parser:ParserType</baseType>
|
|
30
|
+
<is>Per-parse mapping configuration and namespace context</is>
|
|
31
|
+
|
|
32
|
+
<documentation>Created by createMapContext(). Passed through map/* modules during step [5].</documentation>
|
|
33
|
+
|
|
34
|
+
<properties>
|
|
35
|
+
<filePath type="type:Text">
|
|
36
|
+
<documentation>filePath. TS type: type:Text. (required)</documentation>
|
|
37
|
+
</filePath>
|
|
38
|
+
<source type="type:Text">
|
|
39
|
+
<documentation>Original source string. (required)</documentation>
|
|
40
|
+
</source>
|
|
41
|
+
<bindings type="type:Text">
|
|
42
|
+
<documentation>Record<string, string> namespace bindings. (required)</documentation>
|
|
43
|
+
</bindings>
|
|
44
|
+
<subBlockIndex type="type:Text">
|
|
45
|
+
<documentation>Map<string, string> sub-block lookup. (required)</documentation>
|
|
46
|
+
</subBlockIndex>
|
|
47
|
+
<parentBlockType type="type:Text">
|
|
48
|
+
<documentation>Enclosing block type FQN when nested. (optional)</documentation>
|
|
49
|
+
</parentBlockType>
|
|
50
|
+
<isRoot type="type:Boolean">
|
|
51
|
+
<documentation>isRoot. TS type: type:Boolean. (required)</documentation>
|
|
52
|
+
</isRoot>
|
|
53
|
+
<isEmbedded type="type:Boolean">
|
|
54
|
+
<documentation>isEmbedded. TS type: type:Boolean. (required)</documentation>
|
|
55
|
+
</isEmbedded>
|
|
56
|
+
</properties>
|
|
57
|
+
|
|
58
|
+
</block>
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface MapContext {
|
|
2
|
+
filePath: string;
|
|
3
|
+
source: string;
|
|
4
|
+
bindings: Record<string, string>;
|
|
5
|
+
subBlockIndex: Map<string, string>;
|
|
6
|
+
parentBlockType?: string;
|
|
7
|
+
isRoot: boolean;
|
|
8
|
+
isEmbedded: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function createMapContext(filePath: string, source: string, bindings: Record<string, string>, options?: {
|
|
11
|
+
subBlockIndex?: Map<string, string>;
|
|
12
|
+
parentBlockType?: string;
|
|
13
|
+
isRoot?: boolean;
|
|
14
|
+
isEmbedded?: boolean;
|
|
15
|
+
}): MapContext;
|
|
16
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/map/context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,GACL,UAAU,CAaZ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function createMapContext(filePath, source, bindings, options = {}) {
|
|
2
|
+
const ctx = {
|
|
3
|
+
filePath,
|
|
4
|
+
source,
|
|
5
|
+
bindings,
|
|
6
|
+
subBlockIndex: options.subBlockIndex ?? new Map(),
|
|
7
|
+
isRoot: options.isRoot ?? false,
|
|
8
|
+
isEmbedded: options.isEmbedded ?? false,
|
|
9
|
+
};
|
|
10
|
+
if (options.parentBlockType !== undefined) {
|
|
11
|
+
ctx.parentBlockType = options.parentBlockType;
|
|
12
|
+
}
|
|
13
|
+
return ctx;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/map/context.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,MAAc,EACd,QAAgC,EAChC,UAKI,EAAE;IAEN,MAAM,GAAG,GAAe;QACtB,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI,GAAG,EAAE;QACjD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;KACxC,CAAC;IACF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DirectiveAttribute, ExpressionValue } from "@blockml/bom";
|
|
2
|
+
import type { Element } from "@xmldom/xmldom";
|
|
3
|
+
import type { SourceLocation } from "@blockml/bom";
|
|
4
|
+
export declare function parseDirectives(element: Element, loc: SourceLocation): DirectiveAttribute[];
|
|
5
|
+
export declare function parseBmlMeta(element: Element, typeFqn: string, file: string, loc: SourceLocation): {
|
|
6
|
+
id: ExpressionValue | {
|
|
7
|
+
kind: "literal";
|
|
8
|
+
value: string;
|
|
9
|
+
typeFqn: string;
|
|
10
|
+
} | undefined;
|
|
11
|
+
version: ExpressionValue | {
|
|
12
|
+
kind: "literal";
|
|
13
|
+
value: string;
|
|
14
|
+
typeFqn: string;
|
|
15
|
+
} | undefined;
|
|
16
|
+
bean: ExpressionValue | {
|
|
17
|
+
kind: "literal";
|
|
18
|
+
value: string;
|
|
19
|
+
typeFqn: string;
|
|
20
|
+
} | undefined;
|
|
21
|
+
scope: "local" | "context" | undefined;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=directives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../src/map/directives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,eAAe,EAKhB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAWnD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,cAAc,GAClB,kBAAkB,EAAE,CA4DtB;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,cAAc;;;;;;;;;;;;;;;;;EAiBpB"}
|