1+ /* eslint-disable no-throw-literal */
12// @ts -check
23'use strict'
34
@@ -114,7 +115,9 @@ const defaultMethods = {
114115 return res
115116 } ,
116117 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 }
118121 } ,
119122 max : ( data ) => Math . max ( ...data ) ,
120123 min : ( data ) => Math . min ( ...data ) ,
@@ -342,7 +345,7 @@ const defaultMethods = {
342345 for ( let i = 0 ; i < arr . length ; i ++ ) {
343346 try {
344347 // 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 ] } )
346349 else item = executeInLoop ? engine . run ( arr [ i ] , _1 , { above : _2 } ) : arr [ i ]
347350 return item
348351 } catch ( e ) {
@@ -363,7 +366,7 @@ const defaultMethods = {
363366 for ( let i = 0 ; i < arr . length ; i ++ ) {
364367 try {
365368 // 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 ] } )
367370 else item = executeInLoop ? await engine . run ( arr [ i ] , _1 , { above : _2 } ) : arr [ i ]
368371 return item
369372 } catch ( e ) {
0 commit comments