{"version":3,"sources":["jsdelivr-header.js","/npm/poke-coin-gecko-cli@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;OCLS,YAAe,2BAEtB,UACA,aACA,WACA,gBACK,mCACE,aAAc,gBAAmB,uCAExC,SACA,YACA,oBACK,mCAEL,WACA,iBACA,uBACK,uBAEP,MAAM,UAAY,UAChB,IACE,MAAM,QAAc,WACpB,YAAY,EACd,CAAE,MAAO,GACP,WAAW,GAAO,QACpB,GAGI,mBAAqB,MAAO,IAChC,GAAK,EAAK,OASV,UACQ,YAAY,GAClB,MAAM,QAAkB,YAAY,WAAW,WAE/C,GAAI,EAAW,CACb,MAAM,EAAmB,EAAY,IAAM,QACrC,aAAa,WAAW,UAAW,EAC3C,YACQ,aAAa,WAAW,UAAW,GAE3C,aAAa,mBAAmB,UAClC,CAAE,MAAO,GAEL,WAD8B,MAA5B,GAAO,UAAU,OACR,iBAAiB,iBAEjB,GAAO,QAEtB,KA1BA,CACE,MAAM,QAAkB,YAAY,WAAW,WAE/C,EACI,aAAa,GAAG,mBAAmB,aAAa,KAChD,WAAW,iBAAiB,iBAElC,CAmBA,EAGI,mBAAqB,MAAO,IAChC,MAAM,QAAgB,gBAAgB,GACtC,GAAK,EAAS,OAQd,GAAI,EACF,UACQ,aAAa,WAAW,oBAAqB,GACnD,aAAa,mBAAmB,YAClC,CAAE,MAAO,GACP,WAAW,GAAO,QACpB,MAEA,WAAW,iBAAiB,0BAhB9B,CACE,MAAM,QAAwB,YAAY,WAAW,qBACrD,EACI,aAAa,GAAG,mBAAmB,mBAAmB,KACtD,WAAW,iBAAiB,wBAElC,CAWA,EAGI,4BAA8B,UAClC,MACM,SADkB,YAAY,WAAW,YACd,MAAM,KAIjC,EAHwB,IACzB,EAAe,MAAM,EAAG,EAAe,OAAS,IAEN,KAAK,KACpD,UACQ,aAAa,WAAW,UAAW,GACzC,aAAa,mBAAmB,YAClC,CAAE,MAAO,GACP,WAAW,GAAO,QACpB,GAGI,QAAU,KACd,MAAM,EAAO,QAAQ,QAAQ,MAK7B,OAHI,EAAK,GACP,YAEE,EAAK,EACA,mBAAmB,EAAK,GAE7B,EAAK,GACA,8BAEL,EAAK,EACA,mBAAmB,EAAK,QAEjC,WAAW,EAGb","file":"/npm/poke-coin-gecko-cli@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/poke-coin-gecko-cli@1.0.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\nimport { getArgs } from './helpers/args.js';\nimport {\n  printHelp,\n  printSuccess,\n  printError,\n  printResult,\n} from './services/log.service.js';\nimport { saveKeyValue, getKeyValue } from './services/storage.service.js';\nimport {\n  getPrice,\n  isValidCoin,\n  isValidCurrency,\n} from './services/api.service.js';\nimport {\n  DICTIONARY,\n  ERROR_DICTIONARY,\n  SUCCESS_DICTIONARY,\n} from './constants/index.js';\n\nconst pokeGecko = async () => {\n  try {\n    const price = await getPrice();\n    printResult(price);\n  } catch (error) {\n    printError(error?.message);\n  }\n};\n\nconst addCoinToWatchList = async (coin) => {\n  if (!coin.length) {\n    const watchList = await getKeyValue(DICTIONARY.watchList);\n\n    watchList\n      ? printSuccess(`${SUCCESS_DICTIONARY.watchList} ${watchList}`)\n      : printError(ERROR_DICTIONARY.watchListIsEmpty);\n    return;\n  }\n\n  try {\n    await isValidCoin(coin);\n    const watchList = await getKeyValue(DICTIONARY.watchList);\n\n    if (watchList) {\n      const changedWatchList = watchList + ',' + coin;\n      await saveKeyValue(DICTIONARY.watchList, changedWatchList);\n    } else {\n      await saveKeyValue(DICTIONARY.watchList, coin);\n    }\n    printSuccess(SUCCESS_DICTIONARY.coinAdded);\n  } catch (error) {\n    if (error?.response?.status === 404) {\n      printError(ERROR_DICTIONARY.couldNotFindCoin);\n    } else {\n      printError(error?.message);\n    }\n  }\n};\n\nconst setCurrentCurrency = async (currency) => {\n  const isValid = await isValidCurrency(currency);\n  if (!currency.length) {\n    const currentCurrency = await getKeyValue(DICTIONARY.currentCurrencyName);\n    currentCurrency\n      ? printSuccess(`${SUCCESS_DICTIONARY.currentCurrency} ${currentCurrency}`)\n      : printError(ERROR_DICTIONARY.currentCurrencyIsNotSet);\n    return;\n  }\n\n  if (isValid) {\n    try {\n      await saveKeyValue(DICTIONARY.currentCurrencyName, currency);\n      printSuccess(SUCCESS_DICTIONARY.currencySet);\n    } catch (error) {\n      printError(error?.message);\n    }\n  } else {\n    printError(ERROR_DICTIONARY.couldNotFindCurrency);\n  }\n};\n\nconst removeLastItemFromWatchList = async () => {\n  const watchList = await getKeyValue(DICTIONARY.watchList);\n  const watchListArray = watchList.split(',');\n  const changedWatchListArray = [\n    ...watchListArray.slice(0, watchListArray.length - 1),\n  ];\n  const changedWatchList = changedWatchListArray.join(',');\n  try {\n    await saveKeyValue(DICTIONARY.watchList, changedWatchList);\n    printSuccess(SUCCESS_DICTIONARY.сoinRemoved);\n  } catch (error) {\n    printError(error?.message);\n  }\n};\n\nconst initCLI = () => {\n  const args = getArgs(process.argv);\n\n  if (args.h) {\n    printHelp();\n  }\n  if (args.w) {\n    return addCoinToWatchList(args.w);\n  }\n  if (args.wr) {\n    return removeLastItemFromWatchList();\n  }\n  if (args.c) {\n    return setCurrentCurrency(args.c);\n  }\n  pokeGecko();\n};\n\ninitCLI();\n"]}