@cranberry-money/shared-constants
Version:
Shared constants for Blueberry platform
108 lines • 3.63 kB
TypeScript
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