PHP 8.2.30
Preview: traverse-node.js Size: 3.88 KB
/proc/thread-self/root/home/byroehnu/.trash/node_modules11/@babel/traverse/lib/traverse-node.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.traverseNode = traverseNode;
var _context = require("./context.js");
var _index = require("./path/index.js");
var _t = require("@babel/types");
var _context2 = require("./path/context.js");
const {
  VISITOR_KEYS
} = _t;
function _visitPaths(ctx, paths) {
  ctx.queue = paths;
  ctx.priorityQueue = [];
  const visited = new Set();
  let stop = false;
  let visitIndex = 0;
  for (; visitIndex < paths.length;) {
    const path = paths[visitIndex];
    visitIndex++;
    _context2.resync.call(path);
    if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== ctx) {
      _context2.pushContext.call(path, ctx);
    }
    if (path.key === null) continue;
    const {
      node
    } = path;
    if (visited.has(node)) continue;
    if (node) visited.add(node);
    if (_visit(ctx, path)) {
      stop = true;
      break;
    }
    if (ctx.priorityQueue.length) {
      stop = _visitPaths(ctx, ctx.priorityQueue);
      ctx.priorityQueue = [];
      ctx.queue = paths;
      if (stop) break;
    }
  }
  for (let i = 0; i < visitIndex; i++) {
    _context2.popContext.call(paths[i]);
  }
  ctx.queue = null;
  return stop;
}
function _visit(ctx, path) {
  var _opts$denylist;
  const node = path.node;
  if (!node) {
    return false;
  }
  const opts = ctx.opts;
  const denylist = (_opts$denylist = opts.denylist) != null ? _opts$denylist : opts.blacklist;
  if (denylist != null && denylist.includes(node.type)) {
    return false;
  }
  if (opts.shouldSkip != null && opts.shouldSkip(path)) {
    return false;
  }
  if (path.shouldSkip) return path.shouldStop;
  if (_context2._call.call(path, opts.enter)) return path.shouldStop;
  if (path.node) {
    var _opts$node$type;
    if (_context2._call.call(path, (_opts$node$type = opts[node.type]) == null ? void 0 : _opts$node$type.enter)) return path.shouldStop;
  }
  path.shouldStop = _traverse(path.node, opts, path.scope, ctx.state, path, path.skipKeys);
  if (path.node) {
    if (_context2._call.call(path, opts.exit)) return true;
  }
  if (path.node) {
    var _opts$node$type2;
    _context2._call.call(path, (_opts$node$type2 = opts[node.type]) == null ? void 0 : _opts$node$type2.exit);
  }
  return path.shouldStop;
}
function _traverse(node, opts, scope, state, path, skipKeys, visitSelf) {
  const keys = VISITOR_KEYS[node.type];
  if (!(keys != null && keys.length)) return false;
  const ctx = new _context.default(scope, opts, state, path);
  if (visitSelf) {
    if (skipKeys != null && skipKeys[path.parentKey]) return false;
    return _visitPaths(ctx, [path]);
  }
  for (const key of keys) {
    if (skipKeys != null && skipKeys[key]) continue;
    const prop = node[key];
    if (!prop) continue;
    if (Array.isArray(prop)) {
      if (!prop.length) continue;
      const paths = [];
      for (let i = 0; i < prop.length; i++) {
        const childPath = _index.default.get({
          parentPath: path,
          parent: node,
          container: prop,
          key: i,
          listKey: key
        });
        paths.push(childPath);
      }
      if (_visitPaths(ctx, paths)) return true;
    } else {
      if (_visitPaths(ctx, [_index.default.get({
        parentPath: path,
        parent: node,
        container: node,
        key,
        listKey: null
      })])) {
        return true;
      }
    }
  }
  return false;
}
function traverseNode(node, opts, scope, state, path, skipKeys, visitSelf) {
  const keys = VISITOR_KEYS[node.type];
  if (!keys) return false;
  const context = new _context.default(scope, opts, state, path);
  if (visitSelf) {
    if (skipKeys != null && skipKeys[path.parentKey]) return false;
    return context.visitQueue([path]);
  }
  for (const key of keys) {
    if (skipKeys != null && skipKeys[key]) continue;
    if (context.visit(node, key)) {
      return true;
    }
  }
  return false;
}

//# sourceMappingURL=traverse-node.js.map

Directory Contents

Dirs: 2 × Files: 14

Name Size Perms Modified Actions
path DIR
- drwxr-xr-x 2026-02-28 00:29:10
Edit Download
scope DIR
- drwxr-xr-x 2026-02-28 00:29:22
Edit Download
895 B lrw-r--r-- 2026-02-28 00:26:54
Edit Download
1.99 KB lrw-r--r-- 2026-02-28 00:27:06
Edit Download
3.16 KB lrw-r--r-- 2026-02-28 00:27:14
Edit Download
9.64 KB lrw-r--r-- 2026-02-28 00:27:26
Edit Download
373 B lrw-r--r-- 2026-02-28 00:27:34
Edit Download
1.12 KB lrw-r--r-- 2026-02-28 00:27:38
Edit Download
2.57 KB lrw-r--r-- 2026-02-28 00:27:46
Edit Download
6.60 KB lrw-r--r-- 2026-02-28 00:27:58
Edit Download
3.88 KB lrw-r--r-- 2026-02-28 00:29:22
Edit Download
11.05 KB lrw-r--r-- 2026-02-28 00:29:28
Edit Download
49 B lrw-r--r-- 2026-02-28 00:29:30
Edit Download
3.10 KB lrw-r--r-- 2026-02-28 00:29:32
Edit Download
7.70 KB lrw-r--r-- 2026-02-28 00:29:32
Edit Download
22.80 KB lrw-r--r-- 2026-02-28 00:29:34
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).