npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@brave-intl/currency

v1.6.8

Published

caches currency trade rates for synchronous access

Downloads

185

Readme

@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.