summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/util/mergeScope.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/util/mergeScope.js')
-rw-r--r--node_modules/webpack/lib/util/mergeScope.js76
1 files changed, 0 insertions, 76 deletions
diff --git a/node_modules/webpack/lib/util/mergeScope.js b/node_modules/webpack/lib/util/mergeScope.js
deleted file mode 100644
index a1a1d2cc..00000000
--- a/node_modules/webpack/lib/util/mergeScope.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-
-"use strict";
-
-/** @typedef {import("eslint-scope").Reference} Reference */
-/** @typedef {import("eslint-scope").Variable} Variable */
-/** @typedef {import("../javascript/JavascriptParser").AnyNode} AnyNode */
-/** @typedef {import("../javascript/JavascriptParser").Program} Program */
-
-/**
- * @param {Variable} variable variable
- * @returns {Reference[]} references
- */
-const getAllReferences = variable => {
- let set = variable.references;
- // Look for inner scope variables too (like in class Foo { t() { Foo } })
- const identifiers = new Set(variable.identifiers);
- for (const scope of variable.scope.childScopes) {
- for (const innerVar of scope.variables) {
- if (innerVar.identifiers.some(id => identifiers.has(id))) {
- set = set.concat(innerVar.references);
- break;
- }
- }
- }
- return set;
-};
-
-/**
- * @param {Program | Program[]} ast ast
- * @param {AnyNode} node node
- * @returns {undefined | AnyNode[]} result
- */
-const getPathInAst = (ast, node) => {
- if (ast === node) {
- return [];
- }
-
- const nr = node.range;
-
- const enterNode = n => {
- if (!n) return;
- const r = n.range;
- if (r && r[0] <= nr[0] && r[1] >= nr[1]) {
- const path = getPathInAst(n, node);
- if (path) {
- path.push(n);
- return path;
- }
- }
- };
-
- if (Array.isArray(ast)) {
- for (let i = 0; i < ast.length; i++) {
- const enterResult = enterNode(ast[i]);
- if (enterResult !== undefined) return enterResult;
- }
- } else if (ast && typeof ast === "object") {
- const keys = Object.keys(ast);
- for (let i = 0; i < keys.length; i++) {
- const value = ast[keys[i]];
- if (Array.isArray(value)) {
- const pathResult = getPathInAst(value, node);
- if (pathResult !== undefined) return pathResult;
- } else if (value && typeof value === "object") {
- const enterResult = enterNode(value);
- if (enterResult !== undefined) return enterResult;
- }
- }
- }
-};
-
-module.exports = { getAllReferences, getPathInAst };