@blockml/bom 0.8.1 → 0.9.1
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/bom/Library.bml +3 -1
- package/blocks/org/blockml/bml/bom/block/BlockDefinition.bml +3 -0
- package/blocks/org/blockml/bml/bom/composition/BlockInstance.bml +3 -0
- package/blocks/org/blockml/bml/bom/composition/CompositionTemplate.bml +3 -0
- package/blocks/org/blockml/bml/bom/composition/GenericsBinding.bml +51 -0
- package/blocks/org/blockml/bml/bom/composition/InstanceAggregationComposition.bml +4 -2
- package/blocks/org/blockml/bml/bom/composition/VirtualContainerNode.bml +3 -0
- package/blocks/org/blockml/bml/bom/documentation/AuthoredSurfaceTable.bml +2 -0
- package/blocks/org/blockml/bml/bom/documentation/CompositionDirectives.bml +5 -1
- package/blocks/org/blockml/bml/bom/documentation/MemberValueSemantics.bml +1 -0
- package/blocks/org/blockml/bml/bom/documentation/PackageOwnership.bml +3 -2
- package/blocks/org/blockml/bml/bom/documentation/RelatedDiagnostics.bml +1 -1
- package/blocks/org/blockml/bml/bom/member/CapabilityDefinition.bml +3 -0
- package/blocks/org/blockml/bml/bom/member/MemberDefinitionBase.bml +3 -0
- package/blocks/org/blockml/bml/bom/member/PropertyDefinition.bml +1 -1
- package/blocks/org/blockml/bml/bom/member/PropertyValueEntry.bml +1 -1
- package/blocks/org/blockml/bml/bom/value/InterpolatedTextValue.bml +49 -0
- package/blocks/org/blockml/bml/bom/value/MemberValue.bml +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/block-definition.d.ts +3 -1
- package/dist/types/block-definition.d.ts.map +1 -1
- package/dist/types/composition.d.ts +15 -0
- package/dist/types/composition.d.ts.map +1 -1
- package/dist/types/member-definition.d.ts +6 -1
- package/dist/types/member-definition.d.ts.map +1 -1
- package/dist/types/values.d.ts +9 -1
- package/dist/types/values.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
Membership is defined exclusively by this blocks list.
|
|
41
41
|
</documentation>
|
|
42
42
|
|
|
43
|
-
<version>0.
|
|
43
|
+
<version>0.9.1</version>
|
|
44
44
|
|
|
45
45
|
<language>
|
|
46
46
|
<English />
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
<bomvalue:MemberValue />
|
|
85
85
|
<bomvalue:LiteralValue />
|
|
86
86
|
<bomvalue:ExpressionValue />
|
|
87
|
+
<bomvalue:InterpolatedTextValue />
|
|
87
88
|
<bomvalue:AddressValue />
|
|
88
89
|
<bomtype:Multiplicity />
|
|
89
90
|
<bomtype:InstanceConfiguration />
|
|
@@ -116,6 +117,7 @@
|
|
|
116
117
|
<bommember:ImplementationBlock />
|
|
117
118
|
<bommember:CapabilityDefinition />
|
|
118
119
|
<bomcomp:WithBinding />
|
|
120
|
+
<bomcomp:GenericsBinding />
|
|
119
121
|
<bomcomp:DirectiveAttribute />
|
|
120
122
|
<bomcomp:EachDirective />
|
|
121
123
|
<bomcomp:IfDirective />
|
|
@@ -95,6 +95,9 @@
|
|
|
95
95
|
<xmlRendering type="bomcommon:XmlRenderingBlock">
|
|
96
96
|
<documentation>xmlRendering (optional). TS type: bomcommon:XmlRenderingBlock.</documentation>
|
|
97
97
|
</xmlRendering>
|
|
98
|
+
<generics type="bomcomp:GenericsBinding">
|
|
99
|
+
<documentation>Misplaced bml:generics on a Block definition. (optional)</documentation>
|
|
100
|
+
</generics>
|
|
98
101
|
<visibility type="type:Text">
|
|
99
102
|
<documentation>"private" | "protected" | "public". Sub-Blocks only. (optional)</documentation>
|
|
100
103
|
</visibility>
|
|
@@ -46,6 +46,9 @@
|
|
|
46
46
|
<scope type="type:Text">
|
|
47
47
|
<documentation>"local" | "context". (optional)</documentation>
|
|
48
48
|
</scope>
|
|
49
|
+
<generics type="bomcomp:GenericsBinding">
|
|
50
|
+
<documentation>Authored bml:generics on this instance. Binds genericTypes; overrides defaultType. (optional)</documentation>
|
|
51
|
+
</generics>
|
|
49
52
|
<basePresets type="type:Text">
|
|
50
53
|
<documentation>basePresets (optional). TS type: type:Text.</documentation>
|
|
51
54
|
</basePresets>
|
|
@@ -37,6 +37,9 @@
|
|
|
37
37
|
<directives type="bomcomp:DirectiveAttribute[]">
|
|
38
38
|
<documentation>directives (optional). TS type: bomcomp:DirectiveAttribute[].</documentation>
|
|
39
39
|
</directives>
|
|
40
|
+
<generics type="bomcomp:GenericsBinding">
|
|
41
|
+
<documentation>Misplaced bml:generics on a composition wrapper. (optional)</documentation>
|
|
42
|
+
</generics>
|
|
40
43
|
<children type="bomcomp:CompositionNode[]">
|
|
41
44
|
<documentation>children (required). TS type: bomcomp:CompositionNode[].</documentation>
|
|
42
45
|
</children>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
BOM Urmodell — GenericsBinding
|
|
3
|
+
FQN: org.blockml.bml.bom.composition.GenericsBinding
|
|
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:bomcap="org.blockml.bml.bom.capability"
|
|
15
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
16
|
+
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
17
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
18
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
19
|
+
xmlns:bommember="org.blockml.bml.bom.member"
|
|
20
|
+
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
21
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
22
|
+
xmlns:core="org.blockml.bml.core"
|
|
23
|
+
xmlns:def="org.blockml.bml.definition"
|
|
24
|
+
xmlns:type="org.blockml.bml.type">
|
|
25
|
+
|
|
26
|
+
<name>GenericsBinding</name>
|
|
27
|
+
<type>bomcomp:GenericsBinding</type>
|
|
28
|
+
<baseType>bom:UrmodellType</baseType>
|
|
29
|
+
<is>Authored bml:generics binding on an instance or illegal host</is>
|
|
30
|
+
|
|
31
|
+
<documentation>Lossless bml:generics value. arguments is present only when the
|
|
32
|
+
parenthesized TypeExpression list parsed successfully. Legal host is
|
|
33
|
+
BlockInstance; other hosts keep the binding so validate() can emit
|
|
34
|
+
BML_GENERICS_DIRECTIVE_NOT_ALLOWED.</documentation>
|
|
35
|
+
|
|
36
|
+
<properties>
|
|
37
|
+
<raw type="type:Text">
|
|
38
|
+
<documentation>raw (required). TS type: type:Text.</documentation>
|
|
39
|
+
</raw>
|
|
40
|
+
<arguments type="bomtype:TypeExpression[]">
|
|
41
|
+
<documentation>arguments (optional). TS type: bomtype:TypeExpression[].</documentation>
|
|
42
|
+
</arguments>
|
|
43
|
+
<authoredPlacement type="type:Text">
|
|
44
|
+
<documentation>"attribute" | "element". (required)</documentation>
|
|
45
|
+
</authoredPlacement>
|
|
46
|
+
<source type="bomcommon:SourceLocation">
|
|
47
|
+
<documentation>source (optional). TS type: bomcommon:SourceLocation.</documentation>
|
|
48
|
+
</source>
|
|
49
|
+
</properties>
|
|
50
|
+
|
|
51
|
+
</block>
|
|
@@ -26,9 +26,11 @@
|
|
|
26
26
|
<name>InstanceAggregationComposition</name>
|
|
27
27
|
<type>bomcomp:InstanceAggregationComposition</type>
|
|
28
28
|
<baseType>bom:UrmodellType</baseType>
|
|
29
|
-
<is>Inline aggregation
|
|
29
|
+
<is>Inline aggregation fill on a Block instance</is>
|
|
30
30
|
|
|
31
|
-
<documentation
|
|
31
|
+
<documentation><![CDATA[Inline aggregation fill on a Block instance. Children are
|
|
32
|
+
authored as direct descendants of the aggregation member — no
|
|
33
|
+
<composition> wrapper. A wrapper at this site is BML_NESTED_COMPOSITION.]]></documentation>
|
|
32
34
|
|
|
33
35
|
<properties>
|
|
34
36
|
<aggregationName type="type:Text">
|
|
@@ -38,6 +38,9 @@
|
|
|
38
38
|
<directives type="bomcomp:DirectiveAttribute[]">
|
|
39
39
|
<documentation>directives (optional). TS type: bomcomp:DirectiveAttribute[].</documentation>
|
|
40
40
|
</directives>
|
|
41
|
+
<generics type="bomcomp:GenericsBinding">
|
|
42
|
+
<documentation>Misplaced bml:generics on bml:container. (optional)</documentation>
|
|
43
|
+
</generics>
|
|
41
44
|
<children type="bomcomp:CompositionNode[]">
|
|
42
45
|
<documentation>children (required). TS type: bomcomp:CompositionNode[].</documentation>
|
|
43
46
|
</children>
|
|
@@ -36,10 +36,12 @@
|
|
|
36
36
|
- xmlns / xmlns:prefix → SourceInfo.namespaceBindings 1:1 authored → Serializer QName emit (B21)
|
|
37
37
|
- xsi:schemaLocation / xsi:noNamespaceSchemaLocation → SourceInfo (B25) → re-emit on root
|
|
38
38
|
- bml:xml → xmlRendering block+member — NOT directives[] → Serializer, FatBlock, XSD
|
|
39
|
+
- bml:generics → BlockInstance.generics (and illegal-host copies) — NOT directives[] → Validator binds genericTypes (open params required; defaultType may be overridden)
|
|
39
40
|
- element|attribute dual placement → authoredPlacement (D9) → MUST roundtrip authored form
|
|
40
41
|
- Text vs CDATA → authoredCharacterDataForm (D8) → emit CDATA when needed or authored
|
|
41
42
|
- Literal syntax [5,5,6] vs {x:5,…} → LiteralValue authored form → Renderer serializes
|
|
42
43
|
- ${ expr } → ExpressionValue { raw } — AST via parseExpression(), not evaluated
|
|
44
|
+
- Hello ${ expr } → InterpolatedTextValue { raw } — AST via parseInterpolatedText()
|
|
43
45
|
- aggregations declaration → AggregationDefinition declared only → TypeRegistry metadata
|
|
44
46
|
- composition children → CompositionNode tree → Renderer assembly patterns
|
|
45
47
|
- baseType FQN → string reference → TypeRegistry effective members
|
|
@@ -31,7 +31,11 @@
|
|
|
31
31
|
|
|
32
32
|
<documentation>Directives follow Thymeleaf model — attributes on modified element, stored unexpanded.
|
|
33
33
|
|
|
34
|
-
bml:id, bml:version, bml:bean, bml:scope → BlockInstance fields (NOT directives[]).
|
|
34
|
+
bml:id, bml:version, bml:bean, bml:scope, bml:generics → BlockInstance fields (NOT directives[]).
|
|
35
|
+
bml:generics binds genericTypes (attribute or child element; parentheses required).
|
|
36
|
+
Open parameters require a binding; parameters with defaultType may omit it.
|
|
37
|
+
Authored arguments override defaultType.
|
|
38
|
+
Misplaced bml:generics is still stored so validate() can emit BML_GENERICS_DIRECTIVE_NOT_ALLOWED.
|
|
35
39
|
bml:with → composition, aggregation, bml:container, block instances.
|
|
36
40
|
bml:each, bml:if, bml:unless → bml:container, block instances.
|
|
37
41
|
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
|
|
38
38
|
LiteralValue: kind literal, opaque value, typeFqn, optional authoredPlacement (D9).
|
|
39
39
|
ExpressionValue: kind expression, raw ${} text only in BOM; AST via parseExpression().
|
|
40
|
+
InterpolatedTextValue: kind interpolated, full authored text with ${} holes; AST via parseInterpolatedText().
|
|
40
41
|
AddressValue: parsed org.blockml.bml.type.Address shape.
|
|
41
42
|
|
|
42
43
|
Preset/config merge copies into render-time view — never writes references back to BomDocument.</documentation>
|
|
@@ -30,8 +30,9 @@
|
|
|
30
30
|
<is>Toolchain package responsibilities for the Urmodell</is>
|
|
31
31
|
|
|
32
32
|
<documentation>@blockml/bom — all Urmodell interfaces, ParseResult/SerializeResult/ValidateResult (B26 + Stage 2),
|
|
33
|
-
ValidateOptions, TypeRegistryReader, Diagnostic (compiler result type), bomEquals/stripProvenance (B20)
|
|
34
|
-
|
|
33
|
+
ValidateOptions, TypeRegistryReader, Diagnostic (compiler result type), bomEquals/stripProvenance (B20).
|
|
34
|
+
|
|
35
|
+
@blockml/builder — BomBuilder writable session; seal() → BomDocument.
|
|
35
36
|
|
|
36
37
|
@blockml/framework — TypeRegistry, forkBom, resolveEffectiveMembers, validateTypes, parseExpression.
|
|
37
38
|
Utilities never mutate Urmodell.
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
BML_UNKNOWN_PROPERTY, BML_UNKNOWN_DIRECTIVE, BML_DIRECTIVE_NOT_ALLOWED,
|
|
44
44
|
BML_PROPERTY_CYCLE, BML_VISIBILITY_*, BML_FINAL_MEMBER_OVERRIDE, BML_OVERRIDE_*,
|
|
45
45
|
BML_ABSTRACT_MEMBER_NOT_IMPLEMENTED, BML_READONLY_MEMBER_WRITE, BML_STANDALONE_COMPOSITION,
|
|
46
|
-
BML_NAMESPACE_*, BML_XML_*, BML_PRESET_CYCLE, BML_GENERIC_*, BML_TYPE_BOUND_NOT_SATISFIED,
|
|
46
|
+
BML_NESTED_COMPOSITION, BML_NAMESPACE_*, BML_XML_*, BML_PRESET_CYCLE, BML_GENERIC_*, BML_TYPE_BOUND_NOT_SATISFIED,
|
|
47
47
|
BML_UNKNOWN_CONTRACT, BML_CONTRACT_*, BML_EXPR_UNKNOWN_PROPERTY.
|
|
48
48
|
|
|
49
49
|
Full catalog: org.blockml.bml.diagnostic.* (@blockml/core) and 06_compiler.md.</documentation>
|
|
@@ -53,6 +53,9 @@
|
|
|
53
53
|
<implementation type="bommember:ImplementationBlock">
|
|
54
54
|
<documentation>implementation (optional). TS type: bommember:ImplementationBlock.</documentation>
|
|
55
55
|
</implementation>
|
|
56
|
+
<throws type="bomblock:TypeReferenceEntityInstance[]">
|
|
57
|
+
<documentation>Declared exception types (TypeReferenceEntity(core:Exception)[]). (optional)</documentation>
|
|
58
|
+
</throws>
|
|
56
59
|
</properties>
|
|
57
60
|
|
|
58
61
|
</block>
|
|
@@ -76,6 +76,9 @@
|
|
|
76
76
|
<xmlRendering type="bomcommon:XmlRenderingMember">
|
|
77
77
|
<documentation>xmlRendering (optional). TS type: bomcommon:XmlRenderingMember.</documentation>
|
|
78
78
|
</xmlRendering>
|
|
79
|
+
<generics type="bomcomp:GenericsBinding">
|
|
80
|
+
<documentation>Misplaced bml:generics on a member declaration. (optional)</documentation>
|
|
81
|
+
</generics>
|
|
79
82
|
<constraints type="bomcomp:BlockInstance[]">
|
|
80
83
|
<documentation>constraints (optional). TS type: bomcomp:BlockInstance[].</documentation>
|
|
81
84
|
</constraints>
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
<documentation>type (optional). TS type: bomtype:TypeExpression.</documentation>
|
|
43
43
|
</type>
|
|
44
44
|
<values type="bommember:PropertyValueEntry[]">
|
|
45
|
-
<documentation>values (optional). TS type: bommember:PropertyValueEntry[].</documentation>
|
|
45
|
+
<documentation>values (optional). At most one entry per namespace. TS type: bommember:PropertyValueEntry[].</documentation>
|
|
46
46
|
</values>
|
|
47
47
|
<value type="bomvalue:MemberValue">
|
|
48
48
|
<documentation>value (optional). TS type: bomvalue:MemberValue.</documentation>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
<properties>
|
|
34
34
|
<namespace type="type:Text">
|
|
35
|
-
<documentation>"" = canonical value. (required)</documentation>
|
|
35
|
+
<documentation>"" = canonical value; else resolved Annotation FQN. Unique per PropertyDefinition. (required)</documentation>
|
|
36
36
|
</namespace>
|
|
37
37
|
<value type="bomvalue:MemberValue">
|
|
38
38
|
<documentation>value (required). TS type: bomvalue:MemberValue.</documentation>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
BOM Urmodell — InterpolatedTextValue
|
|
3
|
+
FQN: org.blockml.bml.bom.value.InterpolatedTextValue
|
|
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:bomcap="org.blockml.bml.bom.capability"
|
|
15
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
16
|
+
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
17
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
18
|
+
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
19
|
+
xmlns:bommember="org.blockml.bml.bom.member"
|
|
20
|
+
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
21
|
+
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
22
|
+
xmlns:core="org.blockml.bml.core"
|
|
23
|
+
xmlns:def="org.blockml.bml.definition"
|
|
24
|
+
xmlns:type="org.blockml.bml.type">
|
|
25
|
+
|
|
26
|
+
<name>InterpolatedTextValue</name>
|
|
27
|
+
<type>bomvalue:InterpolatedTextValue</type>
|
|
28
|
+
<baseType>bomvalue:MemberValue</baseType>
|
|
29
|
+
<is>Authored interpolated text member value</is>
|
|
30
|
+
|
|
31
|
+
<documentation>raw is the full authored text including ${} holes. AST via parseInterpolatedText() — not stored.</documentation>
|
|
32
|
+
|
|
33
|
+
<properties>
|
|
34
|
+
<kind type="type:Text">
|
|
35
|
+
<documentation>kind (required). TS type: type:Text.</documentation>
|
|
36
|
+
<value>interpolated</value>
|
|
37
|
+
</kind>
|
|
38
|
+
<raw type="type:Text">
|
|
39
|
+
<documentation>Full authored text including ${} holes (required). TS type: type:Text.</documentation>
|
|
40
|
+
</raw>
|
|
41
|
+
<authoredPlacement type="type:Text">
|
|
42
|
+
<documentation>authoredPlacement (optional). TS type: type:Text.</documentation>
|
|
43
|
+
</authoredPlacement>
|
|
44
|
+
<source type="bomcommon:SourceLocation">
|
|
45
|
+
<documentation>source (optional). TS type: bomcommon:SourceLocation.</documentation>
|
|
46
|
+
</source>
|
|
47
|
+
</properties>
|
|
48
|
+
|
|
49
|
+
</block>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<baseType>bom:UrmodellType</baseType>
|
|
29
29
|
<is>Abstract union of authored member values</is>
|
|
30
30
|
|
|
31
|
-
<documentation>Discriminated union: LiteralValue | ExpressionValue | AddressValue.</documentation>
|
|
31
|
+
<documentation>Discriminated union: LiteralValue | ExpressionValue | InterpolatedTextValue | AddressValue.</documentation>
|
|
32
32
|
|
|
33
33
|
<abstract>true</abstract>
|
|
34
34
|
|
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ export type { BomDocument } from "./types/document.js";
|
|
|
3
3
|
export type { TypeReferenceEntityInstance, GenericType, BlockDefinition, KeywordEntry, DocumentationProseEntry, AliasEntry, ChangelogEntry, DocumentationExample, DocumentationReference, } from "./types/block-definition.js";
|
|
4
4
|
export type { TypeExpression, TypeDescriptor, Multiplicity, InstanceConfiguration, NamedTypeReference, UnionTypeExpression, GroupedTypeExpression, GenericParameterReference, SelfTypeReference, AnonymousStructType, StructField, } from "./types/type-expression.js";
|
|
5
5
|
export type { MemberDefinition, ConstrainableDefinition, MemberDefinitionBase, PropertyDefinition, PropertyValueEntry, AggregationDefinition, AssociationDefinition, CapabilityDefinition, ImplementationBlock, EmbeddedExpression, } from "./types/member-definition.js";
|
|
6
|
-
export type { CompositionTemplate, InstanceAggregationComposition, CompositionNode, BlockInstanceNode, VirtualContainerNode, BlockInstance, DirectiveAttribute, EachDirective, IfDirective, UnlessDirective, WithDirective, WithBinding, } from "./types/composition.js";
|
|
7
|
-
export type { MemberValue, LiteralValue, ExpressionValue, AddressValue, Address, } from "./types/values.js";
|
|
6
|
+
export type { CompositionTemplate, InstanceAggregationComposition, CompositionNode, BlockInstanceNode, VirtualContainerNode, BlockInstance, GenericsBinding, DirectiveAttribute, EachDirective, IfDirective, UnlessDirective, WithDirective, WithBinding, } from "./types/composition.js";
|
|
7
|
+
export type { MemberValue, LiteralValue, ExpressionValue, InterpolatedTextValue, AddressValue, Address, } from "./types/values.js";
|
|
8
8
|
export type { ParseResult, SerializeResult, ParseOptions, SerializeOptions, ValidateResult, ValidateOptions, TypeRegistryReader, } from "./types/api.js";
|
|
9
9
|
export { bomEquals, stripProvenance } from "./equals.js";
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,EACV,2BAA2B,EAC3B,WAAW,EACX,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,EACV,2BAA2B,EAC3B,WAAW,EACX,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4FA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CharacterDataForm, EmptyElementForm, MetadataElementTrivia, MemberSectionName, SourceLocation, UnknownXmlNode, XmlRenderingBlock, XmlTrivia } from "./common.js";
|
|
2
|
-
import type { BlockInstance } from "./composition.js";
|
|
2
|
+
import type { BlockInstance, GenericsBinding } from "./composition.js";
|
|
3
3
|
import type { MemberDefinition } from "./member-definition.js";
|
|
4
4
|
import type { CompositionTemplate } from "./composition.js";
|
|
5
5
|
import type { TypeExpression } from "./type-expression.js";
|
|
@@ -70,6 +70,8 @@ export interface BlockDefinition {
|
|
|
70
70
|
final?: boolean;
|
|
71
71
|
/** Authored block-level `<bml:xml>…</bml:xml>`. */
|
|
72
72
|
xmlRendering?: XmlRenderingBlock;
|
|
73
|
+
/** Misplaced `bml:generics` on a Block definition (or member section). */
|
|
74
|
+
generics?: GenericsBinding;
|
|
73
75
|
/** BlockML access visibility — Sub-Blocks only. */
|
|
74
76
|
visibility?: "private" | "protected" | "public";
|
|
75
77
|
/** Contract TypeReferenceEntity instances merged into this Block. Root block only. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-definition.d.ts","sourceRoot":"","sources":["../../src/types/block-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"block-definition.d.ts","sourceRoot":"","sources":["../../src/types/block-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,gFAAgF;AAChF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,0CAA0C,CAAC;IACpD,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACtC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,yDAAyD;IACzD,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,mDAAmD;IACnD,UAAU,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChD,sFAAsF;IACtF,SAAS,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC1C,sDAAsD;IACtD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,qDAAqD;IACrD,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B;;;OAGG;IACH,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,0FAA0F;IAC1F,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;IACpE,oEAAoE;IACpE,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,8DAA8D;IAC9D,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,oDAAoD;IACpD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,wDAAwD;IACxD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+CAA+C;IAC/C,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB,CAAC,EAAE,iBAAiB,CAAC;IAC9C,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB,CAAC,EAAE,iBAAiB,CAAC;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAC5C,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB"}
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import type { MemberValue, ExpressionValue } from "./values.js";
|
|
2
2
|
import type { SourceLocation, XmlTrivia } from "./common.js";
|
|
3
|
+
import type { TypeExpression } from "./type-expression.js";
|
|
4
|
+
/** Authored `bml:generics` — legal on BlockInstance, preserved on illegal hosts for validate(). */
|
|
5
|
+
export interface GenericsBinding {
|
|
6
|
+
raw: string;
|
|
7
|
+
/** Present only when the parenthesized TypeExpression list parsed successfully. */
|
|
8
|
+
arguments?: TypeExpression[];
|
|
9
|
+
authoredPlacement: "attribute" | "element";
|
|
10
|
+
source?: SourceLocation;
|
|
11
|
+
}
|
|
3
12
|
/** Target aggregation name — e.g. "_parts", "blocks", "_presets". */
|
|
4
13
|
export interface CompositionTemplate {
|
|
5
14
|
aggregationName: string;
|
|
6
15
|
directives?: DirectiveAttribute[];
|
|
16
|
+
/** Misplaced `bml:generics` on a composition wrapper. */
|
|
17
|
+
generics?: GenericsBinding;
|
|
7
18
|
children: CompositionNode[];
|
|
8
19
|
source?: SourceLocation;
|
|
9
20
|
}
|
|
@@ -24,6 +35,8 @@ export interface VirtualContainerNode {
|
|
|
24
35
|
kind: "virtualContainer";
|
|
25
36
|
/** bml:each, bml:if, bml:unless, bml:with on `<bml:container>`. */
|
|
26
37
|
directives?: DirectiveAttribute[];
|
|
38
|
+
/** Misplaced `bml:generics` on `<bml:container>`. */
|
|
39
|
+
generics?: GenericsBinding;
|
|
27
40
|
children: CompositionNode[];
|
|
28
41
|
source?: SourceLocation;
|
|
29
42
|
}
|
|
@@ -39,6 +52,8 @@ export interface BlockInstance {
|
|
|
39
52
|
bean?: MemberValue;
|
|
40
53
|
/** From bml:scope — bean visibility: "local" (default) or "context". */
|
|
41
54
|
scope?: "local" | "context";
|
|
55
|
+
/** From bml:generics — binds genericTypes on this instance (overrides defaultType). */
|
|
56
|
+
generics?: GenericsBinding;
|
|
42
57
|
/** Preset reference: {PresetsDocumentFQN}::{preset-id}. */
|
|
43
58
|
basePresets?: string;
|
|
44
59
|
renderGroup?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/types/composition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/types/composition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CharacterDataForm, SourceLocation, UnknownXmlNode, XmlRenderingMember, XmlTrivia } from "./common.js";
|
|
2
|
-
import type { BlockInstance } from "./composition.js";
|
|
2
|
+
import type { BlockInstance, GenericsBinding } from "./composition.js";
|
|
3
3
|
import type { ChangelogEntry, DocumentationExample, DocumentationProseEntry, DocumentationReference, KeywordEntry, TypeReferenceEntityInstance } from "./block-definition.js";
|
|
4
4
|
import type { TypeDescriptor, TypeExpression } from "./type-expression.js";
|
|
5
5
|
import type { MemberValue } from "./values.js";
|
|
@@ -26,6 +26,8 @@ export interface MemberDefinitionBase {
|
|
|
26
26
|
final?: boolean;
|
|
27
27
|
override?: boolean;
|
|
28
28
|
xmlRendering?: XmlRenderingMember;
|
|
29
|
+
/** Misplaced `bml:generics` on a member declaration. */
|
|
30
|
+
generics?: GenericsBinding;
|
|
29
31
|
constraints?: BlockInstance[];
|
|
30
32
|
xmlTrivia?: XmlTrivia;
|
|
31
33
|
source?: SourceLocation;
|
|
@@ -40,6 +42,7 @@ export interface PropertyDefinition extends MemberDefinitionBase {
|
|
|
40
42
|
typeFqn: string;
|
|
41
43
|
/** Full parse-time type expression when authored form is not a plain FQN (e.g. TypeReference(core:Block)). */
|
|
42
44
|
type?: TypeExpression;
|
|
45
|
+
/** At most one entry per namespace; extras are BML_DUPLICATE_PROPERTY_VALUE. */
|
|
43
46
|
values?: PropertyValueEntry[];
|
|
44
47
|
/** Convenience — default-namespace entry from values[]. */
|
|
45
48
|
value?: MemberValue;
|
|
@@ -83,6 +86,8 @@ export interface CapabilityDefinition extends MemberDefinitionBase {
|
|
|
83
86
|
/** Source span of the authored `outputType` attribute value. */
|
|
84
87
|
outputTypeSource?: SourceLocation;
|
|
85
88
|
implementation?: ImplementationBlock;
|
|
89
|
+
/** Declared exception types (`TypeReferenceEntity(core:Exception)[]`). */
|
|
90
|
+
throws?: TypeReferenceEntityInstance[];
|
|
86
91
|
}
|
|
87
92
|
export interface ImplementationBlock {
|
|
88
93
|
languageFqn: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-definition.d.ts","sourceRoot":"","sources":["../../src/types/member-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"member-definition.d.ts","sourceRoot":"","sources":["../../src/types/member-definition.ts"],"names":[],"mappings":"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"}
|
package/dist/types/values.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SourceLocation } from "./common.js";
|
|
2
|
-
export type MemberValue = LiteralValue | ExpressionValue | AddressValue;
|
|
2
|
+
export type MemberValue = LiteralValue | ExpressionValue | InterpolatedTextValue | AddressValue;
|
|
3
3
|
export interface LiteralValue {
|
|
4
4
|
kind: "literal";
|
|
5
5
|
/**
|
|
@@ -19,6 +19,14 @@ export interface ExpressionValue {
|
|
|
19
19
|
authoredPlacement?: "attribute" | "element";
|
|
20
20
|
source?: SourceLocation;
|
|
21
21
|
}
|
|
22
|
+
export interface InterpolatedTextValue {
|
|
23
|
+
kind: "interpolated";
|
|
24
|
+
/** Full authored text including ${} holes — the only interpolation field in Canonical BOM. */
|
|
25
|
+
raw: string;
|
|
26
|
+
/** Which form carried this text when element|attribute dual placement is legal (D9). */
|
|
27
|
+
authoredPlacement?: "attribute" | "element";
|
|
28
|
+
source?: SourceLocation;
|
|
29
|
+
}
|
|
22
30
|
export interface AddressValue {
|
|
23
31
|
kind: "address";
|
|
24
32
|
/** Parsed org.blockml.bml.type.Address. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/types/values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/types/values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,eAAe,GACf,qBAAqB,GACrB,YAAY,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,iBAAiB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC5C,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,cAAc,CAAC;IACrB,8FAA8F;IAC9F,GAAG,EAAE,MAAM,CAAC;IACZ,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC5C,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockml/bom",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "BlockML BOM (Urmodell) TypeScript contracts — ParseResult, Diagnostic, bomEquals",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"test": "vitest run packages/bom/test"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@blockml/core": "^1.0.
|
|
35
|
+
"@blockml/core": "^1.0.10"
|
|
36
36
|
},
|
|
37
37
|
"engines": {
|
|
38
38
|
"node": ">=20"
|