diff options
Diffstat (limited to 'node_modules/babel-plugin-minify-simplify/lib/helpers.js')
| -rw-r--r-- | node_modules/babel-plugin-minify-simplify/lib/helpers.js | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/node_modules/babel-plugin-minify-simplify/lib/helpers.js b/node_modules/babel-plugin-minify-simplify/lib/helpers.js deleted file mode 100644 index dfbe7c2a..00000000 --- a/node_modules/babel-plugin-minify-simplify/lib/helpers.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; - -const VOID_0 = t => t.unaryExpression("void", t.numericLiteral(0), true); - -const evaluate = require("babel-helper-evaluate-path"); // Types as Symbols - for comparing types - - -const types = {}; // This is a test key which is used to avoid Object.keys check -// Object.keys() check is really expensive -// https://gist.github.com/vigneshshanmugam/c766550ecd02292dcdfbf0bf013b9d3d - -const testKey = "Expression"; - -const typeSymbols = t => { - // don't recompute - if (types[testKey] !== undefined) { - return types; - } - - t.TYPES.forEach(type => { - types[type] = Symbol.for(type); - }); - return types; -}; - -const isNodeOfType = (t, node, typeSymbol) => typeof typeSymbol !== "symbol" ? false : t["is" + Symbol.keyFor(typeSymbol)](node); - -const isPatternMatchesPath = t => function _isPatternMatchesPath(patternValue, inputPath) { - if (Array.isArray(patternValue)) { - for (let i = 0; i < patternValue.length; i++) { - if (_isPatternMatchesPath(patternValue[i], inputPath)) { - return true; - } - } - - return false; - } - - if (typeof patternValue === "function") { - return patternValue(inputPath); - } - - if (isNodeOfType(t, inputPath.node, patternValue)) return true; - const evalResult = evaluate(inputPath); - if (!evalResult.confident || !inputPath.isPure()) return false; - return evalResult.value === patternValue; -}; - -module.exports = { - VOID_0, - // Types as Symbols - typeSymbols, - // This is required for resolving type aliases - isNodeOfType, - isPatternMatchesPath -};
\ No newline at end of file |
