blob: 626fde35665b5766ce8b3696f0390e5e79f0c381 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
export const globals = {
window: typeof window === 'undefined' ? null : window,
document: typeof document === 'undefined' ? null : document
}
export function registerWindow (win = null, doc = null) {
globals.window = win
globals.document = doc
}
const save = {}
export function saveWindow () {
save.window = globals.window
save.document = globals.document
}
export function restoreWindow () {
globals.window = save.window
globals.document = save.document
}
export function withWindow (win, fn) {
saveWindow()
registerWindow(win, win.document)
fn(win, win.document)
restoreWindow()
}
export function getWindow () {
return globals.window
}
|