@@ -75,12 +75,13 @@ export function createLocation(url, object, prop = 'location') {
75
75
pushState ( href )
76
76
setHref ( getWindowLocation ( ) , mutation )
77
77
} else if ( mutation . prop === 'query' ) {
78
- let href ,
79
- prop ,
80
- query = mutation . value ,
81
- search = [ ]
82
- for ( prop in query )
78
+ let href
79
+ let prop
80
+ let query = mutation . value
81
+ let search = [ ]
82
+ for ( prop in query ) {
83
83
search . push ( enc ( prop ) + '=' + enc ( query [ prop ] ) )
84
+ }
84
85
85
86
href =
86
87
location . pathname + '?' + search . join ( '&' ) + location . hash
@@ -113,18 +114,20 @@ export function createLocation(url, object, prop = 'location') {
113
114
114
115
intercept ( location . query , ( mutation , object ) => {
115
116
if ( ! shallWeEmit ) {
116
- let href ,
117
- query = location . query ,
118
- search = [ ] ,
119
- prop = mutation . prop
117
+ let href
118
+ let query = location . query
119
+ let search = [ ]
120
+ let prop = mutation . prop
120
121
// Is true if is not a delete
121
122
if ( mutation . hasOwnProperty ( 'value' ) ) {
122
123
let propenc = enc ( mutation . prop )
123
124
let valueenc = enc ( mutation . value )
124
125
delete object [ mutation . prop ]
125
126
object [ propenc ] = valueenc
126
127
}
127
- for ( prop in query ) search . push ( prop + '=' + query [ prop ] )
128
+ for ( prop in query ) {
129
+ search . push ( prop + '=' + query [ prop ] )
130
+ }
128
131
href = location . pathname + '?' + search . join ( '&' ) + location . hash
129
132
130
133
pushState ( href )
@@ -151,11 +154,15 @@ export function createLocation(url, object, prop = 'location') {
151
154
set ( location . path , 'length' , newlocation . path . length )
152
155
153
156
// query
154
- let prop ,
155
- newquery = newlocation . query ,
156
- query = location . query
157
- for ( prop in newquery ) set ( query , prop , newquery [ prop ] )
158
- for ( prop in query ) if ( ! newquery . hasOwnProperty ( prop ) ) del ( query , prop )
157
+ let prop
158
+ let newquery = newlocation . query
159
+ let query = location . query
160
+ for ( prop in newquery ) {
161
+ set ( query , prop , newquery [ prop ] )
162
+ }
163
+ for ( prop in query ) {
164
+ if ( ! newquery . hasOwnProperty ( prop ) ) del ( query , prop )
165
+ }
159
166
160
167
// emit
161
168
shallWeEmit = false
@@ -186,21 +193,21 @@ function getHref(location) {
186
193
}
187
194
188
195
function parse ( url ) {
189
- let match = / ( ( .* ) : \/ \/ ( [ ^ / # ? ] + ) ) ? ( [ ^ ? # ] * ) ( [ ^ # ] * ) ( .* ) ? / . exec (
190
- decodeURIComponent ( url )
191
- ) ,
192
- query = { } ,
193
- location = {
194
- url : url ,
195
- origin : match [ 1 ] ,
196
- protocol : match [ 2 ] ,
197
- host : match [ 3 ] ,
198
- pathname : match [ 4 ] === '' ? '/' : match [ 4 ] ,
199
- path : match [ 4 ] . split ( '/' ) . filter ( item => item . length > 0 ) ,
200
- search : match [ 5 ] ,
201
- query : query ,
202
- hash : match [ 6 ] || ''
203
- }
196
+ const match = / ( ( .* ) : \/ \/ ( [ ^ / # ? ] + ) ) ? ( [ ^ ? # ] * ) ( [ ^ # ] * ) ( .* ) ? / . exec (
197
+ decodeURIComponent ( url )
198
+ )
199
+ const query = { }
200
+ const location = {
201
+ url : url ,
202
+ origin : match [ 1 ] ,
203
+ protocol : match [ 2 ] ,
204
+ host : match [ 3 ] ,
205
+ pathname : match [ 4 ] === '' ? '/' : match [ 4 ] ,
206
+ path : match [ 4 ] . split ( '/' ) . filter ( item => item . length > 0 ) ,
207
+ search : match [ 5 ] ,
208
+ query : query ,
209
+ hash : match [ 6 ] || ''
210
+ }
204
211
205
212
location . href = getHref ( location )
206
213
0 commit comments