UNPKG

weather-cli-nk_sm

Version:
39 lines (38 loc) 1.94 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import 'dotenv/config'; import { getArgs } from './helpers/args.js'; import ErrorHandlerService from './services/ErrorHandlerService.js'; import LogService from './services/LogService.js'; import { DBKeys } from './services/StorageService.js'; export var argsTypes; (function (argsTypes) { argsTypes["HELP"] = "h"; argsTypes["CITY"] = "c"; argsTypes["API_KEY"] = "key"; })(argsTypes || (argsTypes = {})); export default function weatherCLI() { return __awaiter(this, void 0, void 0, function* () { const args = getArgs(process.argv); function saveKey(keyType, key, value, message) { if (args[keyType]) ErrorHandlerService.fetchDB({ key, value }, message); } if (args[argsTypes.HELP]) LogService.help(); saveKey(argsTypes.API_KEY, DBKeys.API_KEY, args.key, 'Уникальный ключ сохранён'); saveKey(argsTypes.CITY, DBKeys.CITY, args.c, 'Город сохранён'); if (JSON.stringify(args).length == 2) { const apiResult = yield ErrorHandlerService.fetchAPI(); if (apiResult.type == 'success') LogService.showWeather(apiResult.body); } }); }