@citrineos/base
Version:
The base module for OCPP v2.0.1 including all interfaces. This module is not intended to be used directly, but rather as a dependency for other modules.
34 lines (33 loc) • 1.26 kB
TypeScript
/**
* ISO-4217 currency codes.
*/
declare const CURRENCY_CODES: readonly ["USD", "EUR", "CAD", "GBP"];
export type CurrencyCode = (typeof CURRENCY_CODES)[number];
export declare function isCurrencyCode(value: string): value is CurrencyCode;
export declare function currencyCode(value: string): CurrencyCode;
declare const CURRENCY_SCALES: readonly [2];
/**
* Represents the scale of the currency.
*
* - `2`: The minor unit is 1/100 of the major unit.
*/
type CurrencyScale = (typeof CURRENCY_SCALES)[number];
export declare function isCurrencyScale(value: number): value is CurrencyScale;
export declare function currencyScale(value: number): CurrencyScale;
/**
* Represents a currency with decimal precision.
*
* To add support for a currency:
* 1. Add the new currency code to the {@link CURRENCY_CODES} array.
* 2. Create a corresponding mapping in the {@link SUPPORTED_CURRENCIES} map.
*/
export declare class Currency {
private static readonly SUPPORTED_CURRENCIES;
private readonly _code;
private readonly _scale;
constructor(code: string | CurrencyCode, scale: number | CurrencyScale);
get code(): "USD" | "EUR" | "CAD" | "GBP";
get scale(): 2;
static of(code: string | CurrencyCode): Currency;
}
export {};