@brave-intl/currency
a currency conversion ratio cache
installation
npm install --save @brave-intl/currency
testing
npm install
npm test
instantiation
the following are valid ways to create a new currency instance
const instance1 = new Currency({ })
const instance2 = Currency({ })
the following will get you the global instance to be shared.
const globl = Currency.global()
Options
- rates - (object)
- url - (string) url that points to previous instances of the rates endpoint
- access_token - (string) the access token needed for the above url
- oxr - (object)
- apiId - (string) oxr app id supplied by registering with oxr
Members
- prices - (function -> Promise) a function to fetch prices
- BigNumber - (Constructor -> BigNumber) a bignumber.js instance that will be used in each ratio computation
API
ready
ready(options) -> Promise
Returns a Promise that resolves when the oxr and binance data have been fetched, or immediately if there are already values.
- Object? (historical)
- date - date to get data for
- currency - altcurrency to get historical data for. only used if retrieving date.
- base - base currency to check against
update
update(options) -> Promise
Forcefully refreshes the prices.
base
base() -> String
returns the base currency against which all others are measured.
fiat
fiat(currency: String) -> BigNumber
fiat(currency: String) -> null
Returns the ratio of the passed fiat currency to the base provided by open exchange rates
. If the value does not exist (because ready has not finished or because the key is not found) null will be returned.
alt
alt(currency: String) -> BigNumber
alt(currency: String) -> null
Returns the ratio of the passed alt currency to the base provided by binance
. If the value does not exist (because ready has not finished or because the key is not found) null will be returned.
ratio
ratio(A: String, B: String) -> BigNumber
ratio(A: String, B: String) -> null
Returns the ratio of B over A. An easy way to think about this is how many of, "With 1A
, I can get xB
s", where x is the result in the form of a BigNumber
Object. Null is returned if one of the currencies is not
has
has(currency: String) -> Boolean
Checks whether a value exists for the given currency.
lastUpdated
lastUpdated() -> Date[ISO]
A Number representing a Date in ms denotes the last time the currencies were fetched. If 0
is returned, then the currencies have not yet finished their first fetching.
rates
rates(base?: String) -> Object[BigNumber]
rates(base?: String) -> null
All altrates and fiatrates in one object with the values as BigNumber(s). Null is returned if the base, is not found.