|
22 | 22 | 'use strict'; |
23 | 23 |
|
24 | 24 | const{ |
25 | | - ArrayPrototypePush, |
26 | 25 | MathTrunc, |
27 | 26 | ObjectDefineProperties, |
28 | 27 | ObjectDefineProperty, |
@@ -131,38 +130,13 @@ function enroll(item, msecs) { |
131 | 130 | * after `after` milliseconds. |
132 | 131 | * @param {Function} callback |
133 | 132 | * @param {number} [after] |
134 | | - * @param {any} [arg1] |
135 | | - * @param {any} [arg2] |
136 | | - * @param {any} [arg3] |
| 133 | + * @param {...any} [args] |
137 | 134 | * @returns {Timeout} |
138 | 135 | */ |
139 | | -functionsetTimeout(callback,after,arg1,arg2,arg3){ |
| 136 | +functionsetTimeout(callback,after,...args){ |
140 | 137 | validateFunction(callback,'callback'); |
141 | | - |
142 | | -leti,args; |
143 | | -switch(arguments.length){ |
144 | | -// fast cases |
145 | | -case1: |
146 | | -case2: |
147 | | -break; |
148 | | -case3: |
149 | | -args=[arg1]; |
150 | | -break; |
151 | | -case4: |
152 | | -args=[arg1,arg2]; |
153 | | -break; |
154 | | -default: |
155 | | -args=[arg1,arg2,arg3]; |
156 | | -for(i=5;i<arguments.length;i++){ |
157 | | -// Extend array dynamically, makes .apply run much faster in v6.0.0 |
158 | | -ArrayPrototypePush(args,arguments[i]); |
159 | | -} |
160 | | -break; |
161 | | -} |
162 | | - |
163 | | -consttimeout=newTimeout(callback,after,args,false,true); |
| 138 | +consttimeout=newTimeout(callback,after,args.length ? args : undefined,false,true); |
164 | 139 | insert(timeout,timeout._idleTimeout); |
165 | | - |
166 | 140 | returntimeout; |
167 | 141 | } |
168 | 142 |
|
@@ -200,38 +174,13 @@ function clearTimeout(timer) { |
200 | 174 | * every `repeat` milliseconds. |
201 | 175 | * @param {Function} callback |
202 | 176 | * @param {number} [repeat] |
203 | | - * @param {any} [arg1] |
204 | | - * @param {any} [arg2] |
205 | | - * @param {any} [arg3] |
| 177 | + * @param {...any} [args] |
206 | 178 | * @returns {Timeout} |
207 | 179 | */ |
208 | | -functionsetInterval(callback,repeat,arg1,arg2,arg3){ |
| 180 | +functionsetInterval(callback,repeat,...args){ |
209 | 181 | validateFunction(callback,'callback'); |
210 | | - |
211 | | -leti,args; |
212 | | -switch(arguments.length){ |
213 | | -// fast cases |
214 | | -case1: |
215 | | -case2: |
216 | | -break; |
217 | | -case3: |
218 | | -args=[arg1]; |
219 | | -break; |
220 | | -case4: |
221 | | -args=[arg1,arg2]; |
222 | | -break; |
223 | | -default: |
224 | | -args=[arg1,arg2,arg3]; |
225 | | -for(i=5;i<arguments.length;i++){ |
226 | | -// Extend array dynamically, makes .apply run much faster in v6.0.0 |
227 | | -ArrayPrototypePush(args,arguments[i]); |
228 | | -} |
229 | | -break; |
230 | | -} |
231 | | - |
232 | | -consttimeout=newTimeout(callback,repeat,args,true,true); |
| 182 | +consttimeout=newTimeout(callback,repeat,args.length ? args : undefined,true,true); |
233 | 183 | insert(timeout,timeout._idleTimeout); |
234 | | - |
235 | 184 | returntimeout; |
236 | 185 | } |
237 | 186 |
|
@@ -273,35 +222,12 @@ Timeout.prototype[SymbolToPrimitive] = function() { |
273 | 222 | * Schedules the immediate execution of `callback` |
274 | 223 | * after I/O events' callbacks. |
275 | 224 | * @param {Function} callback |
276 | | - * @param {any} [arg1] |
277 | | - * @param {any} [arg2] |
278 | | - * @param {any} [arg3] |
| 225 | + * @param {...any} [args] |
279 | 226 | * @returns {Immediate} |
280 | 227 | */ |
281 | | -functionsetImmediate(callback,arg1,arg2,arg3){ |
| 228 | +functionsetImmediate(callback,...args){ |
282 | 229 | validateFunction(callback,'callback'); |
283 | | - |
284 | | -leti,args; |
285 | | -switch(arguments.length){ |
286 | | -// fast cases |
287 | | -case1: |
288 | | -break; |
289 | | -case2: |
290 | | -args=[arg1]; |
291 | | -break; |
292 | | -case3: |
293 | | -args=[arg1,arg2]; |
294 | | -break; |
295 | | -default: |
296 | | -args=[arg1,arg2,arg3]; |
297 | | -for(i=4;i<arguments.length;i++){ |
298 | | -// Extend array dynamically, makes .apply run much faster in v6.0.0 |
299 | | -ArrayPrototypePush(args,arguments[i]); |
300 | | -} |
301 | | -break; |
302 | | -} |
303 | | - |
304 | | -returnnewImmediate(callback,args); |
| 230 | +returnnewImmediate(callback,args.length ? args : undefined); |
305 | 231 | } |
306 | 232 |
|
307 | 233 | ObjectDefineProperty(setImmediate,customPromisify,{ |
|
0 commit comments