Browse Source

Always overwrite globals but don't overwrite node globals

pull/2/head
Luke Childs 9 years ago
parent
commit
9ca08b2bdd
  1. 11
      src/index.js

11
src/index.js

@ -1,13 +1,20 @@
import { jsdom } from 'jsdom';
const protectedproperties = (() => {
const window = jsdom('<html><body></body></html>').defaultView;
return Object
.keys(window)
.filter(prop => global[prop]);
})();
module.exports = arg => {
const properties = arg instanceof Array ? arg : arg && arg.properties;
const overwrite = arg && arg.overwrite;
const window = jsdom('<html><body></body></html>').defaultView;
Object
.keys(window)
.filter(prop => typeof global[prop] === 'undefined' || properties && overwrite)
.filter(prop => protectedproperties.indexOf(prop) === -1)
.filter(prop => !(properties && properties.indexOf(prop) === -1))
.forEach(prop => global[prop] = window[prop]);

Loading…
Cancel
Save