@ifc-lite/export 3.0.0 → 3.1.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.
Files changed (137) hide show
  1. package/README.md +34 -0
  2. package/dist/anonymize-export.d.ts +60 -0
  3. package/dist/anonymize-export.d.ts.map +1 -0
  4. package/dist/anonymize-export.js +117 -0
  5. package/dist/anonymize-export.js.map +1 -0
  6. package/dist/anonymize-placement.d.ts +71 -0
  7. package/dist/anonymize-placement.d.ts.map +1 -0
  8. package/dist/anonymize-placement.js +266 -0
  9. package/dist/anonymize-placement.js.map +1 -0
  10. package/dist/anonymize-scrub.d.ts +64 -0
  11. package/dist/anonymize-scrub.d.ts.map +1 -0
  12. package/dist/anonymize-scrub.js +312 -0
  13. package/dist/anonymize-scrub.js.map +1 -0
  14. package/dist/anonymize-types.d.ts +212 -0
  15. package/dist/anonymize-types.d.ts.map +1 -0
  16. package/dist/anonymize-types.js +5 -0
  17. package/dist/anonymize-types.js.map +1 -0
  18. package/dist/declared-property-type.d.ts +19 -8
  19. package/dist/declared-property-type.d.ts.map +1 -1
  20. package/dist/declared-property-type.js +31 -9
  21. package/dist/declared-property-type.js.map +1 -1
  22. package/dist/entity-type-sets.d.ts +47 -0
  23. package/dist/entity-type-sets.d.ts.map +1 -0
  24. package/dist/entity-type-sets.js +91 -0
  25. package/dist/entity-type-sets.js.map +1 -0
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +5 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/merged-exporter.d.ts +19 -0
  31. package/dist/merged-exporter.d.ts.map +1 -1
  32. package/dist/merged-exporter.js +1 -1
  33. package/dist/merged-exporter.js.map +1 -1
  34. package/dist/parquet-exporter.d.ts +1 -3
  35. package/dist/parquet-exporter.d.ts.map +1 -1
  36. package/dist/parquet-exporter.js +11 -10
  37. package/dist/parquet-exporter.js.map +1 -1
  38. package/dist/property-value-serialization.d.ts +54 -0
  39. package/dist/property-value-serialization.d.ts.map +1 -0
  40. package/dist/property-value-serialization.js +134 -0
  41. package/dist/property-value-serialization.js.map +1 -0
  42. package/dist/reference-collector.d.ts +47 -0
  43. package/dist/reference-collector.d.ts.map +1 -1
  44. package/dist/reference-collector.js +88 -156
  45. package/dist/reference-collector.js.map +1 -1
  46. package/dist/related-entities.d.ts +10 -0
  47. package/dist/related-entities.d.ts.map +1 -0
  48. package/dist/related-entities.js +259 -0
  49. package/dist/related-entities.js.map +1 -0
  50. package/dist/schema-converter.d.ts.map +1 -1
  51. package/dist/schema-converter.js +46 -96
  52. package/dist/schema-converter.js.map +1 -1
  53. package/dist/source-ref-bounds.d.ts +3 -3
  54. package/dist/source-ref-bounds.js +3 -3
  55. package/dist/step-attribute-mutations.d.ts +0 -42
  56. package/dist/step-attribute-mutations.d.ts.map +1 -1
  57. package/dist/step-attribute-mutations.js +17 -147
  58. package/dist/step-attribute-mutations.js.map +1 -1
  59. package/dist/step-attribute-serializers.d.ts +41 -0
  60. package/dist/step-attribute-serializers.d.ts.map +1 -0
  61. package/dist/step-attribute-serializers.js +74 -0
  62. package/dist/step-attribute-serializers.js.map +1 -0
  63. package/dist/step-collection.d.ts +2 -2
  64. package/dist/step-collection.d.ts.map +1 -1
  65. package/dist/step-collection.js +38 -8
  66. package/dist/step-collection.js.map +1 -1
  67. package/dist/step-export-contexts.d.ts +5 -7
  68. package/dist/step-export-contexts.d.ts.map +1 -1
  69. package/dist/step-export-contexts.js +6 -7
  70. package/dist/step-export-contexts.js.map +1 -1
  71. package/dist/step-export-types.d.ts +27 -0
  72. package/dist/step-export-types.d.ts.map +1 -1
  73. package/dist/step-export-types.js.map +1 -1
  74. package/dist/step-exporter.d.ts +3 -3
  75. package/dist/step-exporter.js +4 -4
  76. package/dist/step-exporter.js.map +1 -1
  77. package/dist/step-geometry-types.d.ts +1 -17
  78. package/dist/step-geometry-types.d.ts.map +1 -1
  79. package/dist/step-geometry-types.js +51 -35
  80. package/dist/step-geometry-types.js.map +1 -1
  81. package/dist/step-georeferencing.d.ts +0 -10
  82. package/dist/step-georeferencing.d.ts.map +1 -1
  83. package/dist/step-georeferencing.js +46 -94
  84. package/dist/step-georeferencing.js.map +1 -1
  85. package/dist/step-header.d.ts +11 -1
  86. package/dist/step-header.d.ts.map +1 -1
  87. package/dist/step-header.js +2 -9
  88. package/dist/step-header.js.map +1 -1
  89. package/dist/step-map-unit.d.ts +90 -0
  90. package/dist/step-map-unit.d.ts.map +1 -0
  91. package/dist/step-map-unit.js +277 -0
  92. package/dist/step-map-unit.js.map +1 -0
  93. package/dist/step-overlay-attribute-overrides.d.ts +32 -0
  94. package/dist/step-overlay-attribute-overrides.d.ts.map +1 -0
  95. package/dist/step-overlay-attribute-overrides.js +83 -0
  96. package/dist/step-overlay-attribute-overrides.js.map +1 -0
  97. package/dist/step-overlay-entities.d.ts +3 -3
  98. package/dist/step-pass-builder.d.ts +4 -3
  99. package/dist/step-pass-builder.d.ts.map +1 -1
  100. package/dist/step-pass-builder.js.map +1 -1
  101. package/dist/step-property-set-collection.d.ts +24 -0
  102. package/dist/step-property-set-collection.d.ts.map +1 -0
  103. package/dist/step-property-set-collection.js +286 -0
  104. package/dist/step-property-set-collection.js.map +1 -0
  105. package/dist/step-property-set-generators.d.ts +20 -0
  106. package/dist/step-property-set-generators.d.ts.map +1 -0
  107. package/dist/step-property-set-generators.js +98 -0
  108. package/dist/step-property-set-generators.js.map +1 -0
  109. package/dist/step-property-set-index.d.ts +25 -0
  110. package/dist/step-property-set-index.d.ts.map +1 -0
  111. package/dist/step-property-set-index.js +69 -0
  112. package/dist/step-property-set-index.js.map +1 -0
  113. package/dist/step-property-set-readers.d.ts +158 -0
  114. package/dist/step-property-set-readers.d.ts.map +1 -0
  115. package/dist/step-property-set-readers.js +251 -0
  116. package/dist/step-property-set-readers.js.map +1 -0
  117. package/dist/step-property-sets.d.ts +2 -186
  118. package/dist/step-property-sets.d.ts.map +1 -1
  119. package/dist/step-property-sets.js +22 -674
  120. package/dist/step-property-sets.js.map +1 -1
  121. package/dist/step-serialization.d.ts +17 -51
  122. package/dist/step-serialization.d.ts.map +1 -1
  123. package/dist/step-serialization.js +19 -128
  124. package/dist/step-serialization.js.map +1 -1
  125. package/dist/step-source-iteration.d.ts +7 -5
  126. package/dist/step-source-iteration.d.ts.map +1 -1
  127. package/dist/step-source-iteration.js +3 -3
  128. package/dist/step-source-iteration.js.map +1 -1
  129. package/dist/subset-entity-reader.d.ts +103 -0
  130. package/dist/subset-entity-reader.d.ts.map +1 -0
  131. package/dist/subset-entity-reader.js +102 -0
  132. package/dist/subset-entity-reader.js.map +1 -0
  133. package/dist/subset-roots.d.ts +58 -0
  134. package/dist/subset-roots.d.ts.map +1 -0
  135. package/dist/subset-roots.js +103 -0
  136. package/dist/subset-roots.js.map +1 -0
  137. package/package.json +7 -7
@@ -3,6 +3,13 @@
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
4
  import { asSourceBytes } from '@ifc-lite/parser';
5
5
  import { splitTopLevelArgs } from './step-argument-parser.js';
6
+ // Schema-derived type-set machinery (INFRASTRUCTURE_TYPES, PRODUCT_TYPES,
7
+ // collectDescendantNames) lives in `entity-type-sets.ts` — shared with
8
+ // `subset-roots.ts`, which derives IFC_ROOT_TYPES the same way. Re-exported
9
+ // below so every existing `from './reference-collector.js'` import keeps
10
+ // working unchanged.
11
+ import { INFRASTRUCTURE_TYPES, PRODUCT_TYPES, collectDescendantNames } from './entity-type-sets.js';
12
+ export { INFRASTRUCTURE_TYPES, PRODUCT_TYPES, collectDescendantNames };
6
13
  /**
7
14
  * UTF-8 decode of `[start, end)` of the source. Mirrors `step-exporter.ts` /
8
15
  * `merged-exporter.ts`'s local `decodeRange` (SAB-safe via the accessor);
@@ -18,24 +25,6 @@ const HASH = 0x23; // '#'
18
25
  const ZERO = 0x30; // '0'
19
26
  const NINE = 0x39; // '9'
20
27
  const QUOTE = 0x27; // "'"
21
- /** Entity types that form the shared file infrastructure and must always be included. */
22
- const INFRASTRUCTURE_TYPES = new Set([
23
- 'IFCOWNERHISTORY',
24
- 'IFCAPPLICATION',
25
- 'IFCPERSON',
26
- 'IFCORGANIZATION',
27
- 'IFCPERSONANDORGANIZATION',
28
- 'IFCUNITASSIGNMENT',
29
- 'IFCSIUNIT',
30
- 'IFCDERIVEDUNIT',
31
- 'IFCDERIVEDUNITELEMENT',
32
- 'IFCCONVERSIONBASEDUNIT',
33
- 'IFCMEASUREWITHUNIT',
34
- 'IFCDIMENSIONALEXPONENTS',
35
- 'IFCMONETARYUNIT',
36
- 'IFCGEOMETRICREPRESENTATIONCONTEXT',
37
- 'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
38
- ]);
39
28
  /**
40
29
  * Spatial structure entity types — always included as roots.
41
30
  * Covers IFC4 and IFC4X3 (bridges, roads, railways, marine facilities).
@@ -56,121 +45,6 @@ const SPATIAL_STRUCTURE_TYPES = new Set([
56
45
  'IFCSPATIALELEMENT', 'IFCSPATIALSTRUCTUREELEMENT', 'IFCSPATIALZONE',
57
46
  'IFCEXTERNALSPATIALELEMENT', 'IFCEXTERNALSPATIALSTRUCTUREELEMENT',
58
47
  ]);
59
- /**
60
- * Complete set of all IfcProduct subtypes from the IFC4 + IFC4X3 schemas,
61
- * excluding spatial structure types (handled above). Generated from the
62
- * schema registry's inheritanceChain metadata.
63
- *
64
- * 202 types — full IFC schema coverage. The hiddenIds fallback below
65
- * catches any types that may exist in future schema versions.
66
- */
67
- const PRODUCT_TYPES = new Set([
68
- // IfcElement > IfcBuildingElement
69
- 'IFCBEAM', 'IFCBEAMSTANDARDCASE', 'IFCBUILDINGELEMENT',
70
- 'IFCBUILDINGELEMENTPART', 'IFCBUILDINGELEMENTPROXY', 'IFCBUILTELEMENT',
71
- 'IFCCHIMNEY', 'IFCCOLUMN', 'IFCCOLUMNSTANDARDCASE',
72
- 'IFCCOVERING', 'IFCCURTAINWALL',
73
- 'IFCDEEPFOUNDATION', 'IFCDOOR', 'IFCDOORSTANDARDCASE',
74
- 'IFCFOOTING', 'IFCMEMBER', 'IFCMEMBERSTANDARDCASE',
75
- 'IFCPILE', 'IFCPLATE', 'IFCPLATESTANDARDCASE',
76
- 'IFCRAILING', 'IFCRAMP', 'IFCRAMPFLIGHT',
77
- 'IFCROOF', 'IFCSHADINGDEVICE',
78
- 'IFCSLAB', 'IFCSLABELEMENTEDCASE', 'IFCSLABSTANDARDCASE',
79
- 'IFCSTAIR', 'IFCSTAIRFLIGHT',
80
- 'IFCWALL', 'IFCWALLELEMENTEDCASE', 'IFCWALLSTANDARDCASE',
81
- 'IFCWINDOW', 'IFCWINDOWSTANDARDCASE',
82
- // IfcElement > IfcDistributionElement
83
- 'IFCDISTRIBUTIONELEMENT', 'IFCDISTRIBUTIONCONTROLELEMENT',
84
- 'IFCDISTRIBUTIONFLOWELEMENT', 'IFCDISTRIBUTIONCHAMBERELEMENT',
85
- 'IFCDISTRIBUTIONPORT', 'IFCDISTRIBUTIONBOARD',
86
- // IfcDistributionControlElement subtypes
87
- 'IFCACTUATOR', 'IFCALARM', 'IFCCONTROLLER',
88
- 'IFCFLOWINSTRUMENT', 'IFCPROTECTIVEDEVICETRIPPINGUNIT',
89
- 'IFCSENSOR', 'IFCUNITARYCONTROLELEMENT',
90
- // IfcFlowController subtypes
91
- 'IFCAIRTERMINALBOX', 'IFCDAMPER', 'IFCELECTRICDISTRIBUTIONBOARD',
92
- 'IFCELECTRICTIMECONTROL', 'IFCFLOWCONTROLLER', 'IFCFLOWMETER',
93
- 'IFCPROTECTIVEDEVICE', 'IFCSWITCHINGDEVICE', 'IFCVALVE',
94
- // IfcFlowFitting subtypes
95
- 'IFCCABLECARRIERFITTING', 'IFCCABLEFITTING',
96
- 'IFCDUCTFITTING', 'IFCFLOWFITTING', 'IFCJUNCTIONBOX', 'IFCPIPEFITTING',
97
- // IfcFlowMovingDevice subtypes
98
- 'IFCCOMPRESSOR', 'IFCFAN', 'IFCFLOWMOVINGDEVICE', 'IFCPUMP',
99
- // IfcFlowSegment subtypes
100
- 'IFCCABLECARRIERSEGMENT', 'IFCCABLESEGMENT', 'IFCCONVEYORSEGMENT',
101
- 'IFCDUCTSEGMENT', 'IFCFLOWSEGMENT', 'IFCPIPESEGMENT',
102
- // IfcFlowStorageDevice subtypes
103
- 'IFCELECTRICFLOWSTORAGEDEVICE', 'IFCFLOWSTORAGEDEVICE', 'IFCTANK',
104
- // IfcFlowTerminal subtypes
105
- 'IFCAIRTERMINAL', 'IFCAUDIOVISUALAPPLIANCE', 'IFCCOMMUNICATIONSAPPLIANCE',
106
- 'IFCELECTRICAPPLIANCE', 'IFCFIRESUPPRESSIONTERMINAL', 'IFCFLOWTERMINAL',
107
- 'IFCLAMP', 'IFCLIGHTFIXTURE', 'IFCLIQUIDTERMINAL',
108
- 'IFCMEDICALDEVICE', 'IFCMOBILETELECOMMUNICATIONSAPPLIANCE',
109
- 'IFCOUTLET', 'IFCSANITARYTERMINAL', 'IFCSPACEHEATER',
110
- 'IFCSTACKTERMINAL', 'IFCWASTETERMINAL',
111
- // IfcFlowTreatmentDevice subtypes
112
- 'IFCDUCTSILENCER', 'IFCELECTRICFLOWTREATMENTDEVICE',
113
- 'IFCFILTER', 'IFCFLOWTREATMENTDEVICE', 'IFCINTERCEPTOR',
114
- // IfcEnergyConversionDevice subtypes
115
- 'IFCAIRTOAIRHEATRECOVERY', 'IFCBOILER', 'IFCBURNER',
116
- 'IFCCHILLER', 'IFCCOIL', 'IFCCONDENSER',
117
- 'IFCCOOLEDBEAM', 'IFCCOOLINGTOWER',
118
- 'IFCELECTRICGENERATOR', 'IFCELECTRICMOTOR',
119
- 'IFCENERGYCONVERSIONDEVICE', 'IFCENGINE',
120
- 'IFCEVAPORATIVECOOLER', 'IFCEVAPORATOR',
121
- 'IFCHEATEXCHANGER', 'IFCHUMIDIFIER', 'IFCMOTORCONNECTION',
122
- 'IFCSOLARDEVICE', 'IFCTRANSFORMER', 'IFCTUBEBUNDLE',
123
- 'IFCUNITARYEQUIPMENT',
124
- // IfcElement > IfcElementAssembly
125
- 'IFCELEMENT', 'IFCELEMENTASSEMBLY',
126
- // IfcElement > IfcElementComponent
127
- 'IFCELEMENTCOMPONENT', 'IFCFASTENER',
128
- 'IFCMECHANICALFASTENER', 'IFCDISCRETEACCESSORY',
129
- 'IFCVIBRATIONDAMPER', 'IFCVIBRATIONISOLATOR',
130
- 'IFCIMPACTPROTECTIONDEVICE',
131
- // IfcElement > IfcFeatureElement
132
- 'IFCFEATUREELEMENT', 'IFCFEATUREELEMENTADDITION', 'IFCFEATUREELEMENTSUBTRACTION',
133
- 'IFCOPENINGELEMENT', 'IFCOPENINGSTANDARDCASE',
134
- 'IFCPROJECTIONELEMENT', 'IFCSURFACEFEATURE', 'IFCVOIDINGFEATURE',
135
- // IfcElement > IfcFurnishingElement
136
- 'IFCFURNISHINGELEMENT', 'IFCFURNITURE', 'IFCSYSTEMFURNITUREELEMENT',
137
- // IfcElement > IfcGeographicElement / IfcCivilElement
138
- 'IFCGEOGRAPHICELEMENT', 'IFCCIVILELEMENT',
139
- // IfcElement > IfcTransportElement / IfcTransportationDevice / IfcVehicle
140
- 'IFCTRANSPORTELEMENT', 'IFCTRANSPORTATIONDEVICE', 'IFCVEHICLE',
141
- // IfcElement > IfcReinforcingElement
142
- 'IFCREINFORCINGELEMENT', 'IFCREINFORCINGBAR', 'IFCREINFORCINGMESH',
143
- 'IFCTENDON', 'IFCTENDONANCHOR', 'IFCTENDONCONDUIT',
144
- // IfcElement > IFC4X3 additions
145
- 'IFCBEARING', 'IFCCAISSONFOUNDATION', 'IFCCOURSE',
146
- 'IFCEARTHWORKSCUT', 'IFCEARTHWORKSELEMENT', 'IFCEARTHWORKSFILL',
147
- 'IFCKERB', 'IFCMOORINGDEVICE', 'IFCNAVIGATIONELEMENT',
148
- 'IFCPAVEMENT', 'IFCRAIL', 'IFCREINFORCEDSOIL', 'IFCSIGN', 'IFCSIGNAL',
149
- 'IFCTRACKELEMENT',
150
- // IFC4X3 alignment and positioning
151
- 'IFCALIGNMENT', 'IFCALIGNMENTCANT', 'IFCALIGNMENTHORIZONTAL',
152
- 'IFCALIGNMENTSEGMENT', 'IFCALIGNMENTVERTICAL',
153
- 'IFCLINEARELEMENT', 'IFCLINEARPOSITIONINGELEMENT',
154
- 'IFCPOSITIONINGELEMENT', 'IFCREFERENT',
155
- // IFC4X3 geotechnical
156
- 'IFCBOREHOLE', 'IFCGEOMODEL', 'IFCGEOSLICE',
157
- 'IFCGEOTECHNICALASSEMBLY', 'IFCGEOTECHNICALELEMENT', 'IFCGEOTECHNICALSTRATUM',
158
- // IfcProduct (non-element)
159
- 'IFCANNOTATION', 'IFCGRID', 'IFCPORT', 'IFCPROXY',
160
- 'IFCSPACE', 'IFCVIRTUALELEMENT',
161
- // IfcStructuralItem / IfcStructuralActivity
162
- 'IFCSTRUCTURALACTION', 'IFCSTRUCTURALACTIVITY',
163
- 'IFCSTRUCTURALCONNECTION', 'IFCSTRUCTURALCURVEACTION',
164
- 'IFCSTRUCTURALCURVECONNECTION', 'IFCSTRUCTURALCURVEMEMBER',
165
- 'IFCSTRUCTURALCURVEMEMBERVARYING', 'IFCSTRUCTURALCURVEREACTION',
166
- 'IFCSTRUCTURALITEM', 'IFCSTRUCTURALLINEARACTION',
167
- 'IFCSTRUCTURALMEMBER', 'IFCSTRUCTURALPLANARACTION',
168
- 'IFCSTRUCTURALPOINTACTION', 'IFCSTRUCTURALPOINTCONNECTION',
169
- 'IFCSTRUCTURALPOINTREACTION', 'IFCSTRUCTURALREACTION',
170
- 'IFCSTRUCTURALSURFACEACTION', 'IFCSTRUCTURALSURFACECONNECTION',
171
- 'IFCSTRUCTURALSURFACEMEMBER', 'IFCSTRUCTURALSURFACEMEMBERVARYING',
172
- 'IFCSTRUCTURALSURFACEREACTION',
173
- ]);
174
48
  // ---------------------------------------------------------------------------
175
49
  // Byte-level #ID reference extraction
176
50
  // ---------------------------------------------------------------------------
@@ -460,7 +334,8 @@ export function collectReferencedEntityIds(rootIds, source, entityIndex, exclude
460
334
  // at all). Gated on the cheap `hasSourceMutation` check so an entity
461
335
  // with nothing queued — the overwhelming majority — still takes the
462
336
  // plain byte scan below with no decode/parse cost.
463
- const generalGroups = relationshipRefGroupsFromSourceLine(entityIndex, entityId, decodeRange(src, ref.byteOffset, ref.byteOffset + ref.byteLength));
337
+ const decodedLine = decodeRange(src, ref.byteOffset, ref.byteOffset + ref.byteLength);
338
+ const generalGroups = relationshipRefGroupsFromSourceLine(entityIndex, entityId, decodedLine);
464
339
  for (const group of generalGroups) {
465
340
  if (Array.isArray(group))
466
341
  refs.push(...group);
@@ -479,8 +354,50 @@ export function collectReferencedEntityIds(rootIds, source, entityIndex, exclude
479
354
  // union can only ADD ids already missed by the positional parse — the
480
355
  // walk de-dupes via `visited`, so re-adding an id the parse already
481
356
  // found costs nothing beyond the duplicate push.
357
+ //
358
+ // BUT the scan reads the entity's ORIGINAL, pre-override bytes — it has
359
+ // no notion that a queued positional/named-attribute mutation REPLACED
360
+ // one parsed slot's value. Left unguarded, that resurrects the exact id
361
+ // an override retargeted AWAY from (e.g. `anonymize-placement.ts`
362
+ // repointing `IfcLocalPlacement.RelativePlacement` off the original,
363
+ // real-coordinate axis onto a freshly cloned zeroed one): the old axis
364
+ // id is absent from `generalGroups` (correctly superseded) but the raw
365
+ // scan still finds `#<oldAxis>` sitting right there in the unmutated
366
+ // bytes and pushes it straight back in, so the un-anonymized axis and
367
+ // its `IfcCartesianPoint` survive in the export, orphaned but present
368
+ // with the real coordinate in plaintext (blocker found in review: the
369
+ // two predicates — "was this slot overridden" and "is this id still
370
+ // referenced" — disagreed again, the same defect class as #2637).
371
+ //
372
+ // Fix: an id only belongs in `removedByOverride` when it was captured
373
+ // at a slot `extractRelationshipRefGroupsIndexed` COULD parse (i.e. it
374
+ // is present in `originalGroups`) and the effective, post-override
375
+ // answer (`generalGroups`, already flattened into `refs` above) no
376
+ // longer contains it. A doubly-nested-list ref was never parseable in
377
+ // the first place — its slot yields `undefined` in `originalGroups` —
378
+ // so it can never land in this set and the union still rescues it,
379
+ // exactly as before. An id genuinely still referenced from some OTHER,
380
+ // un-overridden slot of the same entity stays out of this set too
381
+ // (set membership, not per-slot bookkeeping), so it is never wrongly
382
+ // dropped.
383
+ const originalGroups = extractRelationshipRefGroupsIndexed(decodedLine);
384
+ const effectiveFlat = new Set(refs);
385
+ const removedByOverride = new Set();
386
+ for (const group of originalGroups) {
387
+ if (group === undefined)
388
+ continue;
389
+ for (const id of Array.isArray(group) ? group : [group]) {
390
+ if (!effectiveFlat.has(id))
391
+ removedByOverride.add(id);
392
+ }
393
+ }
482
394
  const mutatedSpan = src.slice(ref.byteOffset, ref.byteOffset + ref.byteLength);
483
- extractRefsFromBytes(mutatedSpan, 0, mutatedSpan.length, refs);
395
+ const scanned = [];
396
+ extractRefsFromBytes(mutatedSpan, 0, mutatedSpan.length, scanned);
397
+ for (const id of scanned) {
398
+ if (!removedByOverride.has(id))
399
+ refs.push(id);
400
+ }
484
401
  }
485
402
  else {
486
403
  // Hand the byte scanner an already-narrowed record. `slice` is a
@@ -692,32 +609,47 @@ export function relationshipRefsSurviveExclusion(refGroups, isExcluded) {
692
609
  * #2637: this used to collapse a mixed list to "every remaining id
693
610
  * excluded" and block on it).
694
611
  */
612
+ /**
613
+ * Classify ONE already-split top-level STEP argument token as a
614
+ * `relationshipRefsSurviveExclusion` group: a parenthesised SET/LIST becomes
615
+ * a `number[]` of the `#N` members it holds (or `undefined` when it mixes in
616
+ * a non-reference item — see {@link extractRelationshipRefGroupsIndexed}'s
617
+ * doc for why a mixed list can never be the reason a line is withheld), a
618
+ * bare `#N` becomes that `number`, and anything else (`$`, a literal, an
619
+ * enum token) becomes `undefined`.
620
+ *
621
+ * Factored out of {@link extractRelationshipRefGroupsIndexed} so a caller
622
+ * that already has an entity's arguments split (`subset-entity-reader.ts`'s
623
+ * `readEntityArgs`, used by `anonymize-export.ts` to pre-prune an
624
+ * unresolvable relationship ahead of the closure walk) can classify each one
625
+ * without re-deriving this same char-by-char grouping rule a second time —
626
+ * exactly the class of duplicated STEP-line parsing this module's own
627
+ * comments (#2637) call out as a defect source.
628
+ */
629
+ export function refGroupFromArg(attr) {
630
+ if (attr.length >= 2 && attr.charCodeAt(0) === 0x28 /* '(' */ && attr.charCodeAt(attr.length - 1) === 0x29 /* ')' */) {
631
+ const inner = attr.slice(1, -1);
632
+ const items = inner.trim() === '' ? [] : splitTopLevelArgs(inner);
633
+ const ids = [];
634
+ let hasNonRefItem = false;
635
+ for (const item of items) {
636
+ const refMatch = item.match(/^#(\d+)$/);
637
+ if (refMatch)
638
+ ids.push(Number(refMatch[1]));
639
+ else
640
+ hasNonRefItem = true;
641
+ }
642
+ return hasNonRefItem ? undefined : ids;
643
+ }
644
+ const refMatch = attr.match(/^#(\d+)$/);
645
+ return refMatch ? Number(refMatch[1]) : undefined;
646
+ }
695
647
  function extractRelationshipRefGroupsIndexed(line) {
696
648
  const match = line.match(/^(#\d+\s*=\s*\w+\()([\s\S]*)(\)\s*;)\s*$/);
697
649
  if (!match)
698
650
  return [];
699
651
  const attrs = splitTopLevelArgs(match[2]);
700
- const groups = [];
701
- for (const attr of attrs) {
702
- if (attr.length >= 2 && attr.charCodeAt(0) === 0x28 /* '(' */ && attr.charCodeAt(attr.length - 1) === 0x29 /* ')' */) {
703
- const inner = attr.slice(1, -1);
704
- const items = inner.trim() === '' ? [] : splitTopLevelArgs(inner);
705
- const ids = [];
706
- let hasNonRefItem = false;
707
- for (const item of items) {
708
- const refMatch = item.match(/^#(\d+)$/);
709
- if (refMatch)
710
- ids.push(Number(refMatch[1]));
711
- else
712
- hasNonRefItem = true;
713
- }
714
- groups.push(hasNonRefItem ? undefined : ids);
715
- continue;
716
- }
717
- const refMatch = attr.match(/^#(\d+)$/);
718
- groups.push(refMatch ? Number(refMatch[1]) : undefined);
719
- }
720
- return groups;
652
+ return attrs.map(refGroupFromArg);
721
653
  }
722
654
  /**
723
655
  * Parse `line` into the position-aligned shape, then — when `entityIndex` can
@@ -1 +1 @@
1
- {"version":3,"file":"reference-collector.js","sourceRoot":"","sources":["../src/reference-collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-collector.js","sourceRoot":"","sources":["../src/reference-collector.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA4B/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,0EAA0E;AAC1E,uEAAuE;AACvE,4EAA4E;AAC5E,yEAAyE;AACzE,qBAAqB;AACrB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC;AAEvE;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,GAAmB,EAAE,KAAa,EAAE,GAAW;IAClE,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,iDAAiD;AACjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAE,MAAM;AAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAE,MAAM;AAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAE,MAAM;AAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM;AAE1B;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,YAAY;IACZ,yBAAyB;IACzB,SAAS,EAAE,aAAa,EAAE,mBAAmB;IAC7C,yEAAyE;IACzE,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,iBAAiB,EAAE,uBAAuB;IACzD,mBAAmB,EAAE,eAAe;IACpC,YAAY,EAAE,gBAAgB;IAC9B,SAAS,EAAE,aAAa;IACxB,qEAAqE;IACrE,mBAAmB,EAAE,4BAA4B,EAAE,gBAAgB;IACnE,2BAA2B,EAAE,oCAAoC;CAClE,CAAC,CAAC;AAEH,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,SAAS,oBAAoB,CAC3B,MAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,GAAa;IAEb,MAAM,GAAG,GAAG,UAAU,GAAG,UAAU,CAAC;IACpC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAChB,sEAAsE;YACtE,oCAAoC;YACpC,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;oBACxB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;wBAC3C,CAAC,IAAI,CAAC,CAAC,CAAC,yCAAyC;wBACjD,SAAS;oBACX,CAAC;oBACD,CAAC,EAAE,CAAC,CAAC,qBAAqB;oBAC1B,MAAM;gBACR,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACtB,CAAC,EAAE,CAAC;YACJ,0CAA0C;YAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBACtD,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;gBAC1B,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;oBACzD,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBAClC,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAmC,EACnC,UAAkB,EAClB,UAAkB;IAElB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;IAC9E,oBAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAoB,EACpB,MAAmC,EACnC,WAUC,EACD,UAAwB,EACxB,aAAuC;IAEvC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,2DAA2D;IAC3D,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,mEAAmE;IACnE,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE;IACvE,sEAAsE;IACtE,2EAA2E;IAC3E,yEAAyE;IACzE,6BAA6B;IAC7B,MAAM,sBAAsB,GAAG,UAAU;QACvC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,EAAU,EAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,2EAA2E;QAC3E,uCAAuC;QACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,qEAAqE;QACrE,6DAA6D;QAC7D,sEAAsE;QACtE,qEAAqE;QACrE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,8DAA8D;QAC9D,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,mEAAmE;QACnE,qEAAqE;QACrE,oEAAoE;QACpE,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,yCAAyC;QACzC,EAAE;QACF,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,2EAA2E;QAC3E,sEAAsE;QACtE,8CAA8C;QAC9C,MAAM,UAAU,GAAG,CACjB,WAAW,CAAC,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;YACjD,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC;YAC/C,CAAC,CAAC,GAAG,CAAC,IAAI,CACb,CAAC;QAEF,wEAAwE;QACxE,mEAAmE;QACnE,wEAAwE;QACxE,iEAAiE;QACjE,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,sEAAsE;QACtE,qEAAqE;QACrE,yEAAyE;QACzE,mDAAmD;QACnD,IAAI,eAAsE,CAAC;QAE3E,IACE,sBAAsB,KAAK,IAAI;eAC5B,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC5E,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ;gBACrB,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;oBAClC,+DAA+D;oBAC/D,0DAA0D;oBAC1D,iEAAiE;oBACjE,+DAA+D;oBAC/D,iEAAiE;oBACjE,4DAA4D;uBACzD,QAAQ,CAAC;gBAChB,gEAAgE;gBAChE,oEAAoE;gBACpE,qEAAqE;gBACrE,wEAAwE;gBACxE,uEAAuE;gBACvE,sEAAsE;gBACtE,qEAAqE;gBACrE,oEAAoE;gBACpE,gEAAgE;gBAChE,sEAAsE;gBACtE,oEAAoE;gBACpE,mEAAmE;gBACnE,kBAAkB;gBAClB,CAAC,CAAC,CAAC,eAAe,GAAG,mCAAmC,CACpD,WAAW,EACX,QAAQ,EACR,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAClE,CAAC,CAAC;YACP,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;gBACtE,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,mEAAmE;YACnE,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,uBAAuB;YACvB,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;;oBACzC,IAAI,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,oEAAoE;YACpE,iEAAiE;YACjE,wEAAwE;YACxE,oEAAoE;YACpE,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,mEAAmE;YACnE,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,oEAAoE;YACpE,mDAAmD;YACnD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;YACtF,MAAM,aAAa,GAAG,mCAAmC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC9F,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;;oBACzC,IAAI,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YAClC,CAAC;YACD,oEAAoE;YACpE,oEAAoE;YACpE,0CAA0C;YAC1C,iEAAiE;YACjE,oEAAoE;YACpE,kEAAkE;YAClE,mEAAmE;YACnE,qEAAqE;YACrE,kEAAkE;YAClE,sEAAsE;YACtE,oEAAoE;YACpE,iDAAiD;YACjD,EAAE;YACF,wEAAwE;YACxE,uEAAuE;YACvE,wEAAwE;YACxE,kEAAkE;YAClE,qEAAqE;YACrE,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,oEAAoE;YACpE,kEAAkE;YAClE,EAAE;YACF,sEAAsE;YACtE,uEAAuE;YACvE,mEAAmE;YACnE,mEAAmE;YACnE,sEAAsE;YACtE,sEAAsE;YACtE,mEAAmE;YACnE,uEAAuE;YACvE,kEAAkE;YAClE,qEAAqE;YACrE,WAAW;YACX,MAAM,cAAc,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAS;gBAClC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/E,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,oBAAoB,CAAC,WAAW,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAClE,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,yEAAyE;YACzE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;YACxE,oBAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChE,IAAI,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC/C,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,oCAAoC,CAClD,IAAY,EACZ,UAAmC;IAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAElF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACrH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxC,OAAO,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACxC,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,IAAI,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3D,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,SAAS,qBAAqB,CAAC,UAAkB,EAAE,SAAiB,EAAE,KAAa;IACjF,OAAO,UAAU,KAAK,gCAAgC,IAAI,SAAS,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gCAAgC,CAC9C,SAAoD,EACpD,UAAmC;IAEnC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAC;QAChE,CAAC;aAAM,IAAI,UAAU,CAAC,KAAe,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QACrH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,QAAQ;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBACvC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,OAAO,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,mCAAmC,CAAC,IAAY;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,mCAAmC,CAC1C,WAKC,EACD,QAAgB,EAChB,IAAY;IAEZ,MAAM,OAAO,GAAG,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,OAAO;QAAE,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAuB,EACvB,SAAsB,EACtB,WAA+B,EAC/B,KAA4B;IAE5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,MAAM,OAAO,GAAyC,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;IAC1F,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,KAAK;YACrB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjC,0EAA0E;QAC1E,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,+EAA+E;QAC/E,IAAI,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,iDAAiD;QACjD,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,iDAAiD;QACjD,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,aAAa,GAAG,WAAW,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAE1E,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC;gBAC9B,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC;YACD,SAAS;QACX,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,2EAA2E;QAC3E,mDAAmD;QACnD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,+EAA+E;QAC/E,0EAA0E;QAC1E,uEAAuE;QACvE,+CAA+C;IACjD,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,oEAAoE;IACpE,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAEtE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,0BAA0B,CACjC,SAAuB,EACvB,KAAkB,EAClB,gBAA6B,EAC7B,KAA4B;IAE5B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,4EAA4E;IAC5E,yEAAyE;IACzE,mEAAmE;IACnE,0EAA0E;IAC1E,2EAA2E;IAC3E,8EAA8E;IAC9E,oDAAoD;IAEpD,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACpG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAErC,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnF,IAAI,CAAC,SAAS;YAAE,SAAS;QAEzB,IAAI,iBAAqC,CAAC;QAC1C,IAAI,gBAAoC,CAAC;QAEzC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;YAC3E,iBAAiB,GAAG,KAAK,CAAC,qBAAqB,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;YAClF,gBAAgB,GAAG,KAAK,CAAC,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,2DAA2D;YAC3D,oEAAoE;YACpE,sEAAsE;YACtE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC1C,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC;gBAAE,SAAS;YACtC,qEAAqE;YACrE,uEAAuE;YACvE,mEAAmE;YACnE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YAC7F,uDAAuD;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,OAAO,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS;gBAAE,QAAQ,EAAE,CAAC;YACvE,IAAI,QAAQ,IAAI,GAAG;gBAAE,SAAS;YAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC1C,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS;YAAE,SAAS;QAEhF,IAAI,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC5C,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACvC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAoB,EACpB,MAAmC,EACnC,WAOC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,GAA+C,EAAQ,EAAE;QAC5F,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;aAChC,CAAC;YACJ,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;YACxE,oBAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;IAEF,yEAAyE;IACzE,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACpE,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;IAE7E,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM,SAAS,IAAI,GAAG,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YAErC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,+CAA+C;YAC/C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE/B,IAAI,uBAAuB,GAAG,KAAK,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,uBAAuB,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,+FAA+F;IAC/F,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { IfcDataStore } from '@ifc-lite/parser';
2
+ import type { RelatedEntities, RelatedEntityOptions } from './anonymize-types.js';
3
+ /**
4
+ * Expand a caller-picked seed selection into the related entities a bug
5
+ * reproduction needs, per `options` (unset fields default to the value
6
+ * documented on `RelatedEntityOptions`). See the module doc for the
7
+ * termination guarantees.
8
+ */
9
+ export declare function collectRelatedEntities(store: IfcDataStore, seeds: Iterable<number>, options?: RelatedEntityOptions): RelatedEntities;
10
+ //# sourceMappingURL=related-entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-entities.d.ts","sourceRoot":"","sources":["../src/related-entities.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAsB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAuEtG;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,OAAO,GAAE,oBAAyB,GACjC,eAAe,CA2LjB"}