deepcopy.min.js 5.7 KB

12345678910111213141516171819
  1. /*!
  2. * @license deepcopy.js Copyright(c) 2013 sasa+1
  3. * https://github.com/sasaplus1/deepcopy.js
  4. * Released under the MIT license.
  5. *
  6. * type-detect
  7. * Copyright(c) 2013 jake luer <jake@alogicalparadox.com>
  8. * MIT Licensed
  9. */
  10. /*!
  11. * @license deepcopy.js Copyright(c) 2013 sasa+1
  12. * https://github.com/sasaplus1/deepcopy.js
  13. * Released under the MIT license.
  14. *
  15. * type-detect
  16. * Copyright(c) 2013 jake luer <jake@alogicalparadox.com>
  17. * MIT Licensed
  18. */
  19. !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).deepcopy=t()}(this,(function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var t=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(t,n){t.exports=function(){var t="function"==typeof Promise,n="object"==typeof self?self:e,r="undefined"!=typeof Symbol,o="undefined"!=typeof Map,i="undefined"!=typeof Set,a="undefined"!=typeof WeakMap,f="undefined"!=typeof WeakSet,u="undefined"!=typeof DataView,c=r&&void 0!==Symbol.iterator,l=r&&void 0!==Symbol.toStringTag,p=i&&"function"==typeof Set.prototype.entries,y=o&&"function"==typeof Map.prototype.entries,s=p&&Object.getPrototypeOf((new Set).entries()),b=y&&Object.getPrototypeOf((new Map).entries()),d=c&&"function"==typeof Array.prototype[Symbol.iterator],g=d&&Object.getPrototypeOf([][Symbol.iterator]()),w=c&&"function"==typeof String.prototype[Symbol.iterator],m=w&&Object.getPrototypeOf(""[Symbol.iterator]()),S=8,j=-1;function O(e){var r=typeof e;if("object"!==r)return r;if(null===e)return"null";if(e===n)return"global";if(Array.isArray(e)&&(!1===l||!(Symbol.toStringTag in e)))return"Array";if("object"==typeof window&&null!==window){if("object"==typeof window.location&&e===window.location)return"Location";if("object"==typeof window.document&&e===window.document)return"Document";if("object"==typeof window.navigator){if("object"==typeof window.navigator.mimeTypes&&e===window.navigator.mimeTypes)return"MimeTypeArray";if("object"==typeof window.navigator.plugins&&e===window.navigator.plugins)return"PluginArray"}if(("function"==typeof window.HTMLElement||"object"==typeof window.HTMLElement)&&e instanceof window.HTMLElement){if("BLOCKQUOTE"===e.tagName)return"HTMLQuoteElement";if("TD"===e.tagName)return"HTMLTableDataCellElement";if("TH"===e.tagName)return"HTMLTableHeaderCellElement"}}var c=l&&e[Symbol.toStringTag];if("string"==typeof c)return c;var p=Object.getPrototypeOf(e);return p===RegExp.prototype?"RegExp":p===Date.prototype?"Date":t&&p===Promise.prototype?"Promise":i&&p===Set.prototype?"Set":o&&p===Map.prototype?"Map":f&&p===WeakSet.prototype?"WeakSet":a&&p===WeakMap.prototype?"WeakMap":u&&p===DataView.prototype?"DataView":o&&p===b?"Map Iterator":i&&p===s?"Set Iterator":d&&p===g?"Array Iterator":w&&p===m?"String Iterator":null===p?"Object":Object.prototype.toString.call(e).slice(S,j)}return O}()}));const n="undefined"!=typeof Buffer,r=n&&void 0!==Buffer.from,o=n?function(e){return Buffer.isBuffer(e)}:function(){return!1},i=r?function(e){return Buffer.from(e)}:n?function(e){return new Buffer(e)}:function(e){return e};function a(e){return o(e)?"Buffer":t(e)}const f=new Set(["Arguments","Array","Map","Object","Set"]);function u(e,t,n=null){switch(n||a(e)){case"Arguments":case"Array":case"Object":return e[t];case"Map":return e.get(t);case"Set":return t}}function c(e){return f.has(e)}function l(e,t,n,r=null){switch(r||a(e)){case"Arguments":case"Array":case"Object":e[t]=n;break;case"Map":e.set(t,n);break;case"Set":e.add(n)}return e}const p="undefined"!=typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis,y="undefined"!=typeof global&&null!==global&&global.Object===Object&&global,s="undefined"!=typeof self&&null!==self&&self.Object===Object&&self,b=p||y||s||Function("return this")();function d(e,t){return b[t].from?b[t].from(e):new b[t](e)}function g(e){return e}function w(){return[]}var m=new Map([["ArrayBuffer",function(e){return e.slice(0)}],["Boolean",function(e){return new Boolean(e.valueOf())}],["Buffer",function(e){return i(e)}],["DataView",function(e){return new DataView(e.buffer)}],["Date",function(e){return new Date(e.getTime())}],["Number",function(e){return new Number(e)}],["RegExp",function(e){return new RegExp(e.source,e.flags)}],["String",function(e){return new String(e)}],["Float32Array",d],["Float64Array",d],["Int16Array",d],["Int32Array",d],["Int8Array",d],["Uint16Array",d],["Uint32Array",d],["Uint8Array",d],["Uint8ClampedArray",d],["Array Iterator",g],["Map Iterator",g],["Promise",g],["Set Iterator",g],["String Iterator",g],["function",g],["global",g],["WeakMap",g],["WeakSet",g],["boolean",g],["null",g],["number",g],["string",g],["symbol",g],["undefined",g],["Arguments",w],["Array",w],["Map",function(){return new Map}],["Object",function(){return{}}],["Set",function(){return new Set}]]);function S(){}function j(e,t=null,n=S){2===arguments.length&&"function"==typeof t&&(n=t,t=null);const r=t||a(e),o=m.get(r);if("Object"===r){const t=n(e,r);if(void 0!==t)return t}return o?o(e,r):e}function O(e,t,n,r,o){const i=a(e),f=j(e,i);if(!c(i))return f;let p;switch(i){case"Arguments":case"Array":p=Object.keys(e);break;case"Object":p=Object.keys(e),p.push(...Object.getOwnPropertySymbols(e));break;case"Map":case"Set":p=e.keys()}for(let o of p){const f=u(e,o,i);if(r.has(f))l(t,o,n.get(f),i);else{const e=a(f),u=j(f,e);c(e)&&(n.set(f,u),r.add(f)),l(t,o,O(f,u,n,r),i)}}return t}return function(e,t={}){"function"==typeof t&&(t={customizer:t});const{customizer:n}=t,r=a(e);if(!c(r))return O(e,null,null,null);const o=j(e,r,n);return O(e,o,new WeakMap([[e,o]]),new WeakSet([e]))}}));