@blockml/bom 0.9.0 → 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.
@@ -40,7 +40,7 @@
40
40
  Membership is defined exclusively by this blocks list.
41
41
  </documentation>
42
42
 
43
- <version>0.9.0</version>
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>
@@ -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
- future BomBuilder (V3).
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.
@@ -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>
@@ -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
@@ -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":"AA0FA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
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":"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"}
1
+ {"version":3,"file":"block-definition.d.ts","sourceRoot":"","sources":["../../src/types/block-definition.ts"],"names":[],"mappings":"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"}
@@ -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;AAE7D,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,qDAAqD;AACrD,MAAM,WAAW,8BAA8B;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,aAAa,CAAC;IACxB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC;IACzB,mEAAmE;IACnE,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,uEAAuE;IACvE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAC3D,qEAAqE;IACrE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,WAAW,GACX,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;CACxB"}
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;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,iBAAiB,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,qDAAqD;AACrD,MAAM,WAAW,8BAA8B;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,aAAa,CAAC;IACxB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC;IACzB,mEAAmE;IACnE,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,uEAAuE;IACvE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAC3D,qEAAqE;IACrE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,WAAW,GACX,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;CACxB"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"member-definition.d.ts","sourceRoot":"","sources":["../../src/types/member-definition.ts"],"names":[],"mappings":"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"}
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,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAEV,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,qBAAqB,GACrB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,uEAAuE;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,IAAI,EAAE,UAAU,CAAC;IACjB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,8GAA8G;IAC9G,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,gFAAgF;IAChF,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,kEAAkE;IAClE,MAAM,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,aAAa,CAAC;IACpB,kGAAkG;IAClG,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,kDAAkD;IAClD,MAAM,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACvC,+EAA+E;IAC/E,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB,CAAC,EAAE,iBAAiB,CAAC;IAC9C,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;CACb"}
@@ -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,GAAG,YAAY,GAAG,eAAe,GAAG,YAAY,CAAC;AAExE,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,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"}
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.9.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.9"
35
+ "@blockml/core": "^1.0.10"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=20"