Comparing version 0.2.0 to 0.3.0
@@ -34,2 +34,3 @@ "use strict"; | ||
* to be displayed before each command. | ||
* @param {Boolean} [params.colors=true] - Enables colors, specifically on the help screen. | ||
* @param {Boolean} [params.defaultCommand] - The default command to execute. | ||
@@ -40,2 +41,6 @@ * @param {Boolean} [params.help=false] - When `true`, enables the built-in help command. | ||
* @param {String} [params.name] - The name of the program. | ||
* @param {Boolean} [params.hideNoBannerOption=false] - When `true` and a `banner` is specified, it | ||
* does not add the `--no-banner` option. | ||
* @param {Boolean} [params.hideNoColorOption=false] - When `true` and `colors` is enabled, it does | ||
* not add the `--no-color` option. | ||
* @param {Object|Writable} [params.out=process.stdout] - A stream to write output such as the | ||
@@ -94,4 +99,12 @@ * help screen or an object with a `write()` method. | ||
params.colors = params.colors !== false; | ||
params.name || (params.name = 'program'); | ||
params.title || (params.title = 'Global'); | ||
params.title || (params.title = 'Global'); // extract params that we don't want mixed in | ||
const extensions = params.extensions, | ||
hideNoBannerOption = params.hideNoBannerOption, | ||
hideNoColorOption = params.hideNoColorOption; | ||
delete params.extensions; | ||
delete params.hideNoBannerOption; | ||
delete params.hideNoColorOption; | ||
super(params); | ||
@@ -127,7 +140,28 @@ (0, _util.declareCLIKitClass)(this, 'CLI'); // set the default command | ||
this.option('-h, --help', 'displays the help screen'); | ||
} | ||
} // add the --no-banner flag | ||
if (this.banner && !hideNoBannerOption) { | ||
this.showBanner = true; | ||
this.option('--no-banner', { | ||
callback: value => { | ||
this.showBanner = value; | ||
}, | ||
desc: 'suppress the banner' | ||
}); | ||
} // add the --no-colors flag | ||
if (this.colors && !hideNoColorOption) { | ||
this.option('--no-color', { | ||
aliases: ['--no-colors'], | ||
desc: 'disable colors' | ||
}); | ||
} // add the --version flag | ||
if (params.version && !this.lookup.short.v && !this.lookup.long.version) { | ||
this.option('-v, --version', { | ||
callback: () => { | ||
this.showBanner = false; | ||
const out = this.get('out', process.stdout); | ||
@@ -137,4 +171,15 @@ out.write(`${params.version}\n`); | ||
}, | ||
desc: 'outputs the appcd version' | ||
desc: 'outputs the version' | ||
}); | ||
} // add the extensions now that the auto-generated options exist | ||
if (Array.isArray(extensions)) { | ||
for (const extensionPath of extensions) { | ||
this.extension(extensionPath); | ||
} | ||
} else if (typeof extensions === 'object') { | ||
for (const name of Object.keys(extensions)) { | ||
this.extension(extensions[name], name); | ||
} | ||
} | ||
@@ -161,3 +206,3 @@ } | ||
let banner = this.banner; | ||
let banner = this.get('banner'); | ||
banner = banner && String(typeof banner === 'function' ? await banner() : banner).trim(); | ||
@@ -170,3 +215,3 @@ const out = this.get('out', process.stdout); | ||
out.write = function write(chunk, encoding, cb) { | ||
out.write = (chunk, encoding, cb) => { | ||
if (typeof encoding === 'function') { | ||
@@ -185,3 +230,3 @@ cb = encoding; | ||
if (encoding === 'base64' || encoding === 'binary' || encoding === 'hex') {// noop | ||
} else if (!dataRegExp.test(chunk)) { | ||
} else if (this.get('showBanner', true) && !dataRegExp.test(chunk)) { | ||
originalWrite.call(out, `${banner}\n\n`); | ||
@@ -194,4 +239,6 @@ } | ||
let $args; | ||
try { | ||
const $args = await this.parse(unparsedArgs ? unparsedArgs.slice() : process.argv.slice(2)); | ||
$args = await this.parse(unparsedArgs ? unparsedArgs.slice() : process.argv.slice(2)); | ||
let cmd = $args.contexts[0]; | ||
@@ -207,10 +254,11 @@ | ||
$args.contexts.unshift(cmd); | ||
} // execute the command | ||
} | ||
let result; // execute the command | ||
if (cmd && typeof cmd.action === 'function') { | ||
return (await cmd.action($args)) || $args; | ||
result = await cmd.action.call(this, $args); | ||
} | ||
return $args; | ||
return result || $args; | ||
} catch (err) { | ||
@@ -221,3 +269,3 @@ const help = this.help && this.showHelpOnError !== false && this.commands.help; | ||
return await help.action({ | ||
contexts: [help, this], | ||
contexts: [help, ...(err.contexts || $args && $args.contexts || [this])], | ||
err | ||
@@ -238,2 +286,2 @@ }); | ||
exports.default = CLI; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsaS5qcyJdLCJuYW1lcyI6WyJsb2ciLCJDTEkiLCJjb25zdHJ1Y3RvciIsInBhcmFtcyIsIkFycmF5IiwiaXNBcnJheSIsIklOVkFMSURfQVJHVU1FTlQiLCJuYW1lIiwic2NvcGUiLCJ2YWx1ZSIsIm91dCIsIndyaXRlIiwiaGVscEV4aXRDb2RlIiwidW5kZWZpbmVkIiwid2lkdGgiLCJiYW5uZXIiLCJ0aXRsZSIsImRlZmF1bHRDb21tYW5kIiwiaGVscCIsImNvbW1hbmQiLCJoaWRkZW4iLCJhY3Rpb24iLCJjb250ZXh0cyIsImVyciIsInJlbmRlckhlbHAiLCJwcm9jZXNzIiwiZXhpdCIsIm9wdGlvbiIsInZlcnNpb24iLCJsb29rdXAiLCJzaG9ydCIsInYiLCJsb25nIiwiY2FsbGJhY2siLCJnZXQiLCJzdGRvdXQiLCJkZXNjIiwiZXhlYyIsInVucGFyc2VkQXJncyIsIlN0cmluZyIsInRyaW0iLCJvcmlnaW5hbFdyaXRlIiwiZGF0YVJlZ0V4cCIsImNodW5rIiwiZW5jb2RpbmciLCJjYiIsInRlc3QiLCJjYWxsIiwiJGFyZ3MiLCJwYXJzZSIsInNsaWNlIiwiYXJndiIsImNtZCIsImNvbW1hbmRzIiwidW5zaGlmdCIsInNob3dIZWxwT25FcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7O2VBRWdCLHFCQUFNLGFBQU4sQztNQUFSQSxHLFVBQUFBLEc7QUFFUjs7Ozs7QUFHZSxNQUFNQyxHQUFOLDBCQUEwQjtBQUN4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJBQyxnQkFBeUI7QUFBQSxRQUFiQyxNQUFhLHVFQUFKLEVBQUk7O0FBQ3hCLFFBQUksT0FBT0EsTUFBUCxLQUFrQixRQUFsQixJQUE4QkMsTUFBTUMsT0FBTixDQUFjRixNQUFkLENBQWxDLEVBQXlEO0FBQ3hELFlBQU0sZ0JBQUVHLGdCQUFGLENBQW1CLG9EQUFuQixFQUF5RTtBQUFFQyxjQUFNLFFBQVI7QUFBa0JDLGVBQU8saUJB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QXZCO0FBQ0EsT0FiRSxDQWVIOzs7QUFDQSxVQUFJQSxPQUFPLE9BQU9BLElBQUkvQixNQUFYLEtBQXNCLFVBQWpDLEVBQTZDO0FBQzVDLGVBQU8sT0FBTStCLElBQUkvQixNQUFKLENBQVcyQixLQUFYLENBQU4sS0FBMkJBLEtBQWxDO0FBQ0E7O0FBRUQsYUFBT0EsS0FBUDtBQUNBLEtBckJELENBcUJFLE9BQU96QixHQUFQLEVBQVk7QUFDYixZQUFNTCxPQUFPLEtBQUtBLElBQUwsSUFBYSxLQUFLcUMsZUFBTCxLQUF5QixLQUF0QyxJQUErQyxLQUFLRixRQUFMLENBQWNuQyxJQUExRTs7QUFDQSxVQUFJQSxJQUFKLEVBQVU7QUFDVCxlQUFPLE1BQU1BLEtBQUtHLE1BQUwsQ0FBWTtBQUN4QkMsb0JBQVUsQ0FBRUosSUFBRixFQUFRLElBQVIsQ0FEYztBQUV4Qks7QUFGd0IsU0FBWixDQUFiO0FBSUE7O0FBRUQsWUFBTUEsR0FBTjtBQUNBLEtBL0JELFNBK0JVO0FBQ1QsVUFBSVIsTUFBSixFQUFZO0FBQ1hMLFlBQUlDLEtBQUosR0FBWThCLGFBQVo7QUFDQTtBQUNEO0FBQ0Q7O0FBeEt1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tYW5kIGZyb20gJy4vY29tbWFuZCc7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0IGRlYnVnIGZyb20gJy4vZGVidWcnO1xuaW1wb3J0IEUgZnJvbSAnLi9lcnJvcnMnO1xuXG5pbXBvcnQgeyBkZWNsYXJlQ0xJS2l0Q2xhc3MgfSBmcm9tICcuL3V0aWwnO1xuXG5jb25zdCB7IGxvZyB9ID0gZGVidWcoJ2NsaS1raXQ6Y2xpJyk7XG5cbi8qKlxuICogRGVmaW5lcyBhIENMSSBjb250ZXh0IGFuZCBpcyByZXNwb25zaWJsZSBmb3IgcGFyc2luZyB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ0xJIGV4dGVuZHMgQ29udGV4dCB7XG5cdC8qKlxuXHQgKiBDcmVhdGVkIGEgQ0xJIGluc3RhbmNlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge09iamVjdH0gW3BhcmFtc10gLSBWYXJpb3VzIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfEZ1bmN0aW9ufSBbcGFyYW1zLmJhbm5lcl0gLSBBIGJhbm5lciBvciBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYmFubmVyXG5cdCAqIHRvIGJlIGRpc3BsYXllZCBiZWZvcmUgZWFjaCBjb21tYW5kLlxuXHQgKiBAcGFyYW0ge0Jvb2xlYW59IFtwYXJhbXMuZGVmYXVsdENvbW1hbmRdIC0gVGhlIGRlZmF1bHQgY29tbWFuZCB0byBleGVjdXRlLlxuXHQgKiBAcGFyYW0ge0Jvb2xlYW59IFtwYXJhbXMuaGVscD1mYWxzZV0gLSBXaGVuIGB0cnVlYCwgZW5hYmxlcyB0aGUgYnVpbHQtaW4gaGVscCBjb21tYW5kLlxuXHQgKiBAcGFyYW0ge051bWJlcn0gW3BhcmFtcy5oZWxwRXhpdENvZGVdIC0gVGhlIGV4aXQgY29kZSB0byByZXR1cm4gd2hlbiB0aGUgaGVscCBjb21tYW5kIGlzXG5cdCAqIGZpbmlzaGVkLlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gW3BhcmFtcy5uYW1lXSAtIFRoZSBuYW1lIG9mIHRoZSBwcm9ncmFtLlxuXHQgKiBAcGFyYW0ge09iamVjdHxXcml0YWJsZX0gW3BhcmFtcy5vdXQ9cHJvY2Vzcy5zdGRvdXRdIC0gQSBzdHJlYW0gdG8gd3JpdGUgb3V0cHV0IHN1Y2ggYXMgdGhlXG5cdCAqIGhlbHAgc2NyZWVuIG9yIGFuIG9iamVjdCB3aXRoIGEgYHdyaXRlKClgIG1ldGhvZC5cblx0ICogQHBhcmFtIHtCb29sZWFufSBbcGFyYW1zLnNob3dIZWxwT25FcnJvcj10cnVlXSAtIElmIGFuIGVycm9yIG9jY3VycyBhbmQgYGhlbHBgIGlzIGVuYWJsZWQsXG5cdCAqIHRoZW4gZGlzcGxheSB0aGUgZXJyb3IgYmVmb3JlIHRoZSBoZWxwIGluZm9ybWF0aW9uLlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gW3BhcmFtcy50aXRsZT0nR2xvYmFsJ10gLSBUaGUgdGl0bGUgZm9yIHRoZSBnbG9iYWwgY29udGV4dC5cblx0ICogQHBhcmFtIHtTdHJpbmd9IFtwYXJhbXMudmVyc2lvbl0gLSBUaGUgcHJvZ3JhbSB2ZXJzaW9uLlxuXHQgKiBAcGFyYW0ge051bWJlcn0gW3BhcmFtcy53aWR0aF0gLSBUaGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gd3JhcCBsb25nIGRlc2NyaXB0aW9ucy4gRGVmYXVsdHNcblx0ICogdG8gYHByb2Nlc3Muc3Rkb3V0LmNvbHVtbnNgIGlmIGV4aXN0cywgb3RoZXJ3aXNlIGAxMDBgLiBNdXN0IGJlIGF0IGxlYXN0IGA0MGAuXG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihwYXJhbXMgPSB7fSkge1xuXHRcdGlmICh0eXBlb2YgcGFyYW1zICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHBhcmFtcykpIHtcblx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnRXhwZWN0ZWQgQ0xJIHBhcmFtZXRlcnMgdG8gYmUgYW4gb2JqZWN0IG9yIENvbnRleHQnLCB7IG5hbWU6ICdwYXJhbXMnLCBzY29wZTogJ0NMSS5jb25zdHJ1Y3RvcicsIHZhbHVlOiBwYXJhbXMgfSk7XG5cdFx0fVxuXG5cdFx0aWYgKHBhcmFtcy5vdXQgJiYgKHR5cGVvZiBwYXJhbXMub3V0ICE9PSAnb2JqZWN0JyB8fCB0eXBlb2YgcGFyYW1zLm91dC53cml0ZSAhPT0gJ2Z1bmN0aW9uJykpIHtcblx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnRXhwZWN0ZWQgb3V0cHV0IHN0cmVhbSB0byBiZSBhIHdyaXRhYmxlIHN0cmVhbScsIHsgbmFtZTogJ3BhcmFtcy5vdXQnLCBzY29wZTogJ0NMSS5jb25zdHJ1Y3RvcicsIHZhbHVlOiBwYXJhbXMub3V0IH0pO1xuXHRcdH1cblxuXHRcdGlmIChwYXJhbXMuaGVscEV4aXRDb2RlICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHBhcmFtcy5oZWxwRXhpdENvZGUgIT09ICdudW1iZXInKSB7XG5cdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIGhlbHAgZXhpdCBjb2RlIHRvIGJlIGEgbnVtYmVyJywgeyBuYW1lOiAncGFyYW1zLmhlbHBFeGl0Q29kZScsIHNjb3BlOiAnQ0xJLmNvbnN0cnVjdG9yJywgdmFsdWU6IHBhcmFtcy5oZWxwRXhpdENvZGUgfSk7XG5cdFx0fVxuXG5cdFx0aWYgKHBhcmFtcy53aWR0aCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBwYXJhbXMud2lkdGggIT09ICdudW1iZXInKSB7XG5cdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIHdpZHRoIHRvIGJlIGEgbnVtYmVyJywgeyBuYW1lOiAncGFyYW1zLndpZHRoJywgc2NvcGU6ICdDTEkuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zLndpZHRoIH0pO1xuXHRcdH1cblxuXHRcdGlmIChwYXJhbXMuYmFubmVyICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHBhcmFtcy5iYW5uZXIgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBwYXJhbXMuYmFubmVyICE9PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIGJhbm5lciB0byBiZSBhIHN0cmluZyBvciBmdW5jdGlvbicsIHsgbmFtZTogJ3BhcmFtcy5iYW5uZXInLCBzY29wZTogJ0NMSS5jb25zdHJ1Y3RvcicsIHZhbHVlOiBwYXJhbXMuYmFubmVyIH0pO1xuXHRcdH1cblxuXHRcdHBhcmFtcy5uYW1lIHx8IChwYXJhbXMubmFtZSA9ICdwcm9ncmFtJyk7XG5cdFx0cGFyYW1zLnRpdGxlIHx8IChwYXJhbXMudGl0bGUgPSAnR2xvYmFsJyk7XG5cblx0XHRzdXBlcihwYXJhbXMpO1xuXHRcdGRlY2xhcmVDTElLaXRDbGFzcyh0aGlzLCAnQ0xJJyk7XG5cblx0XHQvLyBzZXQgdGhlIGRlZmF1bHQgY29tbWFuZFxuXHRcdHRoaXMuZGVmYXVsdENvbW1hbmQgPSBwYXJhbXMuZGVmYXVsdENvbW1hbmQ7XG5cblx0XHQvLyBhZGQgdGhlIGJ1aWx0LWluIGhlbHBcblx0XHR0aGlzLmhlbHAgPSAhIXBhcmFtcy5oZWxwO1xuXHRcdGlmICh0aGlzLmhlbHApIHtcblx0XHRcdGlmICh0aGlzLmRlZmF1bHRDb21tYW5kID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0dGhpcy5kZWZhdWx0Q29tbWFuZCA9ICdoZWxwJztcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5jb21tYW5kKCdoZWxwJywge1xuXHRcdFx0XHRoaWRkZW46IHRydWUsXG5cdFx0XHRcdGFzeW5jIGFjdGlvbih7IGNvbnRleHRzLCBlcnIgfSkge1xuXHRcdFx0XHRcdC8vIHRoZSBmaXJzdCBjb250ZXh0IGlzIHRoZSBoZWxwIGNvbW1hbmQsIHNvIGp1c3Qgc2tpcCB0byB0aGUgc2Vjb25kIGNvbnRleHRcblx0XHRcdFx0XHRhd2FpdCBjb250ZXh0c1sxXS5yZW5kZXJIZWxwKHsgZXJyIH0pO1xuXG5cdFx0XHRcdFx0Ly8gaXN0YW5idWwgaWdub3JlIGlmXG5cdFx0XHRcdFx0aWYgKHBhcmFtcy5oZWxwRXhpdENvZGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdFx0cHJvY2Vzcy5leGl0KHBhcmFtcy5oZWxwRXhpdENvZGUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHRcdHRoaXMub3B0aW9uKCctaCwgLS1oZWxwJywgJ2Rpc3BsYXlzIHRoZSBoZWxwIHNjcmVlbicpO1xuXHRcdH1cblxuXHRcdGlmIChwYXJhbXMudmVyc2lvbiAmJiAhdGhpcy5sb29rdXAuc2hvcnQudiAmJiAhdGhpcy5sb29rdXAubG9uZy52ZXJzaW9uKSB7XG5cdFx0XHR0aGlzLm9wdGlvbignLXYsIC0tdmVyc2lvbicsIHtcblx0XHRcdFx0Y2FsbGJhY2s6ICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBvdXQgPSB0aGlzLmdldCgnb3V0JywgcHJvY2Vzcy5zdGRvdXQpO1xuXHRcdFx0XHRcdG91dC53cml0ZShgJHtwYXJhbXMudmVyc2lvbn1cXG5gKTtcblx0XHRcdFx0XHRwcm9jZXNzLmV4aXQoMCk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGRlc2M6ICdvdXRwdXRzIHRoZSBhcHBjZCB2ZXJzaW9uJ1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhbmQgcnVucyB0aGUgY29tbWFuZC5cblx0ICpcblx0ICogQHBhcmFtIHtBcnJheS48U3RyaW5nPn0gW3VucGFyc2VkQXJnc10gLSBBbiBhcnJheSBvZiBhcmd1bWVudHMgdG8gcGFyc2UuIElmIG5vdCBzcGVjaWZpZWQsIGl0XG5cdCAqIGRlZmF1bHRzIHRvIHRoZSBgcHJvY2Vzcy5hcmd2YCBzdGFydGluZyB3aXRoIHRoZSAzcmQgYXJndW1lbnQuXG5cdCAqIEByZXR1cm5zIHtQcm9taXNlLjxBcmd1bWVudHM+fVxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0YXN5bmMgZXhlYyh1bnBhcnNlZEFyZ3MpIHtcblx0XHRpZiAodW5wYXJzZWRBcmdzICYmICFBcnJheS5pc0FycmF5KHVucGFyc2VkQXJncykpIHtcblx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnRXhwZWN0ZWQgYXJndW1lbnRzIHRvIGJlIGFuIGFycmF5JywgeyBuYW1lOiAnYXJncycsIHNjb3BlOiAnQ0xJLmV4ZWMnLCB2YWx1ZTogdW5wYXJzZWRBcmdzIH0pO1xuXHRcdH1cblxuXHRcdGxldCB7IGJhbm5lciB9ID0gdGhpcztcblx0XHRiYW5uZXIgPSBiYW5uZXIgJiYgU3RyaW5nKHR5cGVvZiBiYW5uZXIgPT09ICdmdW5jdGlvbicgPyBhd2FpdCBiYW5uZXIoKSA6IGJhbm5lcikudHJpbSgpO1xuXHRcdGNvbnN0IG91dCA9IHRoaXMuZ2V0KCdvdXQnLCBwcm9jZXNzLnN0ZG91dCk7XG5cdFx0Y29uc3Qgb3JpZ2luYWxXcml0ZSA9IG91dC53cml0ZTtcblxuXHRcdC8vIGlmIHdlIGhhdmUgYSBiYW5uZXIsIHRoZW4gb3ZlcnJpZGUgd3JpdGUoKSBzbyB3ZSBjYW4gaW1tZWRpYXRlbHkgd3JpdGUgdGhlIGJhbm5lclxuXHRcdGlmIChiYW5uZXIpIHtcblx0XHRcdGNvbnN0IGRhdGFSZWdFeHAgPSAvXlxccypbPHtdLztcblxuXHRcdFx0b3V0LndyaXRlID0gZnVuY3Rpb24gd3JpdGUoY2h1bmssIGVuY29kaW5nLCBjYikge1xuXHRcdFx0XHRpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRcdFx0Y2IgPSBlbmNvZGluZztcblx0XHRcdFx0XHRlbmNvZGluZyA9IG51bGw7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAodHlwZW9mIGNiICE9PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRcdFx0Y2IgPSAoKSA9PiB7fTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIHJlc3RvcmUgdGhlIG9yaWdpbmFsIHdyaXRlO1xuXHRcdFx0XHRvdXQud3JpdGUgPSBvcmlnaW5hbFdyaXRlO1xuXG5cdFx0XHRcdGlmIChlbmNvZGluZyA9PT0gJ2Jhc2U2NCcgfHwgZW5jb2RpbmcgPT09ICdiaW5hcnknIHx8IGVuY29kaW5nID09PSAnaGV4Jykge1xuXHRcdFx0XHRcdC8vIG5vb3Bcblx0XHRcdFx0fSBlbHNlIGlmICghZGF0YVJlZ0V4cC50ZXN0KGNodW5rKSkge1xuXHRcdFx0XHRcdG9yaWdpbmFsV3JpdGUuY2FsbChvdXQsIGAke2Jhbm5lcn1cXG5cXG5gKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBvcmlnaW5hbFdyaXRlLmNhbGwob3V0LCBjaHVuaywgZW5jb2RpbmcsIGNiKTtcblx0XHRcdH07XG5cdFx0fVxuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0ICRhcmdzID0gYXdhaXQgdGhpcy5wYXJzZSh1bnBhcnNlZEFyZ3MgPyB1bnBhcnNlZEFyZ3Muc2xpY2UoKSA6IHByb2Nlc3MuYXJndi5zbGljZSgyKSk7XG5cdFx0XHRsZXQgY21kID0gJGFyZ3MuY29udGV4dHNbMF07XG5cblx0XHRcdGlmICh0aGlzLmhlbHAgJiYgJGFyZ3MuYXJndi5oZWxwKSB7XG5cdFx0XHRcdGxvZygnU2VsZWN0ZWQgaGVscCBjb21tYW5kJyk7XG5cdFx0XHRcdGNtZCA9IHRoaXMuY29tbWFuZHMuaGVscDtcblx0XHRcdFx0JGFyZ3MuY29udGV4dHMudW5zaGlmdChjbWQpO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCEoY21kIGluc3RhbmNlb2YgQ29tbWFuZCkgJiYgdGhpcy5kZWZhdWx0Q29tbWFuZCAmJiAodGhpcy5jb21tYW5kc1t0aGlzLmRlZmF1bHRDb21tYW5kXSBpbnN0YW5jZW9mIENvbW1hbmQpKSB7XG5cdFx0XHRcdGxvZyhgU2VsZWN0ZWQgZGVmYXVsdCBjb21tYW5kOiAke3RoaXMuZGVmYXVsdENvbW1hbmR9YCk7XG5cdFx0XHRcdGNtZCA9IHRoaXMuY29tbWFuZHNbdGhpcy5kZWZhdWx0Q29tbWFuZF07XG5cdFx0XHRcdCRhcmdzLmNvbnRleHRzLnVuc2hpZnQoY21kKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gZXhlY3V0ZSB0aGUgY29tbWFuZFxuXHRcdFx0aWYgKGNtZCAmJiB0eXBlb2YgY21kLmFjdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRyZXR1cm4gYXdhaXQgY21kLmFjdGlvbigkYXJncykgfHwgJGFyZ3M7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiAkYXJncztcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdGNvbnN0IGhlbHAgPSB0aGlzLmhlbHAgJiYgdGhpcy5zaG93SGVscE9uRXJyb3IgIT09IGZhbHNlICYmIHRoaXMuY29tbWFuZHMuaGVscDtcblx0XHRcdGlmIChoZWxwKSB7XG5cdFx0XHRcdHJldHVybiBhd2FpdCBoZWxwLmFjdGlvbih7XG5cdFx0XHRcdFx0Y29udGV4dHM6IFsgaGVscCwgdGhpcyBdLFxuXHRcdFx0XHRcdGVyclxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblxuXHRcdFx0dGhyb3cgZXJyO1xuXHRcdH0gZmluYWxseSB7XG5cdFx0XHRpZiAoYmFubmVyKSB7XG5cdFx0XHRcdG91dC53cml0ZSA9IG9yaWdpbmFsV3JpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXSwiZmlsZSI6ImNsaS5qcyJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsaS5qcyJdLCJuYW1lcyI6WyJsb2ciLCJDTEkiLCJjb25zdHJ1Y3RvciIsInBhcmFtcyIsIkFycmF5IiwiaXNBcnJheSIsIklOVkFMSURfQVJHVU1FTlQiLCJuYW1lIiwic2NvcGUiLCJ2YWx1ZSIsIm91dCIsIndyaXRlIiwiaGVscEV4aXRDb2RlIiwidW5kZWZpbmVkIiwid2lkdGgiLCJiYW5uZXIiLCJjb2xvcnMiLCJ0aXRsZSIsImV4dGVuc2lvbnMiLCJoaWRlTm9CYW5uZXJPcHRpb24iLCJoaWRlTm9Db2xvck9wdGlvbiIsImRlZmF1bHRDb21tYW5kIiwiaGVscCIsImNvbW1hbmQiLCJoaWRkZW4iLCJhY3Rpb24iLCJjb250ZXh0cyIsImVyciIsInJlbmRlckhlbHAiLCJwcm9jZXNzIiwiZXhpdCIsIm9wdGlvbiIsInNob3dCYW5uZXIiLCJjYWxsYmFjayIsImRlc2MiLCJhbGlhc2VzIiwidmVyc2lvbiIsImxvb2t1cCIsInNob3J0IiwidiIsImxvbmciLCJnZXQiLCJzdGRvdXQiLCJleHRlbnNpb25QYXRoIiwiZXh0ZW5zaW9uIiwiT2JqZWN0Iiwia2V5cyIsImV4ZWMiLCJ1bnBhcnNlZEFyZ3MiLCJTdHJpbmciLCJ0cmltIiwib3JpZ2luYWxXcml0ZSIsImRhdGFSZWdFeHAiLCJjaHVuayIsImVuY29kaW5nIiwiY2IiLCJ0ZXN0IiwiY2FsbCIsIiRhcmdzIiwicGFyc2UiLCJzbGljZSIsImFyZ3YiLCJjbWQiLCJjb21tYW5kcyIsInVuc2hpZnQiLCJyZXN1bHQiLCJzaG93SGVscE9uRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7OztlQUVnQixxQkFBTSxhQUFOLEM7TUFBUkEsRyxVQUFBQSxHO0FBRVI7Ozs7O0FBR2UsTUFBTUMsR0FBTiwwQkFBMEI7QUFDeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMEJBQyxnQkFBeUI7QUFBQSxRQUFiQyxNQUFhLHVFQUFKLEVBQUk7O0FBQ3hC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QTtBQUNEO0FBQ0Q7O0FBMU51QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tYW5kIGZyb20gJy4vY29tbWFuZCc7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0IGRlYnVnIGZyb20gJy4vZGVidWcnO1xuaW1wb3J0IEUgZnJvbSAnLi9lcnJvcnMnO1xuXG5pbXBvcnQgeyBkZWNsYXJlQ0xJS2l0Q2xhc3MgfSBmcm9tICcuL3V0aWwnO1xuXG5jb25zdCB7IGxvZyB9ID0gZGVidWcoJ2NsaS1raXQ6Y2xpJyk7XG5cbi8qKlxuICogRGVmaW5lcyBhIENMSSBjb250ZXh0IGFuZCBpcyByZXNwb25zaWJsZSBmb3IgcGFyc2luZyB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ0xJIGV4dGVuZHMgQ29udGV4dCB7XG5cdC8qKlxuXHQgKiBDcmVhdGVkIGEgQ0xJIGluc3RhbmNlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge09iamVjdH0gW3BhcmFtc10gLSBWYXJpb3VzIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfEZ1bmN0aW9ufSBbcGFyYW1zLmJhbm5lcl0gLSBBIGJhbm5lciBvciBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYmFubmVyXG5cdCAqIHRvIGJlIGRpc3BsYXllZCBiZWZvcmUgZWFjaCBjb21tYW5kLlxuXHQgKiBAcGFyYW0ge0Jvb2xlYW59IFtwYXJhbXMuY29sb3JzPXRydWVdIC0gRW5hYmxlcyBjb2xvcnMsIHNwZWNpZmljYWxseSBvbiB0aGUgaGVscCBzY3JlZW4uXG5cdCAqIEBwYXJhbSB7Qm9vbGVhbn0gW3BhcmFtcy5kZWZhdWx0Q29tbWFuZF0gLSBUaGUgZGVmYXVsdCBjb21tYW5kIHRvIGV4ZWN1dGUuXG5cdCAqIEBwYXJhbSB7Qm9vbGVhbn0gW3BhcmFtcy5oZWxwPWZhbHNlXSAtIFdoZW4gYHRydWVgLCBlbmFibGVzIHRoZSBidWlsdC1pbiBoZWxwIGNvbW1hbmQuXG5cdCAqIEBwYXJhbSB7TnVtYmVyfSBbcGFyYW1zLmhlbHBFeGl0Q29kZV0gLSBUaGUgZXhpdCBjb2RlIHRvIHJldHVybiB3aGVuIHRoZSBoZWxwIGNvbW1hbmQgaXNcblx0ICogZmluaXNoZWQuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBbcGFyYW1zLm5hbWVdIC0gVGhlIG5hbWUgb2YgdGhlIHByb2dyYW0uXG5cdCAqIEBwYXJhbSB7Qm9vbGVhbn0gW3BhcmFtcy5oaWRlTm9CYW5uZXJPcHRpb249ZmFsc2VdIC0gV2hlbiBgdHJ1ZWAgYW5kIGEgYGJhbm5lcmAgaXMgc3BlY2lmaWVkLCBpdFxuXHQgKiBkb2VzIG5vdCBhZGQgdGhlIGAtLW5vLWJhbm5lcmAgb3B0aW9uLlxuXHQgKiBAcGFyYW0ge0Jvb2xlYW59IFtwYXJhbXMuaGlkZU5vQ29sb3JPcHRpb249ZmFsc2VdIC0gV2hlbiBgdHJ1ZWAgYW5kIGBjb2xvcnNgIGlzIGVuYWJsZWQsIGl0IGRvZXNcblx0ICogbm90IGFkZCB0aGUgYC0tbm8tY29sb3JgIG9wdGlvbi5cblx0ICogQHBhcmFtIHtPYmplY3R8V3JpdGFibGV9IFtwYXJhbXMub3V0PXByb2Nlc3Muc3Rkb3V0XSAtIEEgc3RyZWFtIHRvIHdyaXRlIG91dHB1dCBzdWNoIGFzIHRoZVxuXHQgKiBoZWxwIHNjcmVlbiBvciBhbiBvYmplY3Qgd2l0aCBhIGB3cml0ZSgpYCBtZXRob2QuXG5cdCAqIEBwYXJhbSB7Qm9vbGVhbn0gW3BhcmFtcy5zaG93SGVscE9uRXJyb3I9dHJ1ZV0gLSBJZiBhbiBlcnJvciBvY2N1cnMgYW5kIGBoZWxwYCBpcyBlbmFibGVkLFxuXHQgKiB0aGVuIGRpc3BsYXkgdGhlIGVycm9yIGJlZm9yZSB0aGUgaGVscCBpbmZvcm1hdGlvbi5cblx0ICogQHBhcmFtIHtTdHJpbmd9IFtwYXJhbXMudGl0bGU9J0dsb2JhbCddIC0gVGhlIHRpdGxlIGZvciB0aGUgZ2xvYmFsIGNvbnRleHQuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBbcGFyYW1zLnZlcnNpb25dIC0gVGhlIHByb2dyYW0gdmVyc2lvbi5cblx0ICogQHBhcmFtIHtOdW1iZXJ9IFtwYXJhbXMud2lkdGhdIC0gVGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIHdyYXAgbG9uZyBkZXNjcmlwdGlvbnMuIERlZmF1bHRzXG5cdCAqIHRvIGBwcm9jZXNzLnN0ZG91dC5jb2x1bW5zYCBpZiBleGlzdHMsIG90aGVyd2lzZSBgMTAwYC4gTXVzdCBiZSBhdCBsZWFzdCBgNDBgLlxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0Y29uc3RydWN0b3IocGFyYW1zID0ge30pIHtcblx0XHRpZiAodHlwZW9mIHBhcmFtcyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShwYXJhbXMpKSB7XG5cdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIENMSSBwYXJhbWV0ZXJzIHRvIGJlIGFuIG9iamVjdCBvciBDb250ZXh0JywgeyBuYW1lOiAncGFyYW1zJywgc2NvcGU6ICdDTEkuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zIH0pO1xuXHRcdH1cblxuXHRcdGlmIChwYXJhbXMub3V0ICYmICh0eXBlb2YgcGFyYW1zLm91dCAhPT0gJ29iamVjdCcgfHwgdHlwZW9mIHBhcmFtcy5vdXQud3JpdGUgIT09ICdmdW5jdGlvbicpKSB7XG5cdFx0XHR0aHJvdyBFLklOVkFMSURfQVJHVU1FTlQoJ0V4cGVjdGVkIG91dHB1dCBzdHJlYW0gdG8gYmUgYSB3cml0YWJsZSBzdHJlYW0nLCB7IG5hbWU6ICdwYXJhbXMub3V0Jywgc2NvcGU6ICdDTEkuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zLm91dCB9KTtcblx0XHR9XG5cblx0XHRpZiAocGFyYW1zLmhlbHBFeGl0Q29kZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBwYXJhbXMuaGVscEV4aXRDb2RlICE9PSAnbnVtYmVyJykge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBoZWxwIGV4aXQgY29kZSB0byBiZSBhIG51bWJlcicsIHsgbmFtZTogJ3BhcmFtcy5oZWxwRXhpdENvZGUnLCBzY29wZTogJ0NMSS5jb25zdHJ1Y3RvcicsIHZhbHVlOiBwYXJhbXMuaGVscEV4aXRDb2RlIH0pO1xuXHRcdH1cblxuXHRcdGlmIChwYXJhbXMud2lkdGggIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgcGFyYW1zLndpZHRoICE9PSAnbnVtYmVyJykge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCB3aWR0aCB0byBiZSBhIG51bWJlcicsIHsgbmFtZTogJ3BhcmFtcy53aWR0aCcsIHNjb3BlOiAnQ0xJLmNvbnN0cnVjdG9yJywgdmFsdWU6IHBhcmFtcy53aWR0aCB9KTtcblx0XHR9XG5cblx0XHRpZiAocGFyYW1zLmJhbm5lciAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBwYXJhbXMuYmFubmVyICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgcGFyYW1zLmJhbm5lciAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0dGhyb3cgRS5JTlZBTElEX0FSR1VNRU5UKCdFeHBlY3RlZCBiYW5uZXIgdG8gYmUgYSBzdHJpbmcgb3IgZnVuY3Rpb24nLCB7IG5hbWU6ICdwYXJhbXMuYmFubmVyJywgc2NvcGU6ICdDTEkuY29uc3RydWN0b3InLCB2YWx1ZTogcGFyYW1zLmJhbm5lciB9KTtcblx0XHR9XG5cblx0XHRwYXJhbXMuY29sb3JzID0gcGFyYW1zLmNvbG9ycyAhPT0gZmFsc2U7XG5cdFx0cGFyYW1zLm5hbWUgfHwgKHBhcmFtcy5uYW1lID0gJ3Byb2dyYW0nKTtcblx0XHRwYXJhbXMudGl0bGUgfHwgKHBhcmFtcy50aXRsZSA9ICdHbG9iYWwnKTtcblxuXHRcdC8vIGV4dHJhY3QgcGFyYW1zIHRoYXQgd2UgZG9uJ3Qgd2FudCBtaXhlZCBpblxuXHRcdGNvbnN0IHsgZXh0ZW5zaW9ucywgaGlkZU5vQmFubmVyT3B0aW9uLCBoaWRlTm9Db2xvck9wdGlvbiB9ID0gcGFyYW1zO1xuXHRcdGRlbGV0ZSBwYXJhbXMuZXh0ZW5zaW9ucztcblx0XHRkZWxldGUgcGFyYW1zLmhpZGVOb0Jhbm5lck9wdGlvbjtcblx0XHRkZWxldGUgcGFyYW1zLmhpZGVOb0NvbG9yT3B0aW9uO1xuXG5cdFx0c3VwZXIocGFyYW1zKTtcblx0XHRkZWNsYXJlQ0xJS2l0Q2xhc3ModGhpcywgJ0NMSScpO1xuXG5cdFx0Ly8gc2V0IHRoZSBkZWZhdWx0IGNvbW1hbmRcblx0XHR0aGlzLmRlZmF1bHRDb21tYW5kID0gcGFyYW1zLmRlZmF1bHRDb21tYW5kO1xuXG5cdFx0Ly8gYWRkIHRoZSBidWlsdC1pbiBoZWxwXG5cdFx0dGhpcy5oZWxwID0gISFwYXJhbXMuaGVscDtcblx0XHRpZiAodGhpcy5oZWxwKSB7XG5cdFx0XHRpZiAodGhpcy5kZWZhdWx0Q29tbWFuZCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHRoaXMuZGVmYXVsdENvbW1hbmQgPSAnaGVscCc7XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuY29tbWFuZCgnaGVscCcsIHtcblx0XHRcdFx0aGlkZGVuOiB0cnVlLFxuXHRcdFx0XHRhc3luYyBhY3Rpb24oeyBjb250ZXh0cywgZXJyIH0pIHtcblx0XHRcdFx0XHQvLyB0aGUgZmlyc3QgY29udGV4dCBpcyB0aGUgaGVscCBjb21tYW5kLCBzbyBqdXN0IHNraXAgdG8gdGhlIHNlY29uZCBjb250ZXh0XG5cdFx0XHRcdFx0YXdhaXQgY29udGV4dHNbMV0ucmVuZGVySGVscCh7IGVyciB9KTtcblxuXHRcdFx0XHRcdC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxuXHRcdFx0XHRcdGlmIChwYXJhbXMuaGVscEV4aXRDb2RlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdHByb2Nlc3MuZXhpdChwYXJhbXMuaGVscEV4aXRDb2RlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0XHR0aGlzLm9wdGlvbignLWgsIC0taGVscCcsICdkaXNwbGF5cyB0aGUgaGVscCBzY3JlZW4nKTtcblx0XHR9XG5cblx0XHQvLyBhZGQgdGhlIC0tbm8tYmFubmVyIGZsYWdcblx0XHRpZiAodGhpcy5iYW5uZXIgJiYgIWhpZGVOb0Jhbm5lck9wdGlvbikge1xuXHRcdFx0dGhpcy5zaG93QmFubmVyID0gdHJ1ZTtcblxuXHRcdFx0dGhpcy5vcHRpb24oJy0tbm8tYmFubmVyJywge1xuXHRcdFx0XHRjYWxsYmFjazogdmFsdWUgPT4ge1xuXHRcdFx0XHRcdHRoaXMuc2hvd0Jhbm5lciA9IHZhbHVlO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRkZXNjOiAnc3VwcHJlc3MgdGhlIGJhbm5lcidcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdC8vIGFkZCB0aGUgLS1uby1jb2xvcnMgZmxhZ1xuXHRcdGlmICh0aGlzLmNvbG9ycyAmJiAhaGlkZU5vQ29sb3JPcHRpb24pIHtcblx0XHRcdHRoaXMub3B0aW9uKCctLW5vLWNvbG9yJywge1xuXHRcdFx0XHRhbGlhc2VzOiBbICctLW5vLWNvbG9ycycgXSxcblx0XHRcdFx0ZGVzYzogJ2Rpc2FibGUgY29sb3JzJ1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0Ly8gYWRkIHRoZSAtLXZlcnNpb24gZmxhZ1xuXHRcdGlmIChwYXJhbXMudmVyc2lvbiAmJiAhdGhpcy5sb29rdXAuc2hvcnQudiAmJiAhdGhpcy5sb29rdXAubG9uZy52ZXJzaW9uKSB7XG5cdFx0XHR0aGlzLm9wdGlvbignLXYsIC0tdmVyc2lvbicsIHtcblx0XHRcdFx0Y2FsbGJhY2s6ICgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dCYW5uZXIgPSBmYWxzZTtcblx0XHRcdFx0XHRjb25zdCBvdXQgPSB0aGlzLmdldCgnb3V0JywgcHJvY2Vzcy5zdGRvdXQpO1xuXHRcdFx0XHRcdG91dC53cml0ZShgJHtwYXJhbXMudmVyc2lvbn1cXG5gKTtcblx0XHRcdFx0XHRwcm9jZXNzLmV4aXQoMCk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGRlc2M6ICdvdXRwdXRzIHRoZSB2ZXJzaW9uJ1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0Ly8gYWRkIHRoZSBleHRlbnNpb25zIG5vdyB0aGF0IHRoZSBhdXRvLWdlbmVyYXRlZCBvcHRpb25zIGV4aXN0XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkoZXh0ZW5zaW9ucykpIHtcblx0XHRcdGZvciAoY29uc3QgZXh0ZW5zaW9uUGF0aCBvZiBleHRlbnNpb25zKSB7XG5cdFx0XHRcdHRoaXMuZXh0ZW5zaW9uKGV4dGVuc2lvblBhdGgpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAodHlwZW9mIGV4dGVuc2lvbnMgPT09ICdvYmplY3QnKSB7XG5cdFx0XHRmb3IgKGNvbnN0IG5hbWUgb2YgT2JqZWN0LmtleXMoZXh0ZW5zaW9ucykpIHtcblx0XHRcdFx0dGhpcy5leHRlbnNpb24oZXh0ZW5zaW9uc1tuYW1lXSwgbmFtZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhbmQgcnVucyB0aGUgY29tbWFuZC5cblx0ICpcblx0ICogQHBhcmFtIHtBcnJheS48U3RyaW5nPn0gW3VucGFyc2VkQXJnc10gLSBBbiBhcnJheSBvZiBhcmd1bWVudHMgdG8gcGFyc2UuIElmIG5vdCBzcGVjaWZpZWQsIGl0XG5cdCAqIGRlZmF1bHRzIHRvIHRoZSBgcHJvY2Vzcy5hcmd2YCBzdGFydGluZyB3aXRoIHRoZSAzcmQgYXJndW1lbnQuXG5cdCAqIEByZXR1cm5zIHtQcm9taXNlLjxBcmd1bWVudHM+fVxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0YXN5bmMgZXhlYyh1bnBhcnNlZEFyZ3MpIHtcblx0XHRpZiAodW5wYXJzZWRBcmdzICYmICFBcnJheS5pc0FycmF5KHVucGFyc2VkQXJncykpIHtcblx0XHRcdHRocm93IEUuSU5WQUxJRF9BUkdVTUVOVCgnRXhwZWN0ZWQgYXJndW1lbnRzIHRvIGJlIGFuIGFycmF5JywgeyBuYW1lOiAnYXJncycsIHNjb3BlOiAnQ0xJLmV4ZWMnLCB2YWx1ZTogdW5wYXJzZWRBcmdzIH0pO1xuXHRcdH1cblxuXHRcdGxldCBiYW5uZXIgPSB0aGlzLmdldCgnYmFubmVyJyk7XG5cdFx0YmFubmVyID0gYmFubmVyICYmIFN0cmluZyh0eXBlb2YgYmFubmVyID09PSAnZnVuY3Rpb24nID8gYXdhaXQgYmFubmVyKCkgOiBiYW5uZXIpLnRyaW0oKTtcblx0XHRjb25zdCBvdXQgPSB0aGlzLmdldCgnb3V0JywgcHJvY2Vzcy5zdGRvdXQpO1xuXHRcdGNvbnN0IG9yaWdpbmFsV3JpdGUgPSBvdXQud3JpdGU7XG5cblx0XHQvLyBpZiB3ZSBoYXZlIGEgYmFubmVyLCB0aGVuIG92ZXJyaWRlIHdyaXRlKCkgc28gd2UgY2FuIGltbWVkaWF0ZWx5IHdyaXRlIHRoZSBiYW5uZXJcblx0XHRpZiAoYmFubmVyKSB7XG5cdFx0XHRjb25zdCBkYXRhUmVnRXhwID0gL15cXHMqWzx7XS87XG5cblx0XHRcdG91dC53cml0ZSA9IChjaHVuaywgZW5jb2RpbmcsIGNiKSA9PiB7XG5cdFx0XHRcdGlmICh0eXBlb2YgZW5jb2RpbmcgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0XHRjYiA9IGVuY29kaW5nO1xuXHRcdFx0XHRcdGVuY29kaW5nID0gbnVsbDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICh0eXBlb2YgY2IgIT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0XHRjYiA9ICgpID0+IHt9O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgd3JpdGU7XG5cdFx0XHRcdG91dC53cml0ZSA9IG9yaWdpbmFsV3JpdGU7XG5cblx0XHRcdFx0aWYgKGVuY29kaW5nID09PSAnYmFzZTY0JyB8fCBlbmNvZGluZyA9PT0gJ2JpbmFyeScgfHwgZW5jb2RpbmcgPT09ICdoZXgnKSB7XG5cdFx0XHRcdFx0Ly8gbm9vcFxuXHRcdFx0XHR9IGVsc2UgaWYgKHRoaXMuZ2V0KCdzaG93QmFubmVyJywgdHJ1ZSkgJiYgIWRhdGFSZWdFeHAudGVzdChjaHVuaykpIHtcblx0XHRcdFx0XHRvcmlnaW5hbFdyaXRlLmNhbGwob3V0LCBgJHtiYW5uZXJ9XFxuXFxuYCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gb3JpZ2luYWxXcml0ZS5jYWxsKG91dCwgY2h1bmssIGVuY29kaW5nLCBjYik7XG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdGxldCAkYXJncztcblxuXHRcdHRyeSB7XG5cdFx0XHQkYXJncyA9IGF3YWl0IHRoaXMucGFyc2UodW5wYXJzZWRBcmdzID8gdW5wYXJzZWRBcmdzLnNsaWNlKCkgOiBwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpO1xuXHRcdFx0bGV0IGNtZCA9ICRhcmdzLmNvbnRleHRzWzBdO1xuXG5cdFx0XHRpZiAodGhpcy5oZWxwICYmICRhcmdzLmFyZ3YuaGVscCkge1xuXHRcdFx0XHRsb2coJ1NlbGVjdGVkIGhlbHAgY29tbWFuZCcpO1xuXHRcdFx0XHRjbWQgPSB0aGlzLmNvbW1hbmRzLmhlbHA7XG5cdFx0XHRcdCRhcmdzLmNvbnRleHRzLnVuc2hpZnQoY21kKTtcblxuXHRcdFx0fSBlbHNlIGlmICghKGNtZCBpbnN0YW5jZW9mIENvbW1hbmQpICYmIHRoaXMuZGVmYXVsdENvbW1hbmQgJiYgKHRoaXMuY29tbWFuZHNbdGhpcy5kZWZhdWx0Q29tbWFuZF0gaW5zdGFuY2VvZiBDb21tYW5kKSkge1xuXHRcdFx0XHRsb2coYFNlbGVjdGVkIGRlZmF1bHQgY29tbWFuZDogJHt0aGlzLmRlZmF1bHRDb21tYW5kfWApO1xuXHRcdFx0XHRjbWQgPSB0aGlzLmNvbW1hbmRzW3RoaXMuZGVmYXVsdENvbW1hbmRdO1xuXHRcdFx0XHQkYXJncy5jb250ZXh0cy51bnNoaWZ0KGNtZCk7XG5cdFx0XHR9XG5cblx0XHRcdGxldCByZXN1bHQ7XG5cblx0XHRcdC8vIGV4ZWN1dGUgdGhlIGNvbW1hbmRcblx0XHRcdGlmIChjbWQgJiYgdHlwZW9mIGNtZC5hY3Rpb24gPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0cmVzdWx0ID0gYXdhaXQgY21kLmFjdGlvbi5jYWxsKHRoaXMsICRhcmdzKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHJlc3VsdCB8fCAkYXJncztcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdGNvbnN0IGhlbHAgPSB0aGlzLmhlbHAgJiYgdGhpcy5zaG93SGVscE9uRXJyb3IgIT09IGZhbHNlICYmIHRoaXMuY29tbWFuZHMuaGVscDtcblxuXHRcdFx0aWYgKGhlbHApIHtcblx0XHRcdFx0cmV0dXJuIGF3YWl0IGhlbHAuYWN0aW9uKHtcblx0XHRcdFx0XHRjb250ZXh0czogWyBoZWxwLCAuLi4oZXJyLmNvbnRleHRzIHx8ICgkYXJncyAmJiAkYXJncy5jb250ZXh0cykgfHwgWyB0aGlzIF0pIF0sXG5cdFx0XHRcdFx0ZXJyXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXG5cdFx0XHR0aHJvdyBlcnI7XG5cdFx0fSBmaW5hbGx5IHtcblx0XHRcdGlmIChiYW5uZXIpIHtcblx0XHRcdFx0b3V0LndyaXRlID0gb3JpZ2luYWxXcml0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdLCJmaWxlIjoiY2xpLmpzIn0= |
@@ -7,2 +7,8 @@ "use strict"; | ||
var _exportNames = { | ||
chalk: true, | ||
humanize: true, | ||
moment: true, | ||
pluralize: true, | ||
symbols: true, | ||
snooplogg: true, | ||
CLI: true, | ||
@@ -14,2 +20,8 @@ Argument: true, | ||
}; | ||
Object.defineProperty(exports, "snooplogg", { | ||
enumerable: true, | ||
get: function () { | ||
return _snooplogg.default; | ||
} | ||
}); | ||
Object.defineProperty(exports, "default", { | ||
@@ -51,3 +63,6 @@ enumerable: true, | ||
}); | ||
exports.symbols = exports.pluralize = exports.moment = exports.humanize = exports.chalk = void 0; | ||
var _snooplogg = _interopRequireDefault(require("snooplogg")); | ||
var _cli = _interopRequireDefault(require("./cli")); | ||
@@ -82,2 +97,13 @@ | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIkVycm9yIiwicHJlcGFyZVN0YWNrVHJhY2UiLCJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0E7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7QUFkQTtBQUNBLElBQUksQ0FBQ0EsTUFBTUMsaUJBQVgsRUFBOEI7QUFDN0JDLFVBQVEsNkJBQVI7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuaWYgKCFFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSkge1xuXHRyZXF1aXJlKCdzb3VyY2UtbWFwLXN1cHBvcnQvcmVnaXN0ZXInKTtcbn1cblxuZXhwb3J0IHtcblx0ZGVmYXVsdCxcblx0ZGVmYXVsdCBhcyBDTElcbn0gZnJvbSAnLi9jbGknO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEFyZ3VtZW50IH0gZnJvbSAnLi9hcmd1bWVudCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmQnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBPcHRpb24gfSBmcm9tICcuL29wdGlvbic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEV4dGVuc2lvbiB9IGZyb20gJy4vZXh0ZW5zaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG4iXSwiZmlsZSI6ImluZGV4LmpzIn0= | ||
const chalk = _snooplogg.default.chalk, | ||
humanize = _snooplogg.default.humanize, | ||
moment = _snooplogg.default.moment, | ||
pluralize = _snooplogg.default.pluralize, | ||
symbols = _snooplogg.default.symbols; | ||
exports.symbols = symbols; | ||
exports.pluralize = pluralize; | ||
exports.moment = moment; | ||
exports.humanize = humanize; | ||
exports.chalk = chalk; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIkVycm9yIiwicHJlcGFyZVN0YWNrVHJhY2UiLCJyZXF1aXJlIiwiY2hhbGsiLCJodW1hbml6ZSIsIm1vbWVudCIsInBsdXJhbGl6ZSIsInN5bWJvbHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0E7O0FBS0E7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7QUFuQkE7QUFDQSxJQUFJLENBQUNBLE1BQU1DLGlCQUFYLEVBQThCO0FBQzdCQyxVQUFRLDZCQUFSO0FBQ0E7O01BS2NDLEssc0JBQUFBLEs7TUFBT0MsUSxzQkFBQUEsUTtNQUFVQyxNLHNCQUFBQSxNO01BQVFDLFMsc0JBQUFBLFM7TUFBV0MsTyxzQkFBQUEsTyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuaWYgKCFFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSkge1xuXHRyZXF1aXJlKCdzb3VyY2UtbWFwLXN1cHBvcnQvcmVnaXN0ZXInKTtcbn1cblxuaW1wb3J0IHNub29wbG9nZyBmcm9tICdzbm9vcGxvZ2cnO1xuXG5leHBvcnQgeyBzbm9vcGxvZ2cgfTtcbmV4cG9ydCBjb25zdCB7IGNoYWxrLCBodW1hbml6ZSwgbW9tZW50LCBwbHVyYWxpemUsIHN5bWJvbHMgfSA9IHNub29wbG9nZztcblxuZXhwb3J0IHtcblx0ZGVmYXVsdCxcblx0ZGVmYXVsdCBhcyBDTElcbn0gZnJvbSAnLi9jbGknO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEFyZ3VtZW50IH0gZnJvbSAnLi9hcmd1bWVudCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmQnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBPcHRpb24gfSBmcm9tICcuL29wdGlvbic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEV4dGVuc2lvbiB9IGZyb20gJy4vZXh0ZW5zaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG4iXSwiZmlsZSI6ImluZGV4LmpzIn0= |
{ | ||
"name": "cli-kit", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"description": "Everything you need to create awesome command line interfaces", | ||
@@ -5,0 +5,0 @@ "main": "./dist/index.js", |
Sorry, the diff of this file is too big to display
456369
19
3140