@cranberry-money/shared-constants
Version:
Shared constants for Blueberry platform
160 lines • 5.16 kB
JavaScript
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 = {
[]: '$',
[]: '$',
[]: '€',
[]: '£',
[]: '¥',
[]: '$',
[]: 'CHF',
[]: '$',
[]: '$',
[]: '$',
};
export const CURRENCY_NAMES = {
[]: 'Australian Dollar',
[]: 'US Dollar',
[]: 'Euro',
[]: 'British Pound',
[]: 'Japanese Yen',
[]: 'Canadian Dollar',
[]: 'Swiss Franc',
[]: 'New Zealand Dollar',
[]: 'Singapore Dollar',
[]: 'Hong Kong Dollar',
};
export const CURRENCY_DECIMALS = {
[]: 2,
[]: 2,
[]: 2,
[]: 2,
[]: 0,
[]: 2,
[]: 2,
[]: 2,
[]: 2,
[]: 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 = {
[]: 'ETF',
[]: 'Fund',
[]: '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 = {
[]: 'Equity',
[]: 'Fixed Income',
[]: 'Cash',
[]: 'Commodity',
[]: 'Real Estate',
[]: 'Alternative',
};
export const MARKET_IDENTIFIER = {
NYSE: 'NYSE',
NASDAQ: 'NASDAQ',
ASX: 'ASX',
LSE: 'LSE',
TSX: 'TSX',
HKEX: 'HKEX',
};
export const EXCHANGE_SUFFIX = {
[]: '',
[]: '',
[]: '.AX',
[]: '.L',
[]: '.TO',
[]: '.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