Comparing version 0.7.1 to 0.8.0
@@ -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 :) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
22764
258