UNPKG

@open-oracle-origami/origami-js-mill-coingecko

Version:
31 lines (30 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const coingecko_api_v3_1 = require("coingecko-api-v3"); const origami_js_sdk_1 = require("@open-oracle-origami/origami-js-sdk"); exports.default = ({ press, interval = 5000, timeout = 10000, autoRetry = true, simplePriceParams, apiKey, }) => { let stop = false; const client = new coingecko_api_v3_1.CoinGeckoClient({ timeout, autoRetry, }, apiKey); const params = { ...simplePriceParams, ids: Array.isArray(simplePriceParams.ids) ? simplePriceParams.ids.join(',') : simplePriceParams.ids, vs_currencies: Array.isArray(simplePriceParams.vs_currencies) ? simplePriceParams.vs_currencies.join(',') : simplePriceParams.vs_currencies, }; const pressAllIds = async () => { const res = await client.simplePrice(params); Object.entries(res).forEach(([sku, data]) => { press(sku, data); }); }; void origami_js_sdk_1.utils.poll(pressAllIds, interval, () => stop); return () => { stop = true; }; };