diff options
Diffstat (limited to 'includes/external/addressbook/node_modules/cheerio/lib/api/manipulation.js')
-rw-r--r-- | includes/external/addressbook/node_modules/cheerio/lib/api/manipulation.js | 861 |
1 files changed, 861 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/cheerio/lib/api/manipulation.js b/includes/external/addressbook/node_modules/cheerio/lib/api/manipulation.js new file mode 100644 index 0000000..f96c008 --- /dev/null +++ b/includes/external/addressbook/node_modules/cheerio/lib/api/manipulation.js @@ -0,0 +1,861 @@ +"use strict"; +/** + * Methods for modifying the DOM structure. + * + * @module cheerio/manipulation + */ +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.clone = exports.text = exports.toString = exports.html = exports.empty = exports.replaceWith = exports.remove = exports.insertBefore = exports.before = exports.insertAfter = exports.after = exports.wrapAll = exports.unwrap = exports.wrapInner = exports.wrap = exports.prepend = exports.append = exports.prependTo = exports.appendTo = exports._makeDomArray = void 0; +var domhandler_1 = require("domhandler"); +var parse_js_1 = require("../parse.js"); +var static_js_1 = require("../static.js"); +var utils_js_1 = require("../utils.js"); +var domutils_1 = require("domutils"); +/** + * Create an array of nodes, recursing into arrays and parsing strings if necessary. + * + * @private + * @category Manipulation + * @param elem - Elements to make an array of. + * @param clone - Optionally clone nodes. + * @returns The array of nodes. + */ +function _makeDomArray(elem, clone) { + var _this = this; + if (elem == null) { + return []; + } + if ((0, utils_js_1.isCheerio)(elem)) { + return clone ? (0, utils_js_1.cloneDom)(elem.get()) : elem.get(); + } + if (Array.isArray(elem)) { + return elem.reduce(function (newElems, el) { return newElems.concat(_this._makeDomArray(el, clone)); }, []); + } + if (typeof elem === 'string') { + return this._parse(elem, this.options, false, null).children; + } + return clone ? (0, utils_js_1.cloneDom)([elem]) : [elem]; +} +exports._makeDomArray = _makeDomArray; +function _insert(concatenator) { + return function () { + var _this = this; + var elems = []; + for (var _i = 0; _i < arguments.length; _i++) { + elems[_i] = arguments[_i]; + } + var lastIdx = this.length - 1; + return (0, utils_js_1.domEach)(this, function (el, i) { + if (!(0, domhandler_1.hasChildren)(el)) + return; + var domSrc = typeof elems[0] === 'function' + ? elems[0].call(el, i, _this._render(el.children)) + : elems; + var dom = _this._makeDomArray(domSrc, i < lastIdx); + concatenator(dom, el.children, el); + }); + }; +} +/** + * Modify an array in-place, removing some number of elements and adding new + * elements directly following them. + * + * @private + * @category Manipulation + * @param array - Target array to splice. + * @param spliceIdx - Index at which to begin changing the array. + * @param spliceCount - Number of elements to remove from the array. + * @param newElems - Elements to insert into the array. + * @param parent - The parent of the node. + * @returns The spliced array. + */ +function uniqueSplice(array, spliceIdx, spliceCount, newElems, parent) { + var _a, _b; + var spliceArgs = __spreadArray([ + spliceIdx, + spliceCount + ], newElems, true); + var prev = spliceIdx === 0 ? null : array[spliceIdx - 1]; + var next = spliceIdx + spliceCount >= array.length + ? null + : array[spliceIdx + spliceCount]; + /* + * Before splicing in new elements, ensure they do not already appear in the + * current array. + */ + for (var idx = 0; idx < newElems.length; ++idx) { + var node = newElems[idx]; + var oldParent = node.parent; + if (oldParent) { + var oldSiblings = oldParent.children; + var prevIdx = oldSiblings.indexOf(node); + if (prevIdx > -1) { + oldParent.children.splice(prevIdx, 1); + if (parent === oldParent && spliceIdx > prevIdx) { + spliceArgs[0]--; + } + } + } + node.parent = parent; + if (node.prev) { + node.prev.next = (_a = node.next) !== null && _a !== void 0 ? _a : null; + } + if (node.next) { + node.next.prev = (_b = node.prev) !== null && _b !== void 0 ? _b : null; + } + node.prev = idx === 0 ? prev : newElems[idx - 1]; + node.next = idx === newElems.length - 1 ? next : newElems[idx + 1]; + } + if (prev) { + prev.next = newElems[0]; + } + if (next) { + next.prev = newElems[newElems.length - 1]; + } + return array.splice.apply(array, spliceArgs); +} +/** + * Insert every element in the set of matched elements to the end of the target. + * + * @category Manipulation + * @example + * + * ```js + * $('<li class="plum">Plum</li>').appendTo('#fruits'); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="apple">Apple</li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // <li class="plum">Plum</li> + * // </ul> + * ``` + * + * @param target - Element to append elements to. + * @returns The instance itself. + * @see {@link https://api.jquery.com/appendTo/} + */ +function appendTo(target) { + var appendTarget = (0, utils_js_1.isCheerio)(target) ? target : this._make(target); + appendTarget.append(this); + return this; +} +exports.appendTo = appendTo; +/** + * Insert every element in the set of matched elements to the beginning of the target. + * + * @category Manipulation + * @example + * + * ```js + * $('<li class="plum">Plum</li>').prependTo('#fruits'); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="plum">Plum</li> + * // <li class="apple">Apple</li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // </ul> + * ``` + * + * @param target - Element to prepend elements to. + * @returns The instance itself. + * @see {@link https://api.jquery.com/prependTo/} + */ +function prependTo(target) { + var prependTarget = (0, utils_js_1.isCheerio)(target) ? target : this._make(target); + prependTarget.prepend(this); + return this; +} +exports.prependTo = prependTo; +/** + * Inserts content as the _last_ child of each of the selected elements. + * + * @category Manipulation + * @example + * + * ```js + * $('ul').append('<li class="plum">Plum</li>'); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="apple">Apple</li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // <li class="plum">Plum</li> + * // </ul> + * ``` + * + * @see {@link https://api.jquery.com/append/} + */ +exports.append = _insert(function (dom, children, parent) { + uniqueSplice(children, children.length, 0, dom, parent); +}); +/** + * Inserts content as the _first_ child of each of the selected elements. + * + * @category Manipulation + * @example + * + * ```js + * $('ul').prepend('<li class="plum">Plum</li>'); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="plum">Plum</li> + * // <li class="apple">Apple</li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // </ul> + * ``` + * + * @see {@link https://api.jquery.com/prepend/} + */ +exports.prepend = _insert(function (dom, children, parent) { + uniqueSplice(children, 0, 0, dom, parent); +}); +function _wrap(insert) { + return function (wrapper) { + var lastIdx = this.length - 1; + var lastParent = this.parents().last(); + for (var i = 0; i < this.length; i++) { + var el = this[i]; + var wrap_1 = typeof wrapper === 'function' + ? wrapper.call(el, i, el) + : typeof wrapper === 'string' && !(0, utils_js_1.isHtml)(wrapper) + ? lastParent.find(wrapper).clone() + : wrapper; + var wrapperDom = this._makeDomArray(wrap_1, i < lastIdx)[0]; + if (!wrapperDom || !(0, domhandler_1.hasChildren)(wrapperDom)) + continue; + var elInsertLocation = wrapperDom; + /* + * Find the deepest child. Only consider the first tag child of each node + * (ignore text); stop if no children are found. + */ + var j = 0; + while (j < elInsertLocation.children.length) { + var child = elInsertLocation.children[j]; + if ((0, utils_js_1.isTag)(child)) { + elInsertLocation = child; + j = 0; + } + else { + j++; + } + } + insert(el, elInsertLocation, [wrapperDom]); + } + return this; + }; +} +/** + * The .wrap() function can take any string or object that could be passed to + * the $() factory function to specify a DOM structure. This structure may be + * nested several levels deep, but should contain only one inmost element. A + * copy of this structure will be wrapped around each of the elements in the set + * of matched elements. This method returns the original set of elements for + * chaining purposes. + * + * @category Manipulation + * @example + * + * ```js + * const redFruit = $('<div class="red-fruit"></div>'); + * $('.apple').wrap(redFruit); + * + * //=> <ul id="fruits"> + * // <div class="red-fruit"> + * // <li class="apple">Apple</li> + * // </div> + * // <li class="orange">Orange</li> + * // <li class="plum">Plum</li> + * // </ul> + * + * const healthy = $('<div class="healthy"></div>'); + * $('li').wrap(healthy); + * + * //=> <ul id="fruits"> + * // <div class="healthy"> + * // <li class="apple">Apple</li> + * // </div> + * // <div class="healthy"> + * // <li class="orange">Orange</li> + * // </div> + * // <div class="healthy"> + * // <li class="plum">Plum</li> + * // </div> + * // </ul> + * ``` + * + * @param wrapper - The DOM structure to wrap around each element in the selection. + * @see {@link https://api.jquery.com/wrap/} + */ +exports.wrap = _wrap(function (el, elInsertLocation, wrapperDom) { + var parent = el.parent; + if (!parent) + return; + var siblings = parent.children; + var index = siblings.indexOf(el); + (0, parse_js_1.update)([el], elInsertLocation); + /* + * The previous operation removed the current element from the `siblings` + * array, so the `dom` array can be inserted without removing any + * additional elements. + */ + uniqueSplice(siblings, index, 0, wrapperDom, parent); +}); +/** + * The .wrapInner() function can take any string or object that could be passed + * to the $() factory function to specify a DOM structure. This structure may be + * nested several levels deep, but should contain only one inmost element. The + * structure will be wrapped around the content of each of the elements in the + * set of matched elements. + * + * @category Manipulation + * @example + * + * ```js + * const redFruit = $('<div class="red-fruit"></div>'); + * $('.apple').wrapInner(redFruit); + * + * //=> <ul id="fruits"> + * // <li class="apple"> + * // <div class="red-fruit">Apple</div> + * // </li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // </ul> + * + * const healthy = $('<div class="healthy"></div>'); + * $('li').wrapInner(healthy); + * + * //=> <ul id="fruits"> + * // <li class="apple"> + * // <div class="healthy">Apple</div> + * // </li> + * // <li class="orange"> + * // <div class="healthy">Orange</div> + * // </li> + * // <li class="pear"> + * // <div class="healthy">Pear</div> + * // </li> + * // </ul> + * ``` + * + * @param wrapper - The DOM structure to wrap around the content of each element + * in the selection. + * @returns The instance itself, for chaining. + * @see {@link https://api.jquery.com/wrapInner/} + */ +exports.wrapInner = _wrap(function (el, elInsertLocation, wrapperDom) { + if (!(0, domhandler_1.hasChildren)(el)) + return; + (0, parse_js_1.update)(el.children, elInsertLocation); + (0, parse_js_1.update)(wrapperDom, el); +}); +/** + * The .unwrap() function, removes the parents of the set of matched elements + * from the DOM, leaving the matched elements in their place. + * + * @category Manipulation + * @example <caption>without selector</caption> + * + * ```js + * const $ = cheerio.load( + * '<div id=test>\n <div><p>Hello</p></div>\n <div><p>World</p></div>\n</div>' + * ); + * $('#test p').unwrap(); + * + * //=> <div id=test> + * // <p>Hello</p> + * // <p>World</p> + * // </div> + * ``` + * + * @example <caption>with selector</caption> + * + * ```js + * const $ = cheerio.load( + * '<div id=test>\n <p>Hello</p>\n <b><p>World</p></b>\n</div>' + * ); + * $('#test p').unwrap('b'); + * + * //=> <div id=test> + * // <p>Hello</p> + * // <p>World</p> + * // </div> + * ``` + * + * @param selector - A selector to check the parent element against. If an + * element's parent does not match the selector, the element won't be unwrapped. + * @returns The instance itself, for chaining. + * @see {@link https://api.jquery.com/unwrap/} + */ +function unwrap(selector) { + var _this = this; + this.parent(selector) + .not('body') + .each(function (_, el) { + _this._make(el).replaceWith(el.children); + }); + return this; +} +exports.unwrap = unwrap; +/** + * The .wrapAll() function can take any string or object that could be passed to + * the $() function to specify a DOM structure. This structure may be nested + * several levels deep, but should contain only one inmost element. The + * structure will be wrapped around all of the elements in the set of matched + * elements, as a single group. + * + * @category Manipulation + * @example <caption>With markup passed to `wrapAll`</caption> + * + * ```js + * const $ = cheerio.load( + * '<div class="container"><div class="inner">First</div><div class="inner">Second</div></div>' + * ); + * $('.inner').wrapAll("<div class='new'></div>"); + * + * //=> <div class="container"> + * // <div class='new'> + * // <div class="inner">First</div> + * // <div class="inner">Second</div> + * // </div> + * // </div> + * ``` + * + * @example <caption>With an existing cheerio instance</caption> + * + * ```js + * const $ = cheerio.load( + * '<span>Span 1</span><strong>Strong</strong><span>Span 2</span>' + * ); + * const wrap = $('<div><p><em><b></b></em></p></div>'); + * $('span').wrapAll(wrap); + * + * //=> <div> + * // <p> + * // <em> + * // <b> + * // <span>Span 1</span> + * // <span>Span 2</span> + * // </b> + * // </em> + * // </p> + * // </div> + * // <strong>Strong</strong> + * ``` + * + * @param wrapper - The DOM structure to wrap around all matched elements in the + * selection. + * @returns The instance itself. + * @see {@link https://api.jquery.com/wrapAll/} + */ +function wrapAll(wrapper) { + var el = this[0]; + if (el) { + var wrap_2 = this._make(typeof wrapper === 'function' ? wrapper.call(el, 0, el) : wrapper).insertBefore(el); + // If html is given as wrapper, wrap may contain text elements + var elInsertLocation = void 0; + for (var i = 0; i < wrap_2.length; i++) { + if (wrap_2[i].type === 'tag') + elInsertLocation = wrap_2[i]; + } + var j = 0; + /* + * Find the deepest child. Only consider the first tag child of each node + * (ignore text); stop if no children are found. + */ + while (elInsertLocation && j < elInsertLocation.children.length) { + var child = elInsertLocation.children[j]; + if (child.type === 'tag') { + elInsertLocation = child; + j = 0; + } + else { + j++; + } + } + if (elInsertLocation) + this._make(elInsertLocation).append(this); + } + return this; +} +exports.wrapAll = wrapAll; +/* eslint-disable jsdoc/check-param-names*/ +/** + * Insert content next to each element in the set of matched elements. + * + * @category Manipulation + * @example + * + * ```js + * $('.apple').after('<li class="plum">Plum</li>'); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="apple">Apple</li> + * // <li class="plum">Plum</li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // </ul> + * ``` + * + * @param content - HTML string, DOM element, array of DOM elements or Cheerio + * to insert after each element in the set of matched elements. + * @returns The instance itself. + * @see {@link https://api.jquery.com/after/} + */ +function after() { + var _this = this; + var elems = []; + for (var _i = 0; _i < arguments.length; _i++) { + elems[_i] = arguments[_i]; + } + var lastIdx = this.length - 1; + return (0, utils_js_1.domEach)(this, function (el, i) { + var parent = el.parent; + if (!(0, domhandler_1.hasChildren)(el) || !parent) { + return; + } + var siblings = parent.children; + var index = siblings.indexOf(el); + // If not found, move on + /* istanbul ignore next */ + if (index < 0) + return; + var domSrc = typeof elems[0] === 'function' + ? elems[0].call(el, i, _this._render(el.children)) + : elems; + var dom = _this._makeDomArray(domSrc, i < lastIdx); + // Add element after `this` element + uniqueSplice(siblings, index + 1, 0, dom, parent); + }); +} +exports.after = after; +/* eslint-enable jsdoc/check-param-names*/ +/** + * Insert every element in the set of matched elements after the target. + * + * @category Manipulation + * @example + * + * ```js + * $('<li class="plum">Plum</li>').insertAfter('.apple'); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="apple">Apple</li> + * // <li class="plum">Plum</li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // </ul> + * ``` + * + * @param target - Element to insert elements after. + * @returns The set of newly inserted elements. + * @see {@link https://api.jquery.com/insertAfter/} + */ +function insertAfter(target) { + var _this = this; + if (typeof target === 'string') { + target = this._make(target); + } + this.remove(); + var clones = []; + this._makeDomArray(target).forEach(function (el) { + var clonedSelf = _this.clone().toArray(); + var parent = el.parent; + if (!parent) { + return; + } + var siblings = parent.children; + var index = siblings.indexOf(el); + // If not found, move on + /* istanbul ignore next */ + if (index < 0) + return; + // Add cloned `this` element(s) after target element + uniqueSplice(siblings, index + 1, 0, clonedSelf, parent); + clones.push.apply(clones, clonedSelf); + }); + return this._make(clones); +} +exports.insertAfter = insertAfter; +/* eslint-disable jsdoc/check-param-names*/ +/** + * Insert content previous to each element in the set of matched elements. + * + * @category Manipulation + * @example + * + * ```js + * $('.apple').before('<li class="plum">Plum</li>'); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="plum">Plum</li> + * // <li class="apple">Apple</li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // </ul> + * ``` + * + * @param content - HTML string, DOM element, array of DOM elements or Cheerio + * to insert before each element in the set of matched elements. + * @returns The instance itself. + * @see {@link https://api.jquery.com/before/} + */ +function before() { + var _this = this; + var elems = []; + for (var _i = 0; _i < arguments.length; _i++) { + elems[_i] = arguments[_i]; + } + var lastIdx = this.length - 1; + return (0, utils_js_1.domEach)(this, function (el, i) { + var parent = el.parent; + if (!(0, domhandler_1.hasChildren)(el) || !parent) { + return; + } + var siblings = parent.children; + var index = siblings.indexOf(el); + // If not found, move on + /* istanbul ignore next */ + if (index < 0) + return; + var domSrc = typeof elems[0] === 'function' + ? elems[0].call(el, i, _this._render(el.children)) + : elems; + var dom = _this._makeDomArray(domSrc, i < lastIdx); + // Add element before `el` element + uniqueSplice(siblings, index, 0, dom, parent); + }); +} +exports.before = before; +/* eslint-enable jsdoc/check-param-names*/ +/** + * Insert every element in the set of matched elements before the target. + * + * @category Manipulation + * @example + * + * ```js + * $('<li class="plum">Plum</li>').insertBefore('.apple'); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="plum">Plum</li> + * // <li class="apple">Apple</li> + * // <li class="orange">Orange</li> + * // <li class="pear">Pear</li> + * // </ul> + * ``` + * + * @param target - Element to insert elements before. + * @returns The set of newly inserted elements. + * @see {@link https://api.jquery.com/insertBefore/} + */ +function insertBefore(target) { + var _this = this; + var targetArr = this._make(target); + this.remove(); + var clones = []; + (0, utils_js_1.domEach)(targetArr, function (el) { + var clonedSelf = _this.clone().toArray(); + var parent = el.parent; + if (!parent) { + return; + } + var siblings = parent.children; + var index = siblings.indexOf(el); + // If not found, move on + /* istanbul ignore next */ + if (index < 0) + return; + // Add cloned `this` element(s) after target element + uniqueSplice(siblings, index, 0, clonedSelf, parent); + clones.push.apply(clones, clonedSelf); + }); + return this._make(clones); +} +exports.insertBefore = insertBefore; +/** + * Removes the set of matched elements from the DOM and all their children. + * `selector` filters the set of matched elements to be removed. + * + * @category Manipulation + * @example + * + * ```js + * $('.pear').remove(); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="apple">Apple</li> + * // <li class="orange">Orange</li> + * // </ul> + * ``` + * + * @param selector - Optional selector for elements to remove. + * @returns The instance itself. + * @see {@link https://api.jquery.com/remove/} + */ +function remove(selector) { + // Filter if we have selector + var elems = selector ? this.filter(selector) : this; + (0, utils_js_1.domEach)(elems, function (el) { + (0, domutils_1.removeElement)(el); + el.prev = el.next = el.parent = null; + }); + return this; +} +exports.remove = remove; +/** + * Replaces matched elements with `content`. + * + * @category Manipulation + * @example + * + * ```js + * const plum = $('<li class="plum">Plum</li>'); + * $('.pear').replaceWith(plum); + * $.html(); + * //=> <ul id="fruits"> + * // <li class="apple">Apple</li> + * // <li class="orange">Orange</li> + * // <li class="plum">Plum</li> + * // </ul> + * ``` + * + * @param content - Replacement for matched elements. + * @returns The instance itself. + * @see {@link https://api.jquery.com/replaceWith/} + */ +function replaceWith(content) { + var _this = this; + return (0, utils_js_1.domEach)(this, function (el, i) { + var parent = el.parent; + if (!parent) { + return; + } + var siblings = parent.children; + var cont = typeof content === 'function' ? content.call(el, i, el) : content; + var dom = _this._makeDomArray(cont); + /* + * In the case that `dom` contains nodes that already exist in other + * structures, ensure those nodes are properly removed. + */ + (0, parse_js_1.update)(dom, null); + var index = siblings.indexOf(el); + // Completely remove old element + uniqueSplice(siblings, index, 1, dom, parent); + if (!dom.includes(el)) { + el.parent = el.prev = el.next = null; + } + }); +} +exports.replaceWith = replaceWith; +/** + * Empties an element, removing all its children. + * + * @category Manipulation + * @example + * + * ```js + * $('ul').empty(); + * $.html(); + * //=> <ul id="fruits"></ul> + * ``` + * + * @returns The instance itself. + * @see {@link https://api.jquery.com/empty/} + */ +function empty() { + return (0, utils_js_1.domEach)(this, function (el) { + if (!(0, domhandler_1.hasChildren)(el)) + return; + el.children.forEach(function (child) { + child.next = child.prev = child.parent = null; + }); + el.children.length = 0; + }); +} +exports.empty = empty; +function html(str) { + var _this = this; + if (str === undefined) { + var el = this[0]; + if (!el || !(0, domhandler_1.hasChildren)(el)) + return null; + return this._render(el.children); + } + return (0, utils_js_1.domEach)(this, function (el) { + if (!(0, domhandler_1.hasChildren)(el)) + return; + el.children.forEach(function (child) { + child.next = child.prev = child.parent = null; + }); + var content = (0, utils_js_1.isCheerio)(str) + ? str.toArray() + : _this._parse("".concat(str), _this.options, false, el).children; + (0, parse_js_1.update)(content, el); + }); +} +exports.html = html; +/** + * Turns the collection to a string. Alias for `.html()`. + * + * @category Manipulation + * @returns The rendered document. + */ +function toString() { + return this._render(this); +} +exports.toString = toString; +function text(str) { + var _this = this; + // If `str` is undefined, act as a "getter" + if (str === undefined) { + return (0, static_js_1.text)(this); + } + if (typeof str === 'function') { + // Function support + return (0, utils_js_1.domEach)(this, function (el, i) { + return _this._make(el).text(str.call(el, i, (0, static_js_1.text)([el]))); + }); + } + // Append text node to each selected elements + return (0, utils_js_1.domEach)(this, function (el) { + if (!(0, domhandler_1.hasChildren)(el)) + return; + el.children.forEach(function (child) { + child.next = child.prev = child.parent = null; + }); + var textNode = new domhandler_1.Text("".concat(str)); + (0, parse_js_1.update)(textNode, el); + }); +} +exports.text = text; +/** + * Clone the cheerio object. + * + * @category Manipulation + * @example + * + * ```js + * const moreFruit = $('#fruits').clone(); + * ``` + * + * @returns The cloned object. + * @see {@link https://api.jquery.com/clone/} + */ +function clone() { + return this._make((0, utils_js_1.cloneDom)(this.get())); +} +exports.clone = clone; +//# sourceMappingURL=manipulation.js.map
\ No newline at end of file |