@@ -447,7 +447,6 @@ Kuzzle.prototype.getJwtToken = function() {
447447 * @param  credentials 
448448 * @param  expiresIn 
449449 * @param  cb 
450-  * @returns  {Kuzzle } 
451450 */ 
452451Kuzzle . prototype . login  =  function  ( strategy )  { 
453452  var 
@@ -456,7 +455,7 @@ Kuzzle.prototype.login = function (strategy) {
456455      strategy : strategy 
457456    } , 
458457    credentials , 
459-     cb ; 
458+     cb   =   null ; 
460459
461460  // Handle arguments (credentials, expiresIn, cb) 
462461  if  ( arguments [ 1 ] )  { 
@@ -491,20 +490,13 @@ Kuzzle.prototype.login = function (strategy) {
491490        self . setJwtToken ( response . result . jwt ) ; 
492491      } 
493492
494-       if  ( cb  &&  typeof  cb  ===  'function' )  { 
495-         cb ( null ,  response . result ) ; 
496-       } 
493+       cb  &&  cb ( null ,  response . result ) ; 
497494    } 
498495    else  { 
499-       if  ( cb  &&  typeof  cb  ===  'function' )  { 
500-         cb ( error ) ; 
501-       } 
502- 
496+       cb  &&  cb ( error ) ; 
503497      self . emitEvent ( 'loginAttempt' ,  { success : false ,  error : error . message } ) ; 
504498    } 
505499  } ) ; 
506- 
507-   return  self ; 
508500} ; 
509501
510502/** 
@@ -523,15 +515,12 @@ Kuzzle.prototype.logout = function (cb) {
523515      body : { } 
524516    } ; 
525517
526-   this . query ( { controller : 'auth' ,  action : 'logout' } ,  request ,  { queuable : false } ,  function ( error )  { 
518+   this . query ( { controller : 'auth' ,  action : 'logout' } ,  request ,  { queuable : false } ,  typeof   cb   !==   'function'  ?  null  :  function ( error )  { 
527519    if  ( error  ===  null )  { 
528520      self . jwtToken  =  undefined ; 
529- 
530-       if  ( typeof  cb  ===  'function' )  { 
531-         cb ( null ,  self ) ; 
532-       } 
521+       cb ( null ,  self ) ; 
533522    } 
534-     else  if   ( typeof   cb   ===   'function' )   { 
523+     else  { 
535524      cb ( error ) ; 
536525    } 
537526  } ) ; 
@@ -545,11 +534,9 @@ Kuzzle.prototype.logout = function (cb) {
545534 * @param   {string }   token     The jwt token to check 
546535 * @param   {function } callback  The callback to be called when the response is 
547536 *                              available. The signature is `function(error, response)`. 
548-  * @return  {Kuzzle }             The Kuzzle instance to enable chaining. 
549537 */ 
550538Kuzzle . prototype . checkToken  =  function  ( token ,  callback )  { 
551539  var 
552-     self  =  this , 
553540    request  =  { 
554541      body : { 
555542        token : token 
@@ -565,16 +552,13 @@ Kuzzle.prototype.checkToken = function (token, callback) {
565552
566553    callback ( null ,  response . result ) ; 
567554  } ) ; 
568- 
569-   return  self ; 
570555} ; 
571556
572557/** 
573558 * Fetches the current user. 
574559 * 
575560 * @param   {function } callback  The callback to be called when the response is 
576561 *                              available. The signature is `function(error, response)`. 
577-  * @return  {Kuzzle }             The Kuzzle instance to enable chaining. 
578562 */ 
579563Kuzzle . prototype . whoAmI  =  function  ( callback )  { 
580564  var  self  =  this ; 
@@ -588,13 +572,12 @@ Kuzzle.prototype.whoAmI = function (callback) {
588572
589573    callback ( null ,  new  KuzzleUser ( self . security ,  response . result . _id ,  response . result . _source ) ) ; 
590574  } ) ; 
591- 
592-   return  self ; 
593575} ; 
594576
595577/** 
596578 * Gets the rights array of the currently logged user. 
597579 * 
580+  * @param  {object } [options] - Optional parameters 
598581 * @param   {function } cb The callback containing the normalized array of rights. 
599582 */ 
600583Kuzzle . prototype . getMyRights  =  function  ( options ,  cb )  { 
@@ -607,7 +590,7 @@ Kuzzle.prototype.getMyRights = function (options, cb) {
607590
608591  self . callbackRequired ( 'Kuzzle.getMyRights' ,  cb ) ; 
609592
610-   self . query ( { controller : 'auth' ,  action :'getMyRights' } ,  { } ,  null ,  function  ( err ,  res )  { 
593+   self . query ( { controller : 'auth' ,  action :'getMyRights' } ,  { } ,  options ,  function  ( err ,  res )  { 
611594    if  ( err )  { 
612595      return  cb ( err ) ; 
613596    } 
@@ -622,6 +605,7 @@ Kuzzle.prototype.getMyRights = function (options, cb) {
622605 * @param  {object } content - a plain javascript object representing the user's modification 
623606 * @param  {object } [options] - (optional) arguments 
624607 * @param  {responseCallback } [cb] - (optional) Handles the query response 
608+  * @returns  {Kuzzle } this object 
625609 */ 
626610Kuzzle . prototype . updateSelf  =  function  ( content ,  options ,  cb )  { 
627611  var 
@@ -636,17 +620,11 @@ Kuzzle.prototype.updateSelf = function (content, options, cb) {
636620
637621  data . body  =  content ; 
638622
639-   if  ( cb )  { 
640-     self . query ( queryArgs ,  data ,  options ,  function  ( err ,  res )  { 
641-       if  ( err )  { 
642-         return  cb ( err ) ; 
643-       } 
623+   self . query ( queryArgs ,  data ,  options ,  cb  &&  function  ( err ,  res )  { 
624+     cb ( err ,  err  ? undefined  : res . result ) ; 
625+   } ) ; 
644626
645-       cb ( null ,  res . result ) ; 
646-     } ) ; 
647-   }  else  { 
648-     self . query ( queryArgs ,  data ,  options ) ; 
649-   } 
627+   return  this ; 
650628} ; 
651629
652630/** 
@@ -719,9 +697,7 @@ function emitRequest (request, cb) {
719697        self . emitEvent ( 'jwtTokenExpired' ,  request ,  cb ) ; 
720698      } 
721699
722-       if  ( cb )  { 
723-         cb ( response . error ,  response ) ; 
724-       } 
700+       cb  &&  cb ( response . error ,  response ) ; 
725701    } ) ; 
726702  } 
727703
@@ -830,7 +806,6 @@ Kuzzle.prototype.addListener = function(event, listener) {
830806 * 
831807 * @param  {object } [options] - Optional parameters 
832808 * @param  {responseCallback } cb - Handles the query response 
833-  * @returns  {object } this 
834809 */ 
835810Kuzzle . prototype . getAllStatistics  =  function  ( options ,  cb )  { 
836811  if  ( ! cb  &&  typeof  options  ===  'function' )  { 
@@ -847,8 +822,6 @@ Kuzzle.prototype.getAllStatistics = function (options, cb) {
847822
848823    cb ( null ,  res . result . hits ) ; 
849824  } ) ; 
850- 
851-   return  this ; 
852825} ; 
853826
854827/** 
@@ -858,10 +831,11 @@ Kuzzle.prototype.getAllStatistics = function (options, cb) {
858831 * @param  {number } timestamp -  Epoch time. Starting time from which the frames are to be retrieved 
859832 * @param  {object } [options] - Optional parameters 
860833 * @param  {responseCallback } cb - Handles the query response 
861-  * @returns  {object } this 
862834 */ 
863835Kuzzle . prototype . getStatistics  =  function  ( timestamp ,  options ,  cb )  { 
864-   var  queryCB ; 
836+   var 
837+     queryCB , 
838+     body ; 
865839
866840  if  ( ! cb )  { 
867841    if  ( arguments . length  ===  1 )  { 
@@ -885,22 +859,13 @@ Kuzzle.prototype.getStatistics = function (timestamp, options, cb) {
885859      return  cb ( err ) ; 
886860    } 
887861
888-     if  ( timestamp )  { 
889-       cb ( null ,  res . result . hits ) ; 
890-     }  else  { 
891-       cb ( null ,  [ res . result ] ) ; 
892-     } 
862+     cb ( null ,  timestamp  ? res . result . hits  : [ res . result ] ) ; 
893863  } ; 
894864
895865  this . callbackRequired ( 'Kuzzle.getStatistics' ,  cb ) ; 
896866
897-   if  ( ! timestamp )  { 
898-     this . query ( { controller : 'admin' ,  action : 'getLastStats' } ,  { } ,  options ,  queryCB ) ; 
899-   }  else  { 
900-     this . query ( { controller : 'admin' ,  action : 'getStats' } ,  {  body : {  startTime : timestamp  }  } ,  options ,  queryCB ) ; 
901-   } 
902- 
903-   return  this ; 
867+   body  =  timestamp  ? { body : { startTime : timestamp } }  : { } ; 
868+   this . query ( { controller : 'admin' ,  action : timestamp  ? 'getStats'  : 'getLastStats' } ,  body ,  options ,  queryCB ) ; 
904869} ; 
905870
906871/** 
@@ -922,12 +887,8 @@ Kuzzle.prototype.dataCollectionFactory = function(collection, index) {
922887    index  =  this . defaultIndex ; 
923888  } 
924889
925-   if  ( typeof  index  !==  'string' )  { 
926-     throw  new  Error ( 'Invalid "index" argument: string expected, got '  +  typeof  index ) ; 
927-   } 
928- 
929-   if  ( typeof  collection  !==  'string' )  { 
930-     throw  new  Error ( 'Invalid "collection" argument: string expected, got '  +  typeof  collection ) ; 
890+   if  ( typeof  index  !==  'string'  ||  typeof  collection  !==  'string' )  { 
891+     throw  new  Error ( 'Invalid index or collection argument: string expected' ) ; 
931892  } 
932893
933894  if  ( ! this . collections [ index ] )  { 
@@ -957,7 +918,6 @@ Kuzzle.prototype.flushQueue = function () {
957918 * @param  {string } [index] - Index containing collections to be listed 
958919 * @param  {object } [options] - Optional parameters 
959920 * @param  {responseCallback } cb - Handles the query response 
960-  * @returns  {object } this 
961921 */ 
962922Kuzzle . prototype . listCollections  =  function  ( )  { 
963923  var 
@@ -1000,18 +960,15 @@ Kuzzle.prototype.listCollections = function () {
1000960      return  cb ( err ) ; 
1001961    } 
1002962
1003-     return   cb ( null ,  res . result . collections ) ; 
963+     cb ( null ,  res . result . collections ) ; 
1004964  } ) ; 
1005- 
1006-   return  this ; 
1007965} ; 
1008966
1009967/** 
1010968 * Returns the list of existing indexes in Kuzzle 
1011969 * 
1012970 * @param  {object } [options] - Optional arguments 
1013971 * @param  {responseCallback } cb - Handles the query response 
1014-  * @returns  {object } this 
1015972 */ 
1016973Kuzzle . prototype . listIndexes  =  function  ( options ,  cb )  { 
1017974  if  ( ! cb  &&  typeof  options  ===  'function' )  { 
@@ -1022,14 +979,8 @@ Kuzzle.prototype.listIndexes = function (options, cb) {
1022979  this . callbackRequired ( 'Kuzzle.listIndexes' ,  cb ) ; 
1023980
1024981  this . query ( { controller : 'read' ,  action : 'listIndexes' } ,  { } ,  options ,  function  ( err ,  res )  { 
1025-     if  ( err )  { 
1026-       return  cb ( err ) ; 
1027-     } 
1028- 
1029-     return  cb ( null ,  res . result . indexes ) ; 
982+     cb ( err ,  err  ? undefined  : res . result . indexes ) ; 
1030983  } ) ; 
1031- 
1032-   return  this ; 
1033984} ; 
1034985
1035986/** 
@@ -1055,7 +1006,6 @@ Kuzzle.prototype.disconnect = function () {
10551006 * 
10561007 * @param  {object } [options] - Optional arguments 
10571008 * @param  {responseCallback } cb - Handles the query response 
1058-  * @returns  {object } this 
10591009 */ 
10601010Kuzzle . prototype . getServerInfo  =  function  ( options ,  cb )  { 
10611011  if  ( ! cb  &&  typeof  options  ===  'function' )  { 
@@ -1072,8 +1022,6 @@ Kuzzle.prototype.getServerInfo = function (options, cb) {
10721022
10731023    cb ( null ,  res . result . serverInfo ) ; 
10741024  } ) ; 
1075- 
1076-   return  this ; 
10771025} ; 
10781026
10791027/** 
@@ -1122,7 +1070,6 @@ Kuzzle.prototype.refreshIndex = function () {
11221070 * @param  {string } index - The index to get the status from. Defaults to Kuzzle.defaultIndex 
11231071 * @param  {object } options - Optinal arguments 
11241072 * @param  {responseCallback } cb - Handles the query response 
1125-  * @returns  {object } this 
11261073 */ 
11271074Kuzzle . prototype . getAutoRefresh  =  function  ( )  { 
11281075  var 
@@ -1153,8 +1100,6 @@ Kuzzle.prototype.getAutoRefresh = function () {
11531100
11541101  this . callbackRequired ( 'Kuzzle.getAutoRefresh' ,  cb ) ; 
11551102  this . query ( {  index : index ,  controller : 'admin' ,  action : 'getAutoRefresh' } ,  { } ,  options ,  cb ) ; 
1156- 
1157-   return  this ; 
11581103} ; 
11591104
11601105/** 
@@ -1210,7 +1155,6 @@ Kuzzle.prototype.setAutoRefresh = function () {
12101155 * Return the current Kuzzle's UTC Epoch time, in milliseconds 
12111156 * @param  {object } [options] - Optional parameters 
12121157 * @param  {responseCallback } cb - Handles the query response 
1213-  * @returns  {object } this 
12141158 */ 
12151159Kuzzle . prototype . now  =  function  ( options ,  cb )  { 
12161160  if  ( ! cb  &&  typeof  options  ===  'function' )  { 
@@ -1221,14 +1165,8 @@ Kuzzle.prototype.now = function (options, cb) {
12211165  this . callbackRequired ( 'Kuzzle.now' ,  cb ) ; 
12221166
12231167  this . query ( { controller : 'read' ,  action : 'now' } ,  { } ,  options ,  function  ( err ,  res )  { 
1224-     if  ( err )  { 
1225-       return  cb ( err ) ; 
1226-     } 
1227- 
1228-     cb ( null ,  res . result . now ) ; 
1168+     cb ( err ,  res  &&  res . result . now ) ; 
12291169  } ) ; 
1230- 
1231-   return  this ; 
12321170} ; 
12331171
12341172/** 
@@ -1334,6 +1272,7 @@ Kuzzle.prototype.query = function (queryArgs, query, options, cb) {
13341272 * Removes all listeners, either from a specific event or from all events 
13351273 * 
13361274 * @param  {string } event - One of the event described in the Event Handling section of this documentation 
1275+  * @returns  {Kuzzle } this object 
13371276 */ 
13381277Kuzzle . prototype . removeAllListeners  =  function  ( event )  { 
13391278  var 
@@ -1351,13 +1290,16 @@ Kuzzle.prototype.removeAllListeners = function (event) {
13511290      self . eventListeners [ eventName ] . listeners  =  [ ] ; 
13521291    } ) ; 
13531292  } 
1293+ 
1294+   return  this ; 
13541295} ; 
13551296
13561297/** 
13571298 * Removes a listener from an event. 
13581299 * 
13591300 * @param  {string } event - One of the event described in the Event Handling section of this documentation 
13601301 * @param  {string } listenerId - The ID returned by addListener 
1302+  * @returns  {Kuzzle } this object 
13611303 */ 
13621304Kuzzle . prototype . removeListener  =  function  ( event ,  listenerId )  { 
13631305  var 
@@ -1373,6 +1315,8 @@ Kuzzle.prototype.removeListener = function (event, listenerId) {
13731315      self . eventListeners [ event ] . listeners . splice ( index ,  1 ) ; 
13741316    } 
13751317  } ) ; 
1318+ 
1319+   return  this ; 
13761320} ; 
13771321
13781322/** 
0 commit comments