@@ -60,7 +60,7 @@ let arrayToList = a => {
60
60
/* actually you know what, not gonna provide search for now. It's a mess.
61
61
We'll let users roll their own solution/data structure for now */
62
62
let path = () =>
63
- switch %external (window ) {
63
+ switch %global (window ) {
64
64
| None => list {}
65
65
| Some (window : Dom .window ) =>
66
66
switch window |> location |> pathname {
@@ -78,7 +78,7 @@ let path = () =>
78
78
}
79
79
}
80
80
let hash = () =>
81
- switch %external (window ) {
81
+ switch %global (window ) {
82
82
| None => ""
83
83
| Some (window : Dom .window ) =>
84
84
switch window |> location |> hash {
@@ -91,7 +91,7 @@ let hash = () =>
91
91
}
92
92
}
93
93
let search = () =>
94
- switch %external (window ) {
94
+ switch %global (window ) {
95
95
| None => ""
96
96
| Some (window : Dom .window ) =>
97
97
switch window |> location |> search {
@@ -103,15 +103,15 @@ let search = () =>
103
103
}
104
104
}
105
105
let push = path =>
106
- switch (%external (history ), %external (window )) {
106
+ switch (%global (history ), %global (window )) {
107
107
| (None , _ )
108
108
| (_ , None ) => ()
109
109
| (Some (history : Dom .history ), Some (window : Dom .window )) =>
110
110
pushState (history , ~href = path )
111
111
dispatchEvent (window , safeMakeEvent ("popstate" ))
112
112
}
113
113
let replace = path =>
114
- switch (%external (history ), %external (window )) {
114
+ switch (%global (history ), %global (window )) {
115
115
| (None , _ )
116
116
| (_ , None ) => ()
117
117
| (Some (history : Dom .history ), Some (window : Dom .window )) =>
@@ -143,15 +143,15 @@ let url = () => {path: path(), hash: hash(), search: search()}
143
143
/* alias exposed publicly */
144
144
let dangerouslyGetInitialUrl = url
145
145
let watchUrl = callback =>
146
- switch %external (window ) {
146
+ switch %global (window ) {
147
147
| None => () => ()
148
148
| Some (window : Dom .window ) =>
149
149
let watcherID = () => callback (url ())
150
150
addEventListener (window , "popstate" , watcherID )
151
151
watcherID
152
152
}
153
153
let unwatchUrl = watcherID =>
154
- switch %external (window ) {
154
+ switch %global (window ) {
155
155
| None => ()
156
156
| Some (window : Dom .window ) => removeEventListener (window , "popstate" , watcherID )
157
157
}
0 commit comments