|
18 | 18 |
|
19 | 19 | // TypeScript Version: 4.1 |
20 | 20 |
|
| 21 | +import { Array2D } from '@stdlib/types/array'; |
| 22 | + |
21 | 23 | /** |
22 | 24 | * Callback function that accepts no arguments. |
| 25 | +* |
| 26 | +* @returns result |
23 | 27 | */ |
24 | | -type NullaryCallback = () => any; |
| 28 | +type NullaryCallback<U> = ( this: U ) => any; |
25 | 29 |
|
26 | 30 | /** |
27 | 31 | * Callback function that accepts one argument. |
| 32 | +* |
| 33 | +* @param value - current array elements or broadcasted values |
| 34 | +* @returns result |
28 | 35 | */ |
29 | | -type UnaryCallback = ( x: any ) => any; |
| 36 | +type UnaryCallback<U> = ( this: U, x: unknown ) => any; |
30 | 37 |
|
31 | 38 | /** |
32 | 39 | * Callback function that accepts two arguments. |
| 40 | +* |
| 41 | +* @param firstValue - first array element or broadcasted value |
| 42 | +* @param secondValue - second array element or broadcasted value |
| 43 | +* @returns result |
33 | 44 | */ |
34 | | -type BinaryCallback = ( x: any, y: any ) => any; |
| 45 | +type BinaryCallback<U> = ( this: U, x: unknown, y: unknown ) => any; |
35 | 46 |
|
36 | 47 | /** |
37 | | -* Callback function that accepts three arguments. |
| 48 | +* Callback function that accepts three arguments |
| 49 | +* |
| 50 | +* @param firstValue - first array element or broadcasted value |
| 51 | +* @param secondValue - second array element or broadcasted value |
| 52 | +* @param thirdValue - third array element or broadcasted value |
| 53 | +* @returns result |
38 | 54 | */ |
39 | | -type TernaryCallback = ( x: any, y: any, z: any ) => any; |
| 55 | +type TernaryCallback<U> = ( this: U, x: unknown, y: unknown, z: unknown ) => any; |
40 | 56 |
|
41 | 57 | /** |
42 | 58 | * Callback function that accepts four arguments. |
| 59 | +* |
| 60 | +* @param firstValue - first array element or broadcasted value |
| 61 | +* @param secondValue - second array element or broadcasted value |
| 62 | +* @param thirdValue - third array element or broadcasted value |
| 63 | +* @param index - current array element index |
| 64 | +* @returns result |
43 | 65 | */ |
44 | | -type QuaternaryCallback = ( w: any, x: any, y: any, z: any ) => any; |
| 66 | +type QuaternaryCallback<U> = ( this: U, x: unknown, y: unknown, z: unknown, index: number ) => any; |
45 | 67 |
|
46 | 68 | /** |
47 | 69 | * Callback function that accepts five arguments. |
48 | | -*/ |
49 | | -type QuinaryCallback = ( v: any, w: any, x: any, y: any, z: any ) => any; |
50 | | - |
51 | | -/** |
52 | | -* Inserts array element values into a format string, applies a callback, and prints the result. |
53 | 70 | * |
54 | | -* @param str - Format string |
55 | | -* @param clbk - Callback function |
56 | | -* @param thisArg - Callback execution context |
| 71 | +* @param firstValue - first array element or broadcasted value |
| 72 | +* @param secondValue - second array element or broadcasted value |
| 73 | +* @param thirdValue - third array element or broadcasted value |
| 74 | +* @param index - current array element index |
| 75 | +* @param arrays - input arrays or broadcasted arrays |
| 76 | +* @returns result |
57 | 77 | */ |
58 | | -declare function logEachMap( str: string, clbk: NullaryCallback, thisArg?: any ): void; |
| 78 | +type QuinaryCallback<T, U> = ( this: U, x: unknown, y: unknown, z: unknown, index: number, arrays: Array2D<T> ) => any; |
59 | 79 |
|
60 | 80 | /** |
61 | | -* Inserts array element values into a format string, applies a callback, and prints the result. |
| 81 | +* Callback invoked for each value. |
62 | 82 | * |
63 | | -* @param str - Format string |
64 | | -* @param arg0 - Input array or scalar value |
65 | | -* @param clbk - Callback function |
66 | | -* @param thisArg - Callback execution context |
| 83 | +* @param firstValue - first array element or broadcasted value |
| 84 | +* @param secondValue - second array element or broadcasted value |
| 85 | +* @param thirdValue - third array element or broadcasted value |
| 86 | +* @param index - current array element index |
| 87 | +* @param arrays - input arrays or broadcasted arrays |
| 88 | +* @returns result |
67 | 89 | */ |
68 | | -declare function logEachMap( str: string, arg0: any, clbk: UnaryCallback, thisArg?: any ): void; |
| 90 | +type Callback<T, U> = NullaryCallback<U> | UnaryCallback<U> | BinaryCallback<U> | TernaryCallback<U> | QuaternaryCallback<U> | QuinaryCallback<T,U>; |
69 | 91 |
|
70 | 92 | /** |
71 | 93 | * Inserts array element values into a format string, applies a callback, and prints the result. |
72 | 94 | * |
73 | | -* @param str - Format string |
74 | | -* @param arg0 - First input array or scalar value |
75 | | -* @param arg1 - Second input array or scalar value |
76 | | -* @param clbk - Callback function |
77 | | -* @param thisArg - Callback execution context |
| 95 | +* @param str - format string |
| 96 | +* @param clbk - callback function |
| 97 | +* @param thisArg - callback execution context |
78 | 98 | */ |
79 | | -declare function logEachMap( str: string, arg0: any, arg1: any, clbk: BinaryCallback, thisArg?: any ): void; |
| 99 | +declare function logEachMap<T = unknown, U = unknown>( str: string, clbk: Callback<T,U>, thisArg?: any ): void; |
80 | 100 |
|
81 | 101 | /** |
82 | 102 | * Inserts array element values into a format string, applies a callback, and prints the result. |
83 | 103 | * |
84 | | -* @param str - Format string |
85 | | -* @param arg0 - First input array or scalar value |
86 | | -* @param arg1 - Second input array or scalar value |
87 | | -* @param arg2 - Third input array or scalar value |
88 | | -* @param clbk - Callback function |
89 | | -* @param thisArg - Callback execution context |
| 104 | +* @param str - format string |
| 105 | +* @param arg0 - input array or scalar value |
| 106 | +* @param clbk - callback function |
| 107 | +* @param thisArg - callback execution context |
90 | 108 | */ |
91 | | -declare function logEachMap( str: string, arg0: any, arg1: any, arg2: any, clbk: TernaryCallback, thisArg?: any ): void; |
| 109 | +declare function logEachMap<T = unknown, U = unknown>( str: string, arg0: unknown, clbk: Callback<T,U>, thisArg?: any ): void; |
92 | 110 |
|
93 | 111 | /** |
94 | 112 | * Inserts array element values into a format string, applies a callback, and prints the result. |
95 | 113 | * |
96 | | -* @param str - Format string |
97 | | -* @param arg0 - First input array or scalar value |
98 | | -* @param arg1 - Second input array or scalar value |
99 | | -* @param arg2 - Third input array or scalar value |
100 | | -* @param arg3 - Fourth input array or scalar value |
101 | | -* @param clbk - Callback function |
102 | | -* @param thisArg - Callback execution context |
| 114 | +* @param str - format string |
| 115 | +* @param arg0 - first input array or scalar value |
| 116 | +* @param arg1 - second input array or scalar value |
| 117 | +* @param clbk - callback function |
| 118 | +* @param thisArg - callback execution context |
103 | 119 | */ |
104 | | -declare function logEachMap( str: string, arg0: any, arg1: any, arg2: any, arg3: any, clbk: QuaternaryCallback, thisArg?: any ): void; |
| 120 | +declare function logEachMap<T = unknown, U = unknown>( str: string, arg0: unknown, arg1: unknown, clbk: Callback<T,U>, thisArg?: any ): void; |
105 | 121 |
|
106 | 122 | /** |
107 | 123 | * Inserts array element values into a format string, applies a callback, and prints the result. |
108 | 124 | * |
109 | | -* @param str - Format string |
110 | | -* @param arg0 - First input array or scalar value |
111 | | -* @param arg1 - Second input array or scalar value |
112 | | -* @param arg2 - Third input array or scalar value |
113 | | -* @param arg3 - Fourth input array or scalar value |
114 | | -* @param arg4 - Fifth input array or scalar value |
115 | | -* @param clbk - Callback function |
116 | | -* @param thisArg - Callback execution context |
| 125 | +* @param str - format string |
| 126 | +* @param arg0 - first input array or scalar value |
| 127 | +* @param arg1 - second input array or scalar value |
| 128 | +* @param arg2 - third input array or scalar value |
| 129 | +* @param clbk - callback function |
| 130 | +* @param thisArg - callback execution context |
117 | 131 | */ |
118 | | -declare function logEachMap( str: string, arg0: any, arg1: any, arg2: any, arg3: any, arg4: any, clbk: QuinaryCallback, thisArg?: any ): void; |
| 132 | +declare function logEachMap<T = unknown, U = unknown>( str: string, arg0: unknown, arg1: unknown, arg2: unknown, clbk: Callback<T,U>, thisArg?: any ): void; |
119 | 133 |
|
120 | 134 | /** |
121 | 135 | * Inserts array element values into a format string, applies a callback, and prints the result. |
122 | 136 | * |
123 | | -* @param str - Format string |
124 | | -* @param args - Input arrays or values |
| 137 | +* @param str - format string |
| 138 | +* @param args - input arrays or values |
125 | 139 | */ |
126 | 140 | declare function logEachMap( str: string, ...args: Array<unknown> ): void; |
127 | 141 |
|
|
0 commit comments