@gemx-dev/clarity-visualize 0.8.68 → 0.8.70

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.
@@ -2336,11 +2336,11 @@ class Visualizer {
2336
2336
  if (decoded && decoded.length > 0 && target) {
2337
2337
  try {
2338
2338
  // Flatten the payload and parse all events out of them, sorted by time
2339
- let merged = this.merge(decoded);
2339
+ let merged = this.mergeForHtml(decoded);
2340
2340
  yield this.setup(target, { version: decoded[0].envelope.version, dom: merged.dom, useproxy, portalCanvasId });
2341
2341
  // Render all mutations on top of the initial markup
2342
- while (merged.events.length > 0) {
2343
- let entry = merged.events.shift();
2342
+ for (let i = 0; i < merged.events.length; i++) {
2343
+ let entry = merged.events[i];
2344
2344
  switch (entry.event) {
2345
2345
  case 45 /* Data.Event.StyleSheetAdoption */:
2346
2346
  case 46 /* Data.Event.StyleSheetUpdate */:
@@ -2426,6 +2426,34 @@ class Visualizer {
2426
2426
  merged.events = merged.events.sort(this.sortEvents);
2427
2427
  return merged;
2428
2428
  };
2429
+ this.mergeForHtml = (decoded) => {
2430
+ let merged = { timestamp: null, envelope: null, dom: null, events: [] };
2431
+ decoded = decoded.sort(this.sortPayloads);
2432
+ this.enrich = this.enrich || new EnrichHelper();
2433
+ helper.selector.config(this._excludeClassNames);
2434
+ this.enrich.reset();
2435
+ for (let payload of decoded) {
2436
+ merged.timestamp = merged.timestamp ? merged.timestamp : payload.timestamp;
2437
+ merged.envelope = payload.envelope;
2438
+ const domEntries = payload["dom" /* Constant.Dom */];
2439
+ if (Array.isArray(domEntries)) {
2440
+ for (let entry of domEntries) {
2441
+ let enriched = this.enrich.selectors(entry);
2442
+ if (entry.event === 5 /* Data.Event.Discover */) {
2443
+ merged.dom = enriched;
2444
+ }
2445
+ else if (entry.event === 6 /* Data.Event.Mutation */ ||
2446
+ entry.event === 45 /* Data.Event.StyleSheetAdoption */ ||
2447
+ entry.event === 46 /* Data.Event.StyleSheetUpdate */ ||
2448
+ entry.event === 51 /* Data.Event.CustomElement */) {
2449
+ merged.events.push(entry);
2450
+ }
2451
+ }
2452
+ }
2453
+ }
2454
+ merged.events = merged.events.sort(this.sortEvents);
2455
+ return merged;
2456
+ };
2429
2457
  this.setup = (target, options) => __awaiter(this, void 0, void 0, function* () {
2430
2458
  this.reset();
2431
2459
  if (options.excludeClassNames) {