UNPKG

@livelybone/copy

Version:

About clipboard copy, Object simple&deep copy

10 lines (8 loc) 5.47 kB
/** * Bundle of @livelybone/copy * Generated: 2023-07-25 * Version: 2.6.6 * License: MIT * Author: 2631541504@qq.com */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Copy={})}(this,function(e){"use strict";function c(e,t){var n,r,t=Object.assign({},{clearSelect:!1,cut:!1},t),o=t.clearSelect,t=t.cut;if(window.getSelection){if(!(r=window.getSelection()))return console.error("copyDom: window.getSelection() return null"),!1;n=window.document.createRange(),r.removeAllRanges(),n.selectNode(e),r.addRange(n)}else{var c=document.body.createTextRange;c&&((n=c()).moveToElementText(e),n.select())}c=document.execCommand("copy");return r&&o&&r.removeAllRanges(),t&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement?e.value="":e.innerHTML=""),c}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,c,i,a=[],u=!0,l=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=c.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return a}}(e,t)||n(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||n(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){var n;if(e)return"string"==typeof e?r(e,t):"Map"===(n="Object"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var o=function(e){return e.NormalObj="object",e.Array="Array",e}({});function i(t){var e=["undefined"!=typeof Promise&&Promise,"undefined"!=typeof Date&&Date,"undefined"!=typeof Error&&Error,"undefined"!=typeof RegExp&&RegExp,"undefined"!=typeof FileList&&FileList,"undefined"!=typeof File&&File,"undefined"!=typeof Element&&Element,"undefined"!=typeof Window&&Window,"undefined"!=typeof Document&&Document];return"object"===a(t)&&null!==t&&!e.some(function(e){return e&&t instanceof e})&&(t instanceof Array?o.Array:o.NormalObj)}function f(t,n){var e=Object.keys(n).find(function(e){return n[+e]===t});return void 0!==e?{index:+e}:void 0}function d(e){var i=["",""];return function r(e){var o,c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:["Object"],t=2<arguments.length?arguments[2]:void 0;return"object"===a(e)&&null!==e&&(o=t?[].concat(l(t),[e]):[e],Object.entries(e).some(function(e){var e=u(e,2),t=e[0],e=e[1],t=[].concat(l(c),[t]),n=f(e,o);return n?(i[0]=t.slice(0,n.index+1).reduce(function(e,t){return"".concat(e,".").concat(t)},"").replace(/^\./,""),i[1]=t.reduce(function(e,t){return"".concat(e,".").concat(t)},"").replace(/^\./,""),!0):r(e,t,o)}))}(e)?i:null}function y(n,e,t){var r,o,c;return i(n)?(r=n instanceof Array?[]:{},o=e?[].concat(l(e),[n]):[n],c=t?[].concat(l(t),[r]):[r],Object.keys(n).forEach(function(e){var t=f(n[e],o);r[e]=t?c[t.index]:y(n[e],o,c)}),r):n}function s(e){return JSON.parse(JSON.stringify(e))}e.copyDom=c,e.copyText=function(o){return new Promise(function(e,t){var n,r;navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(o).then(function(){return e(!0)}).catch(function(e){e=new Error(e.message?"copyText failed, reason: ".concat(e.message):"copyText failed");t(e)}):((n=document.createElement("span")).style.position="fixed",n.style.left="0",n.style.top="0",n.style.zIndex="-999",n.innerText=o,document.body.appendChild(n),r=c(n),document.body.removeChild(n),r?e(r):t(new Error("copyText failed")))})},e.isCircularStructure=d,e.objectDeepCopy=function(e){return y(e)},e.objectDeepMerge=function(e){for(var r="same",t=arguments.length,n=new Array(1<t?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return[e].concat(n).forEach(function(e,t){var n=d(e);if(n)throw n=JSON.stringify(n),new Error("objectDeepMerge: Circular structure is not supported, the ".concat(t,"th parameter is a circular structure with CircularStructurePaths(").concat(n,")"));t=i(e);if(!t||"same"!==r&&r!==t)throw new Error("objectDeepMerge: Please ensure that parameters are all Array or normal Object");r=t}),function r(o){for(var e=arguments.length,t=new Array(1<e?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return t.forEach(function(e){Object.entries(e).forEach(function(e){var t=(e=u(e,2))[0],e=e[1];if("__proto__"===t||"constructor"===t||"prototype"===t)return o;var n=o[t];i(e)&&i(n)?r(n,e):o[t]="object"===a(e)?s(e):e})}),o}.apply(void 0,[e].concat(n))},e.objectSimpleCopy=s,Object.defineProperty(e,"__esModule",{value:!0})});