PHP WebShell

Текущая директория: /opt/BitGoJS/node_modules/depcheck/dist/utils

Просмотр файла: parser.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = getNodes;
var _lodash = _interopRequireDefault(require("lodash"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// fix for node.js <= 3, it throws TypeError when value type invalid in weak set
function hasVisited(ast, visited) {
  try {
    return visited.has(ast);
  } catch (e) {
    return false;
  }
}
function recursive(ast, visited) {
  if (!ast || hasVisited(ast, visited)) {
    return [];
  }
  if (Array.isArray(ast)) {
    return (0, _lodash.default)(ast).map(node => recursive(node, visited)).flatten().value();
  }
  if (ast.type) {
    visited.add(ast);
    return (0, _lodash.default)(ast).keys().filter(key => key !== 'tokens' && key !== 'comments').map(key => recursive(ast[key], visited)).flatten().concat(ast).value();
  }
  return [];
}
function getNodes(ast) {
  const visited = new WeakSet();
  return recursive(ast, visited);
}
module.exports = exports.default;

Выполнить команду


Для локальной разработки. Не используйте в интернете!