@ifc-lite/parser 1.1.7 → 1.2.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/LICENSE +373 -0
- package/README.md +1 -1
- package/dist/classification-extractor.js +3 -3
- package/dist/classification-extractor.js.map +1 -1
- package/dist/columnar-parser.d.ts +86 -2
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +440 -173
- package/dist/columnar-parser.js.map +1 -1
- package/dist/entity-extractor.d.ts.map +1 -1
- package/dist/entity-extractor.js +23 -11
- package/dist/entity-extractor.js.map +1 -1
- package/dist/generated/entities.d.ts +3 -2
- package/dist/generated/entities.d.ts.map +1 -1
- package/dist/generated/entities.js +6 -3
- package/dist/generated/entities.js.map +1 -1
- package/dist/generated/enums.d.ts.map +1 -1
- package/dist/generated/enums.js +0 -3
- package/dist/generated/enums.js.map +1 -1
- package/dist/generated/index.d.ts +4 -2
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +4 -2
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/schema-registry.d.ts.map +1 -1
- package/dist/generated/schema-registry.js +8 -3
- package/dist/generated/schema-registry.js.map +1 -1
- package/dist/generated/selects.d.ts +3 -0
- package/dist/generated/selects.d.ts.map +1 -1
- package/dist/generated/selects.js +6 -3
- package/dist/generated/selects.js.map +1 -1
- package/dist/generated/serializers.d.ts +71 -0
- package/dist/generated/serializers.d.ts.map +1 -0
- package/dist/generated/serializers.js +236 -0
- package/dist/generated/serializers.js.map +1 -0
- package/dist/generated/test-compile.d.ts +1 -6
- package/dist/generated/test-compile.d.ts.map +1 -1
- package/dist/generated/test-compile.js +30 -25
- package/dist/generated/test-compile.js.map +1 -1
- package/dist/generated/type-ids.d.ts +815 -0
- package/dist/generated/type-ids.d.ts.map +1 -0
- package/dist/generated/type-ids.js +1669 -0
- package/dist/generated/type-ids.js.map +1 -0
- package/dist/generated/types.d.ts +9 -542
- package/dist/generated/types.d.ts.map +1 -1
- package/dist/generated/types.js +6 -497
- package/dist/generated/types.js.map +1 -1
- package/dist/georef-extractor.js +2 -2
- package/dist/georef-extractor.js.map +1 -1
- package/dist/index.d.ts +38 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +233 -41
- package/dist/index.js.map +1 -1
- package/dist/material-extractor.js +8 -8
- package/dist/material-extractor.js.map +1 -1
- package/dist/parser.worker.d.ts +2 -0
- package/dist/parser.worker.d.ts.map +1 -0
- package/dist/parser.worker.js +43 -0
- package/dist/parser.worker.js.map +1 -0
- package/dist/property-extractor.d.ts +5 -1
- package/dist/property-extractor.d.ts.map +1 -1
- package/dist/property-extractor.js +22 -1
- package/dist/property-extractor.js.map +1 -1
- package/dist/quantity-extractor.d.ts +5 -1
- package/dist/quantity-extractor.d.ts.map +1 -1
- package/dist/quantity-extractor.js +29 -1
- package/dist/quantity-extractor.js.map +1 -1
- package/dist/relationship-extractor.d.ts +5 -1
- package/dist/relationship-extractor.d.ts.map +1 -1
- package/dist/relationship-extractor.js +27 -2
- package/dist/relationship-extractor.js.map +1 -1
- package/dist/spatial-hierarchy-builder.d.ts +4 -3
- package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
- package/dist/spatial-hierarchy-builder.js +46 -34
- package/dist/spatial-hierarchy-builder.js.map +1 -1
- package/dist/style-extractor.d.ts +1 -0
- package/dist/style-extractor.d.ts.map +1 -1
- package/dist/style-extractor.js +18 -0
- package/dist/style-extractor.js.map +1 -1
- package/dist/tokenizer.d.ts +11 -0
- package/dist/tokenizer.d.ts.map +1 -1
- package/dist/tokenizer.js +150 -10
- package/dist/tokenizer.js.map +1 -1
- package/dist/unit-extractor.d.ts +22 -0
- package/dist/unit-extractor.d.ts.map +1 -0
- package/dist/unit-extractor.js +205 -0
- package/dist/unit-extractor.js.map +1 -0
- package/dist/worker-parser.d.ts +28 -0
- package/dist/worker-parser.d.ts.map +1 -0
- package/dist/worker-parser.js +81 -0
- package/dist/worker-parser.js.map +1 -0
- package/package.json +9 -8
- package/dist/examples/comprehensive-extraction.d.ts +0 -76
- package/dist/examples/comprehensive-extraction.d.ts.map +0 -1
- package/dist/examples/comprehensive-extraction.js +0 -228
- package/dist/examples/comprehensive-extraction.js.map +0 -1
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
*
|
|
5
5
|
* DO NOT EDIT - This file is auto-generated
|
|
6
6
|
*/
|
|
7
|
+
import type { IfcActorRole, IfcAddress, IfcAppliedValue, IfcApproval, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBooleanResult, IfcBoundedCurve, IfcCartesianPoint, IfcClassification, IfcClassificationReference, IfcClosedShell, IfcColourRgb, IfcColourSpecification, IfcCompositeCurveOnSurface, IfcConstraint, IfcContextDependentUnit, IfcConversionBasedUnit, IfcCoordinateReferenceSystem, IfcCsgPrimitive3D, IfcCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcDerivedUnit, IfcDirection, IfcDocumentInformation, IfcDocumentReference, IfcEdgeCurve, IfcElement, IfcExternalInformation, IfcExternalReference, IfcExternalSpatialElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcFaceBasedSurfaceModel, IfcFaceSurface, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcGeometricRepresentationContext, IfcHalfSpaceSolid, IfcLibraryInformation, IfcLibraryReference, IfcLightIntensityDistribution, IfcMaterialDefinition, IfcMaterialList, IfcMaterialUsageDefinition, IfcMeasureWithUnit, IfcMonetaryUnit, IfcNamedUnit, IfcObjectDefinition, IfcOpenShell, IfcOrganization, IfcPcurve, IfcPerson, IfcPersonAndOrganization, IfcPhysicalQuantity, IfcPoint, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedTextFont, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcProcess, IfcProduct, IfcProductDefinitionShape, IfcProfileDef, IfcPropertyAbstraction, IfcPropertyDefinition, IfcPropertySetDefinition, IfcReference, IfcRepresentation, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcSolidModel, IfcSpace, IfcStructuralItem, IfcSurface, IfcSurfaceCurve, IfcSurfaceStyle, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcTable, IfcTessellatedFaceSet, IfcTextStyle, IfcTimeSeries, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcVector, IfcVertexPoint, IfcVirtualGridIntersection } from './entities.js';
|
|
8
|
+
import type { IfcArcIndex, IfcBinary, IfcBoolean, IfcComplexNumber, IfcDate, IfcDateTime, IfcDuration, IfcIdentifier, IfcInteger, IfcLabel, IfcLineIndex, IfcLogical, IfcParameterValue, IfcPositiveInteger, IfcPropertySetDefinitionSet, IfcReal, IfcSpecularExponent, IfcSpecularRoughness, IfcText, IfcTime, IfcTimeStamp } from './types.js';
|
|
9
|
+
import type { IfcNullStyle } from './enums.js';
|
|
7
10
|
/** IfcActorSelect */
|
|
8
11
|
export type IfcActorSelect = IfcOrganization | IfcPerson | IfcPersonAndOrganization;
|
|
9
12
|
/** IfcAppliedValueSelect */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selects.d.ts","sourceRoot":"","sources":["../../src/generated/selects.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"selects.d.ts","sourceRoot":"","sources":["../../src/generated/selects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
*
|
|
1
|
+
/**
|
|
2
|
+
* IFC SELECT Types (Unions)
|
|
3
|
+
* Generated from EXPRESS schema: IFC4_ADD2_TC1
|
|
4
|
+
*
|
|
5
|
+
* DO NOT EDIT - This file is auto-generated
|
|
6
|
+
*/
|
|
4
7
|
export {};
|
|
5
8
|
//# sourceMappingURL=selects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selects.js","sourceRoot":"","sources":["../../src/generated/selects.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"selects.js","sourceRoot":"","sources":["../../src/generated/selects.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* STEP value types
|
|
3
|
+
*/
|
|
4
|
+
export type StepValue = string | number | boolean | null | undefined | StepValue[] | EntityRef | EnumValue;
|
|
5
|
+
/**
|
|
6
|
+
* Entity reference (#123)
|
|
7
|
+
*/
|
|
8
|
+
export interface EntityRef {
|
|
9
|
+
ref: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Enum value (.VALUE.)
|
|
13
|
+
*/
|
|
14
|
+
export interface EnumValue {
|
|
15
|
+
enum: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check if value is an entity reference
|
|
19
|
+
*/
|
|
20
|
+
export declare function isEntityRef(value: unknown): value is EntityRef;
|
|
21
|
+
/**
|
|
22
|
+
* Check if value is an enum value
|
|
23
|
+
*/
|
|
24
|
+
export declare function isEnumValue(value: unknown): value is EnumValue;
|
|
25
|
+
/**
|
|
26
|
+
* Create an entity reference
|
|
27
|
+
*/
|
|
28
|
+
export declare function ref(id: number): EntityRef;
|
|
29
|
+
/**
|
|
30
|
+
* Create an enum value
|
|
31
|
+
*/
|
|
32
|
+
export declare function enumVal(value: string): EnumValue;
|
|
33
|
+
/**
|
|
34
|
+
* Base interface for serializable entities
|
|
35
|
+
*/
|
|
36
|
+
export interface StepEntity {
|
|
37
|
+
/** Express ID (#123) */
|
|
38
|
+
expressId: number;
|
|
39
|
+
/** IFC type name */
|
|
40
|
+
type: string;
|
|
41
|
+
/** Attribute values */
|
|
42
|
+
[key: string]: unknown;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Serialize a single value to STEP format
|
|
46
|
+
*/
|
|
47
|
+
export declare function serializeValue(value: StepValue): string;
|
|
48
|
+
/**
|
|
49
|
+
* Serialize an entity to a STEP line
|
|
50
|
+
*/
|
|
51
|
+
export declare function toStepLine(entity: StepEntity): string;
|
|
52
|
+
/**
|
|
53
|
+
* Generate STEP file header
|
|
54
|
+
*/
|
|
55
|
+
export declare function generateHeader(options: {
|
|
56
|
+
description?: string;
|
|
57
|
+
author?: string;
|
|
58
|
+
organization?: string;
|
|
59
|
+
application?: string;
|
|
60
|
+
schema: 'IFC2X3' | 'IFC4' | 'IFC4X3';
|
|
61
|
+
filename?: string;
|
|
62
|
+
}): string;
|
|
63
|
+
/**
|
|
64
|
+
* Generate complete STEP file content
|
|
65
|
+
*/
|
|
66
|
+
export declare function generateStepFile(entities: StepEntity[], options: Parameters<typeof generateHeader>[0]): string;
|
|
67
|
+
/**
|
|
68
|
+
* Parse a STEP value from string
|
|
69
|
+
*/
|
|
70
|
+
export declare function parseStepValue(str: string): StepValue;
|
|
71
|
+
//# sourceMappingURL=serializers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../src/generated/serializers.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,SAAS,EAAE,GACX,SAAS,GACT,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAEzC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAEhD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAwDvD;AAWD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAerD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAeT;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,GAC5C,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAoDrD"}
|
|
@@ -0,0 +1,236 @@
|
|
|
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
|
+
/**
|
|
5
|
+
* IFC Serialization Support
|
|
6
|
+
* Generated from EXPRESS schema: IFC4_ADD2_TC1
|
|
7
|
+
*
|
|
8
|
+
* Utilities for serializing IFC entities to STEP format.
|
|
9
|
+
*
|
|
10
|
+
* DO NOT EDIT - This file is auto-generated
|
|
11
|
+
*/
|
|
12
|
+
import { SCHEMA_REGISTRY } from './schema-registry.js';
|
|
13
|
+
/**
|
|
14
|
+
* Check if value is an entity reference
|
|
15
|
+
*/
|
|
16
|
+
export function isEntityRef(value) {
|
|
17
|
+
return typeof value === 'object' && value !== null && 'ref' in value;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Check if value is an enum value
|
|
21
|
+
*/
|
|
22
|
+
export function isEnumValue(value) {
|
|
23
|
+
return typeof value === 'object' && value !== null && 'enum' in value;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create an entity reference
|
|
27
|
+
*/
|
|
28
|
+
export function ref(id) {
|
|
29
|
+
return { ref: id };
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create an enum value
|
|
33
|
+
*/
|
|
34
|
+
export function enumVal(value) {
|
|
35
|
+
return { enum: value };
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Serialize a single value to STEP format
|
|
39
|
+
*/
|
|
40
|
+
export function serializeValue(value) {
|
|
41
|
+
// Null/undefined -> $
|
|
42
|
+
if (value === null || value === undefined) {
|
|
43
|
+
return '$';
|
|
44
|
+
}
|
|
45
|
+
// Derived value -> *
|
|
46
|
+
if (value === '*') {
|
|
47
|
+
return '*';
|
|
48
|
+
}
|
|
49
|
+
// Boolean
|
|
50
|
+
if (typeof value === 'boolean') {
|
|
51
|
+
return value ? '.T.' : '.F.';
|
|
52
|
+
}
|
|
53
|
+
// Number
|
|
54
|
+
if (typeof value === 'number') {
|
|
55
|
+
if (!Number.isFinite(value)) {
|
|
56
|
+
return '$';
|
|
57
|
+
}
|
|
58
|
+
// Use exponential notation for large/small numbers
|
|
59
|
+
if (Math.abs(value) > 1e10 || (Math.abs(value) < 1e-10 && value !== 0)) {
|
|
60
|
+
return value.toExponential(10).toUpperCase().replace('E+', 'E');
|
|
61
|
+
}
|
|
62
|
+
// Otherwise use fixed notation
|
|
63
|
+
const str = value.toString();
|
|
64
|
+
// Ensure there's a decimal point for REAL values
|
|
65
|
+
return str.includes('.') ? str : str + '.';
|
|
66
|
+
}
|
|
67
|
+
// String
|
|
68
|
+
if (typeof value === 'string') {
|
|
69
|
+
return "'" + escapeStepString(value) + "'";
|
|
70
|
+
}
|
|
71
|
+
// Entity reference
|
|
72
|
+
if (isEntityRef(value)) {
|
|
73
|
+
return '#' + value.ref;
|
|
74
|
+
}
|
|
75
|
+
// Enum value
|
|
76
|
+
if (isEnumValue(value)) {
|
|
77
|
+
return '.' + value.enum + '.';
|
|
78
|
+
}
|
|
79
|
+
// Array/List
|
|
80
|
+
if (Array.isArray(value)) {
|
|
81
|
+
if (value.length === 0) {
|
|
82
|
+
return '()';
|
|
83
|
+
}
|
|
84
|
+
return '(' + value.map(v => serializeValue(v)).join(',') + ')';
|
|
85
|
+
}
|
|
86
|
+
// Object (shouldn't happen for valid STEP values)
|
|
87
|
+
return '$';
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Escape a string for STEP format
|
|
91
|
+
*/
|
|
92
|
+
function escapeStepString(str) {
|
|
93
|
+
return str
|
|
94
|
+
.replace(/\\/g, '\\\\') // Backslash
|
|
95
|
+
.replace(/'/g, "''"); // Single quote
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Serialize an entity to a STEP line
|
|
99
|
+
*/
|
|
100
|
+
export function toStepLine(entity) {
|
|
101
|
+
const schema = SCHEMA_REGISTRY.entities[entity.type];
|
|
102
|
+
if (!schema) {
|
|
103
|
+
throw new Error(`Unknown entity type: ${entity.type}`);
|
|
104
|
+
}
|
|
105
|
+
// Get all attributes in order
|
|
106
|
+
const values = [];
|
|
107
|
+
const allAttributes = schema.allAttributes || [];
|
|
108
|
+
for (const attr of allAttributes) {
|
|
109
|
+
const value = entity[attr.name];
|
|
110
|
+
values.push(serializeValue(value));
|
|
111
|
+
}
|
|
112
|
+
return `#${entity.expressId}=${entity.type.toUpperCase()}(${values.join(',')});`;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Generate STEP file header
|
|
116
|
+
*/
|
|
117
|
+
export function generateHeader(options) {
|
|
118
|
+
const now = new Date().toISOString().replace(/[-:]/g, '').split('.')[0];
|
|
119
|
+
const desc = options.description || 'ViewDefinition [CoordinationView]';
|
|
120
|
+
const author = options.author || '';
|
|
121
|
+
const org = options.organization || '';
|
|
122
|
+
const app = options.application || 'ifc-lite';
|
|
123
|
+
const filename = options.filename || 'output.ifc';
|
|
124
|
+
return `ISO-10303-21;
|
|
125
|
+
HEADER;
|
|
126
|
+
FILE_DESCRIPTION('${desc}','2;1');
|
|
127
|
+
FILE_NAME('${filename}','${now}',('${author}'),('${org}'),'${app}','${app}','');
|
|
128
|
+
FILE_SCHEMA(('${options.schema}'));
|
|
129
|
+
ENDSEC;
|
|
130
|
+
`;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Generate complete STEP file content
|
|
134
|
+
*/
|
|
135
|
+
export function generateStepFile(entities, options) {
|
|
136
|
+
const header = generateHeader(options);
|
|
137
|
+
// Sort entities by ID for deterministic output
|
|
138
|
+
const sorted = [...entities].sort((a, b) => a.expressId - b.expressId);
|
|
139
|
+
const data = sorted.map(e => toStepLine(e)).join('\n');
|
|
140
|
+
return `${header}DATA;
|
|
141
|
+
${data}
|
|
142
|
+
ENDSEC;
|
|
143
|
+
END-ISO-10303-21;
|
|
144
|
+
`;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Parse a STEP value from string
|
|
148
|
+
*/
|
|
149
|
+
export function parseStepValue(str) {
|
|
150
|
+
str = str.trim();
|
|
151
|
+
// Null
|
|
152
|
+
if (str === '$') {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
// Derived
|
|
156
|
+
if (str === '*') {
|
|
157
|
+
return '*';
|
|
158
|
+
}
|
|
159
|
+
// Boolean
|
|
160
|
+
if (str === '.T.') {
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
if (str === '.F.') {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
if (str === '.U.') {
|
|
167
|
+
return null; // Unknown/indeterminate
|
|
168
|
+
}
|
|
169
|
+
// Entity reference
|
|
170
|
+
if (str.startsWith('#')) {
|
|
171
|
+
return { ref: parseInt(str.substring(1), 10) };
|
|
172
|
+
}
|
|
173
|
+
// Enum
|
|
174
|
+
if (str.startsWith('.') && str.endsWith('.')) {
|
|
175
|
+
return { enum: str.substring(1, str.length - 1) };
|
|
176
|
+
}
|
|
177
|
+
// String
|
|
178
|
+
if (str.startsWith("'") && str.endsWith("'")) {
|
|
179
|
+
return unescapeStepString(str.substring(1, str.length - 1));
|
|
180
|
+
}
|
|
181
|
+
// List
|
|
182
|
+
if (str.startsWith('(') && str.endsWith(')')) {
|
|
183
|
+
return parseStepList(str);
|
|
184
|
+
}
|
|
185
|
+
// Number
|
|
186
|
+
const num = parseFloat(str);
|
|
187
|
+
if (!isNaN(num)) {
|
|
188
|
+
return num;
|
|
189
|
+
}
|
|
190
|
+
// Unknown
|
|
191
|
+
return str;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Parse a STEP list
|
|
195
|
+
*/
|
|
196
|
+
function parseStepList(str) {
|
|
197
|
+
// Remove outer parentheses
|
|
198
|
+
const inner = str.substring(1, str.length - 1).trim();
|
|
199
|
+
if (inner === '') {
|
|
200
|
+
return [];
|
|
201
|
+
}
|
|
202
|
+
const values = [];
|
|
203
|
+
let depth = 0;
|
|
204
|
+
let current = '';
|
|
205
|
+
for (let i = 0; i < inner.length; i++) {
|
|
206
|
+
const char = inner[i];
|
|
207
|
+
if (char === '(' || char === '[') {
|
|
208
|
+
depth++;
|
|
209
|
+
current += char;
|
|
210
|
+
}
|
|
211
|
+
else if (char === ')' || char === ']') {
|
|
212
|
+
depth--;
|
|
213
|
+
current += char;
|
|
214
|
+
}
|
|
215
|
+
else if (char === ',' && depth === 0) {
|
|
216
|
+
values.push(parseStepValue(current));
|
|
217
|
+
current = '';
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
current += char;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
if (current.trim()) {
|
|
224
|
+
values.push(parseStepValue(current));
|
|
225
|
+
}
|
|
226
|
+
return values;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Unescape a STEP string
|
|
230
|
+
*/
|
|
231
|
+
function unescapeStepString(str) {
|
|
232
|
+
return str
|
|
233
|
+
.replace(/''/g, "'")
|
|
234
|
+
.replace(/\\\\/g, '\\');
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=serializers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../src/generated/serializers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
declare const wall: IfcWall;
|
|
3
|
-
declare const door: IfcDoor;
|
|
4
|
-
declare const wallMetadata: import("./schema-registry").EntityMetadata | undefined;
|
|
5
|
-
declare const entityCount: number;
|
|
6
|
-
export { wall, door, wallMetadata, entityCount };
|
|
1
|
+
export {};
|
|
7
2
|
//# sourceMappingURL=test-compile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-compile.d.ts","sourceRoot":"","sources":["../../src/generated/test-compile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-compile.d.ts","sourceRoot":"","sources":["../../src/generated/test-compile.ts"],"names":[],"mappings":""}
|
|
@@ -1,30 +1,35 @@
|
|
|
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 {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
import { TYPE_IDS, getTypeId, getTypeName } from './type-ids.js';
|
|
5
|
+
import { getEntityMetadata } from './schema-registry.js';
|
|
6
|
+
import { toStepLine, ref } from './serializers.js';
|
|
7
|
+
// Test type IDs
|
|
8
|
+
const wallId = TYPE_IDS.IfcWall;
|
|
9
|
+
const projectId = TYPE_IDS.IfcProject;
|
|
10
|
+
// Test ID lookup
|
|
11
|
+
const wallIdFromName = getTypeId('IfcWall');
|
|
12
|
+
const nameFromId = getTypeName(wallId);
|
|
13
|
+
// Test schema registry
|
|
14
|
+
const wallMeta = getEntityMetadata('IfcWall');
|
|
15
|
+
const wallAttrs = wallMeta?.allAttributes;
|
|
16
|
+
// Test serialization
|
|
17
|
+
const testEntity = {
|
|
18
|
+
expressId: 1,
|
|
19
|
+
type: 'IfcProject',
|
|
20
|
+
GlobalId: '0YvctVUKr0kugbFTf53O9L',
|
|
21
|
+
OwnerHistory: ref(2),
|
|
22
|
+
Name: 'Test Project',
|
|
23
|
+
Description: null,
|
|
24
|
+
ObjectType: null,
|
|
25
|
+
LongName: null,
|
|
26
|
+
Phase: null,
|
|
27
|
+
RepresentationContexts: [ref(3)],
|
|
28
|
+
UnitsInContext: ref(4),
|
|
12
29
|
};
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
OverallHeight: 2.1,
|
|
19
|
-
OverallWidth: 0.9,
|
|
20
|
-
};
|
|
21
|
-
// Test: Use schema registry
|
|
22
|
-
const wallMetadata = getEntityMetadata('IfcWall');
|
|
23
|
-
console.log(wallMetadata?.name);
|
|
24
|
-
console.log(wallMetadata?.parent);
|
|
25
|
-
console.log(wallMetadata?.attributes);
|
|
26
|
-
// Test: Check entity count
|
|
27
|
-
const entityCount = Object.keys(SCHEMA_REGISTRY.entities).length;
|
|
28
|
-
console.log(`Total entities: ${entityCount}`);
|
|
29
|
-
export { wall, door, wallMetadata, entityCount };
|
|
30
|
+
const stepLine = toStepLine(testEntity);
|
|
31
|
+
console.log('✓ All types compile correctly');
|
|
32
|
+
console.log(' Wall ID:', wallId);
|
|
33
|
+
console.log(' Project ID:', projectId);
|
|
34
|
+
console.log(' STEP line:', stepLine);
|
|
30
35
|
//# sourceMappingURL=test-compile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-compile.js","sourceRoot":"","sources":["../../src/generated/test-compile.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"test-compile.js","sourceRoot":"","sources":["../../src/generated/test-compile.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAmB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAkB,GAAG,EAA4B,MAAM,kBAAkB,CAAC;AAE7F,gBAAgB;AAChB,MAAM,MAAM,GAAW,QAAQ,CAAC,OAAO,CAAC;AACxC,MAAM,SAAS,GAAW,QAAQ,CAAC,UAAU,CAAC;AAE9C,iBAAiB;AACjB,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAEvC,uBAAuB;AACvB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC9C,MAAM,SAAS,GAAG,QAAQ,EAAE,aAAa,CAAC;AAE1C,qBAAqB;AACrB,MAAM,UAAU,GAAe;IAC7B,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,wBAAwB;IAClC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;IACpB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;IACX,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAExC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAClC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AACxC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC"}
|