-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathLocation.ts
98 lines (86 loc) · 1.55 KB
/
Location.ts
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import {
getHash,
getHost,
getHostname,
getHref,
getOrigin,
getPathname,
getPort,
getProtocol,
getSearch,
reload,
replace,
setHash,
setHost,
setHostname,
setHref,
setPathname,
setPort,
setProtocol,
setSearch,
} from './imports'
import {Object} from './Object'
export class Location extends Object {
set href(str: string) {
setHref(this, str)
}
get href(): string {
return getHref(this)
}
set protocol(str: string) {
setProtocol(this, str)
}
get protocol(): string {
return getProtocol(this)
}
set host(str: string) {
setHost(this, str)
}
get host(): string {
return getHost(this)
}
set hostname(str: string) {
setHostname(this, str)
}
get hostname(): string {
return getHostname(this)
}
set port(str: string) {
setPort(this, str)
}
get port(): string {
return getPort(this)
}
set pathname(str: string) {
setPathname(this, str)
}
get pathname(): string {
return getPathname(this)
}
set search(str: string) {
setSearch(this, str)
}
get search(): string {
return getSearch(this)
}
set hash(str: string) {
setHash(this, str)
}
get hash(): string {
return getHash(this)
}
get origin(): string {
return getOrigin(this)
}
assign(url: string): void {
// No need for additional bindings here because this is identical to what happens in the real DOM Location API.
setHref(this, url)
}
reload(): void {
reload(this)
}
replace(url: string): void {
// No need for additional bindings here because this is identical to what happens in the real DOM Location API.
replace(this, url)
}
}