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.3.4 to 0.3.5

2

dist/main.js

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

module.exports=function(e){var r={};function t(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}return t.m=e,t.c=r,t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)t.d(o,n,function(r){return e[r]}.bind(null,n));return o},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=0)}([function(e,r,t){const o=t(1);e.exports=function(e={},{setPrototype:r=!1,invokeConstructors:t=!0,copyNonEnumerables:n=!1,copySymbols:i=!1,copyGettersSetters:c=!1,allowCircularReferences:s=!1,discardErrorObjects:a=!0}={}){if(!e||"object"!=typeof e)throw new TypeError("TypeError: invalid 'obj' argument's type");if(e instanceof Number||e instanceof String||e instanceof Boolean)return null;if(e instanceof Promise)return e;if(e instanceof Error){if(a)return null;throw new TypeError("TypeError: cannot copy Error objects")}if(e instanceof RegExp){const{source:r,flags:t,lastIndex:o}=e,n=new RegExp(r,t);return n.lastIndex=o,n}if(e instanceof Date)return new Date(e.getTime());if("boolean"!=typeof r)throw new TypeError("TypeError: invalid 'setPrototype' flag's type");if("boolean"!=typeof t)throw new TypeError("TypeError: invalid 'invokeConstructors' flag's type");if("boolean"!=typeof n)throw new TypeError("TypeError: invalid 'copyNonEnumerables' flag's type");if("boolean"!=typeof i)throw new TypeError("TypeError: invalid 'copySymbols' flag's type");if("boolean"!=typeof c)throw new TypeError("TypeError: invalid 'copyGettersSetters' flag's type");if("boolean"!=typeof s)throw new TypeError("TypeError: invalid 'allowCircularReferences' flag's type");if("boolean"!=typeof a)throw new TypeError("TypeError: invalid 'discardErrorObjects' flag's type");return o(e,{setPrototype:r,invokeConstructors:t,copyNonEnumerables:n,copySymbols:i,copyGettersSetters:c,allowCircularReferences:s,discardErrorObjects:a})}},function(e,r){e.exports=function(e,r){const t=new WeakMap,o=e;function n(e,r,t,n){return function(e,r,t,n,c){const{copyNonEnumerables:s,copySymbols:a,copyGettersSetters:f,allowCircularReferences:l,discardErrorObjects:u}=t;Object.entries(r).forEach(([r,p])=>{const{value:y,enumerable:b}=p;if((s||b)&&(a||"symbol"!=typeof y)&&(f||!p.get&&!p.set))if(y&&"object"==typeof y){if(n.has(y))return void(e[r]=n.get(y));if(c.has(y)){if(l)return void(e[r]=c.get(y));throw new TypeError("TypeError: circular reference found")}if(y instanceof Error){if(u)return;throw new TypeError("TypeError: cannot copy Error objects")}if(y instanceof Number||y instanceof Boolean){const t=p.value.valueOf();return void Object.defineProperty(e,r,{...p,...{value:t}})}if(y instanceof String){const t=p.value.toString();return void Object.defineProperty(e,r,{...p,...{value:t}})}if(y instanceof Date){const t=new Date(p.value.getTime());return void Object.defineProperty(e,r,{...p,...{value:t}})}if(y instanceof RegExp){const{value:{lastIndex:t}}=p,o=new RegExp(p.value.source,p.value.flags);return Object.defineProperty(e,r,{...p,...{value:o}}),void(e[r].lastIndex=t)}if(y instanceof Promise)return void Object.defineProperty(e,r,p);e[r]=i(y,t,c,o),n.set(y,e[r])}else{const t=Object.getOwnPropertyDescriptor(e,r);t&&!t.configurable||Object.defineProperty(e,r,p)}})}(e,r,t,new WeakMap,n)}function i(e,r,t,o){const{setPrototype:i,invokeConstructors:c,allowCircularReferences:s}=r;t.set(e,e);let a=null;const f=Object.getOwnPropertyDescriptors(e);return n(a=c?new e.constructor:i?Object.create(Object.getPrototypeOf(e)):{},f,r,t),s&&(t.set(e,a),o===e&&function(e,r){const t=new WeakMap;t.set(e),function e(r,t,o){Object.entries(r).forEach(([n,i])=>{if(i&&"object"==typeof i)if(t.has(i))r[n]=t.get(i);else{if(o.has(i))return;o.set(i),e(i,t,o)}})}(e,r,t)}(a,t)),a}return i(e,r,t,o)}}]);
module.exports=function(e){var r={};function t(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}return t.m=e,t.c=r,t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)t.d(o,n,function(r){return e[r]}.bind(null,n));return o},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=0)}([function(e,r,t){const o=t(1);e.exports=function(e={},{setPrototype:r=!1,invokeConstructors:t=!0,copyNonEnumerables:n=!1,copySymbols:i=!1,copyGettersSetters:c=!1,allowCircularReferences:a=!1,discardErrorObjects:s=!0}={}){if(!e||"object"!=typeof e)throw new TypeError("TypeError: invalid 'obj' argument'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){if(s)return null;throw new TypeError("TypeError: cannot copy Error objects")}if(e instanceof RegExp){const{source:r,flags:t,lastIndex:o}=e,n=new RegExp(r,t);return n.lastIndex=o,n}if(e instanceof Date)return new Date(e.getTime());if("boolean"!=typeof r)throw new TypeError("TypeError: invalid 'setPrototype' flag's type");if("boolean"!=typeof t)throw new TypeError("TypeError: invalid 'invokeConstructors' flag's type");if("boolean"!=typeof n)throw new TypeError("TypeError: invalid 'copyNonEnumerables' flag's type");if("boolean"!=typeof i)throw new TypeError("TypeError: invalid 'copySymbols' flag's type");if("boolean"!=typeof c)throw new TypeError("TypeError: invalid 'copyGettersSetters' flag's type");if("boolean"!=typeof a)throw new TypeError("TypeError: invalid 'allowCircularReferences' flag's type");if("boolean"!=typeof s)throw new TypeError("TypeError: invalid 'discardErrorObjects' flag's type");return o(e,{setPrototype:r,invokeConstructors:t,copyNonEnumerables:n,copySymbols:i,copyGettersSetters:c,allowCircularReferences:a,discardErrorObjects:s})}},function(e,r){e.exports=function(e,r){const t=new WeakMap,o=e;function n(e,r,t,n){return function(e,r,t,n,c){const{copyNonEnumerables:a,copySymbols:s,copyGettersSetters:f,allowCircularReferences:l,discardErrorObjects:u}=t;Object.entries(r).forEach(([r,p])=>{const{value:y,enumerable:b}=p;if((a||b)&&(s||"symbol"!=typeof y)&&(f||!p.get&&!p.set))if(y&&"object"==typeof y){if(n.has(y))return void(e[r]=n.get(y));if(c.has(y)){if(l)return void(e[r]=c.get(y));throw new TypeError("TypeError: circular reference found")}if(y instanceof Error){if(u)return;throw new TypeError("TypeError: cannot copy Error objects")}if(y instanceof Number||y instanceof Boolean){const t=p.value.valueOf();return void Object.defineProperty(e,r,{...p,...{value:t}})}if(y instanceof String){const t=p.value.toString();return void Object.defineProperty(e,r,{...p,...{value:t}})}if(y instanceof Date){const t=new Date(p.value.getTime());return void Object.defineProperty(e,r,{...p,...{value:t}})}if(y instanceof RegExp){const{value:{lastIndex:t}}=p,o=new RegExp(p.value.source,p.value.flags);return Object.defineProperty(e,r,{...p,...{value:o}}),void(e[r].lastIndex=t)}if(y instanceof Promise)return void Object.defineProperty(e,r,p);if(y instanceof WeakMap)return void Object.defineProperty(e,r,p);if(y instanceof WeakSet)return void Object.defineProperty(e,r,p);e[r]=i(y,t,c,o),n.set(y,e[r])}else{const t=Object.getOwnPropertyDescriptor(e,r);t&&!t.configurable||Object.defineProperty(e,r,p)}})}(e,r,t,new WeakMap,n)}function i(e,r,t,o){const{setPrototype:i,invokeConstructors:c,allowCircularReferences:a}=r;t.set(e,e);let s=null;const f=Object.getOwnPropertyDescriptors(e);return n(s=c?new e.constructor:i?Object.create(Object.getPrototypeOf(e)):{},f,r,t),a&&(t.set(e,s),o===e&&function(e,r){const t=new WeakMap;t.set(e),function e(r,t,o){Object.entries(r).forEach(([n,i])=>{if(i&&"object"==typeof i)if(t.has(i))r[n]=t.get(i);else{if(o.has(i))return;o.set(i),e(i,t,o)}})}(e,r,t)}(s,t)),s}return i(e,r,t,o)}}]);
{
"name": "omniclone",
"version": "0.3.4",
"version": "0.3.5",
"description": "deep cloning function for js objects",

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

@@ -32,3 +32,3 @@ # omniclone

4. let you to copy getters and setters, non enumerables properties and also symbols (customizable behavior)
5. correct handling of String, Boolean, Number, Error and Promise objects
5. correct handling of String, Boolean, Number, Error, Promise, WeakMapm and WeakSet objects
6. safe similar sibilings references are not duplicated

@@ -172,3 +172,3 @@ 7. correct cloning of Array objects (if the `invokeConstructors` flag is setted)

## what about String, Boolean, Number, Error and Promise objects?
## what about String, Boolean, Number, Error, Promise, WeakMap and WeakSet objects?

@@ -183,4 +183,4 @@ String, Boolean and Number objects passed to `omniclone` as sources will produce `null`.\

Promise objects will be returned if passed to `omniclone` as sources.\
Promise objects props will be shallow copied.
Promise, WeakMap and WeakSet objects will be returned if passed to `omniclone` as sources.\
Promise, WeakMap and WeakSet objects props will be shallow copied.

@@ -207,2 +207,2 @@ ## what about the 6th strength?

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.
5. currenlty there is a lack of support for Map, Set, WeakMap and WeakSet objects. I'm working on this.
5. currenlty there is a lack of support for Map and Set objects. I'm working on this.
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