88let { DSUtils } = JSData
99let { deepMixIn, removeCircular, copy, makePath, isString, isNumber } = DSUtils
1010
11+ function isUndefined ( value ) {
12+ return value === undefined
13+ }
14+
1115class Defaults {
1216 queryTransform ( resourceConfig , params ) {
1317 return params
@@ -38,7 +42,7 @@ defaultsPrototype.verbsUseBasePath = false
3842
3943class DSHttpAdapter {
4044 constructor ( options ) {
41- options = options || { }
45+ options || ( options = { } )
4246 this . defaults = new Defaults ( )
4347 if ( console ) {
4448 this . defaults . log = ( a , b ) => console [ typeof console . info === 'function' ? 'info' : 'log' ] ( a , b )
@@ -51,8 +55,8 @@ class DSHttpAdapter {
5155 }
5256
5357 getEndpoint ( resourceConfig , id , options ) {
54- options = options || { }
55- options . params = options . params || { }
58+ options || ( options = { } )
59+ options . params = isUndefined ( options . params ) ? { } : options . params
5660
5761 let endpoint = options . hasOwnProperty ( 'endpoint' ) ? options . endpoint : resourceConfig . endpoint
5862 let parents = resourceConfig . parents || ( resourceConfig . parent ? {
@@ -81,7 +85,6 @@ class DSHttpAdapter {
8185 } else if ( DSUtils . _o ( id ) ) {
8286 item = id
8387 }
84- console . log ( 'item' , item )
8588
8689 if ( item ) {
8790 parentId = parentId || item [ parentKey ] || ( item [ parentField ] ? item [ parentField ] [ parentDef . idAttribute ] : null )
@@ -103,7 +106,7 @@ class DSHttpAdapter {
103106
104107 getPath ( method , resourceConfig , id , options ) {
105108 let _this = this
106- options = options || { }
109+ options || ( options = { } )
107110 if ( isString ( options . urlPath ) ) {
108111 return makePath . apply ( DSUtils , [ options . basePath || _this . defaults . basePath || resourceConfig . basePath , options . urlPath ] )
109112 } else {
@@ -144,7 +147,7 @@ class DSHttpAdapter {
144147 config . data = removeCircular ( config . data )
145148 }
146149 config . method = config . method . toUpperCase ( )
147- let suffix = config . suffix || _this . defaults . suffix
150+ let suffix = isUndefined ( config . suffix ) ? _this . defaults . suffix : config . suffix
148151 if ( suffix && config . url . substr ( config . url . length - suffix . length ) !== suffix && ! config . urlOverride ) {
149152 config . url += suffix
150153 }
@@ -223,9 +226,9 @@ class DSHttpAdapter {
223226
224227 find ( resourceConfig , id , options ) {
225228 let _this = this
226- options = options ? copy ( options ) : { }
227- options . suffix = options . suffix || resourceConfig . suffix
228- options . params = options . params || { }
229+ options || ( options = { } )
230+ options . suffix = isUndefined ( options . suffix ) ? resourceConfig . suffix : options . suffix
231+ options . params = isUndefined ( options . params ) ? { } : copy ( options . params )
229232 options . params = _this . defaults . queryTransform ( resourceConfig , options . params )
230233 return _this . GET (
231234 _this . getPath ( 'find' , resourceConfig , id , options ) ,
@@ -238,9 +241,9 @@ class DSHttpAdapter {
238241
239242 findAll ( resourceConfig , params , options ) {
240243 let _this = this
241- options = options ? copy ( options ) : { }
242- options . suffix = options . suffix || resourceConfig . suffix
243- options . params = options . params || { }
244+ options || ( options = { } )
245+ options . suffix = isUndefined ( options . suffix ) ? resourceConfig . suffix : options . suffix
246+ options . params = isUndefined ( options . params ) ? { } : copy ( options . params )
244247 if ( params ) {
245248 params = _this . defaults . queryTransform ( resourceConfig , params )
246249 deepMixIn ( options . params , params )
@@ -253,9 +256,9 @@ class DSHttpAdapter {
253256
254257 create ( resourceConfig , attrs , options ) {
255258 let _this = this
256- options = options ? copy ( options ) : { }
257- options . suffix = options . suffix || resourceConfig . suffix
258- options . params = options . params || { }
259+ options || ( options = { } )
260+ options . suffix = isUndefined ( options . suffix ) ? resourceConfig . suffix : options . suffix
261+ options . params = isUndefined ( options . params ) ? { } : copy ( options . params )
259262 options . params = _this . defaults . queryTransform ( resourceConfig , options . params )
260263 return _this . POST (
261264 _this . getPath ( 'create' , resourceConfig , attrs , options ) ,
@@ -266,9 +269,9 @@ class DSHttpAdapter {
266269
267270 update ( resourceConfig , id , attrs , options ) {
268271 let _this = this
269- options = options ? copy ( options ) : { }
270- options . suffix = options . suffix || resourceConfig . suffix
271- options . params = options . params || { }
272+ options || ( options = { } )
273+ options . suffix = isUndefined ( options . suffix ) ? resourceConfig . suffix : options . suffix
274+ options . params = isUndefined ( options . params ) ? { } : copy ( options . params )
272275 options . params = _this . defaults . queryTransform ( resourceConfig , options . params )
273276 return _this . PUT (
274277 _this . getPath ( 'update' , resourceConfig , id , options ) ,
@@ -279,9 +282,9 @@ class DSHttpAdapter {
279282
280283 updateAll ( resourceConfig , attrs , params , options ) {
281284 let _this = this
282- options = options ? copy ( options ) : { }
283- options . suffix = options . suffix || resourceConfig . suffix
284- options . params = options . params || { }
285+ options || ( options = { } )
286+ options . suffix = isUndefined ( options . suffix ) ? resourceConfig . suffix : options . suffix
287+ options . params = isUndefined ( options . params ) ? { } : copy ( options . params )
285288 if ( params ) {
286289 params = _this . defaults . queryTransform ( resourceConfig , params )
287290 deepMixIn ( options . params , params )
@@ -295,9 +298,9 @@ class DSHttpAdapter {
295298
296299 destroy ( resourceConfig , id , options ) {
297300 let _this = this
298- options = options ? copy ( options ) : { }
299- options . suffix = options . suffix || resourceConfig . suffix
300- options . params = options . params || { }
301+ options || ( options = { } )
302+ options . suffix = isUndefined ( options . suffix ) ? resourceConfig . suffix : options . suffix
303+ options . params = isUndefined ( options . params ) ? { } : copy ( options . params )
301304 options . params = _this . defaults . queryTransform ( resourceConfig , options . params )
302305 return _this . DEL (
303306 _this . getPath ( 'destroy' , resourceConfig , id , options ) ,
@@ -307,9 +310,9 @@ class DSHttpAdapter {
307310
308311 destroyAll ( resourceConfig , params , options ) {
309312 let _this = this
310- options = options ? copy ( options ) : { }
311- options . suffix = options . suffix || resourceConfig . suffix
312- options . params = options . params || { }
313+ options || ( options = { } )
314+ options . suffix = isUndefined ( options . suffix ) ? resourceConfig . suffix : options . suffix
315+ options . params = isUndefined ( options . params ) ? { } : copy ( options . params )
313316 if ( params ) {
314317 params = _this . defaults . queryTransform ( resourceConfig , params )
315318 deepMixIn ( options . params , params )
0 commit comments