forked from public/fvtt-cthulhu-eternal
Initial import with skill sheet working
This commit is contained in:
53
node_modules/flagged-respawn/index.js
generated
vendored
Normal file
53
node_modules/flagged-respawn/index.js
generated
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
var reorder = require('./lib/reorder');
|
||||
var respawn = require('./lib/respawn');
|
||||
var remover = require('./lib/remover');
|
||||
|
||||
var FORBID_RESPAWNING_FLAG = '--no-respawning';
|
||||
|
||||
module.exports = function (flags, argv, forcedFlags, execute) {
|
||||
if (!flags) {
|
||||
throw new Error('You must specify flags to respawn with.');
|
||||
}
|
||||
if (!argv) {
|
||||
throw new Error('You must specify an argv array.');
|
||||
}
|
||||
|
||||
if (typeof forcedFlags === 'function') {
|
||||
execute = forcedFlags;
|
||||
forcedFlags = [];
|
||||
}
|
||||
|
||||
if (typeof forcedFlags === 'string') {
|
||||
forcedFlags = [forcedFlags];
|
||||
}
|
||||
|
||||
if (!Array.isArray(forcedFlags)) {
|
||||
forcedFlags = [];
|
||||
}
|
||||
|
||||
var index = argv.indexOf(FORBID_RESPAWNING_FLAG);
|
||||
if (index >= 0) {
|
||||
argv = argv.slice(0, index).concat(argv.slice(index + 1));
|
||||
argv = remover(flags, argv);
|
||||
execute(true, process, argv);
|
||||
return;
|
||||
}
|
||||
|
||||
var proc = process;
|
||||
var reordered = reorder(flags, argv);
|
||||
var ready = JSON.stringify(argv) === JSON.stringify(reordered);
|
||||
|
||||
if (forcedFlags.length) {
|
||||
reordered = reordered
|
||||
.slice(0, 1)
|
||||
.concat(forcedFlags)
|
||||
.concat(reordered.slice(1));
|
||||
ready = false;
|
||||
}
|
||||
|
||||
if (!ready) {
|
||||
reordered.push(FORBID_RESPAWNING_FLAG);
|
||||
proc = respawn(reordered);
|
||||
}
|
||||
execute(ready, proc, reordered);
|
||||
};
|
Reference in New Issue
Block a user