UNPKG

@cranberry-money/shared-constants

Version:

Shared constants for Blueberry platform

108 lines 3.63 kB
export declare const DEFAULT_STRINGS: { readonly EMPTY: ""; readonly UNKNOWN: "Unknown"; readonly NOT_APPLICABLE: "N/A"; readonly ERROR_MESSAGE: "An error occurred"; readonly ZERO: "0"; readonly NULL_UUID: "00000000-0000-0000-0000-000000000000"; }; export declare const DEFAULT_NUMBERS: { readonly ZERO: 0; readonly PRECISION: 2; readonly PERCENTAGE_PRECISION: 2; readonly QUANTITY_PRECISION: 6; }; export declare const LOCALE_CONFIG: { readonly DEFAULT: "en-AU"; readonly FALLBACK: "en-US"; readonly SUPPORTED: readonly ["en-AU", "en-US", "en-GB"]; }; export type SupportedLocale = (typeof LOCALE_CONFIG.SUPPORTED)[number]; export declare const CONFIG_ALLOCATION_DEFAULTS: { readonly DEFAULT_PERCENTAGE: 10; readonly PERCENTAGE_PRECISION: 0.01; readonly TARGET_TOTAL: 100; }; export declare const DEFAULT_FORMAT_OPTIONS: { readonly CURRENCY: { readonly style: "currency"; readonly minimumFractionDigits: 2; readonly maximumFractionDigits: 2; }; readonly CURRENCY_SIGNED: { readonly style: "currency"; readonly minimumFractionDigits: 2; readonly maximumFractionDigits: 2; readonly signDisplay: "always"; }; readonly PERCENTAGE: { readonly style: "percent"; readonly minimumFractionDigits: 0; readonly maximumFractionDigits: 2; }; readonly DECIMAL: { readonly style: "decimal"; readonly minimumFractionDigits: 0; readonly maximumFractionDigits: 8; }; }; export declare const PAGINATION_CONFIG: { readonly DEFAULT_PAGE: 1; readonly DEFAULT_PAGE_SIZE: 20; readonly MIN_PAGE_SIZE: 1; readonly MAX_PAGE_SIZE: 100; readonly PAGE_SIZE_OPTIONS: readonly [10, 20, 50, 100]; readonly DEFAULT_SORT_ORDER: "desc"; }; export type PageSizeOption = (typeof PAGINATION_CONFIG.PAGE_SIZE_OPTIONS)[number]; export declare const getValidPageSize: (pageSize: number) => number; export declare const getValidPageNumber: (page: number) => number; export declare const COMMON_THRESHOLDS: { readonly THOUSAND: 1000; readonly MILLION: 1000000; readonly BILLION: 1000000000; readonly DEFAULT_DECIMALS: 2; readonly CURRENCY_DECIMALS: 2; readonly PERCENTAGE_DECIMALS: 2; readonly QUANTITY_DECIMALS: 6; readonly PRICE_DECIMALS: 4; readonly MAX_NAME_LENGTH: 100; readonly MAX_DESCRIPTION_LENGTH: 500; readonly MAX_NOTES_LENGTH: 1000; readonly MIN_PASSWORD_LENGTH: 8; readonly MAX_FILE_SIZE_MB: 10; readonly MAX_FILE_NAME_LENGTH: 255; readonly MIN_PORTFOLIO_VALUE: 1000; readonly MIN_TRADE_AMOUNT: 10; readonly MIN_WITHDRAWAL_AMOUNT: 100; readonly MAX_PORTFOLIOS_PER_USER: 10; readonly MAX_TRADES_PER_DAY: 100; readonly MIN_DISPLAY_AMOUNT: 0.01; readonly MIN_DISPLAY_PERCENTAGE: 0.01; readonly DEFAULT_TIMEOUT_MS: 30000; readonly DEFAULT_RETRY_ATTEMPTS: 3; readonly DEFAULT_RETRY_DELAY_MS: 1000; readonly MAX_RETRY_DELAY_MS: 10000; readonly REQUEST_DEBOUNCE_MS: 300; }; export declare const NUMERIC_RANGES: { readonly AMOUNT: { readonly MIN: 0; readonly MAX: 999999999.99; }; readonly PERCENTAGE: { readonly MIN: 0; readonly MAX: 100; }; readonly QUANTITY: { readonly MIN: 0; readonly MAX: 999999999.999999; }; }; export declare const formatWithThousandSeparator: (value: number) => string; export declare const NUMBER_ABBREVIATIONS: { readonly THOUSAND: "K"; readonly MILLION: "M"; readonly BILLION: "B"; }; //# sourceMappingURL=config.d.ts.map