@ifc-lite/parser 4.3.1 → 4.3.2
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/columnar-parser-indexes.d.ts.map +1 -1
- package/dist/columnar-parser-indexes.js +3 -0
- package/dist/columnar-parser-indexes.js.map +1 -1
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +13 -53
- package/dist/columnar-parser.js.map +1 -1
- package/dist/georef-extractor.d.ts +9 -12
- package/dist/georef-extractor.d.ts.map +1 -1
- package/dist/georef-extractor.js +29 -130
- package/dist/georef-extractor.js.map +1 -1
- package/dist/georef-transform.d.ts +25 -0
- package/dist/georef-transform.d.ts.map +1 -0
- package/dist/georef-transform.js +97 -0
- package/dist/georef-transform.js.map +1 -0
- package/dist/map-unit-label.d.ts +43 -0
- package/dist/map-unit-label.d.ts.map +1 -0
- package/dist/map-unit-label.js +140 -0
- package/dist/map-unit-label.js.map +1 -0
- package/dist/on-demand-cache.d.ts +3 -0
- package/dist/on-demand-cache.d.ts.map +1 -0
- package/dist/on-demand-cache.js +25 -0
- package/dist/on-demand-cache.js.map +1 -0
- package/dist/on-demand-extractors.d.ts +2 -2
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +14 -177
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/on-demand-georeferencing.d.ts +19 -0
- package/dist/on-demand-georeferencing.d.ts.map +1 -0
- package/dist/on-demand-georeferencing.js +139 -0
- package/dist/on-demand-georeferencing.js.map +1 -0
- package/dist/quantity-collect.d.ts +96 -0
- package/dist/quantity-collect.d.ts.map +1 -0
- package/dist/quantity-collect.js +146 -0
- package/dist/quantity-collect.js.map +1 -0
- package/dist/query-backend-maps.d.ts.map +1 -1
- package/dist/query-backend-maps.js +4 -0
- package/dist/query-backend-maps.js.map +1 -1
- package/dist/source-header.d.ts +23 -1
- package/dist/source-header.d.ts.map +1 -1
- package/dist/source-header.js +133 -43
- package/dist/source-header.js.map +1 -1
- package/dist/step-lexing.d.ts +92 -0
- package/dist/step-lexing.d.ts.map +1 -1
- package/dist/step-lexing.js +176 -7
- package/dist/step-lexing.js.map +1 -1
- package/dist/unit-extractor.d.ts +13 -0
- package/dist/unit-extractor.d.ts.map +1 -1
- package/dist/unit-extractor.js +17 -2
- package/dist/unit-extractor.js.map +1 -1
- package/package.json +4 -4
package/dist/step-lexing.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
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
|
-
// ISO 10303-21 lexical skipping
|
|
5
|
-
//
|
|
4
|
+
// ISO 10303-21 lexical skipping: comments, and the string literals that must
|
|
5
|
+
// not be mistaken for them. Two representations, one rule -- bytes for the
|
|
6
|
+
// tokenizer, a decoded string for the header reader. See the divider below for
|
|
7
|
+
// the one point where they deliberately differ.
|
|
6
8
|
//
|
|
7
|
-
//
|
|
8
|
-
// spelled literally. Escaping them with a zero-width space to
|
|
9
|
-
// comment puts invisible Unicode in the one place that explains
|
|
10
|
-
// termination works, and anyone copying the example into a fixture
|
|
11
|
-
// string that is not a valid terminator.
|
|
9
|
+
// The BYTE half below is written with line comments, not JSDoc, so the
|
|
10
|
+
// delimiters can be spelled literally. Escaping them with a zero-width space to
|
|
11
|
+
// survive a block comment puts invisible Unicode in the one place that explains
|
|
12
|
+
// how comment termination works, and anyone copying the example into a fixture
|
|
13
|
+
// then gets a string that is not a valid terminator.
|
|
14
|
+
//
|
|
15
|
+
// The string half uses JSDoc, because it is a public class whose methods want
|
|
16
|
+
// hover documentation, and escapes the delimiter as the backslash form instead.
|
|
17
|
+
// Two conventions in one file is not ideal; it is the smaller cost.
|
|
12
18
|
const SLASH = 0x2f; // '/'
|
|
13
19
|
const STAR = 0x2a; // '*'
|
|
14
20
|
const NEWLINE = 0x0a; // '\n'
|
|
@@ -115,4 +121,167 @@ export function countNewlines(buf, from, to) {
|
|
|
115
121
|
}
|
|
116
122
|
return n;
|
|
117
123
|
}
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
// The same rule over a decoded string.
|
|
126
|
+
//
|
|
127
|
+
// The functions above scan `Uint8Array`, which is what the tokenizer holds. The
|
|
128
|
+
// header reader (`source-header.ts`) works on a decoded string and slices with
|
|
129
|
+
// CHARACTER offsets, so it cannot use them without moving its whole read onto
|
|
130
|
+
// bytes. Both representations live here so the rule has one owner rather than
|
|
131
|
+
// one per caller, which is the shape #3284 was.
|
|
132
|
+
//
|
|
133
|
+
// They differ on exactly one point, deliberately. `skipLexical` above answers
|
|
134
|
+
// an unterminated comment with `{stop: true}`, running it to end of input,
|
|
135
|
+
// because the tokenizer is already past the point of deciding anything. Below,
|
|
136
|
+
// an unterminated `/*` is simply NOT a comment: a header prescan that swallows
|
|
137
|
+
// every later record has lost the schema, which is a worse answer than the two
|
|
138
|
+
// mistyped characters deserve.
|
|
139
|
+
// ---------------------------------------------------------------------------
|
|
140
|
+
/**
|
|
141
|
+
* A scan of one decoded string.
|
|
142
|
+
*
|
|
143
|
+
* The buffer and the scan state are bound together on purpose. The state is a
|
|
144
|
+
* memo: once a `*\/` search from some `i` fails, no closer exists at or after
|
|
145
|
+
* any later position either, so no later `/*` can open a comment. Every scan
|
|
146
|
+
* here moves its index forward monotonically, so AT MOST ONE closer search can
|
|
147
|
+
* ever fail, and every other one succeeds and consumes a span disjoint from the
|
|
148
|
+
* rest. That is what keeps the whole thing linear.
|
|
149
|
+
*
|
|
150
|
+
* Two earlier shapes were both wrong, and the second was mine:
|
|
151
|
+
*
|
|
152
|
+
* - searching for the closer at every `/*` is QUADRATIC. A failing search
|
|
153
|
+
* runs to the end of the text, the caller advances one character, and the
|
|
154
|
+
* next `/*` repeats it. A 64 KiB header holding 21000 unterminated `/*`
|
|
155
|
+
* took 5.7 seconds.
|
|
156
|
+
* - hoisting `lastIndexOf('*\/')` to the top of each scan fixes that but
|
|
157
|
+
* makes every scan pay a full pass over the buffer even when the input is
|
|
158
|
+
* well formed and the answer is 100 bytes in. The Rust twin is handed whole
|
|
159
|
+
* uncapped files, where that measured 250ns -> 52ms on 200 MB.
|
|
160
|
+
*
|
|
161
|
+
* Deferring the search until a `/*` is actually seen, and remembering the one
|
|
162
|
+
* failure, costs nothing on well-formed input and stays linear on hostile
|
|
163
|
+
* input.
|
|
164
|
+
*
|
|
165
|
+
* Binding the buffer to the state also removes an invariant that was previously
|
|
166
|
+
* only checkable by hand: the old free functions took the closer position as an
|
|
167
|
+
* argument, so passing one derived from a DIFFERENT string compiled and
|
|
168
|
+
* silently mis-scanned.
|
|
169
|
+
*/
|
|
170
|
+
export class StepTextScan {
|
|
171
|
+
text;
|
|
172
|
+
searchCount = 0;
|
|
173
|
+
noCloser = false;
|
|
174
|
+
/** `*\/` searches performed. At most one of them can fail; see the class doc. */
|
|
175
|
+
get searches() {
|
|
176
|
+
return this.searchCount;
|
|
177
|
+
}
|
|
178
|
+
constructor(text) {
|
|
179
|
+
this.text = text;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* If a `/* ... *\/` comment starts at `text[i]`, the index just past it.
|
|
183
|
+
* Otherwise -1.
|
|
184
|
+
*
|
|
185
|
+
* An UNTERMINATED `/*` is not a comment. Running it to end-of-text would
|
|
186
|
+
* swallow every record after it and lose the whole header, which is worse
|
|
187
|
+
* than the malformed input deserves and worse than doing nothing. Treating it
|
|
188
|
+
* as ordinary text costs only that one `/`, and the scan still advances.
|
|
189
|
+
*/
|
|
190
|
+
skipCommentAt(i) {
|
|
191
|
+
const { text } = this;
|
|
192
|
+
if (text[i] !== '/' || text[i + 1] !== '*')
|
|
193
|
+
return -1;
|
|
194
|
+
if (this.noCloser)
|
|
195
|
+
return -1;
|
|
196
|
+
this.searchCount++;
|
|
197
|
+
const close = text.indexOf('*/', i + 2);
|
|
198
|
+
if (close < 0) {
|
|
199
|
+
this.noCloser = true;
|
|
200
|
+
return -1;
|
|
201
|
+
}
|
|
202
|
+
return close + 2;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* If a string literal or a comment starts at `text[i]`, the index just past
|
|
206
|
+
* it. Otherwise -1.
|
|
207
|
+
*
|
|
208
|
+
* Neither carries structure: a keyword, a comma or a bracket inside one is
|
|
209
|
+
* text. Every scan in `source-header.ts` has to agree on that, so it is one
|
|
210
|
+
* function rather than a copy per loop. #3284 was one file holding two rules
|
|
211
|
+
* for the same thing; three private copies of this loop is that shape again.
|
|
212
|
+
*
|
|
213
|
+
* The result always ADVANCES the caller's index. An earlier form returned the
|
|
214
|
+
* `*\/` offset and left -1 to mean unterminated, which a caller adding 1 to
|
|
215
|
+
* turns into 0: the scan restarts at the top, finds the same comment, and
|
|
216
|
+
* never terminates.
|
|
217
|
+
*
|
|
218
|
+
* The two unterminated cases are deliberately not symmetric. An unterminated
|
|
219
|
+
* literal runs to end-of-text, because a lone `'` cannot be read as ordinary
|
|
220
|
+
* text. An unterminated `/*` is simply not a comment, because it can. This is
|
|
221
|
+
* also where this half differs from `skipLexical` above; see the divider.
|
|
222
|
+
*/
|
|
223
|
+
skipLexicalAt(i) {
|
|
224
|
+
const { text } = this;
|
|
225
|
+
if (text[i] === "'") {
|
|
226
|
+
for (let p = i + 1; p < text.length; p++) {
|
|
227
|
+
if (text[p] !== "'")
|
|
228
|
+
continue;
|
|
229
|
+
if (text[p + 1] === "'") {
|
|
230
|
+
p++;
|
|
231
|
+
continue;
|
|
232
|
+
} // `''` is an escaped quote, not the end
|
|
233
|
+
return p + 1;
|
|
234
|
+
}
|
|
235
|
+
return text.length;
|
|
236
|
+
}
|
|
237
|
+
return this.skipCommentAt(i);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Advance past whitespace and comments. ISO 10303-21 allows a comment
|
|
241
|
+
* wherever whitespace is allowed, including between a record keyword and its
|
|
242
|
+
* `(`.
|
|
243
|
+
*
|
|
244
|
+
* ASCII whitespace only, which is what 10303-21 means. `/\s/` also matches
|
|
245
|
+
* U+00A0 and the other Unicode space separators, while the Rust half tests
|
|
246
|
+
* bytes, so the two halves disagreed on `FILE_SCHEMA (('IFC2X3'))`.
|
|
247
|
+
*/
|
|
248
|
+
skipTrivia(i) {
|
|
249
|
+
const { text } = this;
|
|
250
|
+
for (;;) {
|
|
251
|
+
while (i < text.length && isAsciiSpace(text[i]))
|
|
252
|
+
i++;
|
|
253
|
+
const skip = this.skipCommentAt(i);
|
|
254
|
+
if (skip < 0)
|
|
255
|
+
return i;
|
|
256
|
+
i = skip;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/** ASCII whitespace per ISO 10303-21. See `StepTextScan.skipTrivia`. */
|
|
261
|
+
function isAsciiSpace(ch) {
|
|
262
|
+
return ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r' || ch === '\f' || ch === '\v';
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Case-insensitive ASCII compare of `keyword` against `text` at `i`. Callers
|
|
266
|
+
* pass upper-case keywords.
|
|
267
|
+
*
|
|
268
|
+
* Compares character by character instead of uppercasing a copy of `text`,
|
|
269
|
+
* because a copy cannot be indexed into. `'ß'.toUpperCase()` is two characters,
|
|
270
|
+
* so one of them shifts every later offset, and the caller then slices the
|
|
271
|
+
* ORIGINAL text with an offset measured in the copy.
|
|
272
|
+
*
|
|
273
|
+
* ASCII-only on purpose. That is what ISO 10303-21 case-insensitivity means,
|
|
274
|
+
* and it declines the matches a full Unicode fold accepts: `'ſ'` (long s)
|
|
275
|
+
* uppercases to `'S'`, so a full fold reads ` ENDſEC` as `ENDSEC`.
|
|
276
|
+
*/
|
|
277
|
+
export function matchesKeywordAt(text, i, keyword) {
|
|
278
|
+
for (let k = 0; k < keyword.length; k++) {
|
|
279
|
+
let c = text.charCodeAt(i + k); // NaN past the end, and NaN !== anything
|
|
280
|
+
if (c >= 97 && c <= 122)
|
|
281
|
+
c -= 32;
|
|
282
|
+
if (c !== keyword.charCodeAt(k))
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
118
287
|
//# sourceMappingURL=step-lexing.js.map
|
package/dist/step-lexing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-lexing.js","sourceRoot":"","sources":["../src/step-lexing.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,+EAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"step-lexing.js","sourceRoot":"","sources":["../src/step-lexing.ts"],"names":[],"mappings":"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"}
|
package/dist/unit-extractor.d.ts
CHANGED
|
@@ -6,6 +6,19 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { EntityRef } from './types.js';
|
|
8
8
|
import type { IfcSourceBytes } from './source-bytes.js';
|
|
9
|
+
/**
|
|
10
|
+
* SI Prefix multipliers, keyed by the members of the `IfcSIPrefix` EXPRESS
|
|
11
|
+
* enumeration — that enumeration is the authority for which prefixes a unit
|
|
12
|
+
* can carry, so a reader that knows only a subset silently reports the base
|
|
13
|
+
* unit and is wrong by the missing prefix's own factor.
|
|
14
|
+
*
|
|
15
|
+
* Exported for the same reason as {@link CONVERSION_BASED_UNIT_FACTORS}: the
|
|
16
|
+
* georeferencing extractor resolves an `IfcProjectedCRS` MapUnit through the
|
|
17
|
+
* SAME table this one uses for the project length unit. It previously carried
|
|
18
|
+
* a private four-entry copy (MILLI/CENTI/DECI/KILO), so a MapUnit in any
|
|
19
|
+
* other prefix read back as plain metres.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SI_PREFIX_MULTIPLIERS: Record<string, number>;
|
|
9
22
|
/**
|
|
10
23
|
* Known conversion factors for imperial/conversion-based units to meters.
|
|
11
24
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-extractor.d.ts","sourceRoot":"","sources":["../src/unit-extractor.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"unit-extractor.d.ts","sourceRoot":"","sources":["../src/unit-extractor.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiBxD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgBhE,CAAC;AAyBF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,WAAW,EAAE;IAAE,IAAI,EAAE;QAAE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GACtG,MAAM,CA8LR"}
|
package/dist/unit-extractor.js
CHANGED
|
@@ -3,9 +3,18 @@
|
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { EntityExtractor } from './entity-extractor.js';
|
|
5
5
|
/**
|
|
6
|
-
* SI Prefix multipliers
|
|
6
|
+
* SI Prefix multipliers, keyed by the members of the `IfcSIPrefix` EXPRESS
|
|
7
|
+
* enumeration — that enumeration is the authority for which prefixes a unit
|
|
8
|
+
* can carry, so a reader that knows only a subset silently reports the base
|
|
9
|
+
* unit and is wrong by the missing prefix's own factor.
|
|
10
|
+
*
|
|
11
|
+
* Exported for the same reason as {@link CONVERSION_BASED_UNIT_FACTORS}: the
|
|
12
|
+
* georeferencing extractor resolves an `IfcProjectedCRS` MapUnit through the
|
|
13
|
+
* SAME table this one uses for the project length unit. It previously carried
|
|
14
|
+
* a private four-entry copy (MILLI/CENTI/DECI/KILO), so a MapUnit in any
|
|
15
|
+
* other prefix read back as plain metres.
|
|
7
16
|
*/
|
|
8
|
-
const SI_PREFIX_MULTIPLIERS = {
|
|
17
|
+
export const SI_PREFIX_MULTIPLIERS = {
|
|
9
18
|
'ATTO': 1e-18,
|
|
10
19
|
'FEMTO': 1e-15,
|
|
11
20
|
'PICO': 1e-12,
|
|
@@ -41,6 +50,12 @@ export const CONVERSION_BASED_UNIT_FACTORS = {
|
|
|
41
50
|
"'YARD'": 0.9144,
|
|
42
51
|
'MILE': 1609.344,
|
|
43
52
|
"'MILE'": 1609.344,
|
|
53
|
+
// The quoted spelling is a real, if rare, branch: a STEP name attribute
|
|
54
|
+
// written as `''FEET''` in the file decodes (doubled-quote escaping) to
|
|
55
|
+
// the four-character string `'FEET'`, complete with embedded quote
|
|
56
|
+
// characters, and is looked up here verbatim. FEET was missing this entry
|
|
57
|
+
// even though every other spelling in the table has one.
|
|
58
|
+
"'FEET'": 0.3048,
|
|
44
59
|
};
|
|
45
60
|
/**
|
|
46
61
|
* De-duplicates the "unknown unit, defaulting to meters" warning per
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-extractor.js","sourceRoot":"","sources":["../src/unit-extractor.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD
|
|
1
|
+
{"version":3,"file":"unit-extractor.js","sourceRoot":"","sources":["../src/unit-extractor.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI,EAAI,2BAA2B;IAC5C,OAAO,EAAE,IAAI,EAAI,cAAc;IAC/B,MAAM,EAAE,IAAI,EAAK,aAAa;IAC9B,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA2B;IACnE,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;IAClB,wEAAwE;IACxE,wEAAwE;IACxE,mEAAmE;IACnE,0EAA0E;IAC1E,yDAAyD;IACzD,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAU,CAAC;AAElD;;;;;GAKG;AACH,SAAS,eAAe,CAAC,WAAmB,EAAE,MAAc;IAC1D,IAAI,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO;IACjD,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,mBAAmB,MAAM,wDAAwD,CAAC,CAAC;AAClG,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAmC,EACnC,WAAuG;IAEvG,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAE9C,kBAAkB;IAClB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,eAAe,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACpD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,eAAe,CAAC,WAAW,EAAE,4CAA4C,CAAC,CAAC;QAC3E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,eAAe,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,yBAAyB;IACzB,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,eAAe,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,eAAe,CAAC,WAAW,EAAE,gDAAgD,CAAC,CAAC;QAC/E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClE,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,mBAAmB,EAAE,CAAC;QACjF,eAAe,CAAC,WAAW,EAAE,wDAAwD,CAAC,CAAC;QACvF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5E,eAAe,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,uEAAuE;IACvE,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,eAAe,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,yBAAyB;IACzB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,SAAS;QAE1C,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa;YAAE,SAAS;QAE7B,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;QAE9C,mBAAmB;QACnB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,gEAAgE;YAChE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEnC,gEAAgE;YAChE,MAAM,YAAY,GAAG,OAAO,aAAa,KAAK,QAAQ;gBACpD,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC;YAElE,IAAI,CAAC,YAAY;gBAAE,SAAS;YAE5B,+DAA+D;YAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC9D,0BAA0B;gBAC1B,OAAO,GAAG,CAAC;YACb,CAAC;YAED,oCAAoC;YACpC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ;gBAC1C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,eAAe,CAAC,WAAW,EAAE,2BAA2B,SAAS,GAAG,CAAC,CAAC;YACtE,OAAO,GAAG,CAAC;QACb,CAAC;QAED,iDAAiD;QACjD,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;YAC1C,uFAAuF;YACvF,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEnC,MAAM,YAAY,GAAG,OAAO,aAAa,KAAK,QAAQ;gBACpD,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC;YAElE,IAAI,CAAC,YAAY;gBAAE,SAAS;YAE5B,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzC,MAAM,WAAW,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;gBAC7D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO,WAAW,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,sEAAsE;YACtE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACvD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC1D,IAAI,aAAa,EAAE,CAAC;wBAClB,4DAA4D;wBAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC9C,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;wBACrD,IAAI,eAAmC,CAAC;wBAExC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;4BAClC,eAAe,GAAG,SAAS,CAAC;wBAC9B,CAAC;6BAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAClG,gDAAgD;4BAChD,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBACjC,CAAC;6BAAM,CAAC;4BACN,gEAAgE;4BAChE,8DAA8D;4BAC9D,6DAA6D;4BAC7D,gEAAgE;4BAChE,6DAA6D;4BAC7D,wCAAwC;4BACxC,eAAe,GAAG,GAAG,CAAC;wBACxB,CAAC;wBAED,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;4BACzD,mEAAmE;4BACnE,8DAA8D;4BAC9D,gDAAgD;4BAChD,IAAI,kBAAkB,GAAG,GAAG,CAAC;4BAE7B,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gCACzC,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gCACjE,IAAI,iBAAiB,EAAE,CAAC;oCACtB,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;oCAClE,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,EAAE,CAAC;wCACxE,gEAAgE;wCAChE,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,IAAI,EAAE,CAAC;wCACtD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wCAChC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;4CAC9D,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ;gDAC1C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;gDACzC,CAAC,CAAC,EAAE,CAAC;4CACP,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;4CAC1D,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gDACnC,kBAAkB,GAAG,gBAAgB,CAAC;4CACxC,CAAC;wCACH,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;4BAED,OAAO,eAAe,GAAG,kBAAkB,CAAC;wBAC9C,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,eAAe,CAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC;IACzE,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/parser",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.2",
|
|
4
4
|
"description": "IFC/STEP parser for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"fflate": "^0.8.3",
|
|
21
21
|
"jszip": "^3.10.0",
|
|
22
|
-
"@ifc-lite/data": "^3.
|
|
23
|
-
"@ifc-lite/ifcx": "^3.0.0",
|
|
22
|
+
"@ifc-lite/data": "^3.5.0",
|
|
24
23
|
"@ifc-lite/encoding": "^2.1.0",
|
|
25
|
-
"@ifc-lite/
|
|
24
|
+
"@ifc-lite/ifcx": "^3.0.1",
|
|
25
|
+
"@ifc-lite/wasm": "^6.1.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"typescript": "^6.0.3",
|