line-api-cli
Version:
LINE API CLIs for Node.js
174 lines (136 loc) • 5.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("../typedef");
var _colors = _interopRequireDefault(require("colors"));
var _command = _interopRequireDefault(require("./command"));
var _imageHelper = _interopRequireDefault(require("../image-helper"));
var _theme = _interopRequireDefault(require("../theme"));
var _thingsAddTrialOperation = _interopRequireDefault(require("../operations/things-add-trial-operation"));
var _thingsGetDeviceOperation = _interopRequireDefault(require("../operations/things-get-device-operation"));
var _thingsGetDevicesOperation = _interopRequireDefault(require("../operations/things-get-devices-operation"));
var _thingsGetProductOperation = _interopRequireDefault(require("../operations/things-get-product-operation"));
var _thingsGetScenarioSetOperation = _interopRequireDefault(require("../operations/things-get-scenario-set-operation"));
var _thingsListTrialOperation = _interopRequireDefault(require("../operations/things-list-trial-operation"));
var _thingsRegisterScenarioSetOperation = _interopRequireDefault(require("../operations/things-register-scenario-set-operation"));
var _thingsRemoveScenarioSetOperation = _interopRequireDefault(require("../operations/things-remove-scenario-set-operation"));
var _thingsRemoveTrialOperation = _interopRequireDefault(require("../operations/things-remove-trial-operation"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class ThingsCommand extends _command.default {
/**
* @return {operation:string, options: ThingsCommandOptions, _unknown: Array<string>}
*/
static getCommandLineArgs() {
const commandLineArgs = require('command-line-args');
const {
operation,
_unknown
} = commandLineArgs([{
name: 'operation',
defaultOption: true
}], {
stopAtFirstUnknown: true
});
const argv = _unknown || [];
const options = commandLineArgs([{
name: 'help',
alias: 'h',
type: Boolean
}, {
name: 'version',
alias: 'v',
type: Boolean
}], {
argv
});
return {
operation,
options,
_unknown
};
}
static async cli() {
try {
_colors.default.setTheme(_theme.default);
const {
operation,
options
} = this.getCommandLineArgs();
if (options.help) {
const commandLineUsage = require('command-line-usage');
await _imageHelper.default.draw('chick-helps');
switch (operation) {
case 'list:trial':
console.log(commandLineUsage(_thingsListTrialOperation.default.usage));
break;
case 'add:trial':
console.log(commandLineUsage(_thingsAddTrialOperation.default.usage));
break;
case 'remove:trial':
console.log(commandLineUsage(_thingsRemoveTrialOperation.default.usage));
break;
case 'get:device':
console.log(commandLineUsage(_thingsGetDeviceOperation.default.usage));
break;
case 'get:devices':
console.log(commandLineUsage(_thingsGetDevicesOperation.default.usage));
break;
case 'get:product':
console.log(commandLineUsage(_thingsGetProductOperation.default.usage));
break;
case 'register:scenario-set':
console.log(commandLineUsage(_thingsRegisterScenarioSetOperation.default.usage));
break;
case 'get:scenario-set':
console.log(commandLineUsage(_thingsGetScenarioSetOperation.default.usage));
break;
case 'remove:scenario-set':
console.log(commandLineUsage(_thingsRemoveScenarioSetOperation.default.usage));
break;
default:
console.log(commandLineUsage([..._thingsListTrialOperation.default.usage, ..._thingsAddTrialOperation.default.usage, ..._thingsRemoveTrialOperation.default.usage, ..._thingsGetDeviceOperation.default.usage, ..._thingsGetDevicesOperation.default.usage, ..._thingsGetProductOperation.default.usage, ..._thingsRegisterScenarioSetOperation.default.usage, ..._thingsRemoveScenarioSetOperation.default.usage, ..._thingsGetScenarioSetOperation.default.usage]));
}
process.exit(0);
return;
}
if (options.version) {
await _imageHelper.default.draw('chick-helps');
console.log(this.versionText);
process.exit(0);
return;
}
if (operation === 'list:trial') {
await _thingsListTrialOperation.default.run();
} else if (operation === 'add:trial') {
await _thingsAddTrialOperation.default.run();
} else if (operation === 'remove:trial') {
await _thingsRemoveTrialOperation.default.run();
} else if (operation === 'get:device') {
await _thingsGetDeviceOperation.default.run();
} else if (operation === 'get:devices') {
await _thingsGetDevicesOperation.default.run();
} else if (operation === 'get:product') {
await _thingsGetProductOperation.default.run();
} else if (operation === 'register:scenario-set') {
await _thingsRegisterScenarioSetOperation.default.run();
} else if (operation === 'remove:scenario-set') {
await _thingsRemoveScenarioSetOperation.default.run();
} else if (operation === 'get:scenario-set') {
await _thingsGetScenarioSetOperation.default.run();
} else {
await _imageHelper.default.draw('chick-helps');
console.log(`Unknown operation: ${(operation || 'undefined').code}`.warn);
}
return;
} catch (error) {
await _imageHelper.default.draw('chick-helps');
console.error(error);
process.exit(1);
return;
}
}
}
exports.default = ThingsCommand;
//# sourceMappingURL=things-command.js.map