@@ -103,7 +103,7 @@ const defaultMethods = {
103103 if ( typeof data === 'boolean' ) return precoerceNumber ( - data )
104104 if ( typeof data === 'object' && ! Array . isArray ( data ) ) throw NaN
105105 if ( data [ 0 ] && typeof data [ 0 ] === 'object' ) throw NaN
106- if ( data . length === 0 ) return 0
106+ if ( data . length === 0 ) throw INVALID_ARGUMENTS
107107 if ( data . length === 1 ) return - data [ 0 ]
108108 let res = data [ 0 ]
109109 for ( let i = 1 ; i < data . length ; i ++ ) {
@@ -1019,11 +1019,11 @@ defaultMethods.in.compile = function (data, buildState) {
10191019// @ts -ignore Allow custom attribute
10201020defaultMethods [ '-' ] . compile = function ( data , buildState ) {
10211021 if ( Array . isArray ( data ) ) {
1022- if ( data . length === 0 ) return '(-0)'
1022+ if ( data . length === 0 ) throw INVALID_ARGUMENTS
10231023 return `${ data . length === 1 ? '-' : '' } precoerceNumber(${ data . map ( i => numberCoercion ( i , buildState ) ) . join ( ' - ' ) } )`
10241024 }
10251025 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))`
10271027}
10281028// @ts -ignore Allow custom attribute
10291029defaultMethods [ '/' ] . compile = function ( data , buildState ) {
0 commit comments