Socket
Socket
Sign inDemoInstall

omniclone

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

omniclone - npm Package Compare versions

Comparing version 0.7.1 to 0.8.0

2

dist/main.js

@@ -1,1 +0,1 @@

module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(e,t){e.exports=(e=>{if(e)return null;throw new TypeError("TypeError: cannot copy Error objects")})},function(e,t){e.exports=(e=>{const{source:t,flags:n,lastIndex:r}=e,o=new RegExp(t,n);return o.lastIndex=r,o})},function(e,t){e.exports=(e=>new Date(e.getTime()))},function(e,t,n){(function(e){e.export=(e=>e.slice())}).call(this,n(15)(e))},function(e,t){e.exports=(e=>e.slice())},function(e,t){e.exports=(e=>e.valueOf())},function(e,t){e.exports=((e,t)=>e.has(t)?e.get(t):null)},function(e,t,n){const r=n(8),o=n(0),i=n(1),s=n(4),c=n(3),a=n(2),f=n(18),u=n(19);e.exports=function(e={},{setPrototype:t=!1,invokeConstructors:n=!0,copyNonEnumerables:p=!1,copySymbols:l=!1,copyGettersSetters:y=!1,allowCircularReferences:d=!0,discardErrorObjects:b=!0}={}){if(!e||"object"!=typeof e)throw new TypeError("TypeError: invalid 'obj' argument's type");if("boolean"!=typeof t)throw new TypeError("TypeError: invalid 'setPrototype' flag's type");if("boolean"!=typeof n)throw new TypeError("TypeError: invalid 'invokeConstructors' flag's type");if("boolean"!=typeof p)throw new TypeError("TypeError: invalid 'copyNonEnumerables' flag's type");if("boolean"!=typeof l)throw new TypeError("TypeError: invalid 'copySymbols' flag's type");if("boolean"!=typeof y)throw new TypeError("TypeError: invalid 'copyGettersSetters' flag's type");if("boolean"!=typeof d)throw new TypeError("TypeError: invalid 'allowCircularReferences' flag's type");if("boolean"!=typeof b)throw new TypeError("TypeError: invalid 'discardErrorObjects' flag's type");if(e instanceof Number||e instanceof String||e instanceof Boolean)return null;if(e instanceof Promise||e instanceof WeakMap||e instanceof WeakSet)return e;if(e instanceof Error)return o(b);if(e instanceof RegExp)return i(e);if(e instanceof Date)return a(e);if(e instanceof ArrayBuffer)return s(e);if(e instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)return c(e);if(!d){const t=f(e,p,l);if(u(t))throw new TypeError("TypeError: circular reference found")}return r(e,{setPrototype:t,invokeConstructors:n,copyNonEnumerables:p,copySymbols:l,copyGettersSetters:y,allowCircularReferences:d,discardErrorObjects:b})}},function(e,t,n){const r=n(9),o=n(13);e.exports=function(e,t){return function e(t,n,i,s){const{setPrototype:c,invokeConstructors:a,allowCircularReferences:f}=n;i.set(t,t);let u=null;if(u=a?new t.constructor:c?Object.create(Object.getPrototypeOf(t)):{},t instanceof Array&&(u=[]),t instanceof Map){u=new Map;const r=[...t.entries()];o(u,{mapEntries:r},n,s,i,e)}else if(t instanceof Set){u=new Set;const r=[...t.values()];o(u,{setEntries:r},n,s,i,e)}else{const r=Object.getOwnPropertyDescriptors(t);o(u,{ownPropsDcps:r},n,s,i,e)}return i.set(t,u),f&&s===t&&r(u,i),u}(e,t,new WeakMap,e)}},function(e,t,n){const r=n(10),o=n(11),i=n(12);e.exports=function(e,t){const n=new WeakMap;n.set(e),function e(t,n,s){return t instanceof Map?r(t,n,s,e):t instanceof Set?o(t,n,s,e):i(t,n,s,e)}(e,t,n)}},function(e,t){e.exports=((e,t,n,r)=>{const o=[...e.entries()];for(const[i,s]of o)if(s&&"object"==typeof s)if(t.has(s))e.set(i,t.get(s));else{if(n.has(s))continue;n.set(s),r(s,t,n)}})},function(e,t){e.exports=((e,t,n,r)=>{const o=[...e.values()];for(const i of o)if(i&&"object"==typeof i)if(t.has(i))e.delete(i),e.add(t.get(i));else{if(n.has(i))continue;n.set(i),r(i,t,n)}})},function(e,t){e.exports=((e,t,n,r)=>{const o=Object.getOwnPropertyDescriptors(e);Object.entries(o).forEach(([o,i])=>{if(i.set||i.get)return;const{value:s}=i;if(s&&"object"==typeof s)if(t.has(s))e[o]=t.get(s);else{if(n.has(s))return;n.set(s),r(s,t,n)}})})},function(e,t,n){const r=n(14),o=n(16),i=n(17);e.exports=function(e,t,n,s,c,a){return function(e,t,n,c){const{mapEntries:f,setEntries:u,ownPropsDcps:p}=t;if(f)return r(e,f,n,s,c,a);if(u)return o(e,u,n,s,c,a);if(p)return i(e,p,n,s,c,a);throw new Error("wrong data parameter for innerPropsHandler function")}(e,t,n,c)}},function(e,t,n){const r=n(0),o=n(1),i=n(2),s=n(5),c=n(6),a=n(3),f=n(4);e.exports=((e,t,n,u,p,l)=>{const y=t,{discardErrorObjects:d}=n;for(const[t,b]of y)if(b&&"object"==typeof b){const y=c(p,b);if(y){e.set(t,y);continue}if(b instanceof Error){r(d);continue}if(b instanceof Number||b instanceof Boolean||b instanceof String){e.set(t,s(b));continue}if(b instanceof Date){const n=i(b);e.set(t,n),p.set(b,n);continue}if(b instanceof RegExp){const n=o(b);e.set(t,n),p.set(b,n);continue}if(b instanceof Promise){e.set(t,b);continue}if(b instanceof WeakMap){e.set(t,b);continue}if(b instanceof WeakSet){e.set(t,b);continue}if(b instanceof ArrayBuffer){const n=f(b);e.set(t,n),p.set(b,n);continue}if(b instanceof Int8Array||b instanceof Uint8Array||b instanceof Uint8ClampedArray||b instanceof Int16Array||b instanceof Uint16Array||b instanceof Int32Array||b instanceof Uint32Array||b instanceof Float32Array||b instanceof Float64Array){const n=a(b);e.set(t,n),p.set(b,n);continue}e.set(t,l(b,n,p,u))}else e.set(t,b)})},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){const r=n(0),o=n(1),i=n(2),s=n(5),c=n(3),a=n(6),f=n(4);e.exports=((e,t,n,u,p,l)=>{const y=t,{discardErrorObjects:d}=n;for(const t of y)if(t&&"object"==typeof t){const y=a(p,t);if(y){e.add(y);continue}if(t instanceof Error){r(d);continue}if(t instanceof Number||t instanceof Boolean||t instanceof String){e.add(s(t));continue}if(t instanceof Date){const n=i(t);e.add(n),p.set(t,n);continue}if(t instanceof RegExp){const n=o(t);e.add(n),p.set(t,n);continue}if(t instanceof Promise){e.add(t);continue}if(t instanceof WeakMap){e.add(t);continue}if(t instanceof WeakSet){e.add(t);continue}if(t instanceof ArrayBuffer){const n=f(t);e.add(n),p.set(t,n);continue}if(t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array){const n=c(t);e.add(n),p.set(t,n);continue}const b=l(t,n,p,u);e.add(b)}else e.add(t)})},function(e,t,n){const r=n(0),o=n(1),i=n(2),s=n(4),c=n(3),a=n(5),f=n(6);e.exports=((e,t,n,u,p,l)=>{const y=t,{copyNonEnumerables:d,copySymbols:b,copyGettersSetters:E,discardErrorObjects:j}=n;Object.entries(y).forEach(([t,y])=>{const{value:w,enumerable:v}=y;if((d||v)&&(b||"symbol"!=typeof t)&&(E||!y.get&&!y.set))if(w&&"object"==typeof w){const d=f(p,w);if(d)return void(e[t]=d);if(w instanceof Error)return void r(j);if(w instanceof Number||w instanceof Boolean||w instanceof String){const n=a(w);return void Object.defineProperty(e,t,{...y,...{value:n}})}if(w instanceof Date){const n=i(w);return Object.defineProperty(e,t,{...y,...{value:n}}),void p.set(w,n)}if(w instanceof RegExp){const n=o(w);return Object.defineProperty(e,t,{...y,...{value:n}}),void p.set(w,n)}if(w instanceof Promise)return void Object.defineProperty(e,t,y);if(w instanceof ArrayBuffer){const n=s(w);return Object.defineProperty(e,t,{...y,...{value:n}}),void p.set(w,n)}if(w instanceof Int8Array||w instanceof Uint8Array||w instanceof Uint8ClampedArray||w instanceof Int16Array||w instanceof Uint16Array||w instanceof Int32Array||w instanceof Uint32Array||w instanceof Float32Array||w instanceof Float64Array){const n=c(w);return Object.defineProperty(e,t,{...y,...{value:n}}),void p.set(w,n)}if(w instanceof WeakMap)return void Object.defineProperty(e,t,y);if(w instanceof WeakSet)return void Object.defineProperty(e,t,y);e[t]=l(w,n,p,u)}else{const n=Object.getOwnPropertyDescriptor(e,t);n&&!n.configurable||Object.defineProperty(e,t,y)}})})},function(e,t){e.exports=((e,t=!1,n=!1)=>{const r=new Set,o=new Map;return function e(i){r.add(i);const s=new Set;if(i instanceof Map)[...i.entries()].forEach(([,t])=>{"object"==typeof t&&(s.add(t),r.has(t)||e(t))});else if(i instanceof Set)[...i.values()].forEach(t=>{"object"==typeof t&&(s.add(t),r.has(t)||e(t))});else if(t||n){const o=Object.getOwnPropertyDescriptors(i);Object.entries(o).forEach(([o,i])=>{if(i.set||i.get)return;if(!1===i.enumerable&&!1===t)return;if("symbol"==typeof o&&!1===n)return;const{value:c}=i;c&&"object"==typeof c&&(s.add(c),r.has(c)||e(c))})}else Object.values(i).forEach(t=>{"object"==typeof t&&(s.add(t),r.has(t)||e(t))});o.set(i,s)}(e),o})},function(e,t){e.exports=function(e){return function e(t){if(0===t.size)return t;const n=[...t.entries()].find(([,e])=>0===e.size);if(!n)return t;const[r]=n;return function(e,t){[...t.entries()].forEach(([,t])=>{t.has(e)&&t.delete(e)})}(r,t),t.delete(r),e(t)}(e).size}}]);
module.exports=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(e,t){e.exports=(e=>{if(e)return null;throw new TypeError("TypeError: cannot copy Error objects")})},function(e,t){e.exports=(e=>{const{source:t,flags:n,lastIndex:o}=e,r=new RegExp(t,n);return r.lastIndex=o,r})},function(e,t){e.exports=(e=>new Date(e.getTime()))},function(e,t){e.exports=(e=>e.slice())},function(e,t){e.exports=(e=>e.slice())},function(e,t){e.exports=(e=>e.valueOf())},function(e,t){e.exports=((e,t)=>e.has(t)?e.get(t):null)},function(e,t,n){const o=n(8),r=n(0),i=n(1),s=n(4),c=n(3),a=n(2),f=n(17),u=n(18);e.exports=function(e={},{setPrototype:t=!1,invokeConstructors:n=!0,copyNonEnumerables:p=!1,copySymbols:y=!1,copyGettersSetters:l=!1,allowCircularReferences:d=!0,discardErrorObjects:b=!0}={},E=(()=>{})){if(!e||"object"!=typeof e)throw new TypeError("TypeError: invalid 'obj' argument's type");if("boolean"!=typeof t)throw new TypeError("TypeError: invalid 'setPrototype' flag's type");if("boolean"!=typeof n)throw new TypeError("TypeError: invalid 'invokeConstructors' flag's type");if("boolean"!=typeof p)throw new TypeError("TypeError: invalid 'copyNonEnumerables' flag's type");if("boolean"!=typeof y)throw new TypeError("TypeError: invalid 'copySymbols' flag's type");if("boolean"!=typeof l)throw new TypeError("TypeError: invalid 'copyGettersSetters' flag's type");if("boolean"!=typeof d)throw new TypeError("TypeError: invalid 'allowCircularReferences' flag's type");if("boolean"!=typeof b)throw new TypeError("TypeError: invalid 'discardErrorObjects' flag's type");if("function"!=typeof E)throw new TypeError("TypeError: invalid 'customHandler' arguments's type");const v={setPrototype:t,invokeConstructors:n,copyNonEnumerables:p,copySymbols:y,copyGettersSetters:l,allowCircularReferences:d,discardErrorObjects:b};if(e instanceof Number||e instanceof String||e instanceof Boolean)return null;if(e instanceof Promise||e instanceof WeakMap||e instanceof WeakSet)return e;if(e instanceof Error)return r(b);if(e instanceof RegExp)return i(e);if(e instanceof Date)return a(e);if(!d){const t=f(e,p,y);if(u(t))throw new TypeError("TypeError: circular reference found")}if(e instanceof Map||e instanceof Set)return o(e,v,E);const w=E(e,{...v});return void 0!==w?w:e instanceof DataView?e:e instanceof ArrayBuffer?s(e):e instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array?c(e):o(e,v,E)}},function(e,t,n){const o=n(9),r=n(13);e.exports=function(e,t,n){return function e(t,i,s,c){const{setPrototype:a,invokeConstructors:f,allowCircularReferences:u}=i;s.set(t,t);let p=null;if(p=f?new t.constructor:a?Object.create(Object.getPrototypeOf(t)):{},t instanceof Array&&(p=[]),t instanceof Map){p=new Map;const o=[...t.entries()];r(p,{mapEntries:o},i,c,s,e,n)}else if(t instanceof Set){p=new Set;const o=[...t.values()];r(p,{setEntries:o},i,c,s,e,n)}else{const o=Object.getOwnPropertyDescriptors(t);r(p,{ownPropsDcps:o},i,c,s,e,n)}return s.set(t,p),u&&c===t&&o(p,s),p}(e,t,new WeakMap,e)}},function(e,t,n){const o=n(10),r=n(11),i=n(12);e.exports=function(e,t){const n=new WeakMap;n.set(e),function e(t,n,s){return t instanceof Map?o(t,n,s,e):t instanceof Set?r(t,n,s,e):i(t,n,s,e)}(e,t,n)}},function(e,t){e.exports=((e,t,n,o)=>{const r=[...e.entries()];for(const[i,s]of r)if(s&&"object"==typeof s)if(t.has(s))e.set(i,t.get(s));else{if(n.has(s))continue;n.set(s),o(s,t,n)}})},function(e,t){e.exports=((e,t,n,o)=>{const r=[...e.values()];for(const i of r)if(i&&"object"==typeof i)if(t.has(i))e.delete(i),e.add(t.get(i));else{if(n.has(i))continue;n.set(i),o(i,t,n)}})},function(e,t){e.exports=((e,t,n,o)=>{const r=Object.getOwnPropertyDescriptors(e);Object.entries(r).forEach(([r,i])=>{if(i.set||i.get)return;const{value:s}=i;if(s&&"object"==typeof s)if(t.has(s))e[r]=t.get(s);else{if(n.has(s))return;n.set(s),o(s,t,n)}})})},function(e,t,n){const o=n(14),r=n(15),i=n(16);e.exports=function(e,t,n,s,c,a,f){return function(e,t,n,c){const{mapEntries:u,setEntries:p,ownPropsDcps:y}=t;if(u)return o(e,u,n,s,c,a,f);if(p)return r(e,p,n,s,c,a,f);if(y)return i(e,y,n,s,c,a,f);throw new Error("wrong data parameter for innerPropsHandler function")}(e,t,n,c)}},function(e,t,n){const o=n(0),r=n(1),i=n(2),s=n(5),c=n(6),a=n(3),f=n(4);e.exports=((e,t,n,u,p,y,l)=>{const d=t,{discardErrorObjects:b}=n;for(const[t,E]of d)if(E&&"object"==typeof E){const d=c(p,E);if(d){e.set(t,d);continue}if(E instanceof Error){o(b);continue}if(E instanceof Number||E instanceof Boolean||E instanceof String){e.set(t,s(E));continue}if(E instanceof Date){const n=i(E);e.set(t,n),p.set(E,n);continue}if(E instanceof RegExp){const n=r(E);e.set(t,n),p.set(E,n);continue}if(E instanceof Promise){e.set(t,E);continue}if(E instanceof WeakMap){e.set(t,E);continue}if(E instanceof WeakSet){e.set(t,E);continue}if(E instanceof Map||E instanceof Set){e.set(t,y(E,n,p,u));continue}const v=l(E,{...n});if(void 0!==v){e.set(t,v),p.set(E,v);continue}if(E instanceof DataView){e.set(t,E);continue}if(E instanceof ArrayBuffer){const n=f(E);e.set(t,n),p.set(E,n);continue}if(E instanceof Int8Array||E instanceof Uint8Array||E instanceof Uint8ClampedArray||E instanceof Int16Array||E instanceof Uint16Array||E instanceof Int32Array||E instanceof Uint32Array||E instanceof Float32Array||E instanceof Float64Array){const n=a(E);e.set(t,n),p.set(E,n);continue}e.set(t,y(E,n,p,u))}else e.set(t,E)})},function(e,t,n){const o=n(0),r=n(1),i=n(2),s=n(5),c=n(3),a=n(6),f=n(4);e.exports=((e,t,n,u,p,y,l)=>{const d=t,{discardErrorObjects:b}=n;for(const t of d)if(t&&"object"==typeof t){const d=a(p,t);if(d){e.add(d);continue}if(t instanceof Error){o(b);continue}if(t instanceof Number||t instanceof Boolean||t instanceof String){e.add(s(t));continue}if(t instanceof Date){const n=i(t);e.add(n),p.set(t,n);continue}if(t instanceof RegExp){const n=r(t);e.add(n),p.set(t,n);continue}if(t instanceof Promise){e.add(t);continue}if(t instanceof WeakMap){e.add(t);continue}if(t instanceof WeakSet){e.add(t);continue}if(t instanceof Map||t instanceof Set){e.add(y(t,n,p,u));continue}const E=l(t,{...n});if(void 0!==E){e.add(E),p.set(t,E);continue}if(t instanceof DataView){e.add(t);continue}if(t instanceof ArrayBuffer){const n=f(t);e.add(n),p.set(t,n);continue}if(t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array){const n=c(t);e.add(n),p.set(t,n);continue}e.add(y(t,n,p,u))}else e.add(t)})},function(e,t,n){const o=n(0),r=n(1),i=n(2),s=n(4),c=n(3),a=n(5),f=n(6);e.exports=((e,t,n,u,p,y,l)=>{const d=t,{copyNonEnumerables:b,copySymbols:E,copyGettersSetters:v,discardErrorObjects:w}=n;Object.entries(d).forEach(([t,d])=>{const{value:j,enumerable:A}=d;if((b||A)&&(E||"symbol"!=typeof t)&&(v||!d.get&&!d.set))if(j&&"object"==typeof j){const b=f(p,j);if(b)return void(e[t]=b);if(j instanceof Error)return void o(w);if(j instanceof Number||j instanceof Boolean||j instanceof String){const n=a(j);return void Object.defineProperty(e,t,{...d,...{value:n}})}if(j instanceof Date){const n=i(j);return Object.defineProperty(e,t,{...d,...{value:n}}),void p.set(j,n)}if(j instanceof RegExp){const n=r(j);return Object.defineProperty(e,t,{...d,...{value:n}}),void p.set(j,n)}if(j instanceof Promise)return void Object.defineProperty(e,t,d);if(j instanceof WeakMap)return void Object.defineProperty(e,t,d);if(j instanceof WeakSet)return void Object.defineProperty(e,t,d);if(j instanceof Map||j instanceof Set)return void(e[t]=y(j,n,p,u));const E=l(j,{...n});if(void 0!==E)return e[t]=E,void p.set(j,E);if(j instanceof DataView)return void Object.defineProperty(e,t,d);if(j instanceof ArrayBuffer){const n=s(j);return Object.defineProperty(e,t,{...d,...{value:n}}),void p.set(j,n)}if(j instanceof Int8Array||j instanceof Uint8Array||j instanceof Uint8ClampedArray||j instanceof Int16Array||j instanceof Uint16Array||j instanceof Int32Array||j instanceof Uint32Array||j instanceof Float32Array||j instanceof Float64Array){const n=c(j);return Object.defineProperty(e,t,{...d,...{value:n}}),void p.set(j,n)}e[t]=y(j,n,p,u)}else{const n=Object.getOwnPropertyDescriptor(e,t);n&&!n.configurable||Object.defineProperty(e,t,d)}})})},function(e,t){e.exports=((e,t=!1,n=!1)=>{const o=new Set,r=new Map;return function e(i){o.add(i);const s=new Set;if(i instanceof Map)[...i.entries()].forEach(([,t])=>{"object"==typeof t&&(s.add(t),o.has(t)||e(t))});else if(i instanceof Set)[...i.values()].forEach(t=>{"object"==typeof t&&(s.add(t),o.has(t)||e(t))});else if(t||n){const r=Object.getOwnPropertyDescriptors(i);Object.entries(r).forEach(([r,i])=>{if(i.set||i.get)return;if(!1===i.enumerable&&!1===t)return;if("symbol"==typeof r&&!1===n)return;const{value:c}=i;c&&"object"==typeof c&&(s.add(c),o.has(c)||e(c))})}else Object.values(i).forEach(t=>{"object"==typeof t&&(s.add(t),o.has(t)||e(t))});r.set(i,s)}(e),r})},function(e,t){e.exports=function(e){return function e(t){if(0===t.size)return t;const n=[...t.entries()].find(([,e])=>0===e.size);if(!n)return t;const[o]=n;return function(e,t){[...t.entries()].forEach(([,t])=>{t.has(e)&&t.delete(e)})}(o,t),t.delete(o),e(t)}(e).size}}]);
{
"name": "omniclone",
"version": "0.7.1",
"version": "0.8.0",
"description": "deep cloning function for js objects",

@@ -5,0 +5,0 @@ "main": "dist/main.js",

@@ -1,5 +0,5 @@

# omniclone
An isomorphic and configurable javascript function for object deep cloning
# omniclone [![NPM version](https://img.shields.io/npm/v/omniclone.svg)](https://www.npmjs.com/package/omniclone) [![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/jfet97/omniclone/blob/master/LICENSE) ![](https://img.shields.io/npm/dt/omniclone.svg)
An isomorphic and configurable javascript function for object deep cloning.
```js
omniclone(source, config);
omniclone(source [, config, [, visitor]]);
```

@@ -35,6 +35,7 @@

4. let you to copy getters and setters, non enumerables properties and also symbols (customizable behavior)
5. correct handling of String, Boolean, Number, Error, Promise, Map, Set, WeakMap, WeakSet, ArrayBuffer and TypedArray objects
5. correct handling of String, Boolean, Number, Error, Promise, Map, Set, WeakMap, WeakSet, ArrayBuffer, TypedArray and DataView objects
6. similar references are not duplicated
7. correct cloning of Array objects
8. correct cloning of RegExp and Date objects
9. let you define custom cloning logic

@@ -192,3 +193,3 @@ ## config

## what about String, Boolean, Number, Error, Promise, Map, Set, WeakMap, WeakSet, ArrayBuffer and TypedArray objects?
## what about String, Boolean, Number, Error, Promise, Map, Set, WeakMap, WeakSet, ArrayBuffer, TypedArray and DataView objects?

@@ -206,5 +207,6 @@ String, Boolean and Number objects passed to `omniclone` as sources will produce `null`.\

Map entries (keys/values) will be always deeply cloned, but any properties added to the map object itself will not be copied.\
Map values will be always deeply cloned, but any properties added to the set object itself will not be copied.\
ArrayBuffer and TypedArray will be always deeply cloned, but any properties added to the array objects themselves will not be copied.
Map objects (keys/values) will be always deeply cloned, but any properties added to the map object itself will not be copied.\
Set objects will be always deeply cloned, but any properties added to the set object itself will not be copied.\
ArrayBuffer and TypedArray objects will be always deeply cloned, but any properties added to the array objects themselves will not be copied.
DataView objects are copied by reference.

@@ -225,3 +227,28 @@ ## what about the 6th strength?

## how to define custom cloning logic?
You can define a callback function that will be called on each node which copy can be customized:
```js
function visitor(node, config) {
// do stuff
}
```
The function will receive the `node` and a copy of the `config` object. If the function returns something different than `undefined`, that returned value will become the cloned value. On the contrary if the function returns `undefined` the default cloning algorithm will be used.
You cannot overwrite the default algorithm logic for String, Boolean, Number, Error, Promise, Map, Set, WeakMap, WeakSet, Date and RegExp objects.
You can overwrite the default algorithm logic for Array, ArrayBuffer, TypedArray, DataView, plain js and custom objects.
Let's see an example where we add custom logic to properly clone a Node.js Buffer object:
```js
const buffer = Buffer.from([1, 2, 3, 4]);
const resBuffer = omniclone(buffer, {}, node => {
if (node instanceof Buffer) { // it affects only Buffer objects
return Buffer.from(node);
}
return undefined; // all the other node will be cloned as usual
});
```
Thanks to the `instanceof` check, only Buffer objects will be affected by the intervention of the visitor callback.
## warnings and limitations

@@ -232,1 +259,4 @@ 1. promises and methods are always copied by reference

4. currently there is no isomorphic way to detect if an object is a `Proxy` nor is possible to access the handler object. Because of transparent virtualization, `omniclone` will copy each properties, the `constructor` and the `[[Prototype]]` directly from the proxed object.
## support
Let me know that you like this project: star it! Thanks :)
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc