UNPKG

@cranberry-money/shared-constants

Version:

Shared constants for Blueberry platform

160 lines 5.16 kB
import { COMMON_THRESHOLDS, LOCALE_CONFIG, DEFAULT_FORMAT_OPTIONS, NUMBER_ABBREVIATIONS } from './config'; // ============================================ // Currency // ============================================ export const CURRENCY_CODES = { AUD: 'AUD', USD: 'USD', EUR: 'EUR', GBP: 'GBP', JPY: 'JPY', CAD: 'CAD', CHF: 'CHF', NZD: 'NZD', SGD: 'SGD', HKD: 'HKD', }; export const CURRENCY_SYMBOLS = { [CURRENCY_CODES.AUD]: '$', [CURRENCY_CODES.USD]: '$', [CURRENCY_CODES.EUR]: '€', [CURRENCY_CODES.GBP]: '£', [CURRENCY_CODES.JPY]: '¥', [CURRENCY_CODES.CAD]: '$', [CURRENCY_CODES.CHF]: 'CHF', [CURRENCY_CODES.NZD]: '$', [CURRENCY_CODES.SGD]: '$', [CURRENCY_CODES.HKD]: '$', }; export const CURRENCY_NAMES = { [CURRENCY_CODES.AUD]: 'Australian Dollar', [CURRENCY_CODES.USD]: 'US Dollar', [CURRENCY_CODES.EUR]: 'Euro', [CURRENCY_CODES.GBP]: 'British Pound', [CURRENCY_CODES.JPY]: 'Japanese Yen', [CURRENCY_CODES.CAD]: 'Canadian Dollar', [CURRENCY_CODES.CHF]: 'Swiss Franc', [CURRENCY_CODES.NZD]: 'New Zealand Dollar', [CURRENCY_CODES.SGD]: 'Singapore Dollar', [CURRENCY_CODES.HKD]: 'Hong Kong Dollar', }; export const CURRENCY_DECIMALS = { [CURRENCY_CODES.AUD]: 2, [CURRENCY_CODES.USD]: 2, [CURRENCY_CODES.EUR]: 2, [CURRENCY_CODES.GBP]: 2, [CURRENCY_CODES.JPY]: 0, [CURRENCY_CODES.CAD]: 2, [CURRENCY_CODES.CHF]: 2, [CURRENCY_CODES.NZD]: 2, [CURRENCY_CODES.SGD]: 2, [CURRENCY_CODES.HKD]: 2, }; export const DEFAULT_CURRENCY = CURRENCY_CODES.AUD; export const CURRENCY_OPTIONS = Object.entries(CURRENCY_NAMES).map(([code, name]) => ({ value: code, label: `${code} - ${name}`, })); export const CURRENCY_AUD = CURRENCY_CODES.AUD; export const CURRENCY_USD = CURRENCY_CODES.USD; export const CURRENCY_EUR = CURRENCY_CODES.EUR; export const CURRENCY_GBP = CURRENCY_CODES.GBP; export const CURRENCY_LABEL_AUD = CURRENCY_NAMES[CURRENCY_CODES.AUD]; export const CURRENCY_LABEL_USD = CURRENCY_NAMES[CURRENCY_CODES.USD]; // ============================================ // Financial Instruments // ============================================ export const INSTRUMENT_TYPE = { ETF: 'ETF', FUND: 'FUND', STOCK: 'STOCK', BOND: 'BOND', COMMODITY: 'COMMODITY', CRYPTO: 'CRYPTO', INDEX: 'INDEX', }; export const INSTRUMENT_TYPE_VALUES = { ETF: 'etf', FUND: 'fund', STOCK: 'stock', BOND: 'bond', COMMODITY: 'commodity', CRYPTO: 'crypto', INDEX: 'index', }; export const INSTRUMENT_TYPE_LABELS = { [INSTRUMENT_TYPE_VALUES.ETF]: 'ETF', [INSTRUMENT_TYPE_VALUES.FUND]: 'Fund', [INSTRUMENT_TYPE_VALUES.STOCK]: 'Stock', }; export const ASSET_CLASS = { EQUITY: 'EQUITY', FIXED_INCOME: 'FIXED_INCOME', CASH: 'CASH', COMMODITY: 'COMMODITY', REAL_ESTATE: 'REAL_ESTATE', ALTERNATIVE: 'ALTERNATIVE', }; export const ASSET_CLASS_LABELS = { [ASSET_CLASS.EQUITY]: 'Equity', [ASSET_CLASS.FIXED_INCOME]: 'Fixed Income', [ASSET_CLASS.CASH]: 'Cash', [ASSET_CLASS.COMMODITY]: 'Commodity', [ASSET_CLASS.REAL_ESTATE]: 'Real Estate', [ASSET_CLASS.ALTERNATIVE]: 'Alternative', }; export const MARKET_IDENTIFIER = { NYSE: 'NYSE', NASDAQ: 'NASDAQ', ASX: 'ASX', LSE: 'LSE', TSX: 'TSX', HKEX: 'HKEX', }; export const EXCHANGE_SUFFIX = { [MARKET_IDENTIFIER.NYSE]: '', [MARKET_IDENTIFIER.NASDAQ]: '', [MARKET_IDENTIFIER.ASX]: '.AX', [MARKET_IDENTIFIER.LSE]: '.L', [MARKET_IDENTIFIER.TSX]: '.TO', [MARKET_IDENTIFIER.HKEX]: '.HK', }; export const INSTRUMENT_TYPE_ETF = INSTRUMENT_TYPE_VALUES.ETF; export const INSTRUMENT_TYPE_FUND = INSTRUMENT_TYPE_VALUES.FUND; export const INSTRUMENT_TYPE_STOCK = INSTRUMENT_TYPE_VALUES.STOCK; // ============================================ // Number Formatting // ============================================ export const NUMBER_FORMATS = { CURRENCY_DECIMALS: COMMON_THRESHOLDS.CURRENCY_DECIMALS, PERCENTAGE_DECIMALS: COMMON_THRESHOLDS.PERCENTAGE_DECIMALS, QUANTITY_DECIMALS: COMMON_THRESHOLDS.QUANTITY_DECIMALS, PRICE_DECIMALS: COMMON_THRESHOLDS.PRICE_DECIMALS, MIN_CURRENCY_DECIMALS: 2, MIN_PERCENTAGE_DECIMALS: 0, MIN_QUANTITY_DECIMALS: 0, MIN_PRICE_DECIMALS: 2, MAX_CURRENCY_DECIMALS: 2, MAX_PERCENTAGE_DECIMALS: 4, MAX_QUANTITY_DECIMALS: 8, MAX_PRICE_DECIMALS: 6, }; export const LOCALE_SETTINGS = { DEFAULT: LOCALE_CONFIG.DEFAULT, FALLBACK: LOCALE_CONFIG.FALLBACK, SUPPORTED: LOCALE_CONFIG.SUPPORTED, }; export const FORMATTING_OPTIONS = { CURRENCY: DEFAULT_FORMAT_OPTIONS.CURRENCY, PERCENTAGE: DEFAULT_FORMAT_OPTIONS.PERCENTAGE, DECIMAL: DEFAULT_FORMAT_OPTIONS.DECIMAL, }; export const DISPLAY_THRESHOLDS = { MIN_DISPLAY_AMOUNT: COMMON_THRESHOLDS.MIN_DISPLAY_AMOUNT, MIN_DISPLAY_PERCENTAGE: COMMON_THRESHOLDS.MIN_DISPLAY_PERCENTAGE, THOUSAND: COMMON_THRESHOLDS.THOUSAND, MILLION: COMMON_THRESHOLDS.MILLION, BILLION: COMMON_THRESHOLDS.BILLION, }; export const ABBREVIATION_SUFFIXES = NUMBER_ABBREVIATIONS; //# sourceMappingURL=financial.js.map