aboutsummaryrefslogtreecommitdiff
path: root/node_modules/flagged-respawn/index.js
blob: b1234003ec07c160bc84fe17aedc3c44071f500e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const reorder = require('./lib/reorder');
const respawn = require('./lib/respawn');

module.exports = function (flags, argv, execute) {
  if (!flags) {
    throw new Error('You must specify flags to respawn with.');
  }
  if (!argv) {
    throw new Error('You must specify an argv array.');
  }
  var proc = process;
  var reordered = reorder(flags, argv);
  var ready = JSON.stringify(argv) === JSON.stringify(reordered);
  if (!ready) {
    proc = respawn(reordered);
  }
  execute(ready, proc);
};