@types/money
TypeScript icon, indicating that this package has built-in type declarations

0.2.3 • Public • Published

Installation

npm install --save @types/money

Summary

This package contains type definitions for money (https://github.com/openexchangerates/money.js).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/money.

index.d.ts

declare namespace fx {
    type Currency = string;

    type Rates = Record<string, number | string>;

    interface Options {
        from?: Currency;
        to?: Currency;
    }

    type Value = string | number | string[] | number[];

    type Result<T_VAL extends Value> = T_VAL extends string | number ? number : number[];

    interface Wrapper<T_VAL extends Value> {
        convert: (opts?: Options) => Result<T_VAL>;

        from: (currency: Currency) => Wrapper<T_VAL>;

        to: (currency: Currency) => Result<T_VAL>;
    }

    interface FX {
        /**
         * If fx(val) is called as a function, it returns a wrapped object that can be used OO-style
         */
        <T_VAL extends Value>(val: T_VAL): Wrapper<T_VAL>;
        new<T_VAL extends Value>(val: T_VAL): Wrapper<T_VAL>;

        /**
         * Current version
         */
        version: string;

        /**
         * Object containing exchange rates relative to the fx.base currency, eg { "GBP" : "0.64" }
         */
        rates: Rates;

        /**
         * Default exchange rate base currency (eg "USD"), which all the exchange rates are relative to
         */
        base: Currency;

        /**
         * Default from / to currencies for conversion via `convert()`
         */
        settings: {
            from: Currency;
            to: Currency;
        };

        /**
         * Converts a value from one currency to another
         */
        convert: <T_VAL extends Value>(val: T_VAL, opts?: Options) => Result<T_VAL>;
    }
}

/**
 * Library for realtime currency conversion and exchange rate calculation
 */
declare const fx: fx.FX;

export as namespace fx;

export = fx;

Additional Details

  • Last updated: Tue, 07 Nov 2023 09:09:39 GMT
  • Dependencies: none

Credits

These definitions were written by Ivan Ergunov.

Versions

Current Tags

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.2.3
    1,979
  • 0.2.2
    22
  • 0.2.1
    7
  • 0.2.0
    369

Package Sidebar

Install

npm i @types/money

Weekly Downloads

2,377

Version

0.2.3

License

MIT

Unpacked Size

5.88 kB

Total Files

5

Last publish

Collaborators

  • types