polymerx-cli
Version:
Unlock the power of Polymer 3, Web Components and modern web tools.
23 lines (17 loc) • 849 B
JavaScript
;
exports.__esModule = true;
exports.default = asyncCommand;
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
const done = (err, result) => {
return err ? process.stderr.write(String(err) + '\n') && process.exit(err.exitCode || 1) : result ? process.stdout.write(result + '\n') : process.exit(0);
};
function asyncCommand(options) {
return _extends({}, options, {
handler(argv) {
const r = options.handler ? options.handler(argv, done) : undefined;
if (r && r.then) {
return r.then(result => done(null, result));
}
}
});
}