@ifc-lite/codegen 1.18.0 → 1.18.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/generator.d.ts.map +1 -1
- package/dist/generator.js +30 -2
- package/dist/generator.js.map +1 -1
- package/dist/rust-generator.d.ts.map +1 -1
- package/dist/rust-generator.js +30 -42
- package/dist/rust-generator.js.map +1 -1
- package/dist/rust-type-id-generator.d.ts +4 -0
- package/dist/rust-type-id-generator.d.ts.map +1 -0
- package/dist/rust-type-id-generator.js +30 -0
- package/dist/rust-type-id-generator.js.map +1 -0
- package/dist/rust-type-name-parser.js +2 -2
- package/dist/rust-unknown-ifc-type.d.ts +3 -0
- package/dist/rust-unknown-ifc-type.d.ts.map +1 -0
- package/dist/rust-unknown-ifc-type.js +32 -0
- package/dist/rust-unknown-ifc-type.js.map +1 -0
- package/package.json +4 -4
- package/schemas/IFC4X1.exp +12630 -0
- package/schemas/IFC4X2.exp +12885 -0
package/dist/generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAOnF,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IACvC,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CAMnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAOnF,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IACvC,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CAMnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CA0OnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,gBAAqB,GAC7B,IAAI,CAoBN"}
|
package/dist/generator.js
CHANGED
|
@@ -138,7 +138,8 @@ export * from './serializers.js';
|
|
|
138
138
|
writeFileSync(`${rustDir}/schema.rs`, rustCode.schema);
|
|
139
139
|
console.log(` ✓ ${rustDir}/schema.rs`);
|
|
140
140
|
// Write mod.rs
|
|
141
|
-
const modContent =
|
|
141
|
+
const modContent = options.rustCratePrivate
|
|
142
|
+
? `// This Source Code Form is subject to the terms of the Mozilla Public
|
|
142
143
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
143
144
|
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
144
145
|
|
|
@@ -151,7 +152,34 @@ export * from './serializers.js';
|
|
|
151
152
|
mod type_ids;
|
|
152
153
|
mod schema;
|
|
153
154
|
|
|
154
|
-
|
|
155
|
+
// The full generated ID universe is intentionally available to sibling modules.
|
|
156
|
+
#[allow(unused_imports)]
|
|
157
|
+
pub(crate) use type_ids::*;
|
|
158
|
+
pub(crate) use schema::*;
|
|
159
|
+
`
|
|
160
|
+
: `// This Source Code Form is subject to the terms of the Mozilla Public
|
|
161
|
+
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
162
|
+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
163
|
+
|
|
164
|
+
//! Auto-generated IFC Schema Types
|
|
165
|
+
//!
|
|
166
|
+
//! Generated from EXPRESS schema: ${schema.name}
|
|
167
|
+
//!
|
|
168
|
+
//! DO NOT EDIT - This file is auto-generated by @ifc-lite/codegen
|
|
169
|
+
|
|
170
|
+
mod ifc2x3;
|
|
171
|
+
mod ifc4;
|
|
172
|
+
mod ifc4x1;
|
|
173
|
+
mod ifc4x2;
|
|
174
|
+
mod schema;
|
|
175
|
+
pub(crate) mod schema_registry;
|
|
176
|
+
mod type_ids;
|
|
177
|
+
|
|
178
|
+
pub use type_ids::*;
|
|
179
|
+
pub use schema::{IfcType, UnknownIfcType, ALL as IFC_TYPES};
|
|
180
|
+
pub use schema_registry::{
|
|
181
|
+
attribute_names_for_schema, entity_info_for_schema, is_subtype_of_for_schema, SchemaEntityInfo,
|
|
182
|
+
};
|
|
155
183
|
`;
|
|
156
184
|
writeFileSync(`${rustDir}/mod.rs`, modContent);
|
|
157
185
|
console.log(` ✓ ${rustDir}/mod.rs`);
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust-generator.d.ts","sourceRoot":"","sources":["../src/rust-generator.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"rust-generator.d.ts","sourceRoot":"","sources":["../src/rust-generator.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAQ3E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,kFAAkF;AAClF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,mBAAmB,GAAE,SAAS,aAAa,EAAO,EAClD,YAAY,UAAQ,GACnB,iBAAiB,CAMnB"}
|
package/dist/rust-generator.js
CHANGED
|
@@ -5,42 +5,16 @@ import { crc32, formatCRC32TableLiteral } from './crc32.js';
|
|
|
5
5
|
import { getInheritanceChain } from './express-parser.js';
|
|
6
6
|
import { generateSchemaQueries, mergeTypeUniverse } from './rust-schema-queries.js';
|
|
7
7
|
import { generateTypeNameParser } from './rust-type-name-parser.js';
|
|
8
|
+
import { generateUnknownIfcType } from './rust-unknown-ifc-type.js';
|
|
9
|
+
import { generateTypeIdConstants } from './rust-type-id-generator.js';
|
|
8
10
|
/** Generate all Rust code from the canonical and supplemental EXPRESS schemas. */
|
|
9
11
|
export function generateRust(schema, supplementalSchemas = [], cratePrivate = false) {
|
|
10
12
|
const typeUniverse = mergeTypeUniverse(schema, supplementalSchemas);
|
|
11
13
|
return {
|
|
12
|
-
typeIds: generateTypeIdConstants(typeUniverse, cratePrivate),
|
|
14
|
+
typeIds: generateTypeIdConstants(typeUniverse, cratePrivate, categorizeEntities),
|
|
13
15
|
schema: generateIfcTypeEnum(schema, typeUniverse, cratePrivate),
|
|
14
16
|
};
|
|
15
17
|
}
|
|
16
|
-
/** Generate CRC32 type ID constants. */
|
|
17
|
-
function generateTypeIdConstants(schema, cratePrivate) {
|
|
18
|
-
let code = `// This Source Code Form is subject to the terms of the Mozilla Public
|
|
19
|
-
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
20
|
-
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
21
|
-
|
|
22
|
-
//! Auto-generated IFC Type ID Constants
|
|
23
|
-
//!
|
|
24
|
-
//! CRC32 hashes for fast type identification.
|
|
25
|
-
//! Generated from EXPRESS schema: ${schema.name}
|
|
26
|
-
//!
|
|
27
|
-
//! DO NOT EDIT - This file is auto-generated by @ifc-lite/codegen
|
|
28
|
-
|
|
29
|
-
#![allow(dead_code)]
|
|
30
|
-
|
|
31
|
-
`;
|
|
32
|
-
// Group by category for readability
|
|
33
|
-
const categories = categorizeEntities(schema);
|
|
34
|
-
for (const [category, entities] of Object.entries(categories)) {
|
|
35
|
-
code += `// ${category}\n`;
|
|
36
|
-
for (const entity of entities) {
|
|
37
|
-
const id = crc32(entity.name);
|
|
38
|
-
code += `pub const ${entity.name.toUpperCase()}: u32 = ${id};\n`;
|
|
39
|
-
}
|
|
40
|
-
code += '\n';
|
|
41
|
-
}
|
|
42
|
-
return cratePrivate ? `${code.trimEnd()}\n` : code;
|
|
43
|
-
}
|
|
44
18
|
/** Generate the main IfcType enum. */
|
|
45
19
|
function generateIfcTypeEnum(schema, typeUniverse, cratePrivate) {
|
|
46
20
|
const visibility = cratePrivate ? 'pub(crate)' : 'pub';
|
|
@@ -56,10 +30,11 @@ function generateIfcTypeEnum(schema, typeUniverse, cratePrivate) {
|
|
|
56
30
|
|
|
57
31
|
${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;
|
|
58
32
|
|
|
33
|
+
${generateUnknownIfcType(visibility)}
|
|
59
34
|
/// IFC Entity Types
|
|
60
35
|
///
|
|
61
36
|
/// All ${typeUniverse.entities.length} entity types from the supported schema universe.
|
|
62
|
-
#[derive(Debug, Clone,
|
|
37
|
+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
|
63
38
|
${visibility} enum IfcType {
|
|
64
39
|
`;
|
|
65
40
|
// Group entities by category
|
|
@@ -75,22 +50,24 @@ ${visibility} enum IfcType {
|
|
|
75
50
|
code += '\n';
|
|
76
51
|
}
|
|
77
52
|
// Add Unknown variant for unrecognized types
|
|
78
|
-
code += ` /// Unknown/unrecognized IFC type
|
|
79
|
-
Unknown(
|
|
53
|
+
code += ` /// Unknown/unrecognized IFC type with its normalized keyword.
|
|
54
|
+
Unknown(UnknownIfcType),
|
|
80
55
|
}
|
|
81
56
|
|
|
82
57
|
impl IfcType {
|
|
83
58
|
${generateTypeNameParser(typeUniverse)}
|
|
84
|
-
/// Parse from CRC32 type ID
|
|
85
|
-
|
|
59
|
+
/// Parse a known schema type from a CRC32 type ID.
|
|
60
|
+
///
|
|
61
|
+
/// Unknown keywords cannot be reconstructed from a hash.
|
|
62
|
+
pub fn from_id(id: u32) -> Option<Self> {
|
|
86
63
|
match id {
|
|
87
64
|
`;
|
|
88
65
|
// Generate match arms for CRC32 IDs
|
|
89
66
|
for (const entity of typeUniverse.entities) {
|
|
90
67
|
const id = crc32(entity.name);
|
|
91
|
-
code += ` ${id} => Self::${entity.name},\n`;
|
|
68
|
+
code += ` ${id} => Some(Self::${entity.name}),\n`;
|
|
92
69
|
}
|
|
93
|
-
code += ` _ =>
|
|
70
|
+
code += ` _ => None,
|
|
94
71
|
}
|
|
95
72
|
}
|
|
96
73
|
|
|
@@ -102,29 +79,40 @@ ${generateTypeNameParser(typeUniverse)}
|
|
|
102
79
|
const id = crc32(entity.name);
|
|
103
80
|
code += ` Self::${entity.name} => ${id},\n`;
|
|
104
81
|
}
|
|
105
|
-
code += ` Self::Unknown(
|
|
82
|
+
code += ` Self::Unknown(unknown) => unknown.id(),
|
|
106
83
|
}
|
|
107
84
|
}
|
|
108
85
|
|
|
109
86
|
/// Get string representation (uppercase)
|
|
110
|
-
pub fn as_str(&self) -> &
|
|
87
|
+
pub fn as_str(&self) -> &str {
|
|
111
88
|
match self {
|
|
112
89
|
`;
|
|
113
90
|
for (const entity of typeUniverse.entities) {
|
|
114
91
|
code += ` Self::${entity.name} => "${entity.name.toUpperCase()}",\n`;
|
|
115
92
|
}
|
|
116
|
-
code += ` Self::Unknown(
|
|
93
|
+
code += ` Self::Unknown(unknown) => unknown.as_str(),
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/// Static schema keyword for a known type, or None for an owned unknown.
|
|
98
|
+
pub fn known_as_str(&self) -> Option<&'static str> {
|
|
99
|
+
match self {
|
|
100
|
+
`;
|
|
101
|
+
for (const entity of typeUniverse.entities) {
|
|
102
|
+
code += ` Self::${entity.name} => Some("${entity.name.toUpperCase()}"),\n`;
|
|
103
|
+
}
|
|
104
|
+
code += ` Self::Unknown(_) => None,
|
|
117
105
|
}
|
|
118
106
|
}
|
|
119
107
|
|
|
120
108
|
/// Get display name (PascalCase)
|
|
121
|
-
pub fn name(&self) -> &
|
|
109
|
+
pub fn name(&self) -> &str {
|
|
122
110
|
match self {
|
|
123
111
|
`;
|
|
124
112
|
for (const entity of typeUniverse.entities) {
|
|
125
113
|
code += ` Self::${entity.name} => "${entity.name}",\n`;
|
|
126
114
|
}
|
|
127
|
-
code += ` Self::Unknown(
|
|
115
|
+
code += ` Self::Unknown(unknown) => unknown.as_str(),
|
|
128
116
|
}
|
|
129
117
|
}
|
|
130
118
|
|
|
@@ -143,7 +131,7 @@ ${generateTypeNameParser(typeUniverse)}
|
|
|
143
131
|
|
|
144
132
|
/// Check if this type is a subtype of another
|
|
145
133
|
pub fn is_subtype_of(&self, parent: Self) -> bool {
|
|
146
|
-
let mut current = Some(
|
|
134
|
+
let mut current = Some(self.clone());
|
|
147
135
|
while let Some(t) = current {
|
|
148
136
|
if t == parent {
|
|
149
137
|
return true;
|
|
@@ -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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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EntityDefinition, ExpressSchema } from './express-parser.js';
|
|
2
|
+
/** Render the generated CRC32 constants without coupling this to enum emission. */
|
|
3
|
+
export declare function generateTypeIdConstants(schema: ExpressSchema, cratePrivate: boolean, categorize: (schema: ExpressSchema) => Record<string, EntityDefinition[]>): string;
|
|
4
|
+
//# sourceMappingURL=rust-type-id-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust-type-id-generator.d.ts","sourceRoot":"","sources":["../src/rust-type-id-generator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3E,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,GACxE,MAAM,CAyBR"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { crc32 } from './crc32.js';
|
|
5
|
+
/** Render the generated CRC32 constants without coupling this to enum emission. */
|
|
6
|
+
export function generateTypeIdConstants(schema, cratePrivate, categorize) {
|
|
7
|
+
let code = `// This Source Code Form is subject to the terms of the Mozilla Public
|
|
8
|
+
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
9
|
+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
10
|
+
|
|
11
|
+
//! Auto-generated IFC Type ID Constants
|
|
12
|
+
//!
|
|
13
|
+
//! CRC32 hashes for fast type identification.
|
|
14
|
+
//! Generated from EXPRESS schema: ${schema.name}
|
|
15
|
+
//!
|
|
16
|
+
//! DO NOT EDIT - This file is auto-generated by @ifc-lite/codegen
|
|
17
|
+
|
|
18
|
+
#![allow(dead_code)]
|
|
19
|
+
|
|
20
|
+
`;
|
|
21
|
+
for (const [category, entities] of Object.entries(categorize(schema))) {
|
|
22
|
+
code += `// ${category}\n`;
|
|
23
|
+
for (const entity of entities) {
|
|
24
|
+
code += `pub const ${entity.name.toUpperCase()}: u32 = ${crc32(entity.name)};\n`;
|
|
25
|
+
}
|
|
26
|
+
code += '\n';
|
|
27
|
+
}
|
|
28
|
+
return cratePrivate ? `${code.trimEnd()}\n` : code;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=rust-type-id-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust-type-id-generator.js","sourceRoot":"","sources":["../src/rust-type-id-generator.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CACrC,MAAqB,EACrB,YAAqB,EACrB,UAAyE;IAEzE,IAAI,IAAI,GAAG;;;;;;;qCAOwB,MAAM,CAAC,IAAI;;;;;;CAM/C,CAAC;IAEA,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,IAAI,MAAM,QAAQ,IAAI,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,aAAa,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,IAAI,CAAC;IACf,CAAC;IAED,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC"}
|
|
@@ -8,12 +8,12 @@ export function generateTypeNameParser(schema) {
|
|
|
8
8
|
return known;
|
|
9
9
|
}
|
|
10
10
|
if s.bytes().all(|b| b.is_ascii() && !b.is_ascii_lowercase()) {
|
|
11
|
-
return Self::Unknown(
|
|
11
|
+
return Self::Unknown(UnknownIfcType::new(s.to_owned()));
|
|
12
12
|
}
|
|
13
13
|
// Keep Unicode uppercase expansion and the exact unknown-type CRC.
|
|
14
14
|
let upper = s.to_uppercase();
|
|
15
15
|
Self::from_canonical_name(&upper)
|
|
16
|
-
.unwrap_or_else(|| Self::Unknown(
|
|
16
|
+
.unwrap_or_else(|| Self::Unknown(UnknownIfcType::new(upper)))
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
fn from_canonical_name(s: &str) -> Option<Self> {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust-unknown-ifc-type.d.ts","sourceRoot":"","sources":["../src/rust-unknown-ifc-type.ts"],"names":[],"mappings":"AAIA,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CA0B/E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
/** Render the generated owned representation for unsupported IFC keywords. */
|
|
5
|
+
export function generateUnknownIfcType(visibility) {
|
|
6
|
+
return `/// A normalized IFC keyword not declared by the supported schema universe.
|
|
7
|
+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
|
8
|
+
${visibility} struct UnknownIfcType {
|
|
9
|
+
name: String,
|
|
10
|
+
id: u32,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
impl UnknownIfcType {
|
|
14
|
+
fn new(name: String) -> Self {
|
|
15
|
+
let id = crc32_hash(&name);
|
|
16
|
+
Self { name, id }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/// Normalized uppercase STEP keyword.
|
|
20
|
+
${visibility} fn as_str(&self) -> &str {
|
|
21
|
+
&self.name
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/// CRC32 identifier of the normalized keyword.
|
|
25
|
+
${visibility} fn id(&self) -> u32 {
|
|
26
|
+
self.id
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
`;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=rust-unknown-ifc-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust-unknown-ifc-type.js","sourceRoot":"","sources":["../src/rust-unknown-ifc-type.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,UAAgC;IACrE,OAAO;;EAEP,UAAU;;;;;;;;;;;;MAYN,UAAU;;;;;MAKV,UAAU;;;;;CAKf,CAAC;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/codegen",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"description": "TypeScript code generator from IFC EXPRESS schemas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"license": "MPL-2.0",
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"commander": "^15.0.0",
|
|
50
|
-
"@ifc-lite/data": "^
|
|
50
|
+
"@ifc-lite/data": "^6.0.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@types/node": "^26.
|
|
53
|
+
"@types/node": "^26.6.1",
|
|
54
54
|
"typescript": "^6.0.3",
|
|
55
|
-
"vitest": "^
|
|
55
|
+
"vitest": "^5.0.1"
|
|
56
56
|
},
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|