@ifc-lite/codegen 1.16.0 → 1.18.0

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 (51) hide show
  1. package/README.md +14 -0
  2. package/dist/cli.js +4 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/express-parser.js +43 -51
  5. package/dist/express-parser.js.map +1 -1
  6. package/dist/generated/ifc2x3/entities.d.ts +5244 -0
  7. package/dist/generated/ifc2x3/entities.d.ts.map +1 -0
  8. package/dist/generated/ifc2x3/entities.js +8 -0
  9. package/dist/generated/ifc2x3/entities.js.map +1 -0
  10. package/dist/generated/ifc2x3/enums.d.ts +1809 -0
  11. package/dist/generated/ifc2x3/enums.d.ts.map +1 -0
  12. package/dist/generated/ifc2x3/enums.js +1973 -0
  13. package/dist/generated/ifc2x3/enums.js.map +1 -0
  14. package/dist/generated/ifc2x3/index.d.ts +13 -0
  15. package/dist/generated/ifc2x3/index.d.ts.map +1 -0
  16. package/dist/generated/ifc2x3/index.js +16 -0
  17. package/dist/generated/ifc2x3/index.js.map +1 -0
  18. package/dist/generated/ifc2x3/schema-registry.d.ts +50 -0
  19. package/dist/generated/ifc2x3/schema-registry.d.ts.map +1 -0
  20. package/dist/generated/ifc2x3/schema-registry.js +50052 -0
  21. package/dist/generated/ifc2x3/schema-registry.js.map +1 -0
  22. package/dist/generated/ifc2x3/selects.d.ts +102 -0
  23. package/dist/generated/ifc2x3/selects.d.ts.map +1 -0
  24. package/dist/generated/ifc2x3/selects.js +8 -0
  25. package/dist/generated/ifc2x3/selects.js.map +1 -0
  26. package/dist/generated/ifc2x3/serializers.d.ts +12 -0
  27. package/dist/generated/ifc2x3/serializers.d.ts.map +1 -0
  28. package/dist/generated/ifc2x3/serializers.js +30 -0
  29. package/dist/generated/ifc2x3/serializers.js.map +1 -0
  30. package/dist/generated/ifc2x3/type-ids.d.ts +692 -0
  31. package/dist/generated/ifc2x3/type-ids.d.ts.map +1 -0
  32. package/dist/generated/ifc2x3/type-ids.js +1425 -0
  33. package/dist/generated/ifc2x3/type-ids.js.map +1 -0
  34. package/dist/generated/ifc2x3/types.d.ts +241 -0
  35. package/dist/generated/ifc2x3/types.d.ts.map +1 -0
  36. package/dist/generated/ifc2x3/types.js +8 -0
  37. package/dist/generated/ifc2x3/types.js.map +1 -0
  38. package/dist/generator.d.ts +5 -1
  39. package/dist/generator.d.ts.map +1 -1
  40. package/dist/generator.js +32 -6
  41. package/dist/generator.js.map +1 -1
  42. package/dist/rust-generator.d.ts +2 -4
  43. package/dist/rust-generator.d.ts.map +1 -1
  44. package/dist/rust-generator.js +24 -28
  45. package/dist/rust-generator.js.map +1 -1
  46. package/dist/rust-schema-queries.d.ts +9 -2
  47. package/dist/rust-schema-queries.d.ts.map +1 -1
  48. package/dist/rust-schema-queries.js +56 -3
  49. package/dist/rust-schema-queries.js.map +1 -1
  50. package/package.json +14 -3
  51. package/schemas/IFC2X3_TC1.exp +9569 -0
package/README.md CHANGED
@@ -21,6 +21,20 @@ node dist/cli.js schemas/IFC4X3.exp --output ./generated/ifc4x3
21
21
  ```
22
22
 
23
23
  Pass `--rust` to also emit Rust type tables (consumed by the ifc-lite Rust core).
24
+ Rust output is public by default. Add `--rust-crate-private` when the generated
25
+ registry is an implementation detail of one crate and must use `pub(crate)`
26
+ instead of becoming part of that crate's public API; the flag has no effect
27
+ unless `--rust` is also present.
28
+ Pass `--rust` to also emit Rust type tables (consumed by the ifc-lite Rust core). To generate
29
+ one exact-name universe across supported releases while keeping the first schema authoritative
30
+ for attributes, pass older schemas with `--rust-supplemental-schema`. Rust generation also
31
+ includes class-shaped rows from `@ifc-lite/data`'s IFC4 family catalog, covering accepted IFC4X1
32
+ entities such as `IfcAlignmentCurve` that are absent from the bundled IFC4 ADD2 EXPRESS file:
33
+
34
+ ```bash
35
+ node dist/cli.js schemas/IFC4X3.exp --rust \
36
+ --rust-supplemental-schema schemas/IFC4_ADD2_TC1.exp schemas/IFC2X3_TC1.exp
37
+ ```
24
38
 
25
39
  Generated files (one per output directory, e.g. `./generated/ifc4`):
26
40
 
package/dist/cli.js CHANGED
@@ -19,6 +19,8 @@ program
19
19
  .option('-o, --output <dir>', 'Output directory', './generated')
20
20
  .option('-r, --rust', 'Generate Rust code', false)
21
21
  .option('--rust-dir <dir>', 'Rust output subdirectory (relative to output)', 'rust')
22
+ .option('--rust-crate-private', 'Keep generated Rust types crate-private', false)
23
+ .option('--rust-supplemental-schema <path...>', 'Additional EXPRESS schemas whose entity names extend the Rust IfcType universe')
22
24
  .option('--skip-collision-check', 'Skip CRC32 collision check', false)
23
25
  .option('-v, --verbose', 'Verbose output', false)
24
26
  .action((schemaPath, options) => {
@@ -38,6 +40,8 @@ program
38
40
  const genOptions = {
39
41
  rust: options.rust,
40
42
  rustDir: options.rustDir,
43
+ rustCratePrivate: options.rustCratePrivate,
44
+ rustSupplementalSchemaPaths: options.rustSupplementalSchema,
41
45
  skipCollisionCheck: options.skipCollisionCheck,
42
46
  };
43
47
  generateFromFile(schemaPath, options.output, genOptions);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;+DAE+D;AAE/D;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAyB,MAAM,gBAAgB,CAAC;AAEzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,4DAA4D,CAAC;KACzE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,QAAQ,CAAC,UAAU,EAAE,oCAAoC,CAAC;KAC1D,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,CAAC;KAC/D,MAAM,CAAC,YAAY,EAAE,oBAAoB,EAAE,KAAK,CAAC;KACjD,MAAM,CAAC,kBAAkB,EAAE,+CAA+C,EAAE,MAAM,CAAC;KACnF,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,eAAe,EAAE,gBAAgB,EAAE,KAAK,CAAC;KAChD,MAAM,CACL,CACE,UAAkB,EAClB,OAMC,EACD,EAAE;IACF,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,uDAAuD;YACvD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;gBACjD,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAqB;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C,CAAC;QAEF,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,IAAI,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;+DAE+D;AAE/D;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAyB,MAAM,gBAAgB,CAAC;AAEzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,4DAA4D,CAAC;KACzE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,QAAQ,CAAC,UAAU,EAAE,oCAAoC,CAAC;KAC1D,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,CAAC;KAC/D,MAAM,CAAC,YAAY,EAAE,oBAAoB,EAAE,KAAK,CAAC;KACjD,MAAM,CAAC,kBAAkB,EAAE,+CAA+C,EAAE,MAAM,CAAC;KACnF,MAAM,CAAC,sBAAsB,EAAE,yCAAyC,EAAE,KAAK,CAAC;KAChF,MAAM,CACL,sCAAsC,EACtC,gFAAgF,CACjF;KACA,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,eAAe,EAAE,gBAAgB,EAAE,KAAK,CAAC;KAChD,MAAM,CACL,CACE,UAAkB,EAClB,OAQC,EACD,EAAE;IACF,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,uDAAuD;YACvD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;gBACjD,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAqB;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,2BAA2B,EAAE,OAAO,CAAC,sBAAsB;YAC3D,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C,CAAC;QAEF,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,IAAI,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -131,74 +131,66 @@ function parseAttribute(name, typeStr, optional) {
131
131
  // Also handle nested collections: LIST [2:?] OF LIST [2:?] OF IfcCartesianPoint
132
132
  if (typeStr.includes('LIST')) {
133
133
  attr.isList = true;
134
- const listMatch = typeStr.match(/LIST\s+\[(\d+|\?):(\d+|\?)\]\s+OF\s+(.*)/);
135
- if (listMatch) {
136
- attr.arrayBounds = [
137
- listMatch[1] === '?' ? Infinity : parseInt(listMatch[1]),
138
- listMatch[2] === '?' ? Infinity : parseInt(listMatch[2])
139
- ];
140
- const innerType = listMatch[3].trim();
141
- // Recursively parse nested collection
142
- attr.type = parseNestedCollection(innerType);
143
- }
144
- else {
145
- // Fallback if regex doesn't match
146
- attr.type = typeStr.replace(/LIST\s+\[.*?\]\s+OF\s+/, '').trim();
147
- }
134
+ applyAggregate(attr, typeStr, 'LIST');
148
135
  }
149
136
  else if (typeStr.includes('ARRAY')) {
150
137
  attr.isArray = true;
151
- const arrayMatch = typeStr.match(/ARRAY\s+\[(\d+|\?):(\d+|\?)\]\s+OF\s+(.*)/);
152
- if (arrayMatch) {
153
- attr.arrayBounds = [
154
- arrayMatch[1] === '?' ? Infinity : parseInt(arrayMatch[1]),
155
- arrayMatch[2] === '?' ? Infinity : parseInt(arrayMatch[2])
156
- ];
157
- const innerType = arrayMatch[3].trim();
158
- // Recursively parse nested collection
159
- attr.type = parseNestedCollection(innerType);
160
- }
161
- else {
162
- // Fallback if regex doesn't match
163
- attr.type = typeStr.replace(/ARRAY\s+\[.*?\]\s+OF\s+/, '').trim();
164
- }
138
+ applyAggregate(attr, typeStr, 'ARRAY');
165
139
  }
166
140
  else if (typeStr.includes('SET')) {
167
141
  attr.isSet = true;
168
- const setMatch = typeStr.match(/SET\s+\[(\d+|\?):(\d+|\?)\]\s+OF\s+(.*)/);
169
- if (setMatch) {
170
- attr.arrayBounds = [
171
- setMatch[1] === '?' ? Infinity : parseInt(setMatch[1]),
172
- setMatch[2] === '?' ? Infinity : parseInt(setMatch[2])
173
- ];
174
- const innerType = setMatch[3].trim();
175
- // Recursively parse nested collection
176
- attr.type = parseNestedCollection(innerType);
177
- }
178
- else {
179
- // Fallback if regex doesn't match
180
- attr.type = typeStr.replace(/SET\s+\[.*?\]\s+OF\s+/, '').trim();
181
- }
142
+ applyAggregate(attr, typeStr, 'SET');
182
143
  }
183
144
  else {
184
145
  attr.type = typeStr;
185
146
  }
186
147
  return attr;
187
148
  }
149
+ /**
150
+ * The tail of an EXPRESS aggregate declaration: optional bounds, then OF and
151
+ * the element type. Bounds may be absent ("LIST OF UNIQUE IfcGridAxis") and
152
+ * need not be numeric ("ARRAY [0:UUpper] OF ..."), so they are matched loosely
153
+ * and only become arrayBounds when both ends turn out to be numeric. One
154
+ * pattern shared by every caller, so no aggregate shape can reach the element
155
+ * type by a route that skips parseNestedCollection, where qualifiers drop.
156
+ */
157
+ const AGGREGATE_TAIL = String.raw `\s*(?:\[([^\]]*)\])?\s+OF\s+([\s\S]*)`;
158
+ const AGGREGATE_RE = {
159
+ LIST: new RegExp(`LIST${AGGREGATE_TAIL}`),
160
+ ARRAY: new RegExp(`ARRAY${AGGREGATE_TAIL}`),
161
+ SET: new RegExp(`SET${AGGREGATE_TAIL}`),
162
+ };
163
+ const NESTED_AGGREGATE_RE = new RegExp(`^(?:LIST|ARRAY|SET)${AGGREGATE_TAIL}`);
164
+ const NUMERIC_BOUNDS = /^\s*(\d+|\?)\s*:\s*(\d+|\?)\s*$/;
165
+ /** Record an aggregate's bounds and element type on `attr`. */
166
+ function applyAggregate(attr, typeStr, keyword) {
167
+ const match = typeStr.match(AGGREGATE_RE[keyword]);
168
+ if (!match) {
169
+ // Not an aggregate declaration despite containing the keyword.
170
+ attr.type = typeStr;
171
+ return;
172
+ }
173
+ const numeric = match[1]?.match(NUMERIC_BOUNDS);
174
+ if (numeric) {
175
+ attr.arrayBounds = [
176
+ numeric[1] === '?' ? Infinity : parseInt(numeric[1]),
177
+ numeric[2] === '?' ? Infinity : parseInt(numeric[2]),
178
+ ];
179
+ }
180
+ attr.type = parseNestedCollection(match[2].trim());
181
+ }
188
182
  /**
189
183
  * Parse nested collection types, e.g. "LIST [2:?] OF IfcCartesianPoint" ->
190
- * "IfcCartesianPoint[]". A leading "UNIQUE" (e.g. "LIST [1:?] OF UNIQUE
191
- * IfcGridAxis") constrains the elements, not the element type — strip it.
184
+ * "IfcCartesianPoint[]". A leading "OPTIONAL" and/or "UNIQUE" (e.g. "LIST [1:?]
185
+ * OF UNIQUE IfcGridAxis") qualifies the elements, it is not part of the element
186
+ * type name, so strip it. Neither has a TypeScript type equivalent.
192
187
  */
193
188
  function parseNestedCollection(typeStr) {
194
- const stripped = typeStr.replace(/^UNIQUE\s+/, '');
189
+ const stripped = typeStr.replace(/^(?:OPTIONAL\s+)?(?:UNIQUE\s+)?/, '');
195
190
  // Check if this is another collection: LIST|ARRAY|SET [min:max] OF <innerType>
196
- if (stripped.match(/^(LIST|ARRAY|SET)\s+\[/)) {
197
- const match = stripped.match(/^(?:LIST|ARRAY|SET)\s+\[(?:\d+|\?):(?:\d+|\?)\]\s+OF\s+(.*)/);
198
- if (match) {
199
- const innerType = match[1].trim();
200
- return `${parseNestedCollection(innerType)}[]`; // recursively parse and wrap in array
201
- }
191
+ const match = stripped.match(NESTED_AGGREGATE_RE);
192
+ if (match) {
193
+ return `${parseNestedCollection(match[2].trim())}[]`; // recursively parse and wrap in array
202
194
  }
203
195
  // Base case: return the type as-is
204
196
  return stripped;
@@ -1 +1 @@
1
- {"version":3,"file":"express-parser.js","sourceRoot":"","sources":["../src/express-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"express-parser.js","sourceRoot":"","sources":["../src/express-parser.ts"],"names":[],"mappings":"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"}