@ifc-lite/lists 1.18.1 → 1.18.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.
Files changed (2) hide show
  1. package/README.md +43 -0
  2. package/package.json +4 -4
package/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # @ifc-lite/lists
2
+
3
+ Configurable property tables and schedules from IFC data. Define a list once (entity types, columns, filter conditions, grouping) and execute it against any model through a `ListDataProvider` interface to get typed rows, group summaries, and CSV output. This is the engine behind entity tables and schedules in the ifc-lite viewer.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @ifc-lite/lists
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```ts
14
+ import { executeList, listResultToCSV, LIST_PRESETS } from '@ifc-lite/lists';
15
+ import type { ListDataProvider } from '@ifc-lite/lists';
16
+
17
+ const provider: ListDataProvider = createMyProvider(myData);
18
+
19
+ // LIST_PRESETS includes ready-made schedules (for example a Wall Schedule)
20
+ const result = executeList(LIST_PRESETS[0], provider);
21
+ console.log(result.rows);
22
+
23
+ const csv = listResultToCSV(result);
24
+ ```
25
+
26
+ ## Features
27
+
28
+ - `ListDefinition`: entity types, columns, property conditions, grouping, or an explicit express-ID scope per model
29
+ - Column sources: entity attributes, property sets, quantity sets, materials, classifications, spatial containers (storey, building, site, project), and source model
30
+ - Filtering with typed `PropertyCondition` operators, including Bonsai-style `/regex/` name patterns (`compileNameMatcher`, `isNamePattern`)
31
+ - Grouping with per-group summaries (`summariseListRows`)
32
+ - `discoverColumns` finds available columns from the actual model data
33
+ - CSV export with formula-injection guarding (`listResultToCSV`)
34
+ - `LIST_PRESETS` with common schedules
35
+
36
+ ## Links
37
+
38
+ - Docs: https://ifclite.dev/docs/
39
+ - Source: https://github.com/LTplus-AG/ifc-lite
40
+
41
+ ## License
42
+
43
+ MPL-2.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/lists",
3
- "version": "1.18.1",
3
+ "version": "1.18.3",
4
4
  "description": "Configurable property tables and schedules from IFC data for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,8 +13,8 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "@ifc-lite/data": "2.5.0",
17
- "@ifc-lite/encoding": "1.14.8"
16
+ "@ifc-lite/data": "2.5.2",
17
+ "@ifc-lite/encoding": "1.14.10"
18
18
  },
19
19
  "devDependencies": {
20
20
  "typescript": "^6.0.3",
@@ -27,7 +27,7 @@
27
27
  "url": "https://github.com/LTplus-AG/ifc-lite.git",
28
28
  "directory": "packages/lists"
29
29
  },
30
- "homepage": "https://ltplus-ag.github.io/ifc-lite/",
30
+ "homepage": "https://ifclite.dev/docs/",
31
31
  "bugs": "https://github.com/LTplus-AG/ifc-lite/issues",
32
32
  "keywords": [
33
33
  "ifc",