@@ -21,7 +21,7 @@ export interface FunctionOps {
21
21
[ op : string ] : ( ...args : ExpressionThunk [ ] ) => ExpressionValue ;
22
22
}
23
23
24
- const unpackArgs = ( f : Delegate ) => ( expr : ExpressionThunk ) => {
24
+ const unpackArgs = ( f : Delegate , key : string ) => ( expr : ExpressionThunk ) => {
25
25
const result = expr ( ) ;
26
26
27
27
if ( ! isArgumentsArray ( result ) ) {
@@ -37,6 +37,15 @@ const unpackArgs = (f: Delegate) => (expr: ExpressionThunk) => {
37
37
// eslint-disable-next-line prefer-spread
38
38
return f . apply ( null , result ) ;
39
39
}
40
+ // eslint-disable-next-line no-console
41
+ console . log ( "key =" , key ) ;
42
+ // eslint-disable-next-line no-console
43
+ console . log ( `fn: unpackArgs (result.length) = ${ result . length } ` , { result } ) ;
44
+ // eslint-disable-next-line no-console
45
+ console . log ( `fn: unpackArgs (f.length) = ${ f . length } ` , { f } ) ;
46
+ // eslint-disable-next-line no-console
47
+ console . log ( "fn: unpackArgs (expr)" , { expr } ) ;
48
+
40
49
throw new Error ( `Incorrect number of arguments. Expected ${ f . length } ` ) ;
41
50
} ;
42
51
@@ -51,7 +60,7 @@ export const formula = function (
51
60
// Except for the ARRAY constructor
52
61
Object . keys ( prefixOps ) . forEach ( ( key ) => {
53
62
if ( key !== "ARRAY" ) {
54
- prefixOps [ key ] = unpackArgs ( ( prefixOps as any ) [ key ] ) ;
63
+ prefixOps [ key ] = unpackArgs ( ( prefixOps as any ) [ key ] , key ) ;
55
64
}
56
65
} ) ;
57
66
0 commit comments