@ifc-lite/parser 6.4.0 → 6.5.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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- 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/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export { parseIfcx, parseFederatedIfcx, addIfcxOverlay, detectFormat, composeIfc
|
|
|
31
31
|
export { extractMaterials, getMaterialForElement, getMaterialNameForElement, type MaterialsData, type Material, type MaterialLayer, type MaterialLayerSet } from './material-extractor.js';
|
|
32
32
|
export { extractGeoreferencing, transformToWorld, transformToLocal, getCoordinateSystemDescription, computeAngleToGridNorth, type GeoreferenceInfo, type MapConversion, type ProjectedCRS } from './georef-extractor.js';
|
|
33
33
|
export { extractClassifications, getClassificationsForElement, getClassificationCodeForElement, getClassificationPath, groupElementsByClassification, type ClassificationsData, type Classification, type ClassificationReference } from './classification-extractor.js';
|
|
34
|
-
export { extractScheduleOnDemand, parseIso8601Duration, type ScheduleExtraction, type ScheduleTaskInfo, type ScheduleTaskTimeInfo, type ScheduleSequenceInfo, type WorkScheduleInfo, type SequenceTypeEnum, type TaskDurationType, } from './schedule-extractor.js';
|
|
34
|
+
export { extractScheduleOnDemand, parseIso8601Duration, type ScheduleExtraction, type ScheduleTaskInfo, type ScheduleTaskTimeInfo, type ScheduleSequenceInfo, type WorkScheduleInfo, type WorkCalendarInfo, type WorkTimeInfo, type RecurrencePatternInfo, type TimePeriodInfo, type SequenceTypeEnum, type TaskDurationType, } from './schedule-extractor.js';
|
|
35
35
|
export { extractStructuralOnDemand, type StructuralExtraction, type StructuralAnalysisModelInfo, type StructuralMemberInfo, type StructuralConnectionInfo, type StructuralActivityInfo, type StructuralLoadGroupInfo, type StructuralResultGroupInfo, type StructuralLoadInfo, type StructuralLoadConfigurationInfo, type StructuralLoadConfigurationEntry, type StructuralLoadDropReason, type BoundaryConditionInfo, } from './structural-extractor.js';
|
|
36
36
|
export { serializeScheduleToStep, type SerializeScheduleOptions, type SerializeScheduleResult, } from './schedule-serializer.js';
|
|
37
37
|
export { extractCostOnDemand, } from './cost-extractor.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -52,7 +52,8 @@ export { extractMaterials, getMaterialForElement, getMaterialNameForElement } fr
|
|
|
52
52
|
export { extractGeoreferencing, transformToWorld, transformToLocal, getCoordinateSystemDescription, computeAngleToGridNorth } from './georef-extractor.js';
|
|
53
53
|
export { extractClassifications, getClassificationsForElement, getClassificationCodeForElement, getClassificationPath, groupElementsByClassification } from './classification-extractor.js';
|
|
54
54
|
// 4D / scheduling extractor — IfcTask, IfcTaskTime, IfcRelSequence, IfcRelAssignsToProcess,
|
|
55
|
-
// IfcRelAssignsToControl, IfcRelNests, IfcWorkSchedule, IfcWorkPlan, IfcLagTime
|
|
55
|
+
// IfcRelAssignsToControl, IfcRelNests, IfcWorkSchedule, IfcWorkPlan, IfcLagTime, and
|
|
56
|
+
// IfcWorkCalendar with its IfcWorkTime / IfcRecurrencePattern / IfcTimePeriod.
|
|
56
57
|
export { extractScheduleOnDemand, parseIso8601Duration, } from './schedule-extractor.js';
|
|
57
58
|
// Structural analysis extractor — IfcStructuralAnalysisModel, the
|
|
58
59
|
// IfcStructuralMember / IfcStructuralConnection / IfcStructuralActivity
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-schema-slots.d.ts","sourceRoot":"","sources":["../src/relationship-schema-slots.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAEH,KAAK,yBAAyB,EAEjC,MAAM,2CAA2C,CAAC;AAEnD,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC7B;;iDAE6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd;;;6DAGyD;IACzD,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;6EAC6E;AAC7E,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"relationship-schema-slots.d.ts","sourceRoot":"","sources":["../src/relationship-schema-slots.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAEH,KAAK,yBAAyB,EAEjC,MAAM,2CAA2C,CAAC;AAEnD,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC7B;;iDAE6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd;;;6DAGyD;IACzD,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;6EAC6E;AAC7E,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC;CAC7B;AA4FD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAc3F;AAeD;uCACuC;AACvC,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,yBAAyB,GAAG,WAAW,CAAC,MAAM,CAAC,CAWpG;AAID;;;;;GAKG;AACH,wBAAgB,+BAA+B,IAAI,WAAW,CAAC,MAAM,CAAC,CAQrE"}
|
|
@@ -59,6 +59,41 @@ function isReferenceType(registry, typeName) {
|
|
|
59
59
|
return false;
|
|
60
60
|
return true;
|
|
61
61
|
}
|
|
62
|
+
/** True when a reference-typed attribute can appear in STEP as a
|
|
63
|
+
* parenthesised aggregate `(#a,#b)` rather than a bare `#id` — NOT because
|
|
64
|
+
* the attribute itself is declared LIST/SET/ARRAY (that case is already
|
|
65
|
+
* covered by `attr.isList/isSet/isArray`), but because it is a SELECT one
|
|
66
|
+
* of whose alternatives is a defined TYPE that is itself an aggregate.
|
|
67
|
+
*
|
|
68
|
+
* `IfcRelDefinesByProperties.RelatingPropertyDefinition` is the
|
|
69
|
+
* motivating case: typed `IfcPropertySetDefinitionSelect = SELECT
|
|
70
|
+
* (IfcPropertySetDefinition, IfcPropertySetDefinitionSet)`, and
|
|
71
|
+
* `IfcPropertySetDefinitionSet` is `TYPE ... = SET [1:?] OF
|
|
72
|
+
* IfcPropertySetDefinition` — a defined type, not an entity, so a value
|
|
73
|
+
* of that alternative is written inline as `(#20,#21)` with no entity
|
|
74
|
+
* line of its own. `attr.isList` is false here (the ATTRIBUTE is not
|
|
75
|
+
* declared as a list — only one alternative of its select is), so it
|
|
76
|
+
* alone cannot see this. Recurses through nested selects (depth-capped)
|
|
77
|
+
* since a select's alternatives can themselves be selects.
|
|
78
|
+
*
|
|
79
|
+
* Same order-of-checks trap as {@link isReferenceType}: `registry.types`
|
|
80
|
+
* ALSO holds every select's own name (mapped to its literal `SELECT (...)`
|
|
81
|
+
* source), so `registry.selects` must be checked first or a select name
|
|
82
|
+
* passed in here would resolve against its own entry in `.types` instead
|
|
83
|
+
* of recursing into its alternatives. */
|
|
84
|
+
function resolvesToAggregate(registry, typeName, depth = 0) {
|
|
85
|
+
if (depth > 4)
|
|
86
|
+
return false;
|
|
87
|
+
if (Object.prototype.hasOwnProperty.call(registry.selects, typeName)) {
|
|
88
|
+
return registry.selects[typeName].some((alt) => resolvesToAggregate(registry, alt, depth + 1));
|
|
89
|
+
}
|
|
90
|
+
if (Object.prototype.hasOwnProperty.call(registry.enums, typeName))
|
|
91
|
+
return false;
|
|
92
|
+
if (Object.prototype.hasOwnProperty.call(registry.types, typeName)) {
|
|
93
|
+
return /^\s*(LIST|SET|ARRAY|BAG)\b/i.test(registry.types[typeName]);
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
62
97
|
function computeSlotPlan(registry, entityName) {
|
|
63
98
|
const meta = registry.entities[entityName];
|
|
64
99
|
const allAttrs = meta?.allAttributes;
|
|
@@ -72,7 +107,7 @@ function computeSlotPlan(registry, entityName) {
|
|
|
72
107
|
continue;
|
|
73
108
|
const slot = {
|
|
74
109
|
index: i - ROOT_ATTR_COUNT,
|
|
75
|
-
isList: attr.isList || attr.isSet || attr.isArray,
|
|
110
|
+
isList: attr.isList || attr.isSet || attr.isArray || resolvesToAggregate(registry, attr.type),
|
|
76
111
|
};
|
|
77
112
|
if (!relating && attr.name.startsWith('Relating'))
|
|
78
113
|
relating = slot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-schema-slots.js","sourceRoot":"","sources":["../src/relationship-schema-slots.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EACH,2BAA2B,GAG9B,MAAM,2CAA2C,CAAC;AAsBnD,wEAAwE;AACxE,yDAAyD;AACzD,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,qEAAqE;AACrE,uEAAuE;AACvE,0EAA0E;AAC1E,sEAAsE;AACtE,yEAAyE;AACzE,+CAA+C;AAC/C,MAAM,QAAQ,GAAyC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEpF;;;;;;;;;;;;;uEAauE;AACvE,SAAS,eAAe,CAAC,QAAwB,EAAE,QAAgB;IAC/D,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACjF,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACjF,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,QAAwB,EAAE,UAAkB;IACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,EAAE,aAAa,CAAC;IACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,eAAe;QAAE,OAAO,SAAS,CAAC;IAEtE,IAAI,QAAsC,CAAC;IAC3C,IAAI,OAAqC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,eAAe,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,MAAM,IAAI,GAAqB;YAC3B,KAAK,EAAE,CAAC,GAAG,eAAe;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"relationship-schema-slots.js","sourceRoot":"","sources":["../src/relationship-schema-slots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IfcWorkCalendar / IfcWorkTime / IfcRecurrencePattern / IfcTimePeriod
|
|
3
|
+
* shapes and single-entity sub-extractors — the calendar-side sibling of
|
|
4
|
+
* `schedule-types.ts`, split into its own file purely to keep both files
|
|
5
|
+
* under the ~400-line module-size guideline (see AGENTS.md). Same
|
|
6
|
+
* "attribute-index decoding, not cross-entity wiring" concern as
|
|
7
|
+
* `schedule-types.ts`: `schedule-extractor.ts` calls `extractWorkCalendar`
|
|
8
|
+
* once per `IFCWORKCALENDAR` express id and wires the result into
|
|
9
|
+
* `ScheduleTaskInfo.calendarGlobalIds` / `WorkScheduleInfo.calendarGlobalIds`
|
|
10
|
+
* via the generic `IfcRelAssignsToControl` walk it already runs.
|
|
11
|
+
*
|
|
12
|
+
* IFC2X3 is explicitly out of scope: IfcWorkCalendar in that schema has a
|
|
13
|
+
* different, older attribute layout (no `WorkingTimes`/`ExceptionTimes`
|
|
14
|
+
* lists in the same shape), matching this package's existing
|
|
15
|
+
* `TASK_ATTR_2X3` precedent of best-effort degrading rather than
|
|
16
|
+
* re-deriving a second layout. `extractWorkCalendar` below is IFC4/IFC4X3
|
|
17
|
+
* only; a 2X3 file's IFCWORKCALENDAR entities are silently skipped by
|
|
18
|
+
* `schedule-extractor.ts`'s `byType.get('IFCWORKCALENDAR')` walk.
|
|
19
|
+
*/
|
|
20
|
+
import { EntityExtractor } from './entity-extractor.js';
|
|
21
|
+
import type { IfcDataStore } from './columnar-parser.js';
|
|
22
|
+
/**
|
|
23
|
+
* IFC4/IFC4X3 STEP attribute indices for IfcWorkCalendar. Like
|
|
24
|
+
* IfcWorkSchedule/IfcWorkPlan it extends IfcControl < IfcObject <
|
|
25
|
+
* IfcObjectDefinition < IfcRoot, so it shares the same GlobalId..
|
|
26
|
+
* Identification slots (0,2..5) as `WORK_SCHEDULE_ATTR` in
|
|
27
|
+
* schedule-types.ts — but its supertype is IfcControl directly (not
|
|
28
|
+
* IfcWorkControl), so the trailing fields diverge from index 6 onward
|
|
29
|
+
* (WorkingTimes/ExceptionTimes/PredefinedType instead of CreationDate/.../
|
|
30
|
+
* FinishTime). Kept as its own const rather than sharing
|
|
31
|
+
* WORK_SCHEDULE_ATTR's shape past index 5, since reusing it would either
|
|
32
|
+
* need the WorkSchedule-only fields present-but-unused or a confusing
|
|
33
|
+
* partial overlap.
|
|
34
|
+
*/
|
|
35
|
+
export declare const WORK_CALENDAR_ATTR: {
|
|
36
|
+
readonly GlobalId: 0;
|
|
37
|
+
readonly Name: 2;
|
|
38
|
+
readonly Description: 3;
|
|
39
|
+
readonly ObjectType: 4;
|
|
40
|
+
readonly Identification: 5;
|
|
41
|
+
readonly WorkingTimes: 6;
|
|
42
|
+
readonly ExceptionTimes: 7;
|
|
43
|
+
readonly PredefinedType: 8;
|
|
44
|
+
};
|
|
45
|
+
/** A single StartTime/EndTime pair from an IfcRecurrencePattern's TimePeriods. */
|
|
46
|
+
export interface TimePeriodInfo {
|
|
47
|
+
start: string;
|
|
48
|
+
end: string;
|
|
49
|
+
}
|
|
50
|
+
export interface RecurrencePatternInfo {
|
|
51
|
+
recurrenceType?: string;
|
|
52
|
+
dayComponent: number[];
|
|
53
|
+
weekdayComponent: number[];
|
|
54
|
+
monthComponent: number[];
|
|
55
|
+
position?: number;
|
|
56
|
+
interval?: number;
|
|
57
|
+
occurrences?: number;
|
|
58
|
+
/** See `extractRecurrencePattern` below for why this is a plain array of resolved pairs rather than express-id refs. */
|
|
59
|
+
timePeriods: TimePeriodInfo[];
|
|
60
|
+
}
|
|
61
|
+
export interface WorkTimeInfo {
|
|
62
|
+
name?: string;
|
|
63
|
+
dataOrigin?: string;
|
|
64
|
+
userDefinedDataOrigin?: string;
|
|
65
|
+
recurrencePattern?: RecurrencePatternInfo;
|
|
66
|
+
/** IfcDate string, e.g. "2024-05-01". */
|
|
67
|
+
start?: string;
|
|
68
|
+
finish?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface WorkCalendarInfo {
|
|
71
|
+
expressId: number;
|
|
72
|
+
globalId: string;
|
|
73
|
+
name: string;
|
|
74
|
+
description?: string;
|
|
75
|
+
objectType?: string;
|
|
76
|
+
identification?: string;
|
|
77
|
+
predefinedType?: string;
|
|
78
|
+
workingTimes: WorkTimeInfo[];
|
|
79
|
+
exceptionTimes: WorkTimeInfo[];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Extract one IfcWorkCalendar, resolving its WorkingTimes/ExceptionTimes
|
|
83
|
+
* (each an IfcWorkTime, optionally carrying an IfcRecurrencePattern).
|
|
84
|
+
* Shaped like `extractTaskTime` in schedule-types.ts — single entity in,
|
|
85
|
+
* typed record out, `undefined` when the express id doesn't resolve to an
|
|
86
|
+
* IFCWORKCALENDAR.
|
|
87
|
+
*/
|
|
88
|
+
export declare function extractWorkCalendar(extractor: EntityExtractor, store: IfcDataStore, calendarId: number): WorkCalendarInfo | undefined;
|
|
89
|
+
//# sourceMappingURL=schedule-calendar-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-calendar-types.d.ts","sourceRoot":"","sources":["../src/schedule-calendar-types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;CASrB,CAAC;AA8BX,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wHAAwH;IACxH,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;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,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAmFD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,GACjB,gBAAgB,GAAG,SAAS,CA+B9B"}
|
|
@@ -0,0 +1,175 @@
|
|
|
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 { asString, asNumber, asEnum, asRef, asRefList } from './schedule-types.js';
|
|
5
|
+
import { deterministicGlobalId } from './deterministic-global-id.js';
|
|
6
|
+
/**
|
|
7
|
+
* IFC4/IFC4X3 STEP attribute indices for IfcWorkCalendar. Like
|
|
8
|
+
* IfcWorkSchedule/IfcWorkPlan it extends IfcControl < IfcObject <
|
|
9
|
+
* IfcObjectDefinition < IfcRoot, so it shares the same GlobalId..
|
|
10
|
+
* Identification slots (0,2..5) as `WORK_SCHEDULE_ATTR` in
|
|
11
|
+
* schedule-types.ts — but its supertype is IfcControl directly (not
|
|
12
|
+
* IfcWorkControl), so the trailing fields diverge from index 6 onward
|
|
13
|
+
* (WorkingTimes/ExceptionTimes/PredefinedType instead of CreationDate/.../
|
|
14
|
+
* FinishTime). Kept as its own const rather than sharing
|
|
15
|
+
* WORK_SCHEDULE_ATTR's shape past index 5, since reusing it would either
|
|
16
|
+
* need the WorkSchedule-only fields present-but-unused or a confusing
|
|
17
|
+
* partial overlap.
|
|
18
|
+
*/
|
|
19
|
+
export const WORK_CALENDAR_ATTR = {
|
|
20
|
+
GlobalId: 0,
|
|
21
|
+
Name: 2,
|
|
22
|
+
Description: 3,
|
|
23
|
+
ObjectType: 4,
|
|
24
|
+
Identification: 5,
|
|
25
|
+
WorkingTimes: 6,
|
|
26
|
+
ExceptionTimes: 7,
|
|
27
|
+
PredefinedType: 8,
|
|
28
|
+
};
|
|
29
|
+
/** IfcWorkTime extends IfcSchedulingTime — NOT IfcRoot, so no GlobalId. */
|
|
30
|
+
const WORK_TIME_ATTR = {
|
|
31
|
+
Name: 0,
|
|
32
|
+
DataOrigin: 1,
|
|
33
|
+
UserDefinedDataOrigin: 2,
|
|
34
|
+
RecurrencePattern: 3,
|
|
35
|
+
Start: 4,
|
|
36
|
+
Finish: 5,
|
|
37
|
+
};
|
|
38
|
+
/** IfcRecurrencePattern — standalone entity, no supertype. */
|
|
39
|
+
const RECURRENCE_PATTERN_ATTR = {
|
|
40
|
+
RecurrenceType: 0,
|
|
41
|
+
DayComponent: 1,
|
|
42
|
+
WeekdayComponent: 2,
|
|
43
|
+
MonthComponent: 3,
|
|
44
|
+
Position: 4,
|
|
45
|
+
Interval: 5,
|
|
46
|
+
Occurrences: 6,
|
|
47
|
+
TimePeriods: 7,
|
|
48
|
+
};
|
|
49
|
+
/** IfcTimePeriod — standalone entity, StartTime/EndTime only. */
|
|
50
|
+
const TIME_PERIOD_ATTR = {
|
|
51
|
+
StartTime: 0,
|
|
52
|
+
EndTime: 1,
|
|
53
|
+
};
|
|
54
|
+
function extractTimePeriod(extractor, store, timePeriodId) {
|
|
55
|
+
const ref = store.entityIndex.byId.get(timePeriodId);
|
|
56
|
+
if (!ref)
|
|
57
|
+
return undefined;
|
|
58
|
+
const entity = extractor.extractEntity(ref);
|
|
59
|
+
if (!entity)
|
|
60
|
+
return undefined;
|
|
61
|
+
if (entity.type.toUpperCase() !== 'IFCTIMEPERIOD')
|
|
62
|
+
return undefined;
|
|
63
|
+
const a = entity.attributes || [];
|
|
64
|
+
const start = asString(a[TIME_PERIOD_ATTR.StartTime]);
|
|
65
|
+
const end = asString(a[TIME_PERIOD_ATTR.EndTime]);
|
|
66
|
+
if (start === undefined || end === undefined)
|
|
67
|
+
return undefined;
|
|
68
|
+
return { start, end };
|
|
69
|
+
}
|
|
70
|
+
function extractRecurrencePattern(extractor, store, patternId) {
|
|
71
|
+
const ref = store.entityIndex.byId.get(patternId);
|
|
72
|
+
if (!ref)
|
|
73
|
+
return undefined;
|
|
74
|
+
const entity = extractor.extractEntity(ref);
|
|
75
|
+
if (!entity)
|
|
76
|
+
return undefined;
|
|
77
|
+
if (entity.type.toUpperCase() !== 'IFCRECURRENCEPATTERN')
|
|
78
|
+
return undefined;
|
|
79
|
+
const a = entity.attributes || [];
|
|
80
|
+
// TimePeriods is a LIST of IfcTimePeriod entity refs (IfcTimePeriod is a
|
|
81
|
+
// standalone two-attribute entity, not an inline aggregate), so resolving
|
|
82
|
+
// it is the same one-level "list of refs -> resolve each" shape as
|
|
83
|
+
// WorkingTimes/ExceptionTimes below — straightforward enough to extract in
|
|
84
|
+
// full rather than falling back to the opaque-list option the task spec
|
|
85
|
+
// allowed for.
|
|
86
|
+
const timePeriodIds = asRefList(a[RECURRENCE_PATTERN_ATTR.TimePeriods]);
|
|
87
|
+
const timePeriods = [];
|
|
88
|
+
for (const id of timePeriodIds) {
|
|
89
|
+
const tp = extractTimePeriod(extractor, store, id);
|
|
90
|
+
if (tp)
|
|
91
|
+
timePeriods.push(tp);
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
recurrenceType: asEnum(a[RECURRENCE_PATTERN_ATTR.RecurrenceType]),
|
|
95
|
+
dayComponent: asNumberList(a[RECURRENCE_PATTERN_ATTR.DayComponent]),
|
|
96
|
+
weekdayComponent: asNumberList(a[RECURRENCE_PATTERN_ATTR.WeekdayComponent]),
|
|
97
|
+
monthComponent: asNumberList(a[RECURRENCE_PATTERN_ATTR.MonthComponent]),
|
|
98
|
+
position: asNumber(a[RECURRENCE_PATTERN_ATTR.Position]),
|
|
99
|
+
interval: asNumber(a[RECURRENCE_PATTERN_ATTR.Interval]),
|
|
100
|
+
occurrences: asNumber(a[RECURRENCE_PATTERN_ATTR.Occurrences]),
|
|
101
|
+
timePeriods,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function asNumberList(value) {
|
|
105
|
+
if (!Array.isArray(value))
|
|
106
|
+
return [];
|
|
107
|
+
return value.map(asNumber).filter((n) => n !== undefined);
|
|
108
|
+
}
|
|
109
|
+
function extractWorkTime(extractor, store, workTimeId) {
|
|
110
|
+
const ref = store.entityIndex.byId.get(workTimeId);
|
|
111
|
+
if (!ref)
|
|
112
|
+
return undefined;
|
|
113
|
+
const entity = extractor.extractEntity(ref);
|
|
114
|
+
if (!entity)
|
|
115
|
+
return undefined;
|
|
116
|
+
if (entity.type.toUpperCase() !== 'IFCWORKTIME')
|
|
117
|
+
return undefined;
|
|
118
|
+
const a = entity.attributes || [];
|
|
119
|
+
const recurrenceId = asRef(a[WORK_TIME_ATTR.RecurrencePattern]);
|
|
120
|
+
return {
|
|
121
|
+
name: asString(a[WORK_TIME_ATTR.Name]),
|
|
122
|
+
dataOrigin: asEnum(a[WORK_TIME_ATTR.DataOrigin]),
|
|
123
|
+
userDefinedDataOrigin: asString(a[WORK_TIME_ATTR.UserDefinedDataOrigin]),
|
|
124
|
+
recurrencePattern: recurrenceId !== undefined
|
|
125
|
+
? extractRecurrencePattern(extractor, store, recurrenceId)
|
|
126
|
+
: undefined,
|
|
127
|
+
start: asString(a[WORK_TIME_ATTR.Start]),
|
|
128
|
+
finish: asString(a[WORK_TIME_ATTR.Finish]),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Extract one IfcWorkCalendar, resolving its WorkingTimes/ExceptionTimes
|
|
133
|
+
* (each an IfcWorkTime, optionally carrying an IfcRecurrencePattern).
|
|
134
|
+
* Shaped like `extractTaskTime` in schedule-types.ts — single entity in,
|
|
135
|
+
* typed record out, `undefined` when the express id doesn't resolve to an
|
|
136
|
+
* IFCWORKCALENDAR.
|
|
137
|
+
*/
|
|
138
|
+
export function extractWorkCalendar(extractor, store, calendarId) {
|
|
139
|
+
const ref = store.entityIndex.byId.get(calendarId);
|
|
140
|
+
if (!ref)
|
|
141
|
+
return undefined;
|
|
142
|
+
const entity = extractor.extractEntity(ref);
|
|
143
|
+
if (!entity)
|
|
144
|
+
return undefined;
|
|
145
|
+
if (entity.type.toUpperCase() !== 'IFCWORKCALENDAR')
|
|
146
|
+
return undefined;
|
|
147
|
+
const a = entity.attributes || [];
|
|
148
|
+
const workingTimeIds = asRefList(a[WORK_CALENDAR_ATTR.WorkingTimes]);
|
|
149
|
+
const exceptionTimeIds = asRefList(a[WORK_CALENDAR_ATTR.ExceptionTimes]);
|
|
150
|
+
const workingTimes = [];
|
|
151
|
+
for (const id of workingTimeIds) {
|
|
152
|
+
const wt = extractWorkTime(extractor, store, id);
|
|
153
|
+
if (wt)
|
|
154
|
+
workingTimes.push(wt);
|
|
155
|
+
}
|
|
156
|
+
const exceptionTimes = [];
|
|
157
|
+
for (const id of exceptionTimeIds) {
|
|
158
|
+
const wt = extractWorkTime(extractor, store, id);
|
|
159
|
+
if (wt)
|
|
160
|
+
exceptionTimes.push(wt);
|
|
161
|
+
}
|
|
162
|
+
return {
|
|
163
|
+
expressId: calendarId,
|
|
164
|
+
globalId: asString(a[WORK_CALENDAR_ATTR.GlobalId])
|
|
165
|
+
?? deterministicGlobalId(`extracted-work-calendar|${calendarId}`),
|
|
166
|
+
name: asString(a[WORK_CALENDAR_ATTR.Name]) ?? '',
|
|
167
|
+
description: asString(a[WORK_CALENDAR_ATTR.Description]),
|
|
168
|
+
objectType: asString(a[WORK_CALENDAR_ATTR.ObjectType]),
|
|
169
|
+
identification: asString(a[WORK_CALENDAR_ATTR.Identification]),
|
|
170
|
+
predefinedType: asEnum(a[WORK_CALENDAR_ATTR.PredefinedType]),
|
|
171
|
+
workingTimes,
|
|
172
|
+
exceptionTimes,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=schedule-calendar-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-calendar-types.js","sourceRoot":"","sources":["../src/schedule-calendar-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The IfcControl side of the schedule walk — the three IfcControl subtypes
|
|
3
|
+
* `schedule-extractor.ts` resolves (IfcWorkSchedule, IfcWorkPlan,
|
|
4
|
+
* IfcWorkCalendar), plus the calendar branch of its IfcRelAssignsToControl
|
|
5
|
+
* pass. Split out of `schedule-extractor.ts` purely to keep both files
|
|
6
|
+
* under the ~400-line module-size guideline (see AGENTS.md) — same reason
|
|
7
|
+
* `schedule-calendar-types.ts` was split from `schedule-types.ts`.
|
|
8
|
+
*/
|
|
9
|
+
import { EntityExtractor } from './entity-extractor.js';
|
|
10
|
+
import type { IfcDataStore } from './columnar-parser.js';
|
|
11
|
+
import type { ScheduleTaskInfo, WorkScheduleInfo } from './schedule-types.js';
|
|
12
|
+
import type { WorkCalendarInfo } from './schedule-calendar-types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Decode one IfcWorkSchedule or IfcWorkPlan. Both go through IfcWorkControl
|
|
15
|
+
* and share an identical attribute layout, so `kind` picks the record's
|
|
16
|
+
* label rather than a different set of indices. `globalIdByExpressId` is the
|
|
17
|
+
* caller's shared express-id -> GlobalId map, recorded here so the later
|
|
18
|
+
* passes can resolve a schedule by either key.
|
|
19
|
+
*/
|
|
20
|
+
export declare function extractWorkScheduleInfo(extractor: EntityExtractor, store: IfcDataStore, expressId: number, kind: 'WorkSchedule' | 'WorkPlan', globalIdByExpressId: Map<number, string>): WorkScheduleInfo | null;
|
|
21
|
+
/** Extract every IFCWORKCALENDAR express id into a WorkCalendarInfo, keyed both as a flat list and by express id (for the assignment walk below). */
|
|
22
|
+
export declare function extractWorkCalendars(extractor: EntityExtractor, store: IfcDataStore, workCalendarIds: number[]): {
|
|
23
|
+
workCalendars: WorkCalendarInfo[];
|
|
24
|
+
calendarByExpressId: Map<number, WorkCalendarInfo>;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Given one IfcRelAssignsToControl's already-decoded RelatingControl id and
|
|
28
|
+
* RelatedObjects, check whether RelatingControl resolves to a calendar
|
|
29
|
+
* (rather than a schedule/work-plan, which the caller's own branch handles)
|
|
30
|
+
* and if so populate `calendarGlobalIds` on every related task/schedule it
|
|
31
|
+
* resolves to. A task or schedule can carry both a controlling schedule AND
|
|
32
|
+
* a calendar via two separate IfcRelAssignsToControl relation instances —
|
|
33
|
+
* this only ever touches `calendarGlobalIds`, so it never clobbers
|
|
34
|
+
* `controllingScheduleGlobalIds`/`taskGlobalIds` populated by the caller's
|
|
35
|
+
* schedule-control branch for a *different* relation.
|
|
36
|
+
*
|
|
37
|
+
* Returns true when this relation WAS a calendar assignment, so the caller
|
|
38
|
+
* knows to skip its own schedule/work-plan handling for it.
|
|
39
|
+
*/
|
|
40
|
+
export declare function tryAssignCalendar(controlId: number, objects: number[], calendarByExpressId: Map<number, WorkCalendarInfo>, taskByExpressId: Map<number, ScheduleTaskInfo>, scheduleByExpressId: Map<number, WorkScheduleInfo>): boolean;
|
|
41
|
+
//# sourceMappingURL=schedule-control-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-control-extractor.d.ts","sourceRoot":"","sources":["../src/schedule-control-extractor.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,GAAG,UAAU,EACjC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,gBAAgB,GAAG,IAAI,CA0BzB;AAED,qJAAqJ;AACrJ,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EAAE,GACxB;IAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAAE,CAW3F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAClD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC9C,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACjD,OAAO,CAiBT"}
|
|
@@ -0,0 +1,91 @@
|
|
|
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 { WORK_SCHEDULE_ATTR, WORK_PLAN_ATTR, asString, asEnum } from './schedule-types.js';
|
|
5
|
+
import { extractWorkCalendar } from './schedule-calendar-types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Decode one IfcWorkSchedule or IfcWorkPlan. Both go through IfcWorkControl
|
|
8
|
+
* and share an identical attribute layout, so `kind` picks the record's
|
|
9
|
+
* label rather than a different set of indices. `globalIdByExpressId` is the
|
|
10
|
+
* caller's shared express-id -> GlobalId map, recorded here so the later
|
|
11
|
+
* passes can resolve a schedule by either key.
|
|
12
|
+
*/
|
|
13
|
+
export function extractWorkScheduleInfo(extractor, store, expressId, kind, globalIdByExpressId) {
|
|
14
|
+
const ref = store.entityIndex.byId.get(expressId);
|
|
15
|
+
if (!ref)
|
|
16
|
+
return null;
|
|
17
|
+
const entity = extractor.extractEntity(ref);
|
|
18
|
+
if (!entity)
|
|
19
|
+
return null;
|
|
20
|
+
const a = entity.attributes || [];
|
|
21
|
+
const layout = kind === 'WorkPlan' ? WORK_PLAN_ATTR : WORK_SCHEDULE_ATTR;
|
|
22
|
+
const globalId = asString(a[layout.GlobalId]) ?? '';
|
|
23
|
+
const info = {
|
|
24
|
+
expressId,
|
|
25
|
+
kind,
|
|
26
|
+
globalId,
|
|
27
|
+
name: asString(a[layout.Name]) ?? kind,
|
|
28
|
+
description: asString(a[layout.Description]),
|
|
29
|
+
identification: asString(a[layout.Identification]),
|
|
30
|
+
creationDate: asString(a[layout.CreationDate]),
|
|
31
|
+
purpose: asString(a[layout.Purpose]),
|
|
32
|
+
duration: asString(a[layout.Duration]),
|
|
33
|
+
startTime: asString(a[layout.StartTime]),
|
|
34
|
+
finishTime: asString(a[layout.FinishTime]),
|
|
35
|
+
predefinedType: asEnum(a[layout.PredefinedType]),
|
|
36
|
+
taskGlobalIds: [],
|
|
37
|
+
childScheduleGlobalIds: [],
|
|
38
|
+
};
|
|
39
|
+
if (globalId)
|
|
40
|
+
globalIdByExpressId.set(expressId, globalId);
|
|
41
|
+
return info;
|
|
42
|
+
}
|
|
43
|
+
/** Extract every IFCWORKCALENDAR express id into a WorkCalendarInfo, keyed both as a flat list and by express id (for the assignment walk below). */
|
|
44
|
+
export function extractWorkCalendars(extractor, store, workCalendarIds) {
|
|
45
|
+
const workCalendars = [];
|
|
46
|
+
const calendarByExpressId = new Map();
|
|
47
|
+
for (const id of workCalendarIds) {
|
|
48
|
+
const info = extractWorkCalendar(extractor, store, id);
|
|
49
|
+
if (info) {
|
|
50
|
+
workCalendars.push(info);
|
|
51
|
+
calendarByExpressId.set(id, info);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return { workCalendars, calendarByExpressId };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Given one IfcRelAssignsToControl's already-decoded RelatingControl id and
|
|
58
|
+
* RelatedObjects, check whether RelatingControl resolves to a calendar
|
|
59
|
+
* (rather than a schedule/work-plan, which the caller's own branch handles)
|
|
60
|
+
* and if so populate `calendarGlobalIds` on every related task/schedule it
|
|
61
|
+
* resolves to. A task or schedule can carry both a controlling schedule AND
|
|
62
|
+
* a calendar via two separate IfcRelAssignsToControl relation instances —
|
|
63
|
+
* this only ever touches `calendarGlobalIds`, so it never clobbers
|
|
64
|
+
* `controllingScheduleGlobalIds`/`taskGlobalIds` populated by the caller's
|
|
65
|
+
* schedule-control branch for a *different* relation.
|
|
66
|
+
*
|
|
67
|
+
* Returns true when this relation WAS a calendar assignment, so the caller
|
|
68
|
+
* knows to skip its own schedule/work-plan handling for it.
|
|
69
|
+
*/
|
|
70
|
+
export function tryAssignCalendar(controlId, objects, calendarByExpressId, taskByExpressId, scheduleByExpressId) {
|
|
71
|
+
const calendar = calendarByExpressId.get(controlId);
|
|
72
|
+
if (!calendar)
|
|
73
|
+
return false;
|
|
74
|
+
for (const objId of objects) {
|
|
75
|
+
const task = taskByExpressId.get(objId);
|
|
76
|
+
if (task) {
|
|
77
|
+
const ids = (task.calendarGlobalIds ??= []);
|
|
78
|
+
if (!ids.includes(calendar.globalId))
|
|
79
|
+
ids.push(calendar.globalId);
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
const schedule = scheduleByExpressId.get(objId);
|
|
83
|
+
if (schedule) {
|
|
84
|
+
const ids = (schedule.calendarGlobalIds ??= []);
|
|
85
|
+
if (!ids.includes(calendar.globalId))
|
|
86
|
+
ids.push(calendar.globalId);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=schedule-control-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-control-extractor.js","sourceRoot":"","sources":["../src/schedule-control-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { parseIso8601Duration } from './iso8601-duration.js';
|
|
|
3
3
|
import type { SequenceTypeEnum, TaskDurationType, ScheduleTaskTimeInfo, ScheduleTaskInfo, ScheduleSequenceInfo, WorkScheduleInfo, ScheduleExtraction } from './schedule-types.js';
|
|
4
4
|
export { parseIso8601Duration };
|
|
5
5
|
export type { SequenceTypeEnum, TaskDurationType, ScheduleTaskTimeInfo, ScheduleTaskInfo, ScheduleSequenceInfo, WorkScheduleInfo, ScheduleExtraction, };
|
|
6
|
+
export type { WorkCalendarInfo, WorkTimeInfo, RecurrencePatternInfo, TimePeriodInfo } from './schedule-calendar-types.js';
|
|
6
7
|
/**
|
|
7
8
|
* Extract all scheduling data from a parsed IFC store.
|
|
8
9
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-extractor.d.ts","sourceRoot":"","sources":["../src/schedule-extractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schedule-extractor.d.ts","sourceRoot":"","sources":["../src/schedule-extractor.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAkB7D,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAKhC,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,CAAC;AAGF,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE1H;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAkT/E"}
|