Projekt

Obecné

Profil

Stáhnout (1.06 KB) Statistiky
| Větev: | Revize:
1 3a515b92 cagy
'use strict';
2
3
if (typeof process === 'undefined' ||
4
    !process.version ||
5
    process.version.indexOf('v0.') === 0 ||
6
    process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {
7
  module.exports = { nextTick: nextTick };
8
} else {
9
  module.exports = process
10
}
11
12
function nextTick(fn, arg1, arg2, arg3) {
13
  if (typeof fn !== 'function') {
14
    throw new TypeError('"callback" argument must be a function');
15
  }
16
  var len = arguments.length;
17
  var args, i;
18
  switch (len) {
19
  case 0:
20
  case 1:
21
    return process.nextTick(fn);
22
  case 2:
23
    return process.nextTick(function afterTickOne() {
24
      fn.call(null, arg1);
25
    });
26
  case 3:
27
    return process.nextTick(function afterTickTwo() {
28
      fn.call(null, arg1, arg2);
29
    });
30
  case 4:
31
    return process.nextTick(function afterTickThree() {
32
      fn.call(null, arg1, arg2, arg3);
33
    });
34
  default:
35
    args = new Array(len - 1);
36
    i = 0;
37
    while (i < args.length) {
38
      args[i++] = arguments[i];
39
    }
40
    return process.nextTick(function afterTick() {
41
      fn.apply(null, args);
42
    });
43
  }
44
}