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