| 'use strict'; |
| |
| exports.__esModule = true; |
| |
| var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; |
| |
| function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } |
| |
| var cloneNode = function cloneNode(obj, parent) { |
| if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') { |
| return obj; |
| } |
| |
| var cloned = new obj.constructor(); |
| |
| for (var i in obj) { |
| if (!obj.hasOwnProperty(i)) { |
| continue; |
| } |
| var value = obj[i]; |
| var type = typeof value === 'undefined' ? 'undefined' : _typeof(value); |
| |
| if (i === 'parent' && type === 'object') { |
| if (parent) { |
| cloned[i] = parent; |
| } |
| } else if (value instanceof Array) { |
| cloned[i] = value.map(function (j) { |
| return cloneNode(j, cloned); |
| }); |
| } else { |
| cloned[i] = cloneNode(value, cloned); |
| } |
| } |
| |
| return cloned; |
| }; |
| |
| var _class = function () { |
| function _class() { |
| var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; |
| |
| _classCallCheck(this, _class); |
| |
| Object.assign(this, opts); |
| this.spaces = this.spaces || {}; |
| this.spaces.before = this.spaces.before || ''; |
| this.spaces.after = this.spaces.after || ''; |
| } |
| |
| _class.prototype.remove = function remove() { |
| if (this.parent) { |
| this.parent.removeChild(this); |
| } |
| this.parent = undefined; |
| return this; |
| }; |
| |
| _class.prototype.replaceWith = function replaceWith() { |
| if (this.parent) { |
| for (var index in arguments) { |
| this.parent.insertBefore(this, arguments[index]); |
| } |
| this.remove(); |
| } |
| return this; |
| }; |
| |
| _class.prototype.next = function next() { |
| return this.parent.at(this.parent.index(this) + 1); |
| }; |
| |
| _class.prototype.prev = function prev() { |
| return this.parent.at(this.parent.index(this) - 1); |
| }; |
| |
| _class.prototype.clone = function clone() { |
| var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; |
| |
| var cloned = cloneNode(this); |
| for (var name in overrides) { |
| cloned[name] = overrides[name]; |
| } |
| return cloned; |
| }; |
| |
| _class.prototype.toString = function toString() { |
| return [this.spaces.before, String(this.value), this.spaces.after].join(''); |
| }; |
| |
| return _class; |
| }(); |
| |
| exports.default = _class; |
| module.exports = exports['default']; |