Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.
/ currency Public archive

caches currency trade rates for singular access point

Notifications You must be signed in to change notification settings

brave-intl/currency

Repository files navigation

@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({ /* options */ })
const instance2 = Currency({ /* options */ })

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 xBs", 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.

About

caches currency trade rates for singular access point

Resources

Stars

Watchers

Forks

Packages

No packages published