ask-cli-x
Version:
Alexa Skills Kit (ASK) Command Line Interfaces
58 lines (57 loc) • 2.38 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCommand = void 0;
const ramda_1 = __importDefault(require("ramda"));
const abstract_command_1 = require("../../abstract-command");
const option_model_json_1 = __importDefault(require("../../option-model.json"));
const constants_1 = __importDefault(require("../../../utils/constants"));
const profile_helper_1 = __importDefault(require("../../../utils/profile-helper"));
const messenger_1 = __importDefault(require("../../../view/messenger"));
const helper_1 = __importDefault(require("./helper"));
const ui_1 = __importDefault(require("./ui"));
class AddLocalesCommand extends abstract_command_1.AbstractCommand {
name() {
return "add-locales";
}
description() {
return "add new locale(s) from existing locale or from the template";
}
requiredOptions() {
return [];
}
optionalOptions() {
return ["profile", "debug"];
}
async handle(cmd) {
let profile;
try {
profile = profile_helper_1.default.runtimeProfile(cmd.profile);
helper_1.default.initiateModels(profile);
}
catch (err) {
messenger_1.default.getInstance().error(err);
throw err;
}
return new Promise((resolve, reject) => {
ui_1.default.selectLocales(ramda_1.default.keys(constants_1.default.ALEXA.LANGUAGES), (selectErr, selectedLocales) => {
if (selectErr) {
messenger_1.default.getInstance().error(selectErr);
return reject(selectErr);
}
helper_1.default.addLocales(selectedLocales, profile, cmd.debug, (addErr, iModelSourceByLocales) => {
if (addErr) {
messenger_1.default.getInstance().error(addErr);
return reject(addErr);
}
ui_1.default.displayAddLocalesResult(selectedLocales, iModelSourceByLocales);
resolve();
});
});
});
}
}
exports.default = AddLocalesCommand;
exports.createCommand = new AddLocalesCommand(option_model_json_1.default).createCommand();