1
+ /* eslint-disable no-throw-literal */
1
2
// @ts -check
2
3
'use strict'
3
4
@@ -114,7 +115,9 @@ const defaultMethods = {
114
115
return res
115
116
} ,
116
117
error : ( type ) => {
117
- throw new Error ( type )
118
+ if ( Array . isArray ( type ) ) type = type [ 0 ]
119
+ if ( typeof type === 'object' ) throw type
120
+ throw { error : type }
118
121
} ,
119
122
max : ( data ) => Math . max ( ...data ) ,
120
123
min : ( data ) => Math . min ( ...data ) ,
@@ -342,7 +345,7 @@ const defaultMethods = {
342
345
for ( let i = 0 ; i < arr . length ; i ++ ) {
343
346
try {
344
347
// Todo: make this message thing more robust.
345
- if ( lastError ) item = engine . run ( arr [ i ] , { error : lastError . message || lastError . constructor . name } , { above : [ null , _1 , _2 ] } )
348
+ if ( lastError ) item = engine . run ( arr [ i ] , { error : lastError . error || lastError . message || lastError . constructor . name } , { above : [ null , _1 , _2 ] } )
346
349
else item = executeInLoop ? engine . run ( arr [ i ] , _1 , { above : _2 } ) : arr [ i ]
347
350
return item
348
351
} catch ( e ) {
@@ -363,7 +366,7 @@ const defaultMethods = {
363
366
for ( let i = 0 ; i < arr . length ; i ++ ) {
364
367
try {
365
368
// Todo: make this message thing more robust.
366
- if ( lastError ) item = await engine . run ( arr [ i ] , { error : lastError . message || lastError . constructor . name } , { above : [ null , _1 , _2 ] } )
369
+ if ( lastError ) item = await engine . run ( arr [ i ] , { error : lastError . error || lastError . message || lastError . constructor . name } , { above : [ null , _1 , _2 ] } )
367
370
else item = executeInLoop ? await engine . run ( arr [ i ] , _1 , { above : _2 } ) : arr [ i ]
368
371
return item
369
372
} catch ( e ) {
0 commit comments