Skip to content

Commit da2d755

Browse files
committed
Cleanup
1 parent 00e9a88 commit da2d755

1 file changed

Lines changed: 26 additions & 23 deletions

File tree

packages/debugger/src/structure/walker.ts

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -324,14 +324,24 @@ function mapChildren<TEl extends object>(
324324
return children
325325
}
326326

327-
let els_seen = new Set<any>()
327+
let els_seen = new Set<object>()
328328

329329
const make_el_json = <TEl extends object>(el: TEl, eli: ElementInterface<TEl>): Mapped.Owner => ({
330330
id: get_id_el(el),
331331
type: NodeType.Element,
332332
name: eli.getName(el) ?? UNKNOWN,
333333
children: [],
334334
})
335+
const push_make_el_json = <TEl extends object>(
336+
arr: Mapped.Owner[],
337+
el: TEl,
338+
eli: ElementInterface<TEl>,
339+
): Mapped.Owner => {
340+
let el_json = make_el_json(el, eli)
341+
arr.push(el_json)
342+
els_seen.add(el)
343+
return el_json
344+
}
335345

336346
function mapOwner<TEl extends object>(
337347
owner: Solid.Owner,
@@ -408,7 +418,6 @@ function mapOwner<TEl extends object>(
408418
let stack_child_len = 1
409419

410420
while (stack_child_len > 0) {
411-
412421
let child_arr = stack_child_arr[stack_child_len-1]!
413422
let child_idx = stack_child_idx[stack_child_len-1]!
414423

@@ -430,13 +439,15 @@ function mapOwner<TEl extends object>(
430439
}
431440

432441
// Don't go over added element children
433-
// TODO: add children cap stack
434-
if (stack_child_len-1 === 0) {
442+
if (stack_child_len === 1)
435443
continue
436-
}
437-
444+
445+
/* Check each element and its children
446+
- not seen -> add it to the owner
447+
- a child of the current child -> add it to the owner
448+
- already seen -> skip it
449+
*/
438450
while (stack_els_len > 0) {
439-
440451
let el_arr = stack_els_arr[stack_els_len-1]!
441452
let el_idx = stack_els_idx[stack_els_len-1]!
442453
let el_own = stack_els_own[stack_els_len-1]!
@@ -450,7 +461,7 @@ function mapOwner<TEl extends object>(
450461

451462
let el = el_arr[el_idx]!
452463

453-
// Child has this element
464+
/* Child has this element */
454465
if (get_id_el(el) === child.id) {
455466
/*
456467
Push child to the owner
@@ -475,13 +486,9 @@ function mapOwner<TEl extends object>(
475486

476487
/* Not seen yet */
477488
if (!els_seen.has(el)) {
478-
let el_json = make_el_json(el, config.eli)
479-
el_own.children.push(el_json)
480-
els_seen.add(el)
481-
482489
stack_els_arr[stack_els_len] = config.eli.getChildren(el)
483490
stack_els_idx[stack_els_len] = 0
484-
stack_els_own[stack_els_len] = el_json
491+
stack_els_own[stack_els_len] = push_make_el_json(el_own.children, el, config.eli)
485492
stack_els_len += 1
486493
}
487494
}
@@ -502,16 +509,12 @@ function mapOwner<TEl extends object>(
502509

503510
let el = el_arr[el_idx]!
504511

505-
if (els_seen.has(el)) continue
506-
507-
let el_json = make_el_json(el, config.eli)
508-
el_own.children.push(el_json)
509-
els_seen.add(el)
510-
511-
stack_els_arr[stack_els_len] = config.eli.getChildren(el)
512-
stack_els_idx[stack_els_len] = 0
513-
stack_els_own[stack_els_len] = el_json
514-
stack_els_len += 1
512+
if (!els_seen.has(el)) {
513+
stack_els_arr[stack_els_len] = config.eli.getChildren(el)
514+
stack_els_idx[stack_els_len] = 0
515+
stack_els_own[stack_els_len] = push_make_el_json(el_own.children, el, config.eli)
516+
stack_els_len += 1
517+
}
515518
}
516519
}
517520

0 commit comments

Comments
 (0)