Browse Source

Use existing module to clone objects instead of rolling our own

This one handles Date objects and other more complex data structures
pull/19/head
Luke Childs 8 years ago
parent
commit
4a5c6343b5
  1. 1
      package.json
  2. 7
      src/index.js

1
package.json

@ -44,6 +44,7 @@
},
"homepage": "https://github.com/lukechilds/browser-env#readme",
"dependencies": {
"clone": "2.0.0",
"jsdom": "9.6.0"
},
"devDependencies": {

7
src/index.js

@ -1,4 +1,5 @@
import jsdom from 'jsdom';
import clone from 'clone';
const defaultJsdomConfig = {
features: {
@ -7,10 +8,8 @@ const defaultJsdomConfig = {
}
};
const cloneObject = obj => JSON.parse(JSON.stringify(obj));
const protectedproperties = (() => {
const window = jsdom.jsdom('<html><body></body></html>', cloneObject(defaultJsdomConfig)).defaultView;
const window = jsdom.jsdom('<html><body></body></html>', clone(defaultJsdomConfig)).defaultView;
return Object
.getOwnPropertyNames(window)
@ -23,7 +22,7 @@ module.exports = (...args) => {
const jsdomConfig = Object.assign({}, userJsdomConfig, defaultJsdomConfig);
const window = jsdom.jsdom('<html><body></body></html>', cloneObject(jsdomConfig)).defaultView;
const window = jsdom.jsdom('<html><body></body></html>', clone(jsdomConfig)).defaultView;
Object
.getOwnPropertyNames(window)

Loading…
Cancel
Save