@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.
- package/README.md +14 -0
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/express-parser.js +43 -51
- package/dist/express-parser.js.map +1 -1
- package/dist/generated/ifc2x3/entities.d.ts +5244 -0
- package/dist/generated/ifc2x3/entities.d.ts.map +1 -0
- package/dist/generated/ifc2x3/entities.js +8 -0
- package/dist/generated/ifc2x3/entities.js.map +1 -0
- package/dist/generated/ifc2x3/enums.d.ts +1809 -0
- package/dist/generated/ifc2x3/enums.d.ts.map +1 -0
- package/dist/generated/ifc2x3/enums.js +1973 -0
- package/dist/generated/ifc2x3/enums.js.map +1 -0
- package/dist/generated/ifc2x3/index.d.ts +13 -0
- package/dist/generated/ifc2x3/index.d.ts.map +1 -0
- package/dist/generated/ifc2x3/index.js +16 -0
- package/dist/generated/ifc2x3/index.js.map +1 -0
- package/dist/generated/ifc2x3/schema-registry.d.ts +50 -0
- package/dist/generated/ifc2x3/schema-registry.d.ts.map +1 -0
- package/dist/generated/ifc2x3/schema-registry.js +50052 -0
- package/dist/generated/ifc2x3/schema-registry.js.map +1 -0
- package/dist/generated/ifc2x3/selects.d.ts +102 -0
- package/dist/generated/ifc2x3/selects.d.ts.map +1 -0
- package/dist/generated/ifc2x3/selects.js +8 -0
- package/dist/generated/ifc2x3/selects.js.map +1 -0
- package/dist/generated/ifc2x3/serializers.d.ts +12 -0
- package/dist/generated/ifc2x3/serializers.d.ts.map +1 -0
- package/dist/generated/ifc2x3/serializers.js +30 -0
- package/dist/generated/ifc2x3/serializers.js.map +1 -0
- package/dist/generated/ifc2x3/type-ids.d.ts +692 -0
- package/dist/generated/ifc2x3/type-ids.d.ts.map +1 -0
- package/dist/generated/ifc2x3/type-ids.js +1425 -0
- package/dist/generated/ifc2x3/type-ids.js.map +1 -0
- package/dist/generated/ifc2x3/types.d.ts +241 -0
- package/dist/generated/ifc2x3/types.d.ts.map +1 -0
- package/dist/generated/ifc2x3/types.js +8 -0
- package/dist/generated/ifc2x3/types.js.map +1 -0
- package/dist/generator.d.ts +5 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +32 -6
- package/dist/generator.js.map +1 -1
- package/dist/rust-generator.d.ts +2 -4
- package/dist/rust-generator.d.ts.map +1 -1
- package/dist/rust-generator.js +24 -28
- package/dist/rust-generator.js.map +1 -1
- package/dist/rust-schema-queries.d.ts +9 -2
- package/dist/rust-schema-queries.d.ts.map +1 -1
- package/dist/rust-schema-queries.js +56 -3
- package/dist/rust-schema-queries.js.map +1 -1
- package/package.json +14 -3
- package/schemas/IFC2X3_TC1.exp +9569 -0
package/dist/rust-generator.js
CHANGED
|
@@ -3,21 +3,18 @@
|
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { crc32, formatCRC32TableLiteral } from './crc32.js';
|
|
5
5
|
import { getInheritanceChain } from './express-parser.js';
|
|
6
|
-
import { generateSchemaQueries } from './rust-schema-queries.js';
|
|
6
|
+
import { generateSchemaQueries, mergeTypeUniverse } from './rust-schema-queries.js';
|
|
7
7
|
import { generateTypeNameParser } from './rust-type-name-parser.js';
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export function generateRust(schema) {
|
|
8
|
+
/** Generate all Rust code from the canonical and supplemental EXPRESS schemas. */
|
|
9
|
+
export function generateRust(schema, supplementalSchemas = [], cratePrivate = false) {
|
|
10
|
+
const typeUniverse = mergeTypeUniverse(schema, supplementalSchemas);
|
|
12
11
|
return {
|
|
13
|
-
typeIds: generateTypeIdConstants(
|
|
14
|
-
schema: generateIfcTypeEnum(schema),
|
|
12
|
+
typeIds: generateTypeIdConstants(typeUniverse, cratePrivate),
|
|
13
|
+
schema: generateIfcTypeEnum(schema, typeUniverse, cratePrivate),
|
|
15
14
|
};
|
|
16
15
|
}
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
*/
|
|
20
|
-
function generateTypeIdConstants(schema) {
|
|
16
|
+
/** Generate CRC32 type ID constants. */
|
|
17
|
+
function generateTypeIdConstants(schema, cratePrivate) {
|
|
21
18
|
let code = `// This Source Code Form is subject to the terms of the Mozilla Public
|
|
22
19
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
23
20
|
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
@@ -42,12 +39,11 @@ function generateTypeIdConstants(schema) {
|
|
|
42
39
|
}
|
|
43
40
|
code += '\n';
|
|
44
41
|
}
|
|
45
|
-
return code;
|
|
42
|
+
return cratePrivate ? `${code.trimEnd()}\n` : code;
|
|
46
43
|
}
|
|
47
|
-
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
function generateIfcTypeEnum(schema) {
|
|
44
|
+
/** Generate the main IfcType enum. */
|
|
45
|
+
function generateIfcTypeEnum(schema, typeUniverse, cratePrivate) {
|
|
46
|
+
const visibility = cratePrivate ? 'pub(crate)' : 'pub';
|
|
51
47
|
let code = `// This Source Code Form is subject to the terms of the Mozilla Public
|
|
52
48
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
53
49
|
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
@@ -58,16 +54,16 @@ function generateIfcTypeEnum(schema) {
|
|
|
58
54
|
//!
|
|
59
55
|
//! DO NOT EDIT - This file is auto-generated by @ifc-lite/codegen
|
|
60
56
|
|
|
61
|
-
use std::fmt;
|
|
57
|
+
${cratePrivate ? '#![allow(dead_code, clippy::enum_variant_names)] // Full EXPRESS names are required; registry consumers currently use only name lookup and attribute slots.\n\n' : ''}use std::fmt;
|
|
62
58
|
|
|
63
59
|
/// IFC Entity Types
|
|
64
60
|
///
|
|
65
|
-
/// All ${
|
|
61
|
+
/// All ${typeUniverse.entities.length} entity types from the supported schema universe.
|
|
66
62
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
67
|
-
|
|
63
|
+
${visibility} enum IfcType {
|
|
68
64
|
`;
|
|
69
65
|
// Group entities by category
|
|
70
|
-
const categories = categorizeEntities(
|
|
66
|
+
const categories = categorizeEntities(typeUniverse);
|
|
71
67
|
for (const [category, entities] of Object.entries(categories)) {
|
|
72
68
|
code += ` // ${category}\n`;
|
|
73
69
|
for (const entity of entities) {
|
|
@@ -84,13 +80,13 @@ pub enum IfcType {
|
|
|
84
80
|
}
|
|
85
81
|
|
|
86
82
|
impl IfcType {
|
|
87
|
-
${generateTypeNameParser(
|
|
83
|
+
${generateTypeNameParser(typeUniverse)}
|
|
88
84
|
/// Parse from CRC32 type ID
|
|
89
85
|
pub fn from_id(id: u32) -> Self {
|
|
90
86
|
match id {
|
|
91
87
|
`;
|
|
92
88
|
// Generate match arms for CRC32 IDs
|
|
93
|
-
for (const entity of
|
|
89
|
+
for (const entity of typeUniverse.entities) {
|
|
94
90
|
const id = crc32(entity.name);
|
|
95
91
|
code += ` ${id} => Self::${entity.name},\n`;
|
|
96
92
|
}
|
|
@@ -102,7 +98,7 @@ ${generateTypeNameParser(schema)}
|
|
|
102
98
|
pub fn id(&self) -> u32 {
|
|
103
99
|
match self {
|
|
104
100
|
`;
|
|
105
|
-
for (const entity of
|
|
101
|
+
for (const entity of typeUniverse.entities) {
|
|
106
102
|
const id = crc32(entity.name);
|
|
107
103
|
code += ` Self::${entity.name} => ${id},\n`;
|
|
108
104
|
}
|
|
@@ -114,7 +110,7 @@ ${generateTypeNameParser(schema)}
|
|
|
114
110
|
pub fn as_str(&self) -> &'static str {
|
|
115
111
|
match self {
|
|
116
112
|
`;
|
|
117
|
-
for (const entity of
|
|
113
|
+
for (const entity of typeUniverse.entities) {
|
|
118
114
|
code += ` Self::${entity.name} => "${entity.name.toUpperCase()}",\n`;
|
|
119
115
|
}
|
|
120
116
|
code += ` Self::Unknown(_) => "UNKNOWN",
|
|
@@ -125,7 +121,7 @@ ${generateTypeNameParser(schema)}
|
|
|
125
121
|
pub fn name(&self) -> &'static str {
|
|
126
122
|
match self {
|
|
127
123
|
`;
|
|
128
|
-
for (const entity of
|
|
124
|
+
for (const entity of typeUniverse.entities) {
|
|
129
125
|
code += ` Self::${entity.name} => "${entity.name}",\n`;
|
|
130
126
|
}
|
|
131
127
|
code += ` Self::Unknown(_) => "Unknown",
|
|
@@ -136,7 +132,7 @@ ${generateTypeNameParser(schema)}
|
|
|
136
132
|
pub fn parent(&self) -> Option<Self> {
|
|
137
133
|
match self {
|
|
138
134
|
`;
|
|
139
|
-
for (const entity of
|
|
135
|
+
for (const entity of typeUniverse.entities) {
|
|
140
136
|
if (entity.supertype) {
|
|
141
137
|
code += ` Self::${entity.name} => Some(Self::${entity.supertype}),\n`;
|
|
142
138
|
}
|
|
@@ -162,7 +158,7 @@ ${generateTypeNameParser(schema)}
|
|
|
162
158
|
pub fn is_abstract(&self) -> bool {
|
|
163
159
|
match self {
|
|
164
160
|
`;
|
|
165
|
-
const abstractTypes =
|
|
161
|
+
const abstractTypes = typeUniverse.entities.filter((e) => e.isAbstract);
|
|
166
162
|
for (const entity of abstractTypes) {
|
|
167
163
|
code += ` Self::${entity.name} => true,\n`;
|
|
168
164
|
}
|
|
@@ -170,7 +166,7 @@ ${generateTypeNameParser(schema)}
|
|
|
170
166
|
}
|
|
171
167
|
}
|
|
172
168
|
|
|
173
|
-
${generateSchemaQueries(schema)}impl fmt::Display for IfcType {
|
|
169
|
+
${generateSchemaQueries(schema, typeUniverse.entities, visibility)}impl fmt::Display for IfcType {
|
|
174
170
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
|
175
171
|
write!(f, "{}", self.name())
|
|
176
172
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust-generator.js","sourceRoot":"","sources":["../src/rust-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rust-generator.js","sourceRoot":"","sources":["../src/rust-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,14 @@
|
|
|
5
5
|
* Split from rust-generator.ts so the enum emission and the metadata that
|
|
6
6
|
* answers questions ABOUT the enum stay separable.
|
|
7
7
|
*/
|
|
8
|
-
import type {
|
|
8
|
+
import type { IfcEntityInfo } from '@ifc-lite/data';
|
|
9
|
+
import type { EntityDefinition, ExpressSchema } from './express-parser.js';
|
|
10
|
+
/** Adapt class-shaped IFC catalog rows into a name-only EXPRESS supplement. */
|
|
11
|
+
export declare function entityCatalogSchema(name: string, catalog: readonly IfcEntityInfo[], excludedTypes: readonly {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
}[]): ExpressSchema;
|
|
14
|
+
/** Merge exact names while preserving canonical positional metadata. */
|
|
15
|
+
export declare function mergeTypeUniverse(canonical: ExpressSchema, supplemental: readonly ExpressSchema[]): ExpressSchema;
|
|
9
16
|
/** Emitted inside `impl IfcType { … }`, closing the impl block. */
|
|
10
|
-
export declare function generateSchemaQueries(schema: ExpressSchema): string;
|
|
17
|
+
export declare function generateSchemaQueries(schema: ExpressSchema, typeUniverse?: readonly EntityDefinition[], visibility?: string): string;
|
|
11
18
|
//# sourceMappingURL=rust-schema-queries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust-schema-queries.d.ts","sourceRoot":"","sources":["../src/rust-schema-queries.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"rust-schema-queries.d.ts","sourceRoot":"","sources":["../src/rust-schema-queries.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG3E,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,aAAa,EAAE,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAClD,aAAa,CAef;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,SAAS,aAAa,EAAE,GACrC,aAAa,CAgBf;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,YAAY,GAAE,SAAS,gBAAgB,EAAoB,EAC3D,UAAU,SAAQ,GACjB,MAAM,CAiER"}
|
|
@@ -2,8 +2,41 @@
|
|
|
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
4
|
import { getAllAttributes } from './express-parser.js';
|
|
5
|
+
/** Adapt class-shaped IFC catalog rows into a name-only EXPRESS supplement. */
|
|
6
|
+
export function entityCatalogSchema(name, catalog, excludedTypes) {
|
|
7
|
+
const excludedNames = new Set(excludedTypes.map((type) => type.name.toUpperCase()));
|
|
8
|
+
const entities = catalog
|
|
9
|
+
.filter((entity) => !excludedNames.has(entity.name.toUpperCase()) &&
|
|
10
|
+
(entity.parent !== undefined || entity.abstract || entity.attributes.length > 0))
|
|
11
|
+
.map((entity) => ({
|
|
12
|
+
name: entity.name,
|
|
13
|
+
isAbstract: entity.abstract,
|
|
14
|
+
supertype: entity.parent,
|
|
15
|
+
attributes: [],
|
|
16
|
+
}));
|
|
17
|
+
return { name, entities, types: [], enums: [], selects: [] };
|
|
18
|
+
}
|
|
19
|
+
/** Merge exact names while preserving canonical positional metadata. */
|
|
20
|
+
export function mergeTypeUniverse(canonical, supplemental) {
|
|
21
|
+
const entities = [...canonical.entities];
|
|
22
|
+
const names = new Set(entities.map((entity) => entity.name.toUpperCase()));
|
|
23
|
+
for (const schema of supplemental) {
|
|
24
|
+
for (const entity of schema.entities) {
|
|
25
|
+
if (!names.has(entity.name.toUpperCase())) {
|
|
26
|
+
entities.push(entity);
|
|
27
|
+
names.add(entity.name.toUpperCase());
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
...canonical,
|
|
33
|
+
name: [canonical, ...supplemental].map((item) => item.name).join(' + '),
|
|
34
|
+
entities,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
5
37
|
/** Emitted inside `impl IfcType { … }`, closing the impl block. */
|
|
6
|
-
export function generateSchemaQueries(schema) {
|
|
38
|
+
export function generateSchemaQueries(schema, typeUniverse = schema.entities, visibility = 'pub') {
|
|
39
|
+
const canonicalNames = new Set(schema.entities.map((entity) => entity.name));
|
|
7
40
|
return ` /// This entity's attributes, in STEP declaration order.
|
|
8
41
|
///
|
|
9
42
|
/// Supertype attributes come FIRST, which is what makes the position here
|
|
@@ -17,7 +50,9 @@ export function generateSchemaQueries(schema) {
|
|
|
17
50
|
/// as authoritative for it.
|
|
18
51
|
pub fn attribute_names(&self) -> &'static [&'static str] {
|
|
19
52
|
match self {
|
|
20
|
-
${
|
|
53
|
+
${typeUniverse.map((e) => canonicalNames.has(e.name)
|
|
54
|
+
? ` Self::${e.name} => &[${getAllAttributes(e, schema).map((a) => `"${a.name}"`).join(', ')}],`
|
|
55
|
+
: ` Self::${e.name} => &[],`).join('\n')}
|
|
21
56
|
Self::Unknown(_) => &[],
|
|
22
57
|
}
|
|
23
58
|
}
|
|
@@ -29,6 +64,24 @@ ${schema.entities.map((e) => ` Self::${e.name} => &[${getAllAttribute
|
|
|
29
64
|
pub fn attribute_index(&self, name: &str) -> Option<usize> {
|
|
30
65
|
self.attribute_names().iter().position(|n| *n == name)
|
|
31
66
|
}
|
|
67
|
+
|
|
68
|
+
/// Whether ${schema.name} itself declares this class.
|
|
69
|
+
///
|
|
70
|
+
/// The enum is one exact-name universe across every supported release;
|
|
71
|
+
/// a variant that only a supplemental (older) schema declares keeps its
|
|
72
|
+
/// name but carries no positional metadata here (its
|
|
73
|
+
/// \`attribute_names()\` is empty). A per-schema registry that must fail
|
|
74
|
+
/// closed for a class the declared FILE_SCHEMA does not know consults
|
|
75
|
+
/// this rather than the emptiness of the attribute list, which a genuine
|
|
76
|
+
/// zero-attribute class shares (#4203).
|
|
77
|
+
pub fn declared_by_canonical_schema(&self) -> bool {
|
|
78
|
+
${typeUniverse.some((e) => !canonicalNames.has(e.name))
|
|
79
|
+
? `!matches!(
|
|
80
|
+
self,
|
|
81
|
+
${typeUniverse.filter((e) => !canonicalNames.has(e.name)).map((e) => `Self::${e.name}`).join(' | ')} | Self::Unknown(_)
|
|
82
|
+
)`
|
|
83
|
+
: '!matches!(self, Self::Unknown(_))'}
|
|
84
|
+
}
|
|
32
85
|
}
|
|
33
86
|
|
|
34
87
|
/// Every entity type this schema defines, in declaration order.
|
|
@@ -43,7 +96,7 @@ ${schema.entities.map((e) => ` Self::${e.name} => &[${getAllAttribute
|
|
|
43
96
|
/// WHOLE schema — mapping every class to some other vocabulary, auditing
|
|
44
97
|
/// which ones it covers, generating a table — otherwise has to re-parse
|
|
45
98
|
/// the EXPRESS file or scrape this one.
|
|
46
|
-
|
|
99
|
+
${visibility} static ALL: &[IfcType] = &[
|
|
47
100
|
${schema.entities.map((e) => ` IfcType::${e.name},`).join('\n')}\n];
|
|
48
101
|
|
|
49
102
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust-schema-queries.js","sourceRoot":"","sources":["../src/rust-schema-queries.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"rust-schema-queries.js","sourceRoot":"","sources":["../src/rust-schema-queries.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/codegen",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "TypeScript code generator from IFC EXPRESS schemas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
"import": "./dist/index.js",
|
|
17
17
|
"default": "./dist/index.js"
|
|
18
18
|
},
|
|
19
|
+
"./schema-hierarchy": {
|
|
20
|
+
"types": "./dist/schema-hierarchy.d.ts",
|
|
21
|
+
"import": "./dist/schema-hierarchy.js",
|
|
22
|
+
"default": "./dist/schema-hierarchy.js"
|
|
23
|
+
},
|
|
19
24
|
"./ifc4": {
|
|
20
25
|
"types": "./dist/generated/ifc4/index.d.ts",
|
|
21
26
|
"import": "./dist/generated/ifc4/index.js",
|
|
@@ -25,6 +30,11 @@
|
|
|
25
30
|
"types": "./dist/generated/ifc4x3/index.d.ts",
|
|
26
31
|
"import": "./dist/generated/ifc4x3/index.js",
|
|
27
32
|
"default": "./dist/generated/ifc4x3/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./ifc2x3": {
|
|
35
|
+
"types": "./dist/generated/ifc2x3/index.d.ts",
|
|
36
|
+
"import": "./dist/generated/ifc2x3/index.js",
|
|
37
|
+
"default": "./dist/generated/ifc2x3/index.js"
|
|
28
38
|
}
|
|
29
39
|
},
|
|
30
40
|
"keywords": [
|
|
@@ -37,7 +47,7 @@
|
|
|
37
47
|
"license": "MPL-2.0",
|
|
38
48
|
"dependencies": {
|
|
39
49
|
"commander": "^15.0.0",
|
|
40
|
-
"@ifc-lite/data": "^
|
|
50
|
+
"@ifc-lite/data": "^5.0.0"
|
|
41
51
|
},
|
|
42
52
|
"devDependencies": {
|
|
43
53
|
"@types/node": "^26.4.1",
|
|
@@ -61,6 +71,7 @@
|
|
|
61
71
|
"test": "vitest run",
|
|
62
72
|
"generate": "node dist/cli.js",
|
|
63
73
|
"generate:ifc4": "node dist/cli.js schemas/IFC4_ADD2_TC1.exp -o generated/ifc4",
|
|
64
|
-
"generate:ifc4x3": "node dist/cli.js schemas/IFC4X3.exp -o generated/ifc4x3"
|
|
74
|
+
"generate:ifc4x3": "node dist/cli.js schemas/IFC4X3.exp -o generated/ifc4x3",
|
|
75
|
+
"generate:ifc2x3": "node dist/cli.js schemas/IFC2X3_TC1.exp -o generated/ifc2x3"
|
|
65
76
|
}
|
|
66
77
|
}
|