@@ -293,7 +293,9 @@ const defaultMethods = {
293
293
let lastError
294
294
for ( let i = 0 ; i < arr . length ; i ++ ) {
295
295
try {
296
- item = executeInLoop ? engine . run ( arr [ i ] , _1 , { above : _2 } ) : arr [ i ]
296
+ // Todo: make this message thing more robust.
297
+ if ( lastError ) item = engine . run ( arr [ i ] , { error : lastError . message || lastError . constructor . name } , { above : [ null , _1 , _2 ] } )
298
+ else item = executeInLoop ? engine . run ( arr [ i ] , _1 , { above : _2 } ) : arr [ i ]
297
299
return item
298
300
} catch ( e ) {
299
301
// Do nothing
@@ -312,7 +314,9 @@ const defaultMethods = {
312
314
let lastError
313
315
for ( let i = 0 ; i < arr . length ; i ++ ) {
314
316
try {
315
- item = executeInLoop ? await engine . run ( arr [ i ] , _1 , { above : _2 } ) : arr [ i ]
317
+ // Todo: make this message thing more robust.
318
+ if ( lastError ) item = await engine . run ( arr [ i ] , { error : lastError . message || lastError . constructor . name } , { above : [ null , _1 , _2 ] } )
319
+ else item = executeInLoop ? await engine . run ( arr [ i ] , _1 , { above : _2 } ) : arr [ i ]
316
320
return item
317
321
} catch ( e ) {
318
322
// Do nothing
@@ -970,11 +974,11 @@ defaultMethods['/'].compile = function (data, buildState) {
970
974
if ( Array . isArray ( data ) ) {
971
975
return `(${ data . map ( ( i , x ) => {
972
976
let res = numberCoercion ( i , buildState )
973
- if ( x ) res = `(${ res } || (() => { throw new Error() })() )`
977
+ if ( x ) res = `(${ res } || (() => { throw new Error('NaN' ) })() )`
974
978
return res
975
979
} ) . join ( ' / ' ) } )`
976
980
}
977
- return `(${ buildString ( data , buildState ) } ).reduce((a,b) => (+precoerceNumber(a))/(+precoerceNumber(b) || (() => { throw new Error() })() ))`
981
+ return `(${ buildString ( data , buildState ) } ).reduce((a,b) => (+precoerceNumber(a))/(+precoerceNumber(b) || (() => { throw new Error('NaN' ) })() ))`
978
982
}
979
983
// @ts -ignore Allow custom attribute
980
984
defaultMethods [ '*' ] . compile = function ( data , buildState ) {
0 commit comments