UNPKG

1.98 kBSource Map (JSON)View Raw
1{"version":3,"file":"ecb-plus-xrp.js","sourceRoot":"","sources":["ecb-plus-xrp.ts"],"names":[],"mappings":";;AAAA,2CAA8B;AAC9B,+BAA8B;AAC9B,uCAAsD;AACtD,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AAGxC,MAAM,UAAU,GAAG,sFAAsF,CAAA;AAEzG,MAAqB,gBAAiB,SAAQ,aAAU;IACtD,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;QAErB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;SAC1C;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,OAAO,GAAG,MAAM,oBAAK,CAAC,UAAU,CAAC,CAAA;QACvC,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,2DAA2D,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;SAC9F;QACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACzC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAA;QAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;CACF;AArBD,mCAqBC","sourcesContent":["import fetch from 'node-fetch'\nimport ECBBackend from './ecb'\nimport { create as createLogger } from '../common/log'\nconst log = createLogger('ecb-plus-xrp')\n\n// Bitstamp/EUR\nconst CHARTS_API = 'https://data.ripple.com/v2/exchange_rates/EUR+rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq/XRP'\n\nexport default class ECBAndXRPBackend extends ECBBackend {\n async connect () {\n await super.connect()\n // XRP rate may have been loaded as part of the mock data\n if (!this.rates.XRP) {\n this.rates.XRP = await this._getXRPRate()\n }\n this.currencies.push('XRP')\n this.currencies.sort()\n }\n\n async _getXRPRate () {\n const rateRes = await fetch(CHARTS_API)\n if (rateRes.status !== 200) {\n throw new Error('unexpected HTTP status code from Ripple Data API. status=' + rateRes.status)\n }\n const body = await rateRes.json()\n const rate = Number(body.rate).toFixed(5)\n log.trace('loaded EUR/XRP rate. rate=%s', rate)\n return Number(rate)\n }\n}\n"]}
\No newline at end of file