@ifc-lite/flow-nodes 0.2.0 → 0.3.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/dist/apply-table-node.d.ts.map +1 -1
- package/dist/apply-table-node.js +7 -6
- package/dist/apply-table-node.js.map +1 -1
- package/dist/csv-nodes.d.ts.map +1 -1
- package/dist/csv-nodes.js +3 -4
- package/dist/csv-nodes.js.map +1 -1
- package/dist/xlsx-io.d.ts.map +1 -1
- package/dist/xlsx-io.js +3 -3
- package/dist/xlsx-io.js.map +1 -1
- package/package.json +8 -8
- package/dist/strict-cell.d.ts +0 -20
- package/dist/strict-cell.d.ts.map +0 -1
- package/dist/strict-cell.js +0 -33
- package/dist/strict-cell.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-table-node.d.ts","sourceRoot":"","sources":["../src/apply-table-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apply-table-node.d.ts","sourceRoot":"","sources":["../src/apply-table-node.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAqE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAgChH,eAAO,MAAM,cAAc,EAAE,WAuE5B,CAAC"}
|
package/dist/apply-table-node.js
CHANGED
|
@@ -16,10 +16,9 @@
|
|
|
16
16
|
* coerced to `0`/`''`/`false`, mirroring `csv-parse-value.ts`'s own
|
|
17
17
|
* `PARSE_INVALID` contract, which this reuses rather than re-deriving.
|
|
18
18
|
*/
|
|
19
|
-
import { PARSE_INVALID } from '@ifc-lite/mutations';
|
|
20
|
-
import { parseStrictCell } from './strict-cell.js';
|
|
19
|
+
import { PARSE_INVALID, parseValue } from '@ifc-lite/mutations';
|
|
21
20
|
import { ENTITY_LIST, SCALAR_LIST, TABLE_ITEM, requireCapability, toSdkRef } from './host.js';
|
|
22
|
-
import { tableOf } from './table-nodes.js';
|
|
21
|
+
import { VALUE_TYPE_BY_COLUMN_TYPE, tableOf } from './table-nodes.js';
|
|
23
22
|
function isColumnMapping(v) {
|
|
24
23
|
const m = v;
|
|
25
24
|
return !!m && typeof m.column === 'string' && typeof m.pset === 'string' && typeof m.prop === 'string';
|
|
@@ -99,9 +98,11 @@ export const applyTableNode = {
|
|
|
99
98
|
// blank cell as `''`, which would otherwise overwrite the value.
|
|
100
99
|
if (raw === null || raw === undefined || raw === '')
|
|
101
100
|
continue;
|
|
102
|
-
//
|
|
103
|
-
// readers)
|
|
104
|
-
|
|
101
|
+
// Re-parsed, not trusted: a table from any producer (not only this
|
|
102
|
+
// package's readers) goes through the same whole-cell `parseValue`,
|
|
103
|
+
// which refuses "12,5" rather than writing 12. Text is trimmed like
|
|
104
|
+
// `CsvConnector`'s own cell splitter does.
|
|
105
|
+
const parsed = parseValue(String(raw).trim(), VALUE_TYPE_BY_COLUMN_TYPE[column.type]);
|
|
105
106
|
// A cell that fails to parse as its column's declared type is
|
|
106
107
|
// reported and left unwritten — never coerced to 0/''/false. Other
|
|
107
108
|
// columns on the same row still write; only this cell is skipped.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-table-node.js","sourceRoot":"","sources":["../src/apply-table-node.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"apply-table-node.js","sourceRoot":"","sources":["../src/apply-table-node.ts"],"names":[],"mappings":"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"}
|
package/dist/csv-nodes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv-nodes.d.ts","sourceRoot":"","sources":["../src/csv-nodes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"csv-nodes.d.ts","sourceRoot":"","sources":["../src/csv-nodes.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAwC,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AA0BnF,eAAO,MAAM,QAAQ,EAAE,WAAW,EA0EjC,CAAC"}
|
package/dist/csv-nodes.js
CHANGED
|
@@ -14,11 +14,10 @@
|
|
|
14
14
|
* has nothing new to find here.
|
|
15
15
|
*/
|
|
16
16
|
import { tableToCsv } from '@ifc-lite/export';
|
|
17
|
-
import { PARSE_INVALID } from '@ifc-lite/mutations';
|
|
18
|
-
import { parseStrictCell } from './strict-cell.js';
|
|
17
|
+
import { PARSE_INVALID, parseValue } from '@ifc-lite/mutations';
|
|
19
18
|
import { COLUMN_TYPES } from '@ifc-lite/flow';
|
|
20
19
|
import { SCALAR_ITEM, SCALAR_LIST, TABLE_ITEM } from './host.js';
|
|
21
|
-
import { tableOf } from './table-nodes.js';
|
|
20
|
+
import { VALUE_TYPE_BY_COLUMN_TYPE, tableOf } from './table-nodes.js';
|
|
22
21
|
import { parseCsvText } from './csv-parse.js';
|
|
23
22
|
function isColumnSpec(v) {
|
|
24
23
|
return !!v && typeof v === 'object' && typeof v.name === 'string';
|
|
@@ -75,7 +74,7 @@ export const csvNodes = [
|
|
|
75
74
|
row[col.name] = raw;
|
|
76
75
|
return;
|
|
77
76
|
}
|
|
78
|
-
const parsedCell =
|
|
77
|
+
const parsedCell = parseValue(raw, VALUE_TYPE_BY_COLUMN_TYPE[col.type]);
|
|
79
78
|
if (parsedCell === PARSE_INVALID) {
|
|
80
79
|
problems.push(`row ${rowIdx + 2}: column "${col.name}": cannot parse "${raw}" as ${col.type}`);
|
|
81
80
|
row[col.name] = null;
|
package/dist/csv-nodes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv-nodes.js","sourceRoot":"","sources":["../src/csv-nodes.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"csv-nodes.js","sourceRoot":"","sources":["../src/csv-nodes.ts"],"names":[],"mappings":"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"}
|
package/dist/xlsx-io.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xlsx-io.d.ts","sourceRoot":"","sources":["../src/xlsx-io.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xlsx-io.d.ts","sourceRoot":"","sources":["../src/xlsx-io.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAyD,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGnG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAoCD;;kDAEkD;AAClD,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyE5G;AAED;qDACqD;AACrD,wBAAsB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,SAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAc5F"}
|
package/dist/xlsx-io.js
CHANGED
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import ExcelJS from 'exceljs';
|
|
20
20
|
import { guardSpreadsheetFormula } from '@ifc-lite/export';
|
|
21
|
-
import { PARSE_INVALID } from '@ifc-lite/mutations';
|
|
22
|
-
import { parseStrictCell } from './strict-cell.js';
|
|
21
|
+
import { PARSE_INVALID, parseValue } from '@ifc-lite/mutations';
|
|
23
22
|
import { COLUMN_TYPES } from '@ifc-lite/flow';
|
|
23
|
+
import { VALUE_TYPE_BY_COLUMN_TYPE } from './table-nodes.js';
|
|
24
24
|
function columnType(spec) {
|
|
25
25
|
const t = spec?.type;
|
|
26
26
|
return typeof t === 'string' && COLUMN_TYPES.includes(t) ? t : 'string';
|
|
@@ -125,7 +125,7 @@ export async function readXlsxTable(data, options = {}) {
|
|
|
125
125
|
row[col.name] = raw;
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
|
-
const parsed =
|
|
128
|
+
const parsed = parseValue(raw, VALUE_TYPE_BY_COLUMN_TYPE[col.type]);
|
|
129
129
|
if (parsed === PARSE_INVALID) {
|
|
130
130
|
problems.push(`row ${r}: column "${col.name}": cannot parse "${raw}" as ${col.type}`);
|
|
131
131
|
row[col.name] = null;
|
package/dist/xlsx-io.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xlsx-io.js","sourceRoot":"","sources":["../src/xlsx-io.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;GAcG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"xlsx-io.js","sourceRoot":"","sources":["../src/xlsx-io.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/flow-nodes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Standard node library for @ifc-lite/flow over the ifc-lite SDK: model reads and writes, tables, viewer, and a sandboxed Script node",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"exceljs": "^4.4.0",
|
|
17
|
-
"@ifc-lite/
|
|
18
|
-
"@ifc-lite/
|
|
19
|
-
"@ifc-lite/
|
|
17
|
+
"@ifc-lite/export": "^4.7.2",
|
|
18
|
+
"@ifc-lite/data": "^5.3.0",
|
|
19
|
+
"@ifc-lite/extensions": "^0.9.0",
|
|
20
|
+
"@ifc-lite/flow": "^0.3.0",
|
|
21
|
+
"@ifc-lite/mutations": "^2.7.0",
|
|
20
22
|
"@ifc-lite/query": "^2.5.0",
|
|
21
|
-
"@ifc-lite/
|
|
22
|
-
"@ifc-lite/
|
|
23
|
-
"@ifc-lite/sdk": "^7.0.0",
|
|
24
|
-
"@ifc-lite/sandbox": "^2.6.1"
|
|
23
|
+
"@ifc-lite/sandbox": "^2.6.1",
|
|
24
|
+
"@ifc-lite/sdk": "^7.1.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^26.6.1",
|
package/dist/strict-cell.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Is a spreadsheet cell's text a COMPLETE value of its column's type?
|
|
3
|
-
*
|
|
4
|
-
* `@ifc-lite/mutations`' `parseValue` is lenient by construction: `parseFloat`
|
|
5
|
-
* reads the longest numeric prefix, so `"12,5"` becomes 12 and `"60abc"`
|
|
6
|
-
* becomes 60, and every string other than true/yes/1 becomes `false`. A
|
|
7
|
-
* European CSV (`12,5` in a Real column) therefore wrote 12 into the model
|
|
8
|
-
* with nothing reported. This check runs first at every table→value boundary
|
|
9
|
-
* (the CSV and XLSX readers, and `model.applyTable`), so a value is either
|
|
10
|
-
* exactly what the cell says or reported and left unwritten (#5377 review).
|
|
11
|
-
*/
|
|
12
|
-
import type { ColumnType } from '@ifc-lite/flow';
|
|
13
|
-
import { PARSE_INVALID, type PropertyValue } from '@ifc-lite/mutations';
|
|
14
|
-
/**
|
|
15
|
-
* Parse a cell as its column's type, or {@link PARSE_INVALID}. The text is
|
|
16
|
-
* trimmed ONCE and the same text is both checked and parsed: checking the
|
|
17
|
-
* trimmed text but parsing the raw one accepted `" true "` and wrote `false`.
|
|
18
|
-
*/
|
|
19
|
-
export declare function parseStrictCell(raw: string, type: ColumnType): PropertyValue | typeof PARSE_INVALID;
|
|
20
|
-
//# sourceMappingURL=strict-cell.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strict-cell.d.ts","sourceRoot":"","sources":["../src/strict-cell.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAc,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAuBpF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,OAAO,aAAa,CAGnG"}
|
package/dist/strict-cell.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
-
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
-
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
-
import { PARSE_INVALID, parseValue } from '@ifc-lite/mutations';
|
|
5
|
-
import { VALUE_TYPE_BY_COLUMN_TYPE } from './table-nodes.js';
|
|
6
|
-
const REAL = /^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/;
|
|
7
|
-
const INTEGER = /^[+-]?\d+$/;
|
|
8
|
-
/**
|
|
9
|
-
* IFC LOGICAL's UNKNOWN is deliberately absent: the property model carries a
|
|
10
|
-
* boolean, and writing UNKNOWN as `false` would state a fact the sheet did not.
|
|
11
|
-
*/
|
|
12
|
-
const BOOLEAN = /^(true|false|yes|no|1|0)$/i;
|
|
13
|
-
function isStrictlyTyped(text, type) {
|
|
14
|
-
switch (type) {
|
|
15
|
-
// The syntax alone admits `1e309` (Infinity) and integers past 2^53
|
|
16
|
-
// (silently rounded), so the value itself is checked too.
|
|
17
|
-
case 'real': return REAL.test(text) && Number.isFinite(Number(text));
|
|
18
|
-
case 'integer': return INTEGER.test(text) && Number.isSafeInteger(Number(text));
|
|
19
|
-
case 'boolean':
|
|
20
|
-
case 'logical': return BOOLEAN.test(text);
|
|
21
|
-
default: return true;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Parse a cell as its column's type, or {@link PARSE_INVALID}. The text is
|
|
26
|
-
* trimmed ONCE and the same text is both checked and parsed: checking the
|
|
27
|
-
* trimmed text but parsing the raw one accepted `" true "` and wrote `false`.
|
|
28
|
-
*/
|
|
29
|
-
export function parseStrictCell(raw, type) {
|
|
30
|
-
const text = raw.trim();
|
|
31
|
-
return isStrictlyTyped(text, type) ? parseValue(text, VALUE_TYPE_BY_COLUMN_TYPE[type]) : PARSE_INVALID;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=strict-cell.js.map
|
package/dist/strict-cell.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strict-cell.js","sourceRoot":"","sources":["../src/strict-cell.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAe/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAsB,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,IAAI,GAAG,yCAAyC,CAAC;AACvD,MAAM,OAAO,GAAG,YAAY,CAAC;AAC7B;;;GAGG;AACH,MAAM,OAAO,GAAG,4BAA4B,CAAC;AAE7C,SAAS,eAAe,CAAC,IAAY,EAAE,IAAgB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACb,oEAAoE;QACpE,0DAA0D;QAC1D,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,KAAK,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,IAAgB;IAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AACzG,CAAC"}
|