@ifc-lite/parser 6.4.0 → 7.0.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 +21 -0
- package/dist/cost-category-buckets.d.ts +5 -0
- package/dist/cost-category-buckets.d.ts.map +1 -0
- package/dist/cost-category-buckets.js +37 -0
- package/dist/cost-category-buckets.js.map +1 -0
- package/dist/cost-compatibility-tree.d.ts +4 -0
- package/dist/cost-compatibility-tree.d.ts.map +1 -0
- package/dist/cost-compatibility-tree.js +46 -0
- package/dist/cost-compatibility-tree.js.map +1 -0
- package/dist/cost-evaluation-arithmetic.d.ts +16 -0
- package/dist/cost-evaluation-arithmetic.d.ts.map +1 -0
- package/dist/cost-evaluation-arithmetic.js +181 -0
- package/dist/cost-evaluation-arithmetic.js.map +1 -0
- package/dist/cost-evaluation-context.d.ts +20 -0
- package/dist/cost-evaluation-context.d.ts.map +1 -0
- package/dist/cost-evaluation-context.js +54 -0
- package/dist/cost-evaluation-context.js.map +1 -0
- package/dist/cost-evaluation-result.d.ts +5 -0
- package/dist/cost-evaluation-result.d.ts.map +1 -0
- package/dist/cost-evaluation-result.js +20 -0
- package/dist/cost-evaluation-result.js.map +1 -0
- package/dist/cost-evaluator.d.ts +6 -0
- package/dist/cost-evaluator.d.ts.map +1 -0
- package/dist/cost-evaluator.js +396 -0
- package/dist/cost-evaluator.js.map +1 -0
- package/dist/cost-extractor.d.ts +3 -8
- package/dist/cost-extractor.d.ts.map +1 -1
- package/dist/cost-extractor.js +330 -335
- package/dist/cost-extractor.js.map +1 -1
- package/dist/cost-quantities.d.ts +5 -0
- package/dist/cost-quantities.d.ts.map +1 -0
- package/dist/cost-quantities.js +116 -0
- package/dist/cost-quantities.js.map +1 -0
- package/dist/cost-quantity-evaluator.d.ts +23 -0
- package/dist/cost-quantity-evaluator.d.ts.map +1 -0
- package/dist/cost-quantity-evaluator.js +153 -0
- package/dist/cost-quantity-evaluator.js.map +1 -0
- package/dist/cost-reader.d.ts +26 -0
- package/dist/cost-reader.d.ts.map +1 -0
- package/dist/cost-reader.js +117 -0
- package/dist/cost-reader.js.map +1 -0
- package/dist/cost-relationships.d.ts +7 -0
- package/dist/cost-relationships.d.ts.map +1 -0
- package/dist/cost-relationships.js +237 -0
- package/dist/cost-relationships.js.map +1 -0
- package/dist/cost-step-lexemes.d.ts +16 -0
- package/dist/cost-step-lexemes.d.ts.map +1 -0
- package/dist/cost-step-lexemes.js +131 -0
- package/dist/cost-step-lexemes.js.map +1 -0
- package/dist/cost-types.d.ts +210 -76
- package/dist/cost-types.d.ts.map +1 -1
- package/dist/cost-units.d.ts +38 -0
- package/dist/cost-units.d.ts.map +1 -0
- package/dist/cost-units.js +348 -0
- package/dist/cost-units.js.map +1 -0
- package/dist/cost-value-evaluation-session.d.ts +19 -0
- package/dist/cost-value-evaluation-session.d.ts.map +1 -0
- package/dist/cost-value-evaluation-session.js +25 -0
- package/dist/cost-value-evaluation-session.js.map +1 -0
- package/dist/cost.d.ts +4 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +6 -0
- package/dist/cost.js.map +1 -0
- package/dist/entity-extractor.d.ts.map +1 -1
- package/dist/entity-extractor.js +5 -2
- package/dist/entity-extractor.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/relationship-schema-slots.d.ts.map +1 -1
- package/dist/relationship-schema-slots.js +36 -1
- package/dist/relationship-schema-slots.js.map +1 -1
- package/dist/schedule-calendar-types.d.ts +89 -0
- package/dist/schedule-calendar-types.d.ts.map +1 -0
- package/dist/schedule-calendar-types.js +175 -0
- package/dist/schedule-calendar-types.js.map +1 -0
- package/dist/schedule-control-extractor.d.ts +41 -0
- package/dist/schedule-control-extractor.d.ts.map +1 -0
- package/dist/schedule-control-extractor.js +91 -0
- package/dist/schedule-control-extractor.js.map +1 -0
- package/dist/schedule-extractor.d.ts +1 -0
- package/dist/schedule-extractor.d.ts.map +1 -1
- package/dist/schedule-extractor.js +51 -61
- package/dist/schedule-extractor.js.map +1 -1
- package/dist/schedule-serializer-calendar-builders.d.ts +50 -0
- package/dist/schedule-serializer-calendar-builders.d.ts.map +1 -0
- package/dist/schedule-serializer-calendar-builders.js +126 -0
- package/dist/schedule-serializer-calendar-builders.js.map +1 -0
- package/dist/schedule-serializer.d.ts +21 -3
- package/dist/schedule-serializer.d.ts.map +1 -1
- package/dist/schedule-serializer.js +56 -0
- package/dist/schedule-serializer.js.map +1 -1
- package/dist/schedule-types.d.ts +24 -0
- package/dist/schedule-types.d.ts.map +1 -1
- package/dist/schedule-types.js.map +1 -1
- package/dist/step-entity-parameters.d.ts +9 -0
- package/dist/step-entity-parameters.d.ts.map +1 -0
- package/dist/step-entity-parameters.js +30 -0
- package/dist/step-entity-parameters.js.map +1 -0
- package/package.json +4 -3
- package/dist/cost-schedule-2x3.d.ts +0 -31
- package/dist/cost-schedule-2x3.d.ts.map +0 -1
- package/dist/cost-schedule-2x3.js +0 -75
- package/dist/cost-schedule-2x3.js.map +0 -1
package/dist/schedule-types.d.ts
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { EntityExtractor } from './entity-extractor.js';
|
|
18
18
|
import type { IfcDataStore } from './columnar-parser.js';
|
|
19
|
+
import type { WorkCalendarInfo } from './schedule-calendar-types.js';
|
|
19
20
|
/** IFC4 STEP attribute indices for IfcTask. */
|
|
20
21
|
export declare const TASK_ATTR: {
|
|
21
22
|
readonly GlobalId: 0;
|
|
@@ -142,6 +143,20 @@ export interface ScheduleTaskInfo {
|
|
|
142
143
|
productGlobalIds: string[];
|
|
143
144
|
/** WorkSchedule globalIds that control this task via IfcRelAssignsToControl. */
|
|
144
145
|
controllingScheduleGlobalIds: string[];
|
|
146
|
+
/**
|
|
147
|
+
* WorkCalendar globalIds assigned to this task via IfcRelAssignsToControl
|
|
148
|
+
* (RelatingControl an IfcWorkCalendar rather than an IfcWorkSchedule/
|
|
149
|
+
* IfcWorkPlan). Array, not a single id, for the same reason as
|
|
150
|
+
* `controllingScheduleGlobalIds` above — the schema places no cardinality
|
|
151
|
+
* limit on IfcRelAssignsToControl per object, so a source file can assign
|
|
152
|
+
* more than one calendar (e.g. a base calendar plus a site-specific
|
|
153
|
+
* exception calendar) via separate relations. Optional: absent and `[]`
|
|
154
|
+
* are equivalent everywhere this is read, matching
|
|
155
|
+
* `childScheduleGlobalIds`'s convention below — the extractor always
|
|
156
|
+
* populates it, but SDK-side producers that never touch calendars aren't
|
|
157
|
+
* forced to.
|
|
158
|
+
*/
|
|
159
|
+
calendarGlobalIds?: string[];
|
|
145
160
|
}
|
|
146
161
|
export interface ScheduleSequenceInfo {
|
|
147
162
|
globalId: string;
|
|
@@ -188,11 +203,20 @@ export interface WorkScheduleInfo {
|
|
|
188
203
|
* both mean "no nested schedules to write or report".
|
|
189
204
|
*/
|
|
190
205
|
childScheduleGlobalIds?: string[];
|
|
206
|
+
/**
|
|
207
|
+
* WorkCalendar globalIds assigned to this schedule/plan via
|
|
208
|
+
* IfcRelAssignsToControl (RelatingControl an IfcWorkCalendar). Same
|
|
209
|
+
* optional-array convention as `ScheduleTaskInfo.calendarGlobalIds` and
|
|
210
|
+
* `childScheduleGlobalIds` above.
|
|
211
|
+
*/
|
|
212
|
+
calendarGlobalIds?: string[];
|
|
191
213
|
}
|
|
192
214
|
export interface ScheduleExtraction {
|
|
193
215
|
workSchedules: WorkScheduleInfo[];
|
|
194
216
|
tasks: ScheduleTaskInfo[];
|
|
195
217
|
sequences: ScheduleSequenceInfo[];
|
|
218
|
+
/** IfcWorkCalendar entities found in the model, with their working/exception times. Optional for pre-calendar callers. */
|
|
219
|
+
workCalendars?: WorkCalendarInfo[];
|
|
196
220
|
/** True if we encountered any scheduling entity (useful for empty-state UI). */
|
|
197
221
|
hasSchedule: boolean;
|
|
198
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-types.d.ts","sourceRoot":"","sources":["../src/schedule-types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"schedule-types.d.ts","sourceRoot":"","sources":["../src/schedule-types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,+CAA+C;AAC/C,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAaZ,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;CAUhB,CAAC;AAuBX,eAAO,MAAM,iBAAiB;;;;;;;CAOpB,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;CAG9B,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;CAG9B,CAAC;AAEX,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAarB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAAqB,CAAC;AAOjD,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,cAAc,GACd,eAAe,GACf,aAAa,GACb,YAAY,CAAC;AAEjB,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gFAAgF;IAChF,4BAA4B,EAAE,MAAM,EAAE,CAAC;IACvC;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AASD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,0HAA0H;IAC1H,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGvD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGvD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAQzD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKrD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGpD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAQ9C;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAY9E;AAaD,wBAAgB,eAAe,CAC7B,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,GACjB,oBAAoB,GAAG,SAAS,CA2BlC;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,GACZ;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-types.js","sourceRoot":"","sources":["../src/schedule-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAqB/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"schedule-types.js","sourceRoot":"","sources":["../src/schedule-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return the source between a record's opening parenthesis and its matching
|
|
3
|
+
* close. The entity reference handed to the extractor can include trailing
|
|
4
|
+
* STEP trivia before `;`; a greedy regex therefore mistakes a `)` inside that
|
|
5
|
+
* trivia for the record close. Strings and comments carry no structure, just
|
|
6
|
+
* as they do in the tokenizer's byte-level record-boundary scanner.
|
|
7
|
+
*/
|
|
8
|
+
export declare function entityParameters(record: string, openEnd: number): string | undefined;
|
|
9
|
+
//# sourceMappingURL=step-entity-parameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-entity-parameters.d.ts","sourceRoot":"","sources":["../src/step-entity-parameters.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAepF"}
|
|
@@ -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 { StepTextScan } from './step-lexing.js';
|
|
5
|
+
/**
|
|
6
|
+
* Return the source between a record's opening parenthesis and its matching
|
|
7
|
+
* close. The entity reference handed to the extractor can include trailing
|
|
8
|
+
* STEP trivia before `;`; a greedy regex therefore mistakes a `)` inside that
|
|
9
|
+
* trivia for the record close. Strings and comments carry no structure, just
|
|
10
|
+
* as they do in the tokenizer's byte-level record-boundary scanner.
|
|
11
|
+
*/
|
|
12
|
+
export function entityParameters(record, openEnd) {
|
|
13
|
+
let depth = 1;
|
|
14
|
+
const lexical = new StepTextScan(record);
|
|
15
|
+
for (let index = openEnd; index < record.length;) {
|
|
16
|
+
const skipped = lexical.skipLexicalAt(index);
|
|
17
|
+
if (skipped > index) {
|
|
18
|
+
index = skipped;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
const char = record[index];
|
|
22
|
+
if (char === '(')
|
|
23
|
+
depth++;
|
|
24
|
+
else if (char === ')' && --depth === 0)
|
|
25
|
+
return record.slice(openEnd, index);
|
|
26
|
+
index++;
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=step-entity-parameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-entity-parameters.js","sourceRoot":"","sources":["../src/step-entity-parameters.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAe;IAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,IAAI,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;YACpB,KAAK,GAAG,OAAO,CAAC;YAChB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACrB,IAAI,IAAI,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5E,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/parser",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "IFC/STEP parser for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
+
"decimal.js": "^10.6.0",
|
|
20
21
|
"fflate": "^0.8.3",
|
|
21
22
|
"jszip": "^3.10.0",
|
|
22
|
-
"@ifc-lite/encoding": "^2.2.0",
|
|
23
23
|
"@ifc-lite/data": "^4.4.0",
|
|
24
|
+
"@ifc-lite/encoding": "^2.2.0",
|
|
24
25
|
"@ifc-lite/ifcx": "^4.1.1",
|
|
25
|
-
"@ifc-lite/wasm": "^9.
|
|
26
|
+
"@ifc-lite/wasm": "^9.1.0",
|
|
26
27
|
"@ifc-lite/wasm-lifecycle": "^0.2.0"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IFC2X3 `IfcCostSchedule` attribute layout, used by `cost-extractor.ts`.
|
|
3
|
-
*
|
|
4
|
-
* In IFC2X3 `IfcControl` adds no attributes to `IfcObject`, so the schedule's
|
|
5
|
-
* own attributes start at slot 5 (IFC4 inserts `Identification` there and
|
|
6
|
-
* reorders the rest):
|
|
7
|
-
*
|
|
8
|
-
* 5 SubmittedBy, 6 PreparedBy, 7 SubmittedOn, 8 Status, 9 TargetUsers,
|
|
9
|
-
* 10 UpdateDate, 11 ID, 12 PredefinedType
|
|
10
|
-
*
|
|
11
|
-
* `SubmittedOn`/`UpdateDate` are `IfcDateTimeSelect` — a reference to an
|
|
12
|
-
* `IfcCalendarDate` or `IfcDateAndTime` entity, not the IFC4 ISO string — so
|
|
13
|
-
* they are resolved here into the same `YYYY-MM-DD[THH:MM:SS]` shape the IFC4
|
|
14
|
-
* path returns.
|
|
15
|
-
*/
|
|
16
|
-
import type { EntityExtractor } from './entity-extractor.js';
|
|
17
|
-
import type { IfcDataStore } from './columnar-parser.js';
|
|
18
|
-
export declare const COST_SCHEDULE_ATTR_2X3: {
|
|
19
|
-
readonly SubmittedOn: 7;
|
|
20
|
-
readonly Status: 8;
|
|
21
|
-
readonly UpdateDate: 10;
|
|
22
|
-
readonly ID: 11;
|
|
23
|
-
readonly PredefinedType: 12;
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Resolve an IFC2X3 `IfcDateTimeSelect` attribute (an entity reference) to an
|
|
27
|
-
* ISO-like string; `undefined` for `$`, a non-reference, or an unresolvable
|
|
28
|
-
* / unexpected target type.
|
|
29
|
-
*/
|
|
30
|
-
export declare function resolveDateTimeSelect2x3(extractor: EntityExtractor, store: IfcDataStore, value: unknown): string | undefined;
|
|
31
|
-
//# sourceMappingURL=cost-schedule-2x3.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cost-schedule-2x3.d.ts","sourceRoot":"","sources":["../src/cost-schedule-2x3.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,eAAO,MAAM,sBAAsB;;;;;;CAMzB,CAAC;AAsBX;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,OAAO,GACb,MAAM,GAAG,SAAS,CAmBpB"}
|
|
@@ -1,75 +0,0 @@
|
|
|
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
|
-
* IFC2X3 `IfcCostSchedule` attribute layout, used by `cost-extractor.ts`.
|
|
6
|
-
*
|
|
7
|
-
* In IFC2X3 `IfcControl` adds no attributes to `IfcObject`, so the schedule's
|
|
8
|
-
* own attributes start at slot 5 (IFC4 inserts `Identification` there and
|
|
9
|
-
* reorders the rest):
|
|
10
|
-
*
|
|
11
|
-
* 5 SubmittedBy, 6 PreparedBy, 7 SubmittedOn, 8 Status, 9 TargetUsers,
|
|
12
|
-
* 10 UpdateDate, 11 ID, 12 PredefinedType
|
|
13
|
-
*
|
|
14
|
-
* `SubmittedOn`/`UpdateDate` are `IfcDateTimeSelect` — a reference to an
|
|
15
|
-
* `IfcCalendarDate` or `IfcDateAndTime` entity, not the IFC4 ISO string — so
|
|
16
|
-
* they are resolved here into the same `YYYY-MM-DD[THH:MM:SS]` shape the IFC4
|
|
17
|
-
* path returns.
|
|
18
|
-
*/
|
|
19
|
-
export const COST_SCHEDULE_ATTR_2X3 = {
|
|
20
|
-
SubmittedOn: 7,
|
|
21
|
-
Status: 8,
|
|
22
|
-
UpdateDate: 10,
|
|
23
|
-
ID: 11,
|
|
24
|
-
PredefinedType: 12,
|
|
25
|
-
};
|
|
26
|
-
function pad2(n) {
|
|
27
|
-
return n < 10 ? `0${n}` : String(n);
|
|
28
|
-
}
|
|
29
|
-
function calendarDate(a) {
|
|
30
|
-
// IfcCalendarDate(DayComponent, MonthComponent, YearComponent)
|
|
31
|
-
const [day, month, year] = a;
|
|
32
|
-
if (typeof day !== 'number' || typeof month !== 'number' || typeof year !== 'number')
|
|
33
|
-
return undefined;
|
|
34
|
-
return `${year}-${pad2(month)}-${pad2(day)}`;
|
|
35
|
-
}
|
|
36
|
-
function localTime(a) {
|
|
37
|
-
// IfcLocalTime(HourComponent, MinuteComponent?, SecondComponent?, Zone?, DaylightSavingOffset?)
|
|
38
|
-
const [hour, minute, second] = a;
|
|
39
|
-
if (typeof hour !== 'number')
|
|
40
|
-
return undefined;
|
|
41
|
-
const m = typeof minute === 'number' ? minute : 0;
|
|
42
|
-
const s = typeof second === 'number' ? Math.floor(second) : 0;
|
|
43
|
-
return `${pad2(hour)}:${pad2(m)}:${pad2(s)}`;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Resolve an IFC2X3 `IfcDateTimeSelect` attribute (an entity reference) to an
|
|
47
|
-
* ISO-like string; `undefined` for `$`, a non-reference, or an unresolvable
|
|
48
|
-
* / unexpected target type.
|
|
49
|
-
*/
|
|
50
|
-
export function resolveDateTimeSelect2x3(extractor, store, value) {
|
|
51
|
-
if (typeof value !== 'number' || !Number.isInteger(value) || value <= 0)
|
|
52
|
-
return undefined;
|
|
53
|
-
const ref = store.entityIndex.byId.get(value);
|
|
54
|
-
if (!ref)
|
|
55
|
-
return undefined;
|
|
56
|
-
const entity = extractor.extractEntity(ref);
|
|
57
|
-
if (!entity)
|
|
58
|
-
return undefined;
|
|
59
|
-
const a = entity.attributes || [];
|
|
60
|
-
const type = ref.type.toUpperCase();
|
|
61
|
-
if (type === 'IFCCALENDARDATE')
|
|
62
|
-
return calendarDate(a);
|
|
63
|
-
if (type === 'IFCDATEANDTIME') {
|
|
64
|
-
// IfcDateAndTime(DateComponent : IfcCalendarDate, TimeComponent : IfcLocalTime)
|
|
65
|
-
const date = resolveDateTimeSelect2x3(extractor, store, a[0]);
|
|
66
|
-
if (date === undefined)
|
|
67
|
-
return undefined;
|
|
68
|
-
const timeRef = typeof a[1] === 'number' ? store.entityIndex.byId.get(a[1]) : undefined;
|
|
69
|
-
const time = timeRef ? extractor.extractEntity(timeRef) : null;
|
|
70
|
-
const clock = time ? localTime(time.attributes || []) : undefined;
|
|
71
|
-
return clock === undefined ? date : `${date}T${clock}`;
|
|
72
|
-
}
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=cost-schedule-2x3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cost-schedule-2x3.js","sourceRoot":"","sources":["../src/cost-schedule-2x3.ts"],"names":[],"mappings":"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"}
|