@@ -299,8 +299,6 @@ function getAggregateFunction(opts, conversions) {
299
299
return first ;
300
300
case 'last' :
301
301
return last ;
302
- case 'change' :
303
- return change ;
304
302
305
303
case 'sum' :
306
304
// This will produce output in all cases even though it's nonsensical
@@ -350,17 +348,24 @@ function getAggregateFunction(opts, conversions) {
350
348
} ;
351
349
352
350
case 'range' :
353
- return function ( array , indices ) {
354
- var min = Infinity ;
355
- var max = - Infinity ;
356
- for ( var i = 0 ; i < indices . length ; i ++ ) {
357
- var vi = d2c ( array [ indices [ i ] ] ) ;
358
- if ( vi !== BADNUM ) {
359
- min = Math . min ( min , vi ) ;
360
- max = Math . max ( max , vi ) ;
361
- } ;
351
+ return function ( array , indices ) {
352
+ var min = Infinity ;
353
+ var max = - Infinity ;
354
+ for ( var i = 0 ; i < indices . length ; i ++ ) {
355
+ var vi = d2c ( array [ indices [ i ] ] ) ;
356
+ if ( vi !== BADNUM ) {
357
+ min = Math . min ( min , vi ) ;
358
+ max = Math . max ( max , vi ) ;
362
359
}
363
- return ( max === - Infinity || min === Infinity ) ? BADNUM : c2d ( max - min ) ;
360
+ }
361
+ return ( max === - Infinity || min === Infinity ) ? BADNUM : c2d ( max - min ) ;
362
+ } ;
363
+
364
+ case 'change' :
365
+ return function ( array , indices ) {
366
+ var first = d2c ( array [ indices [ 0 ] ] ) ;
367
+ var last = d2c ( array [ indices [ indices . length - 1 ] ] ) ;
368
+ return ( first === BADNUM || last === BADNUM ) ? BADNUM : c2d ( last - first ) ;
364
369
} ;
365
370
366
371
case 'median' :
@@ -459,7 +464,3 @@ function first(array, indices) {
459
464
function last ( array , indices ) {
460
465
return array [ indices [ indices . length - 1 ] ] ;
461
466
}
462
-
463
- function change ( array , indices ) {
464
- return last ( array , indices ) - first ( array , indices ) ;
465
- }
0 commit comments