| 42368 | }, |
| 42369 | } |
| 42370 | } |
| 42371 | const visit = ( |
| 42372 | s, |
| 42373 | o, |
| 42374 | { |
| 42375 | keyMap: i = null, |
| 42376 | state: a = {}, |
| 42377 | breakSymbol: u = qu, |
| 42378 | deleteNodeSymbol: _ = null, |
| 42379 | skipVisitingNodeSymbol: w = !1, |
| 42380 | visitFnGetter: x = getVisitFn, |
| 42381 | nodeTypeGetter: C = getNodeType, |
| 42382 | nodePredicate: j = isNode, |
| 42383 | nodeCloneFn: L = cloneNode, |
| 42384 | detectCycles: B = !0, |
| 42385 | detectCyclesCallback: $ = null, |
| 42386 | } = {} |
| 42387 | ) => { |
| 42388 | const U = i || {} |
| 42389 | let V, |
| 42390 | z, |
| 42391 | Y = Array.isArray(s), |
| 42392 | Z = [s], |
| 42393 | ee = -1, |
| 42394 | ie = [], |
| 42395 | ae = s |
| 42396 | const ce = [], |
| 42397 | le = [] |
| 42398 | do { |
| 42399 | ee += 1 |
| 42400 | const s = ee === Z.length |
| 42401 | let i |
| 42402 | const fe = s && 0 !== ie.length |
| 42403 | if (s) { |
| 42404 | if (((i = 0 === le.length ? void 0 : ce.pop()), (ae = z), (z = le.pop()), fe)) |
| 42405 | if (Y) { |
| 42406 | ae = ae.slice() |
| 42407 | let s = 0 |
| 42408 | for (const [o, i] of ie) { |
| 42409 | const a = o - s |
| 42410 | i === _ ? (ae.splice(a, 1), (s += 1)) : (ae[a] = i) |
| 42411 | } |
| 42412 | } else { |
| 42413 | ae = L(ae) |
| 42414 | for (const [s, o] of ie) ae[s] = o |
| 42415 | } |
| 42416 | ;((ee = V.index), (Z = V.keys), (ie = V.edits), (Y = V.inArray), (V = V.prev)) |
| 42417 | } else if (z !== _ && void 0 !== z) { |
| 42418 | if (((i = Y ? ee : Z[ee]), (ae = z[i]), ae === _ || void 0 === ae)) continue |
| 42419 | ce.push(i) |
| 42420 | } |
| 42421 | let ye |
| 42422 | if (!Array.isArray(ae)) { |
| 42423 | var pe |
| 42424 | if (!j(ae)) throw new Go(`Invalid AST Node: ${String(ae)}`, { node: ae }) |
| 42425 | if (B && le.includes(ae)) { |
| 42426 | ;('function' == typeof $ && $(ae, i, z, ce, le), ce.pop()) |
| 42427 | continue |