@ifc-lite/sdk 2.1.2 → 2.1.3
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/dist/namespaces/ids.d.ts +10 -3
- package/dist/namespaces/ids.d.ts.map +1 -1
- package/dist/namespaces/ids.js +8 -1
- package/dist/namespaces/ids.js.map +1 -1
- package/dist/namespaces/list.d.ts +0 -6
- package/dist/namespaces/list.d.ts.map +1 -1
- package/dist/namespaces/list.js +80 -0
- package/dist/namespaces/list.js.map +1 -1
- package/package.json +14 -14
package/dist/namespaces/ids.d.ts
CHANGED
|
@@ -26,11 +26,18 @@ export interface IDSValidationProgress {
|
|
|
26
26
|
export interface IDSValidateOptions {
|
|
27
27
|
/** IFC data accessor — maps IFC model data for validation */
|
|
28
28
|
accessor: unknown;
|
|
29
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Model info for spec applicability checks. Mirrors the shape
|
|
31
|
+
* `@ifc-lite/ids`'s `IDSModelInfo` expects (`modelId`, `schemaVersion`,
|
|
32
|
+
* `entityCount`) without importing that type, keeping this namespace
|
|
33
|
+
* decoupled from `@ifc-lite/ids` at compile time (see the summary type
|
|
34
|
+
* above). All fields are optional here — the validator is called with
|
|
35
|
+
* `options.modelInfo ?? {}`, so a caller may supply only what it knows.
|
|
36
|
+
*/
|
|
30
37
|
modelInfo?: {
|
|
38
|
+
modelId?: string;
|
|
31
39
|
schemaVersion?: string;
|
|
32
|
-
|
|
33
|
-
[key: string]: unknown;
|
|
40
|
+
entityCount?: number;
|
|
34
41
|
};
|
|
35
42
|
/** Progress callback */
|
|
36
43
|
onProgress?: (progress: IDSValidationProgress) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/namespaces/ids.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAMH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpD,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;IAC/C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/namespaces/ids.ts"],"names":[],"mappings":"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"}
|
package/dist/namespaces/ids.js
CHANGED
|
@@ -35,9 +35,16 @@ export class IDSNamespace {
|
|
|
35
35
|
*/
|
|
36
36
|
async validate(idsDocument, options) {
|
|
37
37
|
const mod = await loadIDS();
|
|
38
|
+
// `ValidatorOptions` has no `locale` field — the validator only
|
|
39
|
+
// understands a `translator` (see @ifc-lite/ids `ValidatorOptions`).
|
|
40
|
+
// Build one from the requested locale so `locale` actually reaches
|
|
41
|
+
// the human-readable messages instead of being silently dropped.
|
|
42
|
+
const translator = options.locale
|
|
43
|
+
? mod.createTranslationService(options.locale)
|
|
44
|
+
: undefined;
|
|
38
45
|
return mod.validateIDS(idsDocument, options.accessor, options.modelInfo ?? {}, {
|
|
39
46
|
onProgress: options.onProgress,
|
|
40
|
-
|
|
47
|
+
translator,
|
|
41
48
|
includePassingEntities: options.includePassingEntities,
|
|
42
49
|
});
|
|
43
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/namespaces/ids.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/namespaces/ids.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/namespaces/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/namespaces/list.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,QAAQ,CAAC;IACvE,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,yBAAyB;IACzB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,wBAAwB;IACxB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyFD,iFAAiF;AACjF,qBAAa,aAAa;IAMxB,sEAAsE;IAChE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAKtC,8EAA8E;IACxE,mBAAmB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAS/C;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BhG;;;OAGG;IACG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAclF,2CAA2C;IACrC,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAI9C"}
|
package/dist/namespaces/list.js
CHANGED
|
@@ -8,6 +8,76 @@ async function loadLists() {
|
|
|
8
8
|
const name = '@ifc-lite/lists';
|
|
9
9
|
return import(/* webpackIgnore: true */ name);
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Translate the SDK's flat `{ header, source }` column shape into the
|
|
13
|
+
* library's structured `ColumnDefinition` (`{ id, source: <enum>, psetName?,
|
|
14
|
+
* propertyName, label? }`). Without this the two never lined up: the library
|
|
15
|
+
* switches on `source` against its own enum ('attribute' | 'property' | ...)
|
|
16
|
+
* and SDK columns carried 'name' / 'type' / 'globalId' / 'Pset.Prop' strings
|
|
17
|
+
* that matched none of those cases, so `executeList` fell through to its
|
|
18
|
+
* `default: values[i] = null` branch for every column, every row.
|
|
19
|
+
*/
|
|
20
|
+
function toLibraryColumn(col, index) {
|
|
21
|
+
const id = `col_${index}`;
|
|
22
|
+
const label = col.header;
|
|
23
|
+
if (col.source === 'name')
|
|
24
|
+
return { id, source: 'attribute', propertyName: 'Name', label };
|
|
25
|
+
if (col.source === 'type')
|
|
26
|
+
return { id, source: 'attribute', propertyName: 'Class', label };
|
|
27
|
+
if (col.source === 'globalId')
|
|
28
|
+
return { id, source: 'attribute', propertyName: 'GlobalId', label };
|
|
29
|
+
const dotIdx = col.source.indexOf('.');
|
|
30
|
+
if (dotIdx > 0) {
|
|
31
|
+
const setName = col.source.slice(0, dotIdx);
|
|
32
|
+
const propertyName = col.source.slice(dotIdx + 1);
|
|
33
|
+
// Same Qto_ convention bim.bsdd uses to split property sets from
|
|
34
|
+
// quantity sets: the library has no single "try property, then
|
|
35
|
+
// quantity" column source, so a definitive choice is required.
|
|
36
|
+
const source = setName.startsWith('Qto_') ? 'quantity' : 'property';
|
|
37
|
+
return { id, source, psetName: setName, propertyName, label };
|
|
38
|
+
}
|
|
39
|
+
// Unrecognized shape (not one of the three special names, no dot path) —
|
|
40
|
+
// pass through as a raw attribute name rather than silently dropping it.
|
|
41
|
+
return { id, source: 'attribute', propertyName: col.source, label };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Map the SDK's `'=' | '!=' | '>' | '<' | '>=' | '<='` operator spelling to
|
|
45
|
+
* the library's `'equals' | 'notEquals' | 'gt' | 'lt' | 'gte' | 'lte'`.
|
|
46
|
+
* `'contains'` and `'exists'` are spelled the same in both and pass through
|
|
47
|
+
* the fallback unchanged.
|
|
48
|
+
*/
|
|
49
|
+
const CONDITION_OPERATOR_MAP = {
|
|
50
|
+
'=': 'equals',
|
|
51
|
+
'!=': 'notEquals',
|
|
52
|
+
'>': 'gt',
|
|
53
|
+
'<': 'lt',
|
|
54
|
+
'>=': 'gte',
|
|
55
|
+
'<=': 'lte',
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Translate the SDK's flat `{ psetName, propName, operator, value }`
|
|
59
|
+
* `ListCondition` into the library's `PropertyCondition`
|
|
60
|
+
* (`{ source: <enum>, psetName?, propertyName, operator, value }`).
|
|
61
|
+
*
|
|
62
|
+
* Without this, `execute()` passed SDK-shaped conditions straight through
|
|
63
|
+
* (PR #2841 review): `PropertyCondition.source` is required and SDK
|
|
64
|
+
* conditions carry none, so `getConditionValue` fell through to
|
|
65
|
+
* `default: return null` for every condition, and a `null` actual value
|
|
66
|
+
* makes `matchesCondition` return `false` unconditionally — every entity
|
|
67
|
+
* fails every condition, so a filtered `bim.list.execute()` call silently
|
|
68
|
+
* came back with an EMPTY table rather than an error or a table of nulls.
|
|
69
|
+
* Same `Qto_` convention as `toLibraryColumn` and `bim.bsdd` to choose
|
|
70
|
+
* between the library's `'property'` and `'quantity'` sources.
|
|
71
|
+
*/
|
|
72
|
+
function toLibraryCondition(condition) {
|
|
73
|
+
return {
|
|
74
|
+
source: condition.psetName.startsWith('Qto_') ? 'quantity' : 'property',
|
|
75
|
+
psetName: condition.psetName,
|
|
76
|
+
propertyName: condition.propName,
|
|
77
|
+
operator: CONDITION_OPERATOR_MAP[condition.operator] ?? condition.operator,
|
|
78
|
+
value: condition.value ?? '',
|
|
79
|
+
};
|
|
80
|
+
}
|
|
11
81
|
// ============================================================================
|
|
12
82
|
// ListNamespace
|
|
13
83
|
// ============================================================================
|
|
@@ -52,6 +122,16 @@ export class ListNamespace {
|
|
|
52
122
|
const libraryDef = {
|
|
53
123
|
...definition,
|
|
54
124
|
entityTypes: (definition.types ?? []).map(t => convert(t)),
|
|
125
|
+
// `conditions` is required (non-optional) on the library's
|
|
126
|
+
// ListDefinition; the SDK documents it as optional, and
|
|
127
|
+
// resolveSourceSet() does `conditions.length` unconditionally, so
|
|
128
|
+
// omitting it threw "Cannot read properties of undefined" instead of
|
|
129
|
+
// running unfiltered. Each supplied condition is also translated
|
|
130
|
+
// (toLibraryCondition) — passed through raw, an SDK-shaped condition
|
|
131
|
+
// matched none of the library's sources and silently emptied the
|
|
132
|
+
// result instead of filtering it (PR #2841 review).
|
|
133
|
+
conditions: (definition.conditions ?? []).map(toLibraryCondition),
|
|
134
|
+
columns: definition.columns.map(toLibraryColumn),
|
|
55
135
|
};
|
|
56
136
|
return mod.executeList(libraryDef, provider, modelId ?? 'default');
|
|
57
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/namespaces/list.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/namespaces/list.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/sdk",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"description": "Scripting SDK for ifc-lite — the bim.* API for BIM automation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,20 +13,20 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@ifc-lite/bcf": "^1.18.
|
|
17
|
-
"@ifc-lite/clash": "^1.
|
|
18
|
-
"@ifc-lite/create": "^2.1.
|
|
19
|
-
"@ifc-lite/
|
|
20
|
-
"@ifc-lite/
|
|
21
|
-
"@ifc-lite/export": "^2.9.2",
|
|
16
|
+
"@ifc-lite/bcf": "^1.18.2",
|
|
17
|
+
"@ifc-lite/clash": "^1.9.0",
|
|
18
|
+
"@ifc-lite/create": "^2.1.2",
|
|
19
|
+
"@ifc-lite/data": "^3.4.0",
|
|
20
|
+
"@ifc-lite/drawing-2d": "^2.1.1",
|
|
22
21
|
"@ifc-lite/encoding": "^2.0.0",
|
|
23
|
-
"@ifc-lite/
|
|
24
|
-
"@ifc-lite/
|
|
25
|
-
"@ifc-lite/
|
|
26
|
-
"@ifc-lite/mutations": "^1.26.
|
|
27
|
-
"@ifc-lite/
|
|
28
|
-
"@ifc-lite/
|
|
29
|
-
"@ifc-lite/
|
|
22
|
+
"@ifc-lite/export": "^2.9.4",
|
|
23
|
+
"@ifc-lite/ids": "^1.15.48",
|
|
24
|
+
"@ifc-lite/lens": "^1.18.1",
|
|
25
|
+
"@ifc-lite/mutations": "^1.26.1",
|
|
26
|
+
"@ifc-lite/lists": "^1.23.2",
|
|
27
|
+
"@ifc-lite/parser": "^4.2.0",
|
|
28
|
+
"@ifc-lite/query": "^1.14.17",
|
|
29
|
+
"@ifc-lite/spatial": "^1.14.14"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"typescript": "^6.0.3",
|