@blockml/bom 0.9.1 → 0.9.2
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 +1 -1
- package/blocks/org/blockml/bml/bom/api/ParseOptions.bml +7 -0
- package/blocks/org/blockml/bml/bom/documentation/CalibratorExample.bml +1 -1
- package/blocks/org/blockml/bml/bom/documentation/PublicApi.bml +2 -1
- package/blocks/org/blockml/bml/bom/member/PropertyValueEntry.bml +12 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/api.d.ts +16 -0
- package/dist/types/api.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -37,6 +37,13 @@
|
|
|
37
37
|
<continueOnError type="type:Boolean">
|
|
38
38
|
<documentation>Default: true. (optional)</documentation>
|
|
39
39
|
</continueOnError>
|
|
40
|
+
<parseValue type="type:Text">
|
|
41
|
+
<documentation>
|
|
42
|
+
Optional host hook (typeFqn, raw) → { ok, value } | { ok, skipped } | { ok: false, message }.
|
|
43
|
+
Injected after TypeRegistry bootstrap (e.g. compileBmlToBom). Absent during library bootstrap.
|
|
44
|
+
(optional)
|
|
45
|
+
</documentation>
|
|
46
|
+
</parseValue>
|
|
40
47
|
</properties>
|
|
41
48
|
|
|
42
49
|
</block>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
Inherited native properties not in members[] — validator uses resolveEffectiveMembers().</documentation>
|
|
48
48
|
|
|
49
49
|
<references>
|
|
50
|
-
<see type="bomdoc:BomDocument" relation="
|
|
50
|
+
<see type="bomdoc:BomDocument" relation="SeeAlso" />
|
|
51
51
|
</references>
|
|
52
52
|
|
|
53
53
|
</block>
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
|
|
36
36
|
ValidateResult: optional pragmaticModel (forked BomDocument), diagnostics[], success.
|
|
37
37
|
|
|
38
|
-
ParseOptions: filePath (default "<memory>"), continueOnError (default true)
|
|
38
|
+
ParseOptions: filePath (default "<memory>"), continueOnError (default true),
|
|
39
|
+
optional parseValue host hook (injected after TypeRegistry bootstrap).
|
|
39
40
|
|
|
40
41
|
SerializeOptions: indent (default 2; 0=compact B13), xmlDeclaration (default false B17/B24).
|
|
41
42
|
|
|
@@ -28,7 +28,18 @@
|
|
|
28
28
|
<baseType>bom:UrmodellType</baseType>
|
|
29
29
|
<is>Namespaced property value entry</is>
|
|
30
30
|
|
|
31
|
-
<documentation>
|
|
31
|
+
<documentation>
|
|
32
|
+
Namespaced property value entry.
|
|
33
|
+
|
|
34
|
+
- `namespace` `""` — canonical BML value (same lexical type as the property)
|
|
35
|
+
- non-empty `namespace` — resolved Annotation FQN (for example `scad:value`);
|
|
36
|
+
a target-language facet, not a second BML value
|
|
37
|
+
- `PrimitiveType.parseValue` applies only to the canonical entry
|
|
38
|
+
|
|
39
|
+
TODO: a prefixed value should carry its own type (for example `scad:type` for
|
|
40
|
+
`scad:value`) so each facet can be validated in its target language. Today
|
|
41
|
+
prefixed values are not validated.
|
|
42
|
+
</documentation>
|
|
32
43
|
|
|
33
44
|
<properties>
|
|
34
45
|
<namespace type="type:Text">
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ export type { TypeExpression, TypeDescriptor, Multiplicity, InstanceConfiguratio
|
|
|
5
5
|
export type { MemberDefinition, ConstrainableDefinition, MemberDefinitionBase, PropertyDefinition, PropertyValueEntry, AggregationDefinition, AssociationDefinition, CapabilityDefinition, ImplementationBlock, EmbeddedExpression, } from "./types/member-definition.js";
|
|
6
6
|
export type { CompositionTemplate, InstanceAggregationComposition, CompositionNode, BlockInstanceNode, VirtualContainerNode, BlockInstance, GenericsBinding, DirectiveAttribute, EachDirective, IfDirective, UnlessDirective, WithDirective, WithBinding, } from "./types/composition.js";
|
|
7
7
|
export type { MemberValue, LiteralValue, ExpressionValue, InterpolatedTextValue, AddressValue, Address, } from "./types/values.js";
|
|
8
|
-
export type { ParseResult, SerializeResult, ParseOptions, SerializeOptions, ValidateResult, ValidateOptions, TypeRegistryReader, } from "./types/api.js";
|
|
8
|
+
export type { ParseResult, SerializeResult, ParseOptions, ParseValueResult, ParseValueHook, 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,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"}
|
|
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,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":"AA8FA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/types/api.d.ts
CHANGED
|
@@ -13,11 +13,27 @@ export interface SerializeResult {
|
|
|
13
13
|
diagnostics: Diagnostic[];
|
|
14
14
|
success: boolean;
|
|
15
15
|
}
|
|
16
|
+
export type ParseValueResult = {
|
|
17
|
+
ok: true;
|
|
18
|
+
value: unknown;
|
|
19
|
+
} | {
|
|
20
|
+
ok: true;
|
|
21
|
+
skipped: true;
|
|
22
|
+
} | {
|
|
23
|
+
ok: false;
|
|
24
|
+
message: string;
|
|
25
|
+
};
|
|
26
|
+
export type ParseValueHook = (typeFqn: string, raw: string) => ParseValueResult;
|
|
16
27
|
export interface ParseOptions {
|
|
17
28
|
/** default: "<memory>" — written to BomDocument.source.filePath */
|
|
18
29
|
filePath?: string;
|
|
19
30
|
/** default true — keep mapping after errors; attach document when possible */
|
|
20
31
|
continueOnError?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Optional host hook for PrimitiveType.parseValue.
|
|
34
|
+
* Injected after TypeRegistry bootstrap; omitted during library bootstrap.
|
|
35
|
+
*/
|
|
36
|
+
parseValue?: ParseValueHook;
|
|
21
37
|
}
|
|
22
38
|
export interface SerializeOptions {
|
|
23
39
|
/** default 2 — pretty-print spaces (B13); 0 = compact */
|
package/dist/types/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,gBAAgB,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qGAAqG;AACrG,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,sFAAsF;IACtF,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockml/bom",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
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.
|
|
35
|
+
"@blockml/core": "^1.1.1"
|
|
36
36
|
},
|
|
37
37
|
"engines": {
|
|
38
38
|
"node": ">=20"
|