diff options
Diffstat (limited to 'node_modules/@webassemblyjs/ast/lib/node-path.js')
-rw-r--r-- | node_modules/@webassemblyjs/ast/lib/node-path.js | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/node_modules/@webassemblyjs/ast/lib/node-path.js b/node_modules/@webassemblyjs/ast/lib/node-path.js deleted file mode 100644 index cf85534..0000000 --- a/node_modules/@webassemblyjs/ast/lib/node-path.js +++ /dev/null @@ -1,144 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createPath = createPath; - -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - -function findParent(_ref, cb) { - var parentPath = _ref.parentPath; - - if (parentPath == null) { - throw new Error("node is root"); - } - - var currentPath = parentPath; - - while (cb(currentPath) !== false) { - // Hit the root node, stop - // $FlowIgnore - if (currentPath.parentPath == null) { - return null; - } // $FlowIgnore - - - currentPath = currentPath.parentPath; - } - - return currentPath.node; -} - -function insertBefore(context, newNode) { - return insert(context, newNode); -} - -function insertAfter(context, newNode) { - return insert(context, newNode, 1); -} - -function insert(_ref2, newNode) { - var node = _ref2.node, - inList = _ref2.inList, - parentPath = _ref2.parentPath, - parentKey = _ref2.parentKey; - var indexOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - - if (!inList) { - throw new Error('inList' + " error: " + ("insert can only be used for nodes that are within lists" || "unknown")); - } - - if (!(parentPath != null)) { - throw new Error('parentPath != null' + " error: " + ("Can not remove root node" || "unknown")); - } - - // $FlowIgnore - var parentList = parentPath.node[parentKey]; - var indexInList = parentList.findIndex(function (n) { - return n === node; - }); - parentList.splice(indexInList + indexOffset, 0, newNode); -} - -function remove(_ref3) { - var node = _ref3.node, - parentKey = _ref3.parentKey, - parentPath = _ref3.parentPath; - - if (!(parentPath != null)) { - throw new Error('parentPath != null' + " error: " + ("Can not remove root node" || "unknown")); - } - - // $FlowIgnore - var parentNode = parentPath.node; // $FlowIgnore - - var parentProperty = parentNode[parentKey]; - - if (Array.isArray(parentProperty)) { - // $FlowIgnore - parentNode[parentKey] = parentProperty.filter(function (n) { - return n !== node; - }); - } else { - // $FlowIgnore - delete parentNode[parentKey]; - } - - node._deleted = true; -} - -function stop(context) { - context.shouldStop = true; -} - -function replaceWith(context, newNode) { - // $FlowIgnore - var parentNode = context.parentPath.node; // $FlowIgnore - - var parentProperty = parentNode[context.parentKey]; - - if (Array.isArray(parentProperty)) { - var indexInList = parentProperty.findIndex(function (n) { - return n === context.node; - }); - parentProperty.splice(indexInList, 1, newNode); - } else { - // $FlowIgnore - parentNode[context.parentKey] = newNode; - } - - context.node._deleted = true; - context.node = newNode; -} // bind the context to the first argument of node operations - - -function bindNodeOperations(operations, context) { - var keys = Object.keys(operations); - var boundOperations = {}; - keys.forEach(function (key) { - boundOperations[key] = operations[key].bind(null, context); - }); - return boundOperations; -} - -function createPathOperations(context) { - // $FlowIgnore - return bindNodeOperations({ - findParent: findParent, - replaceWith: replaceWith, - remove: remove, - insertBefore: insertBefore, - insertAfter: insertAfter, - stop: stop - }, context); -} - -function createPath(context) { - var path = _extends({}, context); // $FlowIgnore - - - Object.assign(path, createPathOperations(path)); // $FlowIgnore - - return path; -}
\ No newline at end of file |