@ifc-lite/export 4.2.0 → 4.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.
Files changed (57) hide show
  1. package/dist/anonymize-export.d.ts.map +1 -1
  2. package/dist/anonymize-export.js +10 -4
  3. package/dist/anonymize-export.js.map +1 -1
  4. package/dist/anonymize-placement.js +2 -2
  5. package/dist/anonymize-placement.js.map +1 -1
  6. package/dist/appearance-dependencies.d.ts.map +1 -1
  7. package/dist/appearance-dependencies.js +9 -5
  8. package/dist/appearance-dependencies.js.map +1 -1
  9. package/dist/csv-table.d.ts +10 -0
  10. package/dist/csv-table.d.ts.map +1 -0
  11. package/dist/csv-table.js +39 -0
  12. package/dist/csv-table.js.map +1 -0
  13. package/dist/effective-appearance-record.d.ts.map +1 -1
  14. package/dist/effective-appearance-record.js +11 -7
  15. package/dist/effective-appearance-record.js.map +1 -1
  16. package/dist/ifc5-export-helpers.d.ts +19 -0
  17. package/dist/ifc5-export-helpers.d.ts.map +1 -1
  18. package/dist/ifc5-export-helpers.js +41 -0
  19. package/dist/ifc5-export-helpers.js.map +1 -1
  20. package/dist/ifc5-exporter.d.ts +9 -10
  21. package/dist/ifc5-exporter.d.ts.map +1 -1
  22. package/dist/ifc5-exporter.js +5 -32
  23. package/dist/ifc5-exporter.js.map +1 -1
  24. package/dist/index.d.ts +3 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +4 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/merged-empty-containers.d.ts.map +1 -1
  29. package/dist/merged-empty-containers.js +6 -9
  30. package/dist/merged-empty-containers.js.map +1 -1
  31. package/dist/reference-collector.d.ts +20 -8
  32. package/dist/reference-collector.d.ts.map +1 -1
  33. package/dist/reference-collector.js +33 -41
  34. package/dist/reference-collector.js.map +1 -1
  35. package/dist/schema-converter-attr-remap.d.ts +11 -22
  36. package/dist/schema-converter-attr-remap.d.ts.map +1 -1
  37. package/dist/schema-converter-attr-remap.js +35 -23
  38. package/dist/schema-converter-attr-remap.js.map +1 -1
  39. package/dist/schema-converter.d.ts.map +1 -1
  40. package/dist/schema-converter.js +16 -78
  41. package/dist/schema-converter.js.map +1 -1
  42. package/dist/step-argument-parser.d.ts +13 -3
  43. package/dist/step-argument-parser.d.ts.map +1 -1
  44. package/dist/step-argument-parser.js +21 -11
  45. package/dist/step-argument-parser.js.map +1 -1
  46. package/dist/step-comment-skip.d.ts +1 -1
  47. package/dist/step-comment-skip.js +1 -1
  48. package/dist/step-overlay-attribute-overrides.d.ts.map +1 -1
  49. package/dist/step-overlay-attribute-overrides.js +6 -2
  50. package/dist/step-overlay-attribute-overrides.js.map +1 -1
  51. package/dist/step-serialization.d.ts +1 -1
  52. package/dist/step-serialization.js +1 -1
  53. package/dist/subset-entity-reader.d.ts +12 -4
  54. package/dist/subset-entity-reader.d.ts.map +1 -1
  55. package/dist/subset-entity-reader.js +4 -16
  56. package/dist/subset-entity-reader.js.map +1 -1
  57. package/package.json +6 -6
@@ -1,19 +1,10 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
- import { STEP_TRIVIA, getAttributeNamesAcrossSchemas, resolveEntityNameAlias } from '@ifc-lite/parser';
4
+ import { getAttributeNamesAcrossSchemas, resolveEntityNameAlias } from '@ifc-lite/parser';
5
5
  import { ENTITIES_IFC2X3, ENTITIES_IFC4, ENTITIES_IFC4X3 } from '@ifc-lite/data';
6
6
  import { createSourceRefReader, decodeRange } from './source-ref-bounds.js';
7
- import { splitTopLevelArgs } from './step-argument-parser.js';
8
- /**
9
- * `#N=TYPE(...);` record, with STEP trivia (whitespace and/or a
10
- * `/* ... *​/` comment, #3789) tolerated between the type name and `(` —
11
- * the same adjacency fix the rest of this package's record readers carry.
12
- * Without it a wrapped record reads as unparseable, `readEntityArgs` returns
13
- * `null`, and `anonymize-placement.ts` / `anonymize-scrub.ts` silently skip
14
- * that entity instead of scrubbing it.
15
- */
16
- const RECORD_RE = new RegExp(`^#\\d+\\s*=\\s*(\\w+)${STEP_TRIVIA}\\(([\\s\\S]*)\\)\\s*;\\s*$`);
7
+ import { readStepSlots } from './step-argument-parser.js';
17
8
  /**
18
9
  * Read entity `id`'s STEP record out of `store`'s source and split it into
19
10
  * its type token and top-level argument list. Returns `null` when the id has
@@ -36,11 +27,8 @@ export function readEntityArgs(store, index, id) {
36
27
  if (!isReadable(ref))
37
28
  return null;
38
29
  const line = decodeRange(store.source, ref.byteOffset, ref.byteOffset + ref.byteLength);
39
- const match = line.match(RECORD_RE);
40
- if (!match)
41
- return null;
42
- const [, type, argsText] = match;
43
- return { type: type.toUpperCase(), args: splitTopLevelArgs(argsText) };
30
+ const record = readStepSlots(line);
31
+ return record === null ? null : { type: record.type, args: record.slots.map((arg) => arg.trim()) };
44
32
  }
45
33
  const ATTRIBUTE_NAMES_BY_SCHEMA = {
46
34
  IFC2X3: attributeTableByUpperName(ENTITIES_IFC2X3),
@@ -1 +1 @@
1
- {"version":3,"file":"subset-entity-reader.js","sourceRoot":"","sources":["../src/subset-entity-reader.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAmB/D,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,wBAAwB,WAAW,6BAA6B,CAAC,CAAC;AAiB/F;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,KAA0C,EAC1C,KAA2B,EAC3B,EAAU;IAEV,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzE,CAAC;AAWD,MAAM,yBAAyB,GAA+E;IAC5G,MAAM,EAAE,yBAAyB,CAAC,eAAe,CAAC;IAClD,IAAI,EAAE,yBAAyB,CAAC,aAAa,CAAC;IAC9C,MAAM,EAAE,yBAAyB,CAAC,eAAe,CAAC;CACnD,CAAC;AAEF,SAAS,yBAAyB,CAAC,KAA+B;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,KAAK,MAAM,MAAM,IAAI,KAAK;QAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAiC;IAChE,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,QAAQ;QACzF,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,MAAyB;IAC7E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAChG,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"subset-entity-reader.js","sourceRoot":"","sources":["../src/subset-entity-reader.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAmB/D,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAyB1D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,KAA0C,EAC1C,KAA2B,EAC3B,EAAU;IAEV,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;AACrG,CAAC;AAWD,MAAM,yBAAyB,GAA+E;IAC5G,MAAM,EAAE,yBAAyB,CAAC,eAAe,CAAC;IAClD,IAAI,EAAE,yBAAyB,CAAC,aAAa,CAAC;IAC9C,MAAM,EAAE,yBAAyB,CAAC,eAAe,CAAC;CACnD,CAAC;AAEF,SAAS,yBAAyB,CAAC,KAA+B;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,KAAK,MAAM,MAAM,IAAI,KAAK;QAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAiC;IAChE,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,QAAQ;QACzF,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,MAAyB;IAC7E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAChG,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/export",
3
- "version": "4.2.0",
3
+ "version": "4.3.1",
4
4
  "description": "Export formats for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,13 +16,13 @@
16
16
  "parquet-wasm": "^0.7.2",
17
17
  "apache-arrow": "^21.2.0",
18
18
  "jszip": "^3.10.0",
19
- "@ifc-lite/geometry": "^5.0.0",
19
+ "@ifc-lite/geometry": "^6.0.0",
20
20
  "@ifc-lite/codegen": "^1.17.0",
21
- "@ifc-lite/data": "^4.2.0",
21
+ "@ifc-lite/data": "^4.2.1",
22
22
  "@ifc-lite/encoding": "^2.2.0",
23
- "@ifc-lite/parser": "^6.1.0",
24
- "@ifc-lite/mutations": "^2.2.0",
25
- "@ifc-lite/ifcx": "^4.1.0"
23
+ "@ifc-lite/parser": "^6.2.1",
24
+ "@ifc-lite/mutations": "^2.3.0",
25
+ "@ifc-lite/ifcx": "^4.1.1"
26
26
  },
27
27
  "devDependencies": {
28
28
  "typescript": "^6.0.3",