@@ -103,7 +103,7 @@ const defaultMethods = {
103
103
if ( typeof data === 'boolean' ) return precoerceNumber ( - data )
104
104
if ( typeof data === 'object' && ! Array . isArray ( data ) ) throw NaN
105
105
if ( data [ 0 ] && typeof data [ 0 ] === 'object' ) throw NaN
106
- if ( data . length === 0 ) return 0
106
+ if ( data . length === 0 ) throw INVALID_ARGUMENTS
107
107
if ( data . length === 1 ) return - data [ 0 ]
108
108
let res = data [ 0 ]
109
109
for ( let i = 1 ; i < data . length ; i ++ ) {
@@ -1019,11 +1019,11 @@ defaultMethods.in.compile = function (data, buildState) {
1019
1019
// @ts -ignore Allow custom attribute
1020
1020
defaultMethods [ '-' ] . compile = function ( data , buildState ) {
1021
1021
if ( Array . isArray ( data ) ) {
1022
- if ( data . length === 0 ) return '(-0)'
1022
+ if ( data . length === 0 ) throw INVALID_ARGUMENTS
1023
1023
return `${ data . length === 1 ? '-' : '' } precoerceNumber(${ data . map ( i => numberCoercion ( i , buildState ) ) . join ( ' - ' ) } )`
1024
1024
}
1025
1025
if ( typeof data === 'string' || typeof data === 'number' ) return `(-${ buildString ( data , buildState ) } )`
1026
- return buildState . compile `(Array.isArray(prev = ${ data } ) ? prev.length === 0 ? 0 : prev.length === 1 ? -precoerceNumber(prev[0]) : prev.reduce((a,b) => (+precoerceNumber(a))-(+precoerceNumber(b))) : -precoerceNumber(prev))`
1026
+ return buildState . compile `(Array.isArray(prev = ${ data } ) ? prev.length === 1 ? -precoerceNumber(prev[0]) : assertSize( prev, 1) .reduce((a,b) => (+precoerceNumber(a))-(+precoerceNumber(b))) : -precoerceNumber(prev))`
1027
1027
}
1028
1028
// @ts -ignore Allow custom attribute
1029
1029
defaultMethods [ '/' ] . compile = function ( data , buildState ) {
0 commit comments