@blockml/builder 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/builder/AddAggregationOptions.bml +35 -0
- package/blocks/org/blockml/bml/builder/AddPropertyOptions.bml +38 -0
- package/blocks/org/blockml/bml/builder/BomBuilder.bml +36 -0
- package/blocks/org/blockml/bml/builder/BuilderType.bml +32 -0
- package/blocks/org/blockml/bml/builder/CreateBlockOptions.bml +50 -0
- package/blocks/org/blockml/bml/builder/Library.bml +86 -0
- package/blocks/org/blockml/bml/builder/README.bml +36 -0
- package/blocks/org/blockml/bml/builder/capability/AddAggregation.bml +40 -0
- package/blocks/org/blockml/bml/builder/capability/AddCompositionChild.bml +44 -0
- package/blocks/org/blockml/bml/builder/capability/AddProperty.bml +40 -0
- package/blocks/org/blockml/bml/builder/capability/Create.bml +41 -0
- package/blocks/org/blockml/bml/builder/capability/Edit.bml +41 -0
- package/blocks/org/blockml/bml/builder/capability/EnsureNamespaceBinding.bml +41 -0
- package/blocks/org/blockml/bml/builder/capability/QuerySelector.bml +40 -0
- package/blocks/org/blockml/bml/builder/capability/Seal.bml +37 -0
- package/blocks/org/blockml/bml/builder/capability/SetMemberValue.bml +40 -0
- package/blocks/org/blockml/bml/builder/documentation/ArchitectureOverview.bml +36 -0
- package/blocks/org/blockml/bml/builder/documentation/Introduction.bml +38 -0
- package/blocks/org/blockml/bml/builder/documentation/LayerSeparation.bml +40 -0
- package/blocks/org/blockml/bml/builder/documentation/PackageOwnership.bml +37 -0
- package/blocks/org/blockml/bml/builder/documentation/PublicApi.bml +45 -0
- package/blocks/org/blockml/bml/builder/documentation/ScopeExclusions.bml +38 -0
- package/blocks/org/blockml/bml/builder/documentation/V1Scope.bml +39 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/namespaces.d.ts +12 -0
- package/dist/namespaces.d.ts.map +1 -0
- package/dist/namespaces.js +74 -0
- package/dist/namespaces.js.map +1 -0
- package/dist/session.d.ts +25 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +233 -0
- package/dist/session.js.map +1 -0
- package/dist/types.d.ts +24 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Builder Capability — SetMemberValue
|
|
3
|
+
FQN: org.blockml.bml.builder.capability.SetMemberValue
|
|
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:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:builder="org.blockml.bml.builder"
|
|
16
|
+
xmlns:buildercap="org.blockml.bml.builder.capability"
|
|
17
|
+
xmlns:builderdocumentation="org.blockml.bml.builder.documentation"
|
|
18
|
+
xmlns:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
21
|
+
xmlns:type="org.blockml.bml.type">
|
|
22
|
+
|
|
23
|
+
<name>SetMemberValue</name>
|
|
24
|
+
<type>buildercap:SetMemberValue</type>
|
|
25
|
+
<baseType>core:Capability</baseType>
|
|
26
|
+
<is>Set a literal value on a declared property</is>
|
|
27
|
+
<documentation>Finds a property by name and sets its literal value. Throws when the
|
|
28
|
+
member is missing or not a property.</documentation>
|
|
29
|
+
<properties>
|
|
30
|
+
<name type="type:Text">
|
|
31
|
+
<documentation>Property name. (required)</documentation>
|
|
32
|
+
</name>
|
|
33
|
+
<value type="type:Text">
|
|
34
|
+
<documentation>Literal value. (required)</documentation>
|
|
35
|
+
</value>
|
|
36
|
+
<result type="builder:BomBuilder">
|
|
37
|
+
<documentation>This session. (required)</documentation>
|
|
38
|
+
</result>
|
|
39
|
+
</properties>
|
|
40
|
+
</block>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Builder Documentation — ArchitectureOverview
|
|
3
|
+
FQN: org.blockml.bml.builder.documentation.ArchitectureOverview
|
|
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:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:builder="org.blockml.bml.builder"
|
|
16
|
+
xmlns:buildercap="org.blockml.bml.builder.capability"
|
|
17
|
+
xmlns:builderdocumentation="org.blockml.bml.builder.documentation"
|
|
18
|
+
xmlns:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
21
|
+
xmlns:type="org.blockml.bml.type">
|
|
22
|
+
|
|
23
|
+
<name>ArchitectureOverview</name>
|
|
24
|
+
<type>builderdocumentation:ArchitectureOverview</type>
|
|
25
|
+
<baseType>core:Documentation</baseType>
|
|
26
|
+
<is>Create or edit session to sealed Urmodell</is>
|
|
27
|
+
<documentation>BomBuilder.create(options) or BomBuilder.edit(document) → draft mutations
|
|
28
|
+
→ seal() → BomDocument. Serializer and validator consume the sealed document
|
|
29
|
+
regardless of Parser or Builder provenance.
|
|
30
|
+
|
|
31
|
+
create starts a new root block. edit deep-clones an existing Urmodell.
|
|
32
|
+
Authoring never mutates a sealed document in place.</documentation>
|
|
33
|
+
<references>
|
|
34
|
+
<see type="builderdocumentation:V1Scope" relation="ReadNext" />
|
|
35
|
+
</references>
|
|
36
|
+
</block>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Builder Documentation — Introduction
|
|
3
|
+
FQN: org.blockml.bml.builder.documentation.Introduction
|
|
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:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:builder="org.blockml.bml.builder"
|
|
16
|
+
xmlns:buildercap="org.blockml.bml.builder.capability"
|
|
17
|
+
xmlns:builderdocumentation="org.blockml.bml.builder.documentation"
|
|
18
|
+
xmlns:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
21
|
+
xmlns:type="org.blockml.bml.type">
|
|
22
|
+
|
|
23
|
+
<name>Introduction</name>
|
|
24
|
+
<type>builderdocumentation:Introduction</type>
|
|
25
|
+
<baseType>core:Documentation</baseType>
|
|
26
|
+
<is>Purpose and scope of the Builder package</is>
|
|
27
|
+
<documentation>The @blockml/builder package provides BomBuilder, the writable authoring API
|
|
28
|
+
for BlockML. A session builds or edits a BOM graph and seal() produces a normal
|
|
29
|
+
Urmodell (BomDocument). Parser-origin and builder-origin documents share types.
|
|
30
|
+
|
|
31
|
+
This library (org.blockml.bml.builder.*) is the SSOT. TypeScript in
|
|
32
|
+
packages/builder/src/ implements it. File I/O lives in @blockml/cli (blockml new).</documentation>
|
|
33
|
+
<references>
|
|
34
|
+
<see type="builderdocumentation:LayerSeparation" relation="ReadNext" />
|
|
35
|
+
<see type="buildercap:Create" relation="SeeAlso" />
|
|
36
|
+
<see type="bomdoc:BomDocument" relation="SeeAlso" />
|
|
37
|
+
</references>
|
|
38
|
+
</block>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Builder Documentation — LayerSeparation
|
|
3
|
+
FQN: org.blockml.bml.builder.documentation.LayerSeparation
|
|
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:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:builder="org.blockml.bml.builder"
|
|
16
|
+
xmlns:buildercap="org.blockml.bml.builder.capability"
|
|
17
|
+
xmlns:builderdocumentation="org.blockml.bml.builder.documentation"
|
|
18
|
+
xmlns:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
21
|
+
xmlns:type="org.blockml.bml.type">
|
|
22
|
+
|
|
23
|
+
<name>LayerSeparation</name>
|
|
24
|
+
<type>builderdocumentation:LayerSeparation</type>
|
|
25
|
+
<baseType>core:Documentation</baseType>
|
|
26
|
+
<is>Builder vs BOM vs framework vs CLI</is>
|
|
27
|
+
<documentation>Layers:
|
|
28
|
+
|
|
29
|
+
org.blockml.bml.builder.* (@blockml/builder) — writable session, mutations, seal().
|
|
30
|
+
@blockml/bom — Urmodell types only.
|
|
31
|
+
@blockml/framework — TypeRegistry, forkBom (resolve only; not authoring).
|
|
32
|
+
@blockml/parser — BML → BomDocument for Edit.
|
|
33
|
+
@blockml/serializer — BomDocument → BML after seal().
|
|
34
|
+
@blockml/cli — blockml new host (paths, Library catalog, file write).
|
|
35
|
+
|
|
36
|
+
Builder does not parse, serialize, validate, or write files.</documentation>
|
|
37
|
+
<references>
|
|
38
|
+
<see type="builderdocumentation:ArchitectureOverview" relation="ReadNext" />
|
|
39
|
+
</references>
|
|
40
|
+
</block>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Builder Documentation — PackageOwnership
|
|
3
|
+
FQN: org.blockml.bml.builder.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:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:builder="org.blockml.bml.builder"
|
|
16
|
+
xmlns:buildercap="org.blockml.bml.builder.capability"
|
|
17
|
+
xmlns:builderdocumentation="org.blockml.bml.builder.documentation"
|
|
18
|
+
xmlns:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
21
|
+
xmlns:type="org.blockml.bml.type">
|
|
22
|
+
|
|
23
|
+
<name>PackageOwnership</name>
|
|
24
|
+
<type>builderdocumentation:PackageOwnership</type>
|
|
25
|
+
<baseType>core:Documentation</baseType>
|
|
26
|
+
<is>Toolchain responsibilities for Builder</is>
|
|
27
|
+
<documentation>@blockml/builder — BomBuilder session, mutations, seal(). Owns this BML library.
|
|
28
|
+
|
|
29
|
+
@blockml/bom — BomDocument and member types.
|
|
30
|
+
@blockml/framework — TypeRegistry (CLI lookup of owning Library / baseType).
|
|
31
|
+
@blockml/parser — load existing documents for edit.
|
|
32
|
+
@blockml/serializer — emit BML after seal.
|
|
33
|
+
@blockml/cli — blockml new command host.</documentation>
|
|
34
|
+
<references>
|
|
35
|
+
<see type="builderdocumentation:ScopeExclusions" relation="ReadNext" />
|
|
36
|
+
</references>
|
|
37
|
+
</block>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Builder Documentation — PublicApi
|
|
3
|
+
FQN: org.blockml.bml.builder.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:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:builder="org.blockml.bml.builder"
|
|
16
|
+
xmlns:buildercap="org.blockml.bml.builder.capability"
|
|
17
|
+
xmlns:builderdocumentation="org.blockml.bml.builder.documentation"
|
|
18
|
+
xmlns:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
21
|
+
xmlns:type="org.blockml.bml.type">
|
|
22
|
+
|
|
23
|
+
<name>PublicApi</name>
|
|
24
|
+
<type>builderdocumentation:PublicApi</type>
|
|
25
|
+
<baseType>core:Documentation</baseType>
|
|
26
|
+
<is>Exported API from packages/builder/src/index.ts</is>
|
|
27
|
+
<documentation><![CDATA[
|
|
28
|
+
Exported API from packages/builder/src/index.ts:
|
|
29
|
+
|
|
30
|
+
• BomBuilder.create(options) → BomBuilder
|
|
31
|
+
• BomBuilder.edit(document) → BomBuilder
|
|
32
|
+
• session.seal() → BomDocument
|
|
33
|
+
• session.setName / setType / setBaseType / setIs / setDocumentation / setFilePath
|
|
34
|
+
• session.ensureNamespaceBinding(prefix, namespace)
|
|
35
|
+
• session.addProperty(options) / addAggregation(options)
|
|
36
|
+
• session.addCompositionChild(aggregationName, typeFqn)
|
|
37
|
+
• session.setMemberValue(name, value)
|
|
38
|
+
• session.querySelector(selector) → MemberDefinition | undefined
|
|
39
|
+
• packageOfFqn / prefixForPackage helpers
|
|
40
|
+
]]></documentation>
|
|
41
|
+
<references>
|
|
42
|
+
<see type="buildercap:Create" relation="Defines" />
|
|
43
|
+
<see type="buildercap:Seal" relation="Defines" />
|
|
44
|
+
</references>
|
|
45
|
+
</block>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Builder Documentation — ScopeExclusions
|
|
3
|
+
FQN: org.blockml.bml.builder.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:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:builder="org.blockml.bml.builder"
|
|
16
|
+
xmlns:buildercap="org.blockml.bml.builder.capability"
|
|
17
|
+
xmlns:builderdocumentation="org.blockml.bml.builder.documentation"
|
|
18
|
+
xmlns:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
21
|
+
xmlns:type="org.blockml.bml.type">
|
|
22
|
+
|
|
23
|
+
<name>ScopeExclusions</name>
|
|
24
|
+
<type>builderdocumentation:ScopeExclusions</type>
|
|
25
|
+
<baseType>core:Documentation</baseType>
|
|
26
|
+
<is>Explicit out-of-scope for @blockml/builder V1</is>
|
|
27
|
+
<documentation>Out of scope:
|
|
28
|
+
• Schema-aware rejection of unknown members inside the session
|
|
29
|
+
• querySelectorAll, parent/child DOM walk, instance-level selectors
|
|
30
|
+
• File I/O, parse, serialize, validate
|
|
31
|
+
• forkBom structural authoring
|
|
32
|
+
• Changing BlockML meta-model / Definition grammar (V4)
|
|
33
|
+
• Transformer or LSP refactors
|
|
34
|
+
• Overwriting existing .bml files from blockml new</documentation>
|
|
35
|
+
<references>
|
|
36
|
+
<see type="builderdocumentation:Introduction" relation="SeeAlso" />
|
|
37
|
+
</references>
|
|
38
|
+
</block>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Builder Documentation — V1Scope
|
|
3
|
+
FQN: org.blockml.bml.builder.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:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:builder="org.blockml.bml.builder"
|
|
16
|
+
xmlns:buildercap="org.blockml.bml.builder.capability"
|
|
17
|
+
xmlns:builderdocumentation="org.blockml.bml.builder.documentation"
|
|
18
|
+
xmlns:core="org.blockml.bml.core"
|
|
19
|
+
xmlns:def="org.blockml.bml.definition"
|
|
20
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
21
|
+
xmlns:type="org.blockml.bml.type">
|
|
22
|
+
|
|
23
|
+
<name>V1Scope</name>
|
|
24
|
+
<type>builderdocumentation:V1Scope</type>
|
|
25
|
+
<baseType>core:Documentation</baseType>
|
|
26
|
+
<is>Explicit V1 capabilities</is>
|
|
27
|
+
<documentation><![CDATA[In scope V1:
|
|
28
|
+
• BomBuilder.create / edit / seal
|
|
29
|
+
• Identity setters (name, type, baseType, is, documentation, filePath)
|
|
30
|
+
• ensureNamespaceBinding
|
|
31
|
+
• addProperty, addAggregation, addCompositionChild, setMemberValue
|
|
32
|
+
• querySelector for properties.<name> and aggregations.<name>
|
|
33
|
+
• CLI: blockml new FQN (host in @blockml/cli)
|
|
34
|
+
|
|
35
|
+
Out of scope: see ScopeExclusions.]]></documentation>
|
|
36
|
+
<references>
|
|
37
|
+
<see type="builderdocumentation:ScopeExclusions" relation="SeeAlso" />
|
|
38
|
+
</references>
|
|
39
|
+
</block>
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { BomBuilder } from "./session.js";
|
|
2
|
+
export type { AddAggregationOptions, AddPropertyOptions, CreateBlockOptions, } from "./types.js";
|
|
3
|
+
export { BML_XMLNS, DEFAULT_BASE_TYPE, KNOWN_PACKAGE_PREFIXES, packageOfFqn, prefixForPackage, SCHEMA_LOCATION, shortNameOfFqn, XSI_NS, } from "./namespaces.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,MAAM,GACP,MAAM,iBAAiB,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,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,MAAM,GACP,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const BML_XMLNS = "http://blockml.org/bml";
|
|
2
|
+
export declare const XSI_NS = "http://www.w3.org/2001/XMLSchema-instance";
|
|
3
|
+
export declare const SCHEMA_LOCATION = "http://blockml.org/bml https://blockml.org/schemas/bml.xsd";
|
|
4
|
+
export declare const DEFAULT_BASE_TYPE = "org.blockml.bml.core.Block";
|
|
5
|
+
export declare const ENGLISH_FQN = "org.blockml.bml.language.English";
|
|
6
|
+
/** Conventional prefixes for well-known org.blockml.bml.* packages. */
|
|
7
|
+
export declare const KNOWN_PACKAGE_PREFIXES: Record<string, string>;
|
|
8
|
+
export declare function packageOfFqn(fqn: string): string;
|
|
9
|
+
export declare function shortNameOfFqn(fqn: string): string;
|
|
10
|
+
export declare function prefixForPackage(pkg: string, bindings: Record<string, string>): string;
|
|
11
|
+
export declare function orderedBindings(bindings: Record<string, string>): Record<string, string>;
|
|
12
|
+
//# sourceMappingURL=namespaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,2BAA2B,CAAC;AAClD,eAAO,MAAM,MAAM,8CAA8C,CAAC;AAClE,eAAO,MAAM,eAAe,+DAA+D,CAAC;AAC5F,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAC9D,eAAO,MAAM,WAAW,qCAAqC,CAAC;AAE9D,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwBzD,CAAC;AAEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAiBR;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export const BML_XMLNS = "http://blockml.org/bml";
|
|
2
|
+
export const XSI_NS = "http://www.w3.org/2001/XMLSchema-instance";
|
|
3
|
+
export const SCHEMA_LOCATION = "http://blockml.org/bml https://blockml.org/schemas/bml.xsd";
|
|
4
|
+
export const DEFAULT_BASE_TYPE = "org.blockml.bml.core.Block";
|
|
5
|
+
export const ENGLISH_FQN = "org.blockml.bml.language.English";
|
|
6
|
+
/** Conventional prefixes for well-known org.blockml.bml.* packages. */
|
|
7
|
+
export const KNOWN_PACKAGE_PREFIXES = {
|
|
8
|
+
"org.blockml.bml": "blockml",
|
|
9
|
+
"org.blockml.bml.core": "core",
|
|
10
|
+
"org.blockml.bml.type": "type",
|
|
11
|
+
"org.blockml.bml.unit": "unit",
|
|
12
|
+
"org.blockml.bml.language": "lang",
|
|
13
|
+
"org.blockml.bml.definition": "def",
|
|
14
|
+
"org.blockml.bml.annotation": "ann",
|
|
15
|
+
"org.blockml.bml.annotation.BmlAnnotation": "bml",
|
|
16
|
+
"org.blockml.bml.bom": "bom",
|
|
17
|
+
"org.blockml.bml.compiler.parser": "parser",
|
|
18
|
+
"org.blockml.bml.compiler.serializer": "serializer",
|
|
19
|
+
"org.blockml.bml.compiler.validator": "validator",
|
|
20
|
+
"org.blockml.bml.compiler.runtime": "runtime",
|
|
21
|
+
"org.blockml.bml.framework": "framework",
|
|
22
|
+
"org.blockml.bml.search": "search",
|
|
23
|
+
"org.blockml.bml.graph": "graph",
|
|
24
|
+
"org.blockml.bml.transformer": "transformer",
|
|
25
|
+
"org.blockml.bml.cli": "cli",
|
|
26
|
+
"org.blockml.bml.builder": "builder",
|
|
27
|
+
"org.blockml.bml.workspace": "workspace",
|
|
28
|
+
"org.blockml.bml.target.blockdoc": "blockdoc",
|
|
29
|
+
"org.blockml.bml.target.xsd": "xsd",
|
|
30
|
+
"org.blockml.bml.target.fatblock": "fatblock",
|
|
31
|
+
};
|
|
32
|
+
export function packageOfFqn(fqn) {
|
|
33
|
+
const index = fqn.lastIndexOf(".");
|
|
34
|
+
return index === -1 ? fqn : fqn.slice(0, index);
|
|
35
|
+
}
|
|
36
|
+
export function shortNameOfFqn(fqn) {
|
|
37
|
+
const index = fqn.lastIndexOf(".");
|
|
38
|
+
return index === -1 ? fqn : fqn.slice(index + 1);
|
|
39
|
+
}
|
|
40
|
+
export function prefixForPackage(pkg, bindings) {
|
|
41
|
+
for (const [prefix, uri] of Object.entries(bindings)) {
|
|
42
|
+
if (uri === pkg && prefix !== "") {
|
|
43
|
+
return prefix;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const known = KNOWN_PACKAGE_PREFIXES[pkg];
|
|
47
|
+
const last = pkg.split(".").pop()?.toLowerCase() || "ns";
|
|
48
|
+
const preferred = known ?? last;
|
|
49
|
+
if (!bindings[preferred] || bindings[preferred] === pkg) {
|
|
50
|
+
return preferred;
|
|
51
|
+
}
|
|
52
|
+
let n = 2;
|
|
53
|
+
while (bindings[`${preferred}${n}`] && bindings[`${preferred}${n}`] !== pkg) {
|
|
54
|
+
n += 1;
|
|
55
|
+
}
|
|
56
|
+
return `${preferred}${n}`;
|
|
57
|
+
}
|
|
58
|
+
export function orderedBindings(bindings) {
|
|
59
|
+
const ordered = {};
|
|
60
|
+
if (bindings[""]) {
|
|
61
|
+
ordered[""] = bindings[""];
|
|
62
|
+
}
|
|
63
|
+
if (bindings.xsi) {
|
|
64
|
+
ordered.xsi = bindings.xsi;
|
|
65
|
+
}
|
|
66
|
+
const rest = Object.entries(bindings)
|
|
67
|
+
.filter(([prefix]) => prefix !== "" && prefix !== "xsi")
|
|
68
|
+
.sort((a, b) => a[1].localeCompare(b[1]) || a[0].localeCompare(b[0]));
|
|
69
|
+
for (const [prefix, uri] of rest) {
|
|
70
|
+
ordered[prefix] = uri;
|
|
71
|
+
}
|
|
72
|
+
return ordered;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=namespaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { BomDocument, MemberDefinition } from "@blockml/bom";
|
|
2
|
+
import type { AddAggregationOptions, AddPropertyOptions, CreateBlockOptions } from "./types.js";
|
|
3
|
+
export declare class BomBuilder {
|
|
4
|
+
private readonly document;
|
|
5
|
+
private constructor();
|
|
6
|
+
static create(options: CreateBlockOptions): BomBuilder;
|
|
7
|
+
static edit(document: BomDocument): BomBuilder;
|
|
8
|
+
setName(name: string): this;
|
|
9
|
+
setType(fqn: string): this;
|
|
10
|
+
setBaseType(fqn: string): this;
|
|
11
|
+
setIs(text: string): this;
|
|
12
|
+
setDocumentation(text: string): this;
|
|
13
|
+
setFilePath(filePath: string): this;
|
|
14
|
+
ensureNamespaceBinding(prefix: string, namespace: string): this;
|
|
15
|
+
addProperty(options: AddPropertyOptions): this;
|
|
16
|
+
addAggregation(options: AddAggregationOptions): this;
|
|
17
|
+
addCompositionChild(aggregationName: string, typeFqn: string): this;
|
|
18
|
+
setMemberValue(name: string, value: string): this;
|
|
19
|
+
querySelector(selector: string): MemberDefinition | undefined;
|
|
20
|
+
seal(): BomDocument;
|
|
21
|
+
private bindings;
|
|
22
|
+
private ensurePackageBinding;
|
|
23
|
+
private syncCompositionIndex;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,gBAAgB,EAIjB,MAAM,cAAc,CAAC;AAYtB,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAiCpB,qBAAa,UAAU;IACD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAA7C,OAAO;IAQP,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU;IA8CtD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU;IAI9C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM1B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM9B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWpC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAgB/D,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAkB9C,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAgBpD,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA6BnE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IASjD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAiB7D,IAAI,IAAI,WAAW;IASnB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,oBAAoB;CAM7B"}
|