@blockml/bom 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blocks/org/blockml/bml/bom/Library.bml +6 -4
- package/blocks/org/blockml/bml/bom/README.bml +1 -1
- package/blocks/org/blockml/bml/bom/api/ParseOptions.bml +1 -1
- package/blocks/org/blockml/bml/bom/block/BlockDefinition.bml +3 -3
- package/blocks/org/blockml/bml/bom/capability/StripProvenance.bml +4 -4
- package/blocks/org/blockml/bml/bom/common/HostValue.bml +33 -0
- package/blocks/org/blockml/bml/bom/common/MetadataElementTrivia.bml +1 -1
- package/blocks/org/blockml/bml/bom/common/UnknownXmlNode.bml +3 -4
- package/blocks/org/blockml/bml/bom/common/XmlTrivia.bml +1 -1
- package/blocks/org/blockml/bml/bom/composition/BlockInstance.bml +1 -1
- package/blocks/org/blockml/bml/bom/documentation/PublicApi.bml +1 -1
- package/blocks/org/blockml/bml/bom/documentation/ValidationResponsibilities.bml +2 -5
- package/blocks/org/blockml/bml/bom/member/MemberDefinitionBase.bml +1 -1
- package/blocks/org/blockml/bml/bom/value/LiteralValue.bml +3 -3
- package/package.json +2 -2
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
xmlns:cap="org.blockml.bml.capability">
|
|
26
26
|
|
|
27
27
|
<name>Library</name>
|
|
28
|
-
<type>
|
|
28
|
+
<type>bom:Library</type>
|
|
29
29
|
<baseType>core:BlockLibrary</baseType>
|
|
30
30
|
<is>The BlockML BOM Urmodell library catalog</is>
|
|
31
31
|
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
Membership is defined exclusively by this blocks list.
|
|
37
37
|
</documentation>
|
|
38
38
|
|
|
39
|
-
<version>0.
|
|
39
|
+
<version>0.8.0</version>
|
|
40
40
|
|
|
41
41
|
<language>
|
|
42
42
|
<English />
|
|
43
43
|
</language>
|
|
44
44
|
|
|
45
45
|
<properties>
|
|
46
|
-
<description>
|
|
46
|
+
<description override="true">
|
|
47
47
|
<value>BlockML BOM Urmodell library</value>
|
|
48
48
|
</description>
|
|
49
49
|
</properties>
|
|
@@ -60,7 +60,8 @@
|
|
|
60
60
|
</composition>
|
|
61
61
|
</dependencies>
|
|
62
62
|
<blocks>
|
|
63
|
-
<composition
|
|
63
|
+
<composition>
|
|
64
|
+
<bom:UrmodellType />
|
|
64
65
|
<bomcommon:SourceLocation />
|
|
65
66
|
<bomcommon:SourceInfo />
|
|
66
67
|
<bomcommon:XmlTrivia />
|
|
@@ -73,6 +74,7 @@
|
|
|
73
74
|
<bomcommon:XmlRenderingMember />
|
|
74
75
|
<bomcommon:DiagnosticSeverity />
|
|
75
76
|
<bomcommon:Diagnostic />
|
|
77
|
+
<bomcommon:HostValue />
|
|
76
78
|
<bomvalue:Address />
|
|
77
79
|
<bomvalue:MemberValue />
|
|
78
80
|
<bomvalue:LiteralValue />
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
<properties>
|
|
34
34
|
<filePath type="type:Text">
|
|
35
|
-
<documentation>Default: "
|
|
35
|
+
<documentation>Default: "<memory>". (optional)</documentation>
|
|
36
36
|
</filePath>
|
|
37
37
|
<continueOnError type="type:Boolean">
|
|
38
38
|
<documentation>Default: true. (optional)</documentation>
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
<documentation>xmlTrivia (optional). TS type: bomcommon:XmlTrivia.</documentation>
|
|
127
127
|
</xmlTrivia>
|
|
128
128
|
<memberSectionTrivia type="type:Text">
|
|
129
|
-
<documentation>Partial
|
|
129
|
+
<documentation>Partial<Record<MemberSectionName, XmlTrivia>>. (optional)</documentation>
|
|
130
130
|
</memberSectionTrivia>
|
|
131
131
|
<metadataTrivia type="bomcommon:MetadataElementTrivia">
|
|
132
132
|
<documentation>metadataTrivia (optional). TS type: bomcommon:MetadataElementTrivia.</documentation>
|
|
@@ -135,13 +135,13 @@
|
|
|
135
135
|
<documentation>source (optional). TS type: bomcommon:SourceLocation.</documentation>
|
|
136
136
|
</source>
|
|
137
137
|
<typeSource type="bomcommon:SourceLocation">
|
|
138
|
-
<documentation>Span of the type= attribute or
|
|
138
|
+
<documentation>Span of the type= attribute or <type> element value. (optional)</documentation>
|
|
139
139
|
</typeSource>
|
|
140
140
|
<baseTypeSource type="bomcommon:SourceLocation">
|
|
141
141
|
<documentation>baseTypeSource (optional). TS type: bomcommon:SourceLocation.</documentation>
|
|
142
142
|
</baseTypeSource>
|
|
143
143
|
<unknownElements type="bomcommon:UnknownXmlNode[]">
|
|
144
|
-
<documentation>
|
|
144
|
+
<documentation>unknownElements (optional). TS type: bomcommon:UnknownXmlNode[].</documentation>
|
|
145
145
|
</unknownElements>
|
|
146
146
|
<unknownAttributes type="type:Text">
|
|
147
147
|
<documentation>Record of unknown attributes on the grammar node. (optional)</documentation>
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
<documentation>Removes sourceLocation, endLine, endColumn, SourceLocation-shaped fields (source, typeSource, baseTypeSource), and SourceInfo recursively. Preserves ImplementationBlock.source (implementation code body). Reference: packages/bom/src/equals.ts.</documentation>
|
|
32
32
|
|
|
33
33
|
<properties>
|
|
34
|
-
<input type="
|
|
35
|
-
<documentation>input (required)
|
|
34
|
+
<input type="bomcommon:HostValue">
|
|
35
|
+
<documentation>BML type gap: TS generic T. Deep-clone input. (required)</documentation>
|
|
36
36
|
</input>
|
|
37
|
-
<output type="
|
|
38
|
-
<documentation>
|
|
37
|
+
<output type="bomcommon:HostValue">
|
|
38
|
+
<documentation>BML type gap: TS generic T. Deep-clone without provenance. (required)</documentation>
|
|
39
39
|
</output>
|
|
40
40
|
</properties>
|
|
41
41
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
BOM Urmodell — HostValue
|
|
3
|
+
FQN: org.blockml.bml.bom.common.HostValue
|
|
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>HostValue</name>
|
|
27
|
+
<type>bomcommon:HostValue</type>
|
|
28
|
+
<baseType>bom:UrmodellType</baseType>
|
|
29
|
+
<is>Opaque host value for provenance-stripping</is>
|
|
30
|
+
|
|
31
|
+
<documentation>BML type gap: stands for TypeScript generic T / unknown. Deep-clone of any BOM-shaped graph; Core has no host-value type.</documentation>
|
|
32
|
+
|
|
33
|
+
</block>
|
|
@@ -28,21 +28,20 @@
|
|
|
28
28
|
<baseType>bom:UrmodellType</baseType>
|
|
29
29
|
<is>Preserve-on-error residual for an unknown authored XML element</is>
|
|
30
30
|
|
|
31
|
-
<documentation>Stored when a structural BML error is reported so Format/LSP/serialize
|
|
32
|
-
can roundtrip the authored construct instead of dropping it.</documentation>
|
|
31
|
+
<documentation>Stored when a structural BML error is reported so Format/LSP/serialize can roundtrip the authored construct.</documentation>
|
|
33
32
|
|
|
34
33
|
<properties>
|
|
35
34
|
<localName type="type:Text">
|
|
36
35
|
<documentation>localName (required). TS type: type:Text.</documentation>
|
|
37
36
|
</localName>
|
|
38
37
|
<prefix type="type:Text">
|
|
39
|
-
<documentation>
|
|
38
|
+
<documentation>prefix (optional). TS type: type:Text.</documentation>
|
|
40
39
|
</prefix>
|
|
41
40
|
<attributes type="type:Text">
|
|
42
41
|
<documentation>Record of authored attribute name → value. (required)</documentation>
|
|
43
42
|
</attributes>
|
|
44
43
|
<innerXml type="type:Text">
|
|
45
|
-
<documentation>
|
|
44
|
+
<documentation>innerXml (optional). TS type: type:Text.</documentation>
|
|
46
45
|
</innerXml>
|
|
47
46
|
<source type="bomcommon:SourceLocation">
|
|
48
47
|
<documentation>source (optional). TS type: bomcommon:SourceLocation.</documentation>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<baseType>bom:UrmodellType</baseType>
|
|
29
29
|
<is>XML comment trivia bound to an element (B11)</is>
|
|
30
30
|
|
|
31
|
-
<documentation>Comment bodies only — without
|
|
31
|
+
<documentation>Comment bodies only — without <!-- / -->. Bound to the following XML element.</documentation>
|
|
32
32
|
|
|
33
33
|
<properties>
|
|
34
34
|
<leadingComments type="type:Text[]">
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
<documentation>namespace (optional). TS type: type:Text.</documentation>
|
|
57
57
|
</namespace>
|
|
58
58
|
<memberValues type="type:Text">
|
|
59
|
-
<documentation>Record
|
|
59
|
+
<documentation>Record<string, MemberValue>. (required)</documentation>
|
|
60
60
|
</memberValues>
|
|
61
61
|
<aggregationCompositions type="bomcomp:InstanceAggregationComposition[]">
|
|
62
62
|
<documentation>aggregationCompositions (optional). TS type: bomcomp:InstanceAggregationComposition[].</documentation>
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
ValidateResult: optional pragmaticModel (forked BomDocument), diagnostics[], success.
|
|
37
37
|
|
|
38
|
-
ParseOptions: filePath (default "
|
|
38
|
+
ParseOptions: filePath (default "<memory>"), continueOnError (default true).
|
|
39
39
|
|
|
40
40
|
SerializeOptions: indent (default 2; 0=compact B13), xmlDeclaration (default false B17/B24).
|
|
41
41
|
|
|
@@ -40,12 +40,9 @@
|
|
|
40
40
|
preset properties exist; property value cycles; basePresets resolve without cycles;
|
|
41
41
|
contracts merge order; validateConstraints after resolveEffectiveMembers;
|
|
42
42
|
readOnly enforcement (BML_READONLY_MEMBER_WRITE); library blocks/deps resolve;
|
|
43
|
-
no outer library re-export from inner library (BML_LIBRARY_NESTING_VIOLATION)
|
|
44
|
-
every type FQN in the registry (BML_UNKNOWN_TYPE); instance memberValues keys
|
|
45
|
-
exist on effective members (BML_UNKNOWN_PROPERTY error).
|
|
43
|
+
no outer library re-export from inner library (BML_LIBRARY_NESTING_VIOLATION).
|
|
46
44
|
|
|
47
|
-
Validator does NOT expand directives, assign auto-IDs, or interpret aggregations
|
|
48
|
-
Structural unknown Gerüst tags are parser BML_UNKNOWN_ELEMENT, not this checklist.</documentation>
|
|
45
|
+
Validator does NOT expand directives, assign auto-IDs, or interpret aggregations.</documentation>
|
|
49
46
|
|
|
50
47
|
<references>
|
|
51
48
|
<see type="bomdocumentation:RelatedDiagnostics" relation="SeeAlso"></see>
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
<documentation>Span of the type= attribute value (use-site for type diagnostics). (optional)</documentation>
|
|
90
90
|
</typeSource>
|
|
91
91
|
<unknownElements type="bomcommon:UnknownXmlNode[]">
|
|
92
|
-
<documentation>
|
|
92
|
+
<documentation>unknownElements (optional). TS type: bomcommon:UnknownXmlNode[].</documentation>
|
|
93
93
|
</unknownElements>
|
|
94
94
|
<unknownAttributes type="type:Text">
|
|
95
95
|
<documentation>Record of unknown attributes on this member. (optional)</documentation>
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
<baseType>bomvalue:MemberValue</baseType>
|
|
29
29
|
<is>Authored literal member value</is>
|
|
30
30
|
|
|
31
|
-
<documentation>value field is
|
|
31
|
+
<documentation>value field is a primitive union approximation of TS unknown — MUST NOT be normalized at parse time (lossless roundtrip). Objects/arrays remain a BML type gap.</documentation>
|
|
32
32
|
|
|
33
33
|
<properties>
|
|
34
34
|
<kind type="type:Text">
|
|
35
35
|
<documentation>kind (required). TS type: type:Text.</documentation>
|
|
36
36
|
<value>literal</value>
|
|
37
37
|
</kind>
|
|
38
|
-
<value type="
|
|
39
|
-
<documentation>
|
|
38
|
+
<value type="type:Text | type:Integer | type:Decimal | type:Boolean">
|
|
39
|
+
<documentation>BML type gap: TS unknown (authored literal, including objects/arrays). Union covers primitive cases only. (required)</documentation>
|
|
40
40
|
</value>
|
|
41
41
|
<typeFqn type="type:Text">
|
|
42
42
|
<documentation>typeFqn (required). TS type: type:Text.</documentation>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockml/bom",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
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.6"
|
|
36
36
|
},
|
|
37
37
|
"engines": {
|
|
38
38
|
"node": ">=20"
|