UNPKG

@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
/** * 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 {};