UNPKG

d2-ui

Version:
74 lines (57 loc) 1.91 kB
/*istanbul ignore next*/"use strict"; exports.__esModule = true; var _getIterator2 = require("babel-runtime/core-js/get-iterator"); var _getIterator3 = _interopRequireDefault(_getIterator2); exports.remove = remove; /*istanbul ignore next*/exports._callRemovalHooks = _callRemovalHooks; /*istanbul ignore next*/exports._remove = _remove; /*istanbul ignore next*/exports._markRemoved = _markRemoved; /*istanbul ignore next*/exports._assertUnremoved = _assertUnremoved; var /*istanbul ignore next*/_removalHooks = require("./lib/removal-hooks"); /*istanbul ignore next*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function remove() { this._assertUnremoved(); this.resync(); if (this._callRemovalHooks()) { this._markRemoved(); return; } this.shareCommentsWithSiblings(); this._remove(); this._markRemoved(); } // This file contains methods responsible for removing a node. function _callRemovalHooks() { for ( /*istanbul ignore next*/var _iterator = _removalHooks.hooks, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { /*istanbul ignore next*/ var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } var fn = _ref; if (fn(this, this.parentPath)) return true; } } function _remove() { if (Array.isArray(this.container)) { this.container.splice(this.key, 1); this.updateSiblingKeys(this.key, -1); } else { this._replaceWith(null); } } function _markRemoved() { this.shouldSkip = true; this.removed = true; this.node = null; } function _assertUnremoved() { if (this.removed) { throw this.buildCodeFrameError("NodePath has been removed so is read-only."); } }