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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| import extend from './extend';
| import { ssrDocument } from './document';
|
| const win: Partial<Window> = typeof window !== 'undefined' ? window : {};
|
| const ssrWindow = {
| document: ssrDocument,
| navigator: {
| userAgent: '',
| },
| location: {
| hash: '',
| host: '',
| hostname: '',
| href: '',
| origin: '',
| pathname: '',
| protocol: '',
| search: '',
| },
| history: {
| replaceState() {},
| pushState() {},
| go() {},
| back() {},
| },
| CustomEvent: function CustomEvent() {
| return this;
| },
| addEventListener() {},
| removeEventListener() {},
| getComputedStyle() {
| return {
| getPropertyValue() {
| return '';
| },
| };
| },
| Image() {},
| Date() {},
| screen: {},
| setTimeout() {},
| clearTimeout() {},
| matchMedia() {
| return {};
| },
| };
|
| extend(win, ssrWindow);
|
| export default win;
| export { win, ssrWindow };
|
|