@cranberry-money/shared-constants 4.11.0 → 4.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +11 -8
- package/dist/business/accounts.d.ts +1 -1
- package/dist/business/accounts.d.ts.map +1 -1
- package/dist/business/accounts.js +3 -2
- package/dist/business/status/banks.d.ts +6 -0
- package/dist/business/status/banks.d.ts.map +1 -1
- package/dist/business/status/banks.js +6 -0
- package/dist/business/status/portfolios.d.ts +6 -0
- package/dist/business/status/portfolios.d.ts.map +1 -1
- package/dist/business/status/portfolios.js +6 -0
- package/dist/business/status/trades.d.ts +7 -1
- package/dist/business/status/trades.d.ts.map +1 -1
- package/dist/business/status/trades.js +9 -4
- package/dist/business/status/withdrawals.d.ts +1 -1
- package/dist/business/status/withdrawals.d.ts.map +1 -1
- package/dist/business/status/withdrawals.js +1 -1
- package/dist/common/statuses.d.ts +3 -1
- package/dist/common/statuses.d.ts.map +1 -1
- package/dist/common/statuses.js +3 -1
- package/dist/config/defaults.d.ts +79 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +77 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/pagination.d.ts +28 -0
- package/dist/config/pagination.d.ts.map +1 -0
- package/dist/config/pagination.js +40 -0
- package/dist/config/thresholds.d.ts +65 -0
- package/dist/config/thresholds.d.ts.map +1 -0
- package/dist/config/thresholds.js +82 -0
- package/dist/financial/currency.d.ts +16 -0
- package/dist/financial/currency.d.ts.map +1 -1
- package/dist/financial/currency.js +25 -10
- package/dist/financial/formatting.d.ts +1 -1
- package/dist/financial/formatting.d.ts.map +1 -1
- package/dist/financial/formatting.js +20 -32
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/utilities/common.d.ts +9 -9
- package/dist/utilities/common.d.ts.map +1 -1
- package/dist/utilities/common.js +11 -17
- package/dist/utilities/defaults.d.ts.map +1 -1
- package/dist/utilities/defaults.js +35 -28
- package/package.json +1 -1
package/dist/api/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAI1E,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAIX,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAoBlB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/api/config.js
CHANGED
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API configuration constants
|
|
3
3
|
*/
|
|
4
|
+
import { PAGINATION_CONFIG, COMMON_THRESHOLDS } from '../config';
|
|
4
5
|
// API Versions
|
|
5
6
|
export const API_VERSIONS = {
|
|
6
7
|
V1: 'v1',
|
|
7
8
|
V2: 'v2',
|
|
8
9
|
};
|
|
9
10
|
// API Configuration
|
|
11
|
+
// Now references common thresholds for consistency
|
|
10
12
|
export const API_CONFIG = {
|
|
11
|
-
DEFAULT_TIMEOUT:
|
|
12
|
-
DEFAULT_RETRY_ATTEMPTS:
|
|
13
|
-
DEFAULT_RETRY_DELAY:
|
|
14
|
-
MAX_RETRY_DELAY:
|
|
15
|
-
REQUEST_DEBOUNCE_MS:
|
|
13
|
+
DEFAULT_TIMEOUT: COMMON_THRESHOLDS.DEFAULT_TIMEOUT_MS,
|
|
14
|
+
DEFAULT_RETRY_ATTEMPTS: COMMON_THRESHOLDS.DEFAULT_RETRY_ATTEMPTS,
|
|
15
|
+
DEFAULT_RETRY_DELAY: COMMON_THRESHOLDS.DEFAULT_RETRY_DELAY_MS,
|
|
16
|
+
MAX_RETRY_DELAY: COMMON_THRESHOLDS.MAX_RETRY_DELAY_MS,
|
|
17
|
+
REQUEST_DEBOUNCE_MS: COMMON_THRESHOLDS.REQUEST_DEBOUNCE_MS,
|
|
16
18
|
};
|
|
17
19
|
// API Response Configuration
|
|
20
|
+
// @deprecated Use PAGINATION_CONFIG from config/pagination instead
|
|
18
21
|
export const API_RESPONSE_CONFIG = {
|
|
19
|
-
DEFAULT_PAGE_SIZE:
|
|
20
|
-
MAX_PAGE_SIZE:
|
|
21
|
-
DEFAULT_SORT_ORDER:
|
|
22
|
+
DEFAULT_PAGE_SIZE: PAGINATION_CONFIG.DEFAULT_PAGE_SIZE,
|
|
23
|
+
MAX_PAGE_SIZE: PAGINATION_CONFIG.MAX_PAGE_SIZE,
|
|
24
|
+
DEFAULT_SORT_ORDER: PAGINATION_CONFIG.DEFAULT_SORT_ORDER,
|
|
22
25
|
};
|
|
23
26
|
// API Error Codes (custom application codes)
|
|
24
27
|
export const API_ERROR_CODES = {
|
|
@@ -25,7 +25,7 @@ export declare const SOURCE_OF_FUNDS_LABEL_SALARY = "Salary";
|
|
|
25
25
|
export declare const SOURCE_OF_FUNDS_LABEL_SAVINGS = "Savings";
|
|
26
26
|
export declare const SOURCE_OF_FUNDS_LABEL_INHERITANCE = "Inheritance";
|
|
27
27
|
export declare const SOURCE_OF_FUNDS_LABEL_GIFT = "Gift";
|
|
28
|
-
export declare const SOURCE_OF_FUNDS_LABEL_OTHER
|
|
28
|
+
export declare const SOURCE_OF_FUNDS_LABEL_OTHER: "Other";
|
|
29
29
|
export declare const SOURCE_OF_FUNDS_LABELS: Record<SourceOfFunds, string>;
|
|
30
30
|
export declare const ACCOUNT_TYPE_OPTIONS: {
|
|
31
31
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/business/accounts.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/business/accounts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE3E,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIlD,CAAC;AAGX,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AACzD,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGnF,eAAO,MAAM,4BAA4B,WAAW,CAAC;AACrD,eAAO,MAAM,6BAA6B,YAAY,CAAC;AACvD,eAAO,MAAM,iCAAiC,gBAAgB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,SAAS,CAAC;AACjD,eAAO,MAAM,2BAA2B,SAAsB,CAAC;AAE/D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAMvD,CAAC;AAGX,eAAO,MAAM,oBAAoB;;;GAG9B,CAAC;AAGJ,eAAO,MAAM,uBAAuB;;;GAMnC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Account-related business constants
|
|
3
3
|
*/
|
|
4
|
+
import { COMMON_LABELS } from '../config/defaults';
|
|
4
5
|
// Account types
|
|
5
6
|
export const ACCOUNT_TYPE = {
|
|
6
7
|
TRANSACTION: 'TRANSACTION',
|
|
@@ -10,7 +11,7 @@ export const ACCOUNT_TYPE = {
|
|
|
10
11
|
export const ACCOUNT_TYPE_LABELS = {
|
|
11
12
|
[ACCOUNT_TYPE.TRANSACTION]: 'Transaction Account',
|
|
12
13
|
[ACCOUNT_TYPE.SAVINGS]: 'Savings Account',
|
|
13
|
-
[ACCOUNT_TYPE.OTHER]:
|
|
14
|
+
[ACCOUNT_TYPE.OTHER]: COMMON_LABELS.OTHER,
|
|
14
15
|
};
|
|
15
16
|
// Source of funds constants
|
|
16
17
|
export const SOURCE_OF_FUNDS_SALARY = 'salary';
|
|
@@ -30,7 +31,7 @@ export const SOURCE_OF_FUNDS_LABEL_SALARY = 'Salary';
|
|
|
30
31
|
export const SOURCE_OF_FUNDS_LABEL_SAVINGS = 'Savings';
|
|
31
32
|
export const SOURCE_OF_FUNDS_LABEL_INHERITANCE = 'Inheritance';
|
|
32
33
|
export const SOURCE_OF_FUNDS_LABEL_GIFT = 'Gift';
|
|
33
|
-
export const SOURCE_OF_FUNDS_LABEL_OTHER =
|
|
34
|
+
export const SOURCE_OF_FUNDS_LABEL_OTHER = COMMON_LABELS.OTHER;
|
|
34
35
|
export const SOURCE_OF_FUNDS_LABELS = {
|
|
35
36
|
[SOURCE_OF_FUNDS.SALARY]: SOURCE_OF_FUNDS_LABEL_SALARY,
|
|
36
37
|
[SOURCE_OF_FUNDS.SAVINGS]: SOURCE_OF_FUNDS_LABEL_SAVINGS,
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* Bank account status constants
|
|
3
3
|
* These constants should match the backend constants in bilberry/banks/constants.py
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Bank account specific status values
|
|
7
|
+
* @intentional-duplicate INACTIVE also exists in COMMON_STATUS and PORTFOLIO_STATUS
|
|
8
|
+
* @reason Domain isolation - bank account statuses should not mix with other domain statuses
|
|
9
|
+
* @see INTENTIONAL-DUPLICATES.md
|
|
10
|
+
*/
|
|
5
11
|
export declare const BANK_ACCOUNT_STATUS: {
|
|
6
12
|
readonly PRIMARY: "PRIMARY";
|
|
7
13
|
readonly VERIFIED: "VERIFIED";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banks.d.ts","sourceRoot":"","sources":["../../../src/business/status/banks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAGX,eAAO,MAAM,0BAA0B;;;;;CAK7B,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAG/F,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAK/D,CAAC;AAGX,eAAO,MAAM,2BAA2B,WAAqC,CAAC;AAC9E,eAAO,MAAM,4BAA4B,YAAsC,CAAC;AAChF,eAAO,MAAM,8BAA8B,cAAwC,CAAC;AACpF,eAAO,MAAM,4BAA4B,YAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"banks.d.ts","sourceRoot":"","sources":["../../../src/business/status/banks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAGX,eAAO,MAAM,0BAA0B;;;;;CAK7B,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAG/F,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAK/D,CAAC;AAGX,eAAO,MAAM,2BAA2B,WAAqC,CAAC;AAC9E,eAAO,MAAM,4BAA4B,YAAsC,CAAC;AAChF,eAAO,MAAM,8BAA8B,cAAwC,CAAC;AACpF,eAAO,MAAM,4BAA4B,YAAsC,CAAC"}
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* Bank account status constants
|
|
3
3
|
* These constants should match the backend constants in bilberry/banks/constants.py
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Bank account specific status values
|
|
7
|
+
* @intentional-duplicate INACTIVE also exists in COMMON_STATUS and PORTFOLIO_STATUS
|
|
8
|
+
* @reason Domain isolation - bank account statuses should not mix with other domain statuses
|
|
9
|
+
* @see INTENTIONAL-DUPLICATES.md
|
|
10
|
+
*/
|
|
5
11
|
export const BANK_ACCOUNT_STATUS = {
|
|
6
12
|
PRIMARY: 'PRIMARY',
|
|
7
13
|
VERIFIED: 'VERIFIED',
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* Portfolio status constants
|
|
3
3
|
* These constants should match the backend constants in bilberry/portfolios/constants.py
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Portfolio-specific status values
|
|
7
|
+
* @intentional-duplicate ACTIVE/INACTIVE also exist in COMMON_STATUS
|
|
8
|
+
* @reason Type safety - PortfolioStatus should not be assignable to other domain statuses
|
|
9
|
+
* @see INTENTIONAL-DUPLICATES.md
|
|
10
|
+
*/
|
|
5
11
|
export declare const PORTFOLIO_STATUS: {
|
|
6
12
|
readonly ACTIVE: "ACTIVE";
|
|
7
13
|
readonly INACTIVE: "INACTIVE";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolios.d.ts","sourceRoot":"","sources":["../../../src/business/status/portfolios.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAGvF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAI1D,CAAC"}
|
|
1
|
+
{"version":3,"file":"portfolios.d.ts","sourceRoot":"","sources":["../../../src/business/status/portfolios.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAGvF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAI1D,CAAC"}
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* Portfolio status constants
|
|
3
3
|
* These constants should match the backend constants in bilberry/portfolios/constants.py
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Portfolio-specific status values
|
|
7
|
+
* @intentional-duplicate ACTIVE/INACTIVE also exist in COMMON_STATUS
|
|
8
|
+
* @reason Type safety - PortfolioStatus should not be assignable to other domain statuses
|
|
9
|
+
* @see INTENTIONAL-DUPLICATES.md
|
|
10
|
+
*/
|
|
5
11
|
export const PORTFOLIO_STATUS = {
|
|
6
12
|
ACTIVE: 'ACTIVE',
|
|
7
13
|
INACTIVE: 'INACTIVE',
|
|
@@ -6,7 +6,7 @@ export declare const TARGET_TRADE_STATUS_PENDING: "PENDING";
|
|
|
6
6
|
export declare const TARGET_TRADE_STATUS_APPROVED: "APPROVED";
|
|
7
7
|
export declare const TARGET_TRADE_STATUS_SUBMITTED = "SUBMITTED";
|
|
8
8
|
export declare const TARGET_TRADE_STATUS_CANCELLED: "CANCELLED";
|
|
9
|
-
export declare const TARGET_TRADE_STATUS_EXPIRED
|
|
9
|
+
export declare const TARGET_TRADE_STATUS_EXPIRED: "EXPIRED";
|
|
10
10
|
export declare const TARGET_TRADE_STATUS: {
|
|
11
11
|
readonly PENDING: "PENDING";
|
|
12
12
|
readonly APPROVED: "APPROVED";
|
|
@@ -50,6 +50,12 @@ export declare const TRADE_STATUS_OPTIONS: {
|
|
|
50
50
|
value: string;
|
|
51
51
|
label: string;
|
|
52
52
|
}[];
|
|
53
|
+
/**
|
|
54
|
+
* Trade Action constants
|
|
55
|
+
* @intentional-duplicate BUY/SELL also used in other contexts (orders, transactions)
|
|
56
|
+
* @reason Type safety - trade actions should not mix with order actions or transaction types
|
|
57
|
+
* @see INTENTIONAL-DUPLICATES.md
|
|
58
|
+
*/
|
|
53
59
|
export declare const TRADE_ACTION_BUY = "BUY";
|
|
54
60
|
export declare const TRADE_ACTION_SELL = "SELL";
|
|
55
61
|
export declare const TRADE_ACTION_LABEL_BUY = "Buy";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trades.d.ts","sourceRoot":"","sources":["../../../src/business/status/trades.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,2BAA2B,WAAwB,CAAC;AACjE,eAAO,MAAM,4BAA4B,YAAyB,CAAC;AACnE,eAAO,MAAM,6BAA6B,cAAc,CAAC;AACzD,eAAO,MAAM,6BAA6B,aAA0B,CAAC;AACrE,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"trades.d.ts","sourceRoot":"","sources":["../../../src/business/status/trades.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,2BAA2B,WAAwB,CAAC;AACjE,eAAO,MAAM,4BAA4B,YAAyB,CAAC;AACnE,eAAO,MAAM,6BAA6B,cAAc,CAAC;AACzD,eAAO,MAAM,6BAA6B,aAA0B,CAAC;AACrE,eAAO,MAAM,2BAA2B,WAAwB,CAAC;AAEjE,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAG/F,eAAO,MAAM,iCAAiC,uBAAuB,CAAC;AACtE,eAAO,MAAM,kCAAkC,aAAa,CAAC;AAC7D,eAAO,MAAM,mCAAmC,wBAAwB,CAAC;AACzE,eAAO,MAAM,mCAAmC,cAAc,CAAC;AAC/D,eAAO,MAAM,iCAAiC,YAAY,CAAC;AAE3D,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAM/D,CAAC;AAGX,eAAO,MAAM,2BAA2B;;;GAMvC,CAAC;AAGF,eAAO,MAAM,qBAAqB,YAAyB,CAAC;AAC5D,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,sBAAsB,aAA0B,CAAC;AAC9D,eAAO,MAAM,mBAAmB,UAAuB,CAAC;AAExD,eAAO,MAAM,YAAY;;;;;;;;;;CAUf,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAG3E,eAAO,MAAM,2BAA2B,aAAa,CAAC;AACtD,eAAO,MAAM,0BAA0B,YAAY,CAAC;AACpD,eAAO,MAAM,4BAA4B,cAAc,CAAC;AACxD,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAGlD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAUlD,CAAC;AAGX,eAAO,MAAM,oBAAoB;;;GAKhC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAGxC,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAG9C,eAAO,MAAM,oBAAoB;;;GAGhC,CAAC;AAGF,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAG9C,CAAC;AAGX,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAK9C,CAAC;AAGX,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE7E,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAKnD,CAAC"}
|
|
@@ -8,7 +8,7 @@ export const TARGET_TRADE_STATUS_PENDING = COMMON_STATUS.PENDING; // Using commo
|
|
|
8
8
|
export const TARGET_TRADE_STATUS_APPROVED = COMMON_STATUS.APPROVED; // Using common status
|
|
9
9
|
export const TARGET_TRADE_STATUS_SUBMITTED = 'SUBMITTED';
|
|
10
10
|
export const TARGET_TRADE_STATUS_CANCELLED = COMMON_STATUS.CANCELLED; // Using common status
|
|
11
|
-
export const TARGET_TRADE_STATUS_EXPIRED =
|
|
11
|
+
export const TARGET_TRADE_STATUS_EXPIRED = COMMON_STATUS.EXPIRED; // Using common status
|
|
12
12
|
export const TARGET_TRADE_STATUS = {
|
|
13
13
|
PENDING: TARGET_TRADE_STATUS_PENDING,
|
|
14
14
|
APPROVED: TARGET_TRADE_STATUS_APPROVED,
|
|
@@ -48,8 +48,8 @@ export const TRADE_STATUS = {
|
|
|
48
48
|
SETTLED: TRADE_STATUS_SETTLED,
|
|
49
49
|
CANCELLED: TRADE_STATUS_CANCELLED,
|
|
50
50
|
FAILED: TRADE_STATUS_FAILED,
|
|
51
|
-
EXPIRED:
|
|
52
|
-
REJECTED:
|
|
51
|
+
EXPIRED: COMMON_STATUS.EXPIRED, // Using common status
|
|
52
|
+
REJECTED: COMMON_STATUS.REJECTED, // Using common status
|
|
53
53
|
PARTIALLY_EXECUTED: 'PARTIALLY_EXECUTED',
|
|
54
54
|
PENDING_CANCELLATION: 'PENDING_CANCELLATION',
|
|
55
55
|
};
|
|
@@ -77,7 +77,12 @@ export const TRADE_STATUS_OPTIONS = [
|
|
|
77
77
|
{ value: TRADE_STATUS_CANCELLED, label: TRADE_STATUS_LABEL_CANCELLED },
|
|
78
78
|
{ value: TRADE_STATUS_FAILED, label: TRADE_STATUS_LABEL_FAILED },
|
|
79
79
|
];
|
|
80
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Trade Action constants
|
|
82
|
+
* @intentional-duplicate BUY/SELL also used in other contexts (orders, transactions)
|
|
83
|
+
* @reason Type safety - trade actions should not mix with order actions or transaction types
|
|
84
|
+
* @see INTENTIONAL-DUPLICATES.md
|
|
85
|
+
*/
|
|
81
86
|
export const TRADE_ACTION_BUY = 'BUY';
|
|
82
87
|
export const TRADE_ACTION_SELL = 'SELL';
|
|
83
88
|
// Trade Action label constants
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const WITHDRAWAL_STATUS_PENDING_REVIEW = "PENDING_REVIEW";
|
|
6
6
|
export declare const WITHDRAWAL_STATUS_APPROVED: "APPROVED";
|
|
7
|
-
export declare const WITHDRAWAL_STATUS_REJECTED
|
|
7
|
+
export declare const WITHDRAWAL_STATUS_REJECTED: "REJECTED";
|
|
8
8
|
export declare const WITHDRAWAL_STATUS_PROCESSING: "PROCESSING";
|
|
9
9
|
export declare const WITHDRAWAL_STATUS_AWAITING_LIQUIDATION = "AWAITING_LIQUIDATION";
|
|
10
10
|
export declare const WITHDRAWAL_STATUS_LIQUIDATION_IN_PROGRESS = "LIQUIDATION_IN_PROGRESS";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawals.d.ts","sourceRoot":"","sources":["../../../src/business/status/withdrawals.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,gCAAgC,mBAAmB,CAAC;AACjE,eAAO,MAAM,0BAA0B,YAAyB,CAAC;AACjE,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"withdrawals.d.ts","sourceRoot":"","sources":["../../../src/business/status/withdrawals.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,gCAAgC,mBAAmB,CAAC;AACjE,eAAO,MAAM,0BAA0B,YAAyB,CAAC;AACjE,eAAO,MAAM,0BAA0B,YAAyB,CAAC;AACjE,eAAO,MAAM,4BAA4B,cAA2B,CAAC;AACrE,eAAO,MAAM,sCAAsC,yBAAyB,CAAC;AAC7E,eAAO,MAAM,yCAAyC,4BAA4B,CAAC;AACnF,eAAO,MAAM,2BAA2B,aAA0B,CAAC;AACnE,eAAO,MAAM,2BAA2B,aAA0B,CAAC;AACnE,eAAO,MAAM,wBAAwB,UAAuB,CAAC;AAE7D,eAAO,MAAM,iBAAiB;;;;;;;;;;CAUpB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAG1F,eAAO,MAAM,sCAAsC,mBAAmB,CAAC;AACvE,eAAO,MAAM,gCAAgC,aAAa,CAAC;AAC3D,eAAO,MAAM,gCAAgC,aAAa,CAAC;AAC3D,eAAO,MAAM,kCAAkC,eAAe,CAAC;AAC/D,eAAO,MAAM,4CAA4C,+BAA+B,CAAC;AACzF,eAAO,MAAM,+CAA+C,4BAA4B,CAAC;AACzF,eAAO,MAAM,iCAAiC,cAAc,CAAC;AAC7D,eAAO,MAAM,iCAAiC,cAAc,CAAC;AAC7D,eAAO,MAAM,8BAA8B,WAAW,CAAC;AAGvD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAU5D,CAAC;AAGX,eAAO,MAAM,yBAAyB;;;GAUrC,CAAC;AAGF,eAAO,MAAM,0BAA0B,WAAwB,CAAC;AAChE,eAAO,MAAM,iCAAiC,mBAAmB,CAAC;AAClE,eAAO,MAAM,2BAA2B,YAAyB,CAAC;AAClE,eAAO,MAAM,0BAA0B,YAAY,CAAC;AACpD,eAAO,MAAM,yBAAyB,UAAuB,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAG7F,eAAO,MAAM,gCAAgC,YAAY,CAAC;AAC1D,eAAO,MAAM,uCAAuC,mBAAmB,CAAC;AACxE,eAAO,MAAM,iCAAiC,aAAa,CAAC;AAC5D,eAAO,MAAM,gCAAgC,YAAY,CAAC;AAC1D,eAAO,MAAM,+BAA+B,WAAW,CAAC;AAExD,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAM9D,CAAC;AAGX,eAAO,MAAM,0BAA0B;;;GAMtC,CAAC;AAGF,eAAO,MAAM,yBAAyB,cAAc,CAAC;AACrD,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAE3D,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGpF,eAAO,MAAM,+BAA+B,yBAAyB,CAAC;AACtE,eAAO,MAAM,kCAAkC,4BAA4B,CAAC;AAE5E,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAGxD,CAAC;AAGX,eAAO,MAAM,uBAAuB;;;GAGnC,CAAC;AAGF,eAAO,MAAM,qCAAqC,wBAAwB,CAAC;AAC3E,eAAO,MAAM,mCAAmC,sBAAsB,CAAC;AACvE,eAAO,MAAM,2BAA2B,cAAc,CAAC;AACvD,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAG1F,eAAO,MAAM,2CAA2C,+BAA+B,CAAC;AACxF,eAAO,MAAM,yCAAyC,sBAAsB,CAAC;AAC7E,eAAO,MAAM,iCAAiC,cAAc,CAAC;AAC7D,eAAO,MAAM,6BAA6B,UAAU,CAAC;AAErD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAK5D,CAAC;AAGX,eAAO,MAAM,yBAAyB;;;GAKrC,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE1F,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAI5D,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { COMMON_STATUS } from '../../common/statuses';
|
|
|
6
6
|
// Withdrawal status constants
|
|
7
7
|
export const WITHDRAWAL_STATUS_PENDING_REVIEW = 'PENDING_REVIEW';
|
|
8
8
|
export const WITHDRAWAL_STATUS_APPROVED = COMMON_STATUS.APPROVED; // Using common status
|
|
9
|
-
export const WITHDRAWAL_STATUS_REJECTED =
|
|
9
|
+
export const WITHDRAWAL_STATUS_REJECTED = COMMON_STATUS.REJECTED; // Using common status
|
|
10
10
|
export const WITHDRAWAL_STATUS_PROCESSING = COMMON_STATUS.PROCESSING; // Using common status
|
|
11
11
|
export const WITHDRAWAL_STATUS_AWAITING_LIQUIDATION = 'AWAITING_LIQUIDATION';
|
|
12
12
|
export const WITHDRAWAL_STATUS_LIQUIDATION_IN_PROGRESS = 'LIQUIDATION_IN_PROGRESS';
|
|
@@ -12,7 +12,9 @@ export declare const COMMON_STATUS: {
|
|
|
12
12
|
readonly ACTIVE: "ACTIVE";
|
|
13
13
|
readonly INACTIVE: "INACTIVE";
|
|
14
14
|
readonly EXECUTED: "EXECUTED";
|
|
15
|
+
readonly REJECTED: "REJECTED";
|
|
16
|
+
readonly EXPIRED: "EXPIRED";
|
|
15
17
|
};
|
|
16
18
|
export type CommonStatusValues = (typeof COMMON_STATUS)[keyof typeof COMMON_STATUS];
|
|
17
|
-
export declare const PENDING: "PENDING", APPROVED: "APPROVED", CANCELLED: "CANCELLED", FAILED: "FAILED", COMPLETED: "COMPLETED", PROCESSING: "PROCESSING", ACTIVE: "ACTIVE", INACTIVE: "INACTIVE", EXECUTED: "EXECUTED";
|
|
19
|
+
export declare const PENDING: "PENDING", APPROVED: "APPROVED", CANCELLED: "CANCELLED", FAILED: "FAILED", COMPLETED: "COMPLETED", PROCESSING: "PROCESSING", ACTIVE: "ACTIVE", INACTIVE: "INACTIVE", EXECUTED: "EXECUTED", REJECTED: "REJECTED", EXPIRED: "EXPIRED";
|
|
18
20
|
//# sourceMappingURL=statuses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statuses.d.ts","sourceRoot":"","sources":["../../src/common/statuses.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"statuses.d.ts","sourceRoot":"","sources":["../../src/common/statuses.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAGpF,eAAO,MAAQ,OAAO,aAAE,QAAQ,cAAE,SAAS,eAAE,MAAM,YAAE,SAAS,eAAE,UAAU,gBAAE,MAAM,YAAE,QAAQ,cAAE,QAAQ,cAAE,QAAQ,cAAE,OAAO,WAC1G,CAAC"}
|
package/dist/common/statuses.js
CHANGED
|
@@ -12,6 +12,8 @@ export const COMMON_STATUS = {
|
|
|
12
12
|
ACTIVE: 'ACTIVE',
|
|
13
13
|
INACTIVE: 'INACTIVE',
|
|
14
14
|
EXECUTED: 'EXECUTED',
|
|
15
|
+
REJECTED: 'REJECTED',
|
|
16
|
+
EXPIRED: 'EXPIRED',
|
|
15
17
|
};
|
|
16
18
|
// Re-export individual values for convenience
|
|
17
|
-
export const { PENDING, APPROVED, CANCELLED, FAILED, COMPLETED, PROCESSING, ACTIVE, INACTIVE, EXECUTED } = COMMON_STATUS;
|
|
19
|
+
export const { PENDING, APPROVED, CANCELLED, FAILED, COMPLETED, PROCESSING, ACTIVE, INACTIVE, EXECUTED, REJECTED, EXPIRED } = COMMON_STATUS;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified default values
|
|
3
|
+
* Consolidates common default values used across the application
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Default string values
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_STRINGS: {
|
|
9
|
+
readonly EMPTY: "";
|
|
10
|
+
readonly UNKNOWN: "Unknown";
|
|
11
|
+
readonly NOT_APPLICABLE: "N/A";
|
|
12
|
+
readonly ERROR_MESSAGE: "An error occurred";
|
|
13
|
+
readonly ZERO: "0";
|
|
14
|
+
readonly NULL_UUID: "00000000-0000-0000-0000-000000000000";
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Common label values used across domains
|
|
18
|
+
*/
|
|
19
|
+
export declare const COMMON_LABELS: {
|
|
20
|
+
readonly OTHER: "Other";
|
|
21
|
+
readonly UNKNOWN: "Unknown";
|
|
22
|
+
readonly NONE: "None";
|
|
23
|
+
readonly ALL: "All";
|
|
24
|
+
readonly DEFAULT: "Default";
|
|
25
|
+
readonly CUSTOM: "Custom";
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Default numeric values
|
|
29
|
+
*/
|
|
30
|
+
export declare const DEFAULT_NUMBERS: {
|
|
31
|
+
readonly ZERO: 0;
|
|
32
|
+
readonly PRECISION: 2;
|
|
33
|
+
readonly PERCENTAGE_PRECISION: 2;
|
|
34
|
+
readonly QUANTITY_PRECISION: 6;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Locale configuration
|
|
38
|
+
*/
|
|
39
|
+
export declare const LOCALE_CONFIG: {
|
|
40
|
+
readonly DEFAULT: "en-AU";
|
|
41
|
+
readonly FALLBACK: "en-US";
|
|
42
|
+
readonly SUPPORTED: readonly ["en-AU", "en-US", "en-GB"];
|
|
43
|
+
};
|
|
44
|
+
export type SupportedLocale = (typeof LOCALE_CONFIG.SUPPORTED)[number];
|
|
45
|
+
/**
|
|
46
|
+
* Default allocation values
|
|
47
|
+
*/
|
|
48
|
+
export declare const CONFIG_ALLOCATION_DEFAULTS: {
|
|
49
|
+
readonly DEFAULT_PERCENTAGE: 10;
|
|
50
|
+
readonly PERCENTAGE_PRECISION: 0.01;
|
|
51
|
+
readonly TARGET_TOTAL: 100;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Default format options for number formatting
|
|
55
|
+
*/
|
|
56
|
+
export declare const DEFAULT_FORMAT_OPTIONS: {
|
|
57
|
+
readonly CURRENCY: {
|
|
58
|
+
readonly style: "currency";
|
|
59
|
+
readonly minimumFractionDigits: 2;
|
|
60
|
+
readonly maximumFractionDigits: 2;
|
|
61
|
+
};
|
|
62
|
+
readonly CURRENCY_SIGNED: {
|
|
63
|
+
readonly style: "currency";
|
|
64
|
+
readonly minimumFractionDigits: 2;
|
|
65
|
+
readonly maximumFractionDigits: 2;
|
|
66
|
+
readonly signDisplay: "always";
|
|
67
|
+
};
|
|
68
|
+
readonly PERCENTAGE: {
|
|
69
|
+
readonly style: "percent";
|
|
70
|
+
readonly minimumFractionDigits: 0;
|
|
71
|
+
readonly maximumFractionDigits: 2;
|
|
72
|
+
};
|
|
73
|
+
readonly DECIMAL: {
|
|
74
|
+
readonly style: "decimal";
|
|
75
|
+
readonly minimumFractionDigits: 0;
|
|
76
|
+
readonly maximumFractionDigits: 8;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;CAsBzB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified default values
|
|
3
|
+
* Consolidates common default values used across the application
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Default string values
|
|
7
|
+
*/
|
|
8
|
+
export const DEFAULT_STRINGS = {
|
|
9
|
+
EMPTY: '',
|
|
10
|
+
UNKNOWN: 'Unknown',
|
|
11
|
+
NOT_APPLICABLE: 'N/A',
|
|
12
|
+
ERROR_MESSAGE: 'An error occurred',
|
|
13
|
+
ZERO: '0',
|
|
14
|
+
NULL_UUID: '00000000-0000-0000-0000-000000000000',
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Common label values used across domains
|
|
18
|
+
*/
|
|
19
|
+
export const COMMON_LABELS = {
|
|
20
|
+
OTHER: 'Other',
|
|
21
|
+
UNKNOWN: 'Unknown',
|
|
22
|
+
NONE: 'None',
|
|
23
|
+
ALL: 'All',
|
|
24
|
+
DEFAULT: 'Default',
|
|
25
|
+
CUSTOM: 'Custom',
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Default numeric values
|
|
29
|
+
*/
|
|
30
|
+
export const DEFAULT_NUMBERS = {
|
|
31
|
+
ZERO: 0,
|
|
32
|
+
PRECISION: 2,
|
|
33
|
+
PERCENTAGE_PRECISION: 2,
|
|
34
|
+
QUANTITY_PRECISION: 6,
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Locale configuration
|
|
38
|
+
*/
|
|
39
|
+
export const LOCALE_CONFIG = {
|
|
40
|
+
DEFAULT: 'en-AU',
|
|
41
|
+
FALLBACK: 'en-US',
|
|
42
|
+
SUPPORTED: ['en-AU', 'en-US', 'en-GB'],
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Default allocation values
|
|
46
|
+
*/
|
|
47
|
+
export const CONFIG_ALLOCATION_DEFAULTS = {
|
|
48
|
+
DEFAULT_PERCENTAGE: 10,
|
|
49
|
+
PERCENTAGE_PRECISION: 0.01,
|
|
50
|
+
TARGET_TOTAL: 100,
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Default format options for number formatting
|
|
54
|
+
*/
|
|
55
|
+
export const DEFAULT_FORMAT_OPTIONS = {
|
|
56
|
+
CURRENCY: {
|
|
57
|
+
style: 'currency',
|
|
58
|
+
minimumFractionDigits: DEFAULT_NUMBERS.PRECISION,
|
|
59
|
+
maximumFractionDigits: DEFAULT_NUMBERS.PRECISION,
|
|
60
|
+
},
|
|
61
|
+
CURRENCY_SIGNED: {
|
|
62
|
+
style: 'currency',
|
|
63
|
+
minimumFractionDigits: DEFAULT_NUMBERS.PRECISION,
|
|
64
|
+
maximumFractionDigits: DEFAULT_NUMBERS.PRECISION,
|
|
65
|
+
signDisplay: 'always',
|
|
66
|
+
},
|
|
67
|
+
PERCENTAGE: {
|
|
68
|
+
style: 'percent',
|
|
69
|
+
minimumFractionDigits: 0,
|
|
70
|
+
maximumFractionDigits: DEFAULT_NUMBERS.PERCENTAGE_PRECISION,
|
|
71
|
+
},
|
|
72
|
+
DECIMAL: {
|
|
73
|
+
style: 'decimal',
|
|
74
|
+
minimumFractionDigits: 0,
|
|
75
|
+
maximumFractionDigits: 8,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified pagination configuration constants
|
|
3
|
+
* Consolidates pagination settings from multiple locations
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Pagination configuration
|
|
7
|
+
* Single source of truth for all pagination-related constants
|
|
8
|
+
*/
|
|
9
|
+
export declare const PAGINATION_CONFIG: {
|
|
10
|
+
readonly DEFAULT_PAGE: 1;
|
|
11
|
+
readonly DEFAULT_PAGE_SIZE: 20;
|
|
12
|
+
readonly MIN_PAGE_SIZE: 1;
|
|
13
|
+
readonly MAX_PAGE_SIZE: 100;
|
|
14
|
+
readonly PAGE_SIZE_OPTIONS: readonly [10, 20, 50, 100];
|
|
15
|
+
readonly DEFAULT_SORT_ORDER: "desc";
|
|
16
|
+
};
|
|
17
|
+
export type PageSizeOption = (typeof PAGINATION_CONFIG.PAGE_SIZE_OPTIONS)[number];
|
|
18
|
+
/**
|
|
19
|
+
* Get validated page size
|
|
20
|
+
* Ensures page size is within allowed limits
|
|
21
|
+
*/
|
|
22
|
+
export declare const getValidPageSize: (pageSize: number) => number;
|
|
23
|
+
/**
|
|
24
|
+
* Get validated page number
|
|
25
|
+
* Ensures page number is at least 1
|
|
26
|
+
*/
|
|
27
|
+
export declare const getValidPageNumber: (page: number) => number;
|
|
28
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/config/pagination.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;CAcpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,KAAG,MAQnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAEjD,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified pagination configuration constants
|
|
3
|
+
* Consolidates pagination settings from multiple locations
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Pagination configuration
|
|
7
|
+
* Single source of truth for all pagination-related constants
|
|
8
|
+
*/
|
|
9
|
+
export const PAGINATION_CONFIG = {
|
|
10
|
+
// Default values
|
|
11
|
+
DEFAULT_PAGE: 1,
|
|
12
|
+
DEFAULT_PAGE_SIZE: 20,
|
|
13
|
+
// Limits
|
|
14
|
+
MIN_PAGE_SIZE: 1,
|
|
15
|
+
MAX_PAGE_SIZE: 100,
|
|
16
|
+
// Common page size options for dropdowns
|
|
17
|
+
PAGE_SIZE_OPTIONS: [10, 20, 50, 100],
|
|
18
|
+
// Default sort order
|
|
19
|
+
DEFAULT_SORT_ORDER: 'desc',
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Get validated page size
|
|
23
|
+
* Ensures page size is within allowed limits
|
|
24
|
+
*/
|
|
25
|
+
export const getValidPageSize = (pageSize) => {
|
|
26
|
+
if (pageSize < PAGINATION_CONFIG.MIN_PAGE_SIZE) {
|
|
27
|
+
return PAGINATION_CONFIG.MIN_PAGE_SIZE;
|
|
28
|
+
}
|
|
29
|
+
if (pageSize > PAGINATION_CONFIG.MAX_PAGE_SIZE) {
|
|
30
|
+
return PAGINATION_CONFIG.MAX_PAGE_SIZE;
|
|
31
|
+
}
|
|
32
|
+
return pageSize;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Get validated page number
|
|
36
|
+
* Ensures page number is at least 1
|
|
37
|
+
*/
|
|
38
|
+
export const getValidPageNumber = (page) => {
|
|
39
|
+
return Math.max(PAGINATION_CONFIG.DEFAULT_PAGE, page);
|
|
40
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified threshold and limit constants
|
|
3
|
+
* Consolidates numeric thresholds, limits, and common values
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Common numeric thresholds used across the application
|
|
7
|
+
*/
|
|
8
|
+
export declare const COMMON_THRESHOLDS: {
|
|
9
|
+
readonly THOUSAND: 1000;
|
|
10
|
+
readonly MILLION: 1000000;
|
|
11
|
+
readonly BILLION: 1000000000;
|
|
12
|
+
readonly DEFAULT_DECIMALS: 2;
|
|
13
|
+
readonly CURRENCY_DECIMALS: 2;
|
|
14
|
+
readonly PERCENTAGE_DECIMALS: 2;
|
|
15
|
+
readonly QUANTITY_DECIMALS: 6;
|
|
16
|
+
readonly PRICE_DECIMALS: 4;
|
|
17
|
+
readonly MAX_NAME_LENGTH: 100;
|
|
18
|
+
readonly MAX_DESCRIPTION_LENGTH: 500;
|
|
19
|
+
readonly MAX_NOTES_LENGTH: 1000;
|
|
20
|
+
readonly MIN_PASSWORD_LENGTH: 8;
|
|
21
|
+
readonly MAX_FILE_SIZE_MB: 10;
|
|
22
|
+
readonly MAX_FILE_NAME_LENGTH: 255;
|
|
23
|
+
readonly MIN_PORTFOLIO_VALUE: 1000;
|
|
24
|
+
readonly MIN_TRADE_AMOUNT: 10;
|
|
25
|
+
readonly MIN_WITHDRAWAL_AMOUNT: 100;
|
|
26
|
+
readonly MAX_PORTFOLIOS_PER_USER: 10;
|
|
27
|
+
readonly MAX_TRADES_PER_DAY: 100;
|
|
28
|
+
readonly MIN_DISPLAY_AMOUNT: 0.01;
|
|
29
|
+
readonly MIN_DISPLAY_PERCENTAGE: 0.01;
|
|
30
|
+
readonly DEFAULT_TIMEOUT_MS: 30000;
|
|
31
|
+
readonly DEFAULT_RETRY_ATTEMPTS: 3;
|
|
32
|
+
readonly DEFAULT_RETRY_DELAY_MS: 1000;
|
|
33
|
+
readonly MAX_RETRY_DELAY_MS: 10000;
|
|
34
|
+
readonly REQUEST_DEBOUNCE_MS: 300;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Numeric ranges for validation
|
|
38
|
+
*/
|
|
39
|
+
export declare const NUMERIC_RANGES: {
|
|
40
|
+
readonly AMOUNT: {
|
|
41
|
+
readonly MIN: 0;
|
|
42
|
+
readonly MAX: 999999999.99;
|
|
43
|
+
};
|
|
44
|
+
readonly PERCENTAGE: {
|
|
45
|
+
readonly MIN: 0;
|
|
46
|
+
readonly MAX: 100;
|
|
47
|
+
};
|
|
48
|
+
readonly QUANTITY: {
|
|
49
|
+
readonly MIN: 0;
|
|
50
|
+
readonly MAX: 999999999.999999;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Format a number with thousand separators
|
|
55
|
+
*/
|
|
56
|
+
export declare const formatWithThousandSeparator: (value: number) => string;
|
|
57
|
+
/**
|
|
58
|
+
* Abbreviation suffixes for large numbers
|
|
59
|
+
*/
|
|
60
|
+
export declare const NUMBER_ABBREVIATIONS: {
|
|
61
|
+
readonly THOUSAND: "K";
|
|
62
|
+
readonly MILLION: "M";
|
|
63
|
+
readonly BILLION: "B";
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=thresholds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thresholds.d.ts","sourceRoot":"","sources":["../../src/config/thresholds.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAajB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,OAAO,MAAM,KAAG,MAW3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified threshold and limit constants
|
|
3
|
+
* Consolidates numeric thresholds, limits, and common values
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Common numeric thresholds used across the application
|
|
7
|
+
*/
|
|
8
|
+
export const COMMON_THRESHOLDS = {
|
|
9
|
+
// Base units
|
|
10
|
+
THOUSAND: 1000,
|
|
11
|
+
MILLION: 1000000,
|
|
12
|
+
BILLION: 1000000000,
|
|
13
|
+
// Decimal places
|
|
14
|
+
DEFAULT_DECIMALS: 2,
|
|
15
|
+
CURRENCY_DECIMALS: 2,
|
|
16
|
+
PERCENTAGE_DECIMALS: 2,
|
|
17
|
+
QUANTITY_DECIMALS: 6,
|
|
18
|
+
PRICE_DECIMALS: 4,
|
|
19
|
+
// String lengths
|
|
20
|
+
MAX_NAME_LENGTH: 100,
|
|
21
|
+
MAX_DESCRIPTION_LENGTH: 500,
|
|
22
|
+
MAX_NOTES_LENGTH: 1000,
|
|
23
|
+
MIN_PASSWORD_LENGTH: 8,
|
|
24
|
+
// File limits
|
|
25
|
+
MAX_FILE_SIZE_MB: 10,
|
|
26
|
+
MAX_FILE_NAME_LENGTH: 255,
|
|
27
|
+
// Business limits
|
|
28
|
+
MIN_PORTFOLIO_VALUE: 1000,
|
|
29
|
+
MIN_TRADE_AMOUNT: 10,
|
|
30
|
+
MIN_WITHDRAWAL_AMOUNT: 100,
|
|
31
|
+
MAX_PORTFOLIOS_PER_USER: 10,
|
|
32
|
+
MAX_TRADES_PER_DAY: 100,
|
|
33
|
+
// Display thresholds
|
|
34
|
+
MIN_DISPLAY_AMOUNT: 0.01,
|
|
35
|
+
MIN_DISPLAY_PERCENTAGE: 0.01,
|
|
36
|
+
// API/Network
|
|
37
|
+
DEFAULT_TIMEOUT_MS: 30000, // 30 seconds
|
|
38
|
+
DEFAULT_RETRY_ATTEMPTS: 3,
|
|
39
|
+
DEFAULT_RETRY_DELAY_MS: 1000, // 1 second
|
|
40
|
+
MAX_RETRY_DELAY_MS: 10000, // 10 seconds
|
|
41
|
+
REQUEST_DEBOUNCE_MS: 300,
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Numeric ranges for validation
|
|
45
|
+
*/
|
|
46
|
+
export const NUMERIC_RANGES = {
|
|
47
|
+
AMOUNT: {
|
|
48
|
+
MIN: 0,
|
|
49
|
+
MAX: 999999999.99,
|
|
50
|
+
},
|
|
51
|
+
PERCENTAGE: {
|
|
52
|
+
MIN: 0,
|
|
53
|
+
MAX: 100,
|
|
54
|
+
},
|
|
55
|
+
QUANTITY: {
|
|
56
|
+
MIN: 0,
|
|
57
|
+
MAX: 999999999.999999,
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Format a number with thousand separators
|
|
62
|
+
*/
|
|
63
|
+
export const formatWithThousandSeparator = (value) => {
|
|
64
|
+
if (value >= COMMON_THRESHOLDS.BILLION) {
|
|
65
|
+
return `${(value / COMMON_THRESHOLDS.BILLION).toFixed(1)}B`;
|
|
66
|
+
}
|
|
67
|
+
if (value >= COMMON_THRESHOLDS.MILLION) {
|
|
68
|
+
return `${(value / COMMON_THRESHOLDS.MILLION).toFixed(1)}M`;
|
|
69
|
+
}
|
|
70
|
+
if (value >= COMMON_THRESHOLDS.THOUSAND) {
|
|
71
|
+
return `${(value / COMMON_THRESHOLDS.THOUSAND).toFixed(1)}K`;
|
|
72
|
+
}
|
|
73
|
+
return value.toString();
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Abbreviation suffixes for large numbers
|
|
77
|
+
*/
|
|
78
|
+
export const NUMBER_ABBREVIATIONS = {
|
|
79
|
+
THOUSAND: 'K',
|
|
80
|
+
MILLION: 'M',
|
|
81
|
+
BILLION: 'B',
|
|
82
|
+
};
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Currency-related constants
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* Common currency symbols
|
|
6
|
+
*/
|
|
7
|
+
export declare const COMMON_CURRENCY_SYMBOLS: {
|
|
8
|
+
readonly DOLLAR: "$";
|
|
9
|
+
readonly EURO: "€";
|
|
10
|
+
readonly POUND: "£";
|
|
11
|
+
readonly YEN: "¥";
|
|
12
|
+
};
|
|
4
13
|
export declare const CURRENCY_CODES: {
|
|
5
14
|
readonly AUD: "AUD";
|
|
6
15
|
readonly USD: "USD";
|
|
@@ -17,6 +26,13 @@ export type CurrencyCode = (typeof CURRENCY_CODES)[keyof typeof CURRENCY_CODES];
|
|
|
17
26
|
export declare const CURRENCY_SYMBOLS: Record<CurrencyCode, string>;
|
|
18
27
|
export declare const CURRENCY_NAMES: Record<CurrencyCode, string>;
|
|
19
28
|
export declare const CURRENCY_DECIMALS: Record<CurrencyCode, number>;
|
|
29
|
+
/**
|
|
30
|
+
* Default currency for the platform
|
|
31
|
+
* @intentional-duplicate AUD value appears in multiple places
|
|
32
|
+
* @reason Different semantic purposes - DEFAULT_CURRENCY sets platform default,
|
|
33
|
+
* CURRENCY_AUD defines the currency code constant
|
|
34
|
+
* @see INTENTIONAL-DUPLICATES.md
|
|
35
|
+
*/
|
|
20
36
|
export declare const DEFAULT_CURRENCY: "AUD";
|
|
21
37
|
export declare const CURRENCY_OPTIONS: {
|
|
22
38
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../src/financial/currency.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../src/financial/currency.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;;;;;;CAWjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAGhF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAWhD,CAAC;AAGX,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAW9C,CAAC;AAGX,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAWjD,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,OAAqB,CAAC;AAGnD,eAAO,MAAM,gBAAgB;;;GAG1B,CAAC;AAGJ,eAAO,MAAM,YAAY,OAAqB,CAAC;AAC/C,eAAO,MAAM,YAAY,OAAqB,CAAC;AAC/C,eAAO,MAAM,YAAY,OAAqB,CAAC;AAC/C,eAAO,MAAM,YAAY,OAAqB,CAAC;AAC/C,eAAO,MAAM,kBAAkB,QAAqC,CAAC;AACrE,eAAO,MAAM,kBAAkB,QAAqC,CAAC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Currency-related constants
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* Common currency symbols
|
|
6
|
+
*/
|
|
7
|
+
export const COMMON_CURRENCY_SYMBOLS = {
|
|
8
|
+
DOLLAR: '$',
|
|
9
|
+
EURO: '€',
|
|
10
|
+
POUND: '£',
|
|
11
|
+
YEN: '¥',
|
|
12
|
+
};
|
|
4
13
|
// Currency codes (ISO 4217)
|
|
5
14
|
export const CURRENCY_CODES = {
|
|
6
15
|
AUD: 'AUD',
|
|
@@ -16,16 +25,16 @@ export const CURRENCY_CODES = {
|
|
|
16
25
|
};
|
|
17
26
|
// Currency symbols
|
|
18
27
|
export const CURRENCY_SYMBOLS = {
|
|
19
|
-
[CURRENCY_CODES.AUD]:
|
|
20
|
-
[CURRENCY_CODES.USD]:
|
|
21
|
-
[CURRENCY_CODES.EUR]:
|
|
22
|
-
[CURRENCY_CODES.GBP]:
|
|
23
|
-
[CURRENCY_CODES.JPY]:
|
|
24
|
-
[CURRENCY_CODES.CAD]:
|
|
28
|
+
[CURRENCY_CODES.AUD]: COMMON_CURRENCY_SYMBOLS.DOLLAR,
|
|
29
|
+
[CURRENCY_CODES.USD]: COMMON_CURRENCY_SYMBOLS.DOLLAR,
|
|
30
|
+
[CURRENCY_CODES.EUR]: COMMON_CURRENCY_SYMBOLS.EURO,
|
|
31
|
+
[CURRENCY_CODES.GBP]: COMMON_CURRENCY_SYMBOLS.POUND,
|
|
32
|
+
[CURRENCY_CODES.JPY]: COMMON_CURRENCY_SYMBOLS.YEN,
|
|
33
|
+
[CURRENCY_CODES.CAD]: COMMON_CURRENCY_SYMBOLS.DOLLAR,
|
|
25
34
|
[CURRENCY_CODES.CHF]: 'CHF',
|
|
26
|
-
[CURRENCY_CODES.NZD]:
|
|
27
|
-
[CURRENCY_CODES.SGD]:
|
|
28
|
-
[CURRENCY_CODES.HKD]:
|
|
35
|
+
[CURRENCY_CODES.NZD]: COMMON_CURRENCY_SYMBOLS.DOLLAR,
|
|
36
|
+
[CURRENCY_CODES.SGD]: COMMON_CURRENCY_SYMBOLS.DOLLAR,
|
|
37
|
+
[CURRENCY_CODES.HKD]: COMMON_CURRENCY_SYMBOLS.DOLLAR,
|
|
29
38
|
};
|
|
30
39
|
// Currency names
|
|
31
40
|
export const CURRENCY_NAMES = {
|
|
@@ -53,7 +62,13 @@ export const CURRENCY_DECIMALS = {
|
|
|
53
62
|
[CURRENCY_CODES.SGD]: 2,
|
|
54
63
|
[CURRENCY_CODES.HKD]: 2,
|
|
55
64
|
};
|
|
56
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Default currency for the platform
|
|
67
|
+
* @intentional-duplicate AUD value appears in multiple places
|
|
68
|
+
* @reason Different semantic purposes - DEFAULT_CURRENCY sets platform default,
|
|
69
|
+
* CURRENCY_AUD defines the currency code constant
|
|
70
|
+
* @see INTENTIONAL-DUPLICATES.md
|
|
71
|
+
*/
|
|
57
72
|
export const DEFAULT_CURRENCY = CURRENCY_CODES.AUD;
|
|
58
73
|
// Currency options for forms
|
|
59
74
|
export const CURRENCY_OPTIONS = Object.entries(CURRENCY_NAMES).map(([code, name]) => ({
|
|
@@ -29,7 +29,7 @@ export declare const FORMATTING_OPTIONS: {
|
|
|
29
29
|
readonly PERCENTAGE: {
|
|
30
30
|
readonly style: "percent";
|
|
31
31
|
readonly minimumFractionDigits: 0;
|
|
32
|
-
readonly maximumFractionDigits:
|
|
32
|
+
readonly maximumFractionDigits: 2;
|
|
33
33
|
};
|
|
34
34
|
readonly DECIMAL: {
|
|
35
35
|
readonly style: "decimal";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/financial/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/financial/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAkBjB,CAAC;AAIX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAIX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;CAIrB,CAAC;AAGX,eAAO,MAAM,kBAAkB;;;;;;CASrB,CAAC;AAIX,eAAO,MAAM,qBAAqB;;;;CAAuB,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Financial formatting constants
|
|
3
3
|
*/
|
|
4
|
+
import { COMMON_THRESHOLDS, LOCALE_CONFIG, DEFAULT_FORMAT_OPTIONS, NUMBER_ABBREVIATIONS } from '../config';
|
|
4
5
|
// Number formatting
|
|
5
6
|
export const NUMBER_FORMATS = {
|
|
6
7
|
// Decimal places
|
|
7
|
-
CURRENCY_DECIMALS:
|
|
8
|
-
PERCENTAGE_DECIMALS:
|
|
9
|
-
QUANTITY_DECIMALS:
|
|
10
|
-
PRICE_DECIMALS:
|
|
8
|
+
CURRENCY_DECIMALS: COMMON_THRESHOLDS.CURRENCY_DECIMALS,
|
|
9
|
+
PERCENTAGE_DECIMALS: COMMON_THRESHOLDS.PERCENTAGE_DECIMALS,
|
|
10
|
+
QUANTITY_DECIMALS: COMMON_THRESHOLDS.QUANTITY_DECIMALS,
|
|
11
|
+
PRICE_DECIMALS: COMMON_THRESHOLDS.PRICE_DECIMALS,
|
|
11
12
|
// Minimum decimal places
|
|
12
13
|
MIN_CURRENCY_DECIMALS: 2,
|
|
13
14
|
MIN_PERCENTAGE_DECIMALS: 0,
|
|
@@ -20,42 +21,29 @@ export const NUMBER_FORMATS = {
|
|
|
20
21
|
MAX_PRICE_DECIMALS: 6,
|
|
21
22
|
};
|
|
22
23
|
// Locale settings
|
|
24
|
+
// Now references consolidated locale config
|
|
23
25
|
export const LOCALE_SETTINGS = {
|
|
24
|
-
DEFAULT:
|
|
25
|
-
FALLBACK:
|
|
26
|
-
SUPPORTED:
|
|
26
|
+
DEFAULT: LOCALE_CONFIG.DEFAULT,
|
|
27
|
+
FALLBACK: LOCALE_CONFIG.FALLBACK,
|
|
28
|
+
SUPPORTED: LOCALE_CONFIG.SUPPORTED,
|
|
27
29
|
};
|
|
28
30
|
// Formatting options
|
|
31
|
+
// Partially references consolidated options
|
|
29
32
|
export const FORMATTING_OPTIONS = {
|
|
30
|
-
CURRENCY:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
maximumFractionDigits: NUMBER_FORMATS.MAX_CURRENCY_DECIMALS,
|
|
34
|
-
},
|
|
35
|
-
PERCENTAGE: {
|
|
36
|
-
style: 'percent',
|
|
37
|
-
minimumFractionDigits: NUMBER_FORMATS.MIN_PERCENTAGE_DECIMALS,
|
|
38
|
-
maximumFractionDigits: NUMBER_FORMATS.MAX_PERCENTAGE_DECIMALS,
|
|
39
|
-
},
|
|
40
|
-
DECIMAL: {
|
|
41
|
-
style: 'decimal',
|
|
42
|
-
minimumFractionDigits: 0,
|
|
43
|
-
maximumFractionDigits: 8,
|
|
44
|
-
},
|
|
33
|
+
CURRENCY: DEFAULT_FORMAT_OPTIONS.CURRENCY,
|
|
34
|
+
PERCENTAGE: DEFAULT_FORMAT_OPTIONS.PERCENTAGE,
|
|
35
|
+
DECIMAL: DEFAULT_FORMAT_OPTIONS.DECIMAL,
|
|
45
36
|
};
|
|
46
37
|
// Display thresholds
|
|
47
38
|
export const DISPLAY_THRESHOLDS = {
|
|
48
39
|
// Values below these thresholds show as "< threshold"
|
|
49
|
-
MIN_DISPLAY_AMOUNT:
|
|
50
|
-
MIN_DISPLAY_PERCENTAGE:
|
|
40
|
+
MIN_DISPLAY_AMOUNT: COMMON_THRESHOLDS.MIN_DISPLAY_AMOUNT,
|
|
41
|
+
MIN_DISPLAY_PERCENTAGE: COMMON_THRESHOLDS.MIN_DISPLAY_PERCENTAGE,
|
|
51
42
|
// Large number abbreviations
|
|
52
|
-
THOUSAND:
|
|
53
|
-
MILLION:
|
|
54
|
-
BILLION:
|
|
43
|
+
THOUSAND: COMMON_THRESHOLDS.THOUSAND,
|
|
44
|
+
MILLION: COMMON_THRESHOLDS.MILLION,
|
|
45
|
+
BILLION: COMMON_THRESHOLDS.BILLION,
|
|
55
46
|
};
|
|
56
47
|
// Abbreviation suffixes
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
MILLION: 'M',
|
|
60
|
-
BILLION: 'B',
|
|
61
|
-
};
|
|
48
|
+
// @deprecated Use NUMBER_ABBREVIATIONS from config/thresholds instead
|
|
49
|
+
export const ABBREVIATION_SUFFIXES = NUMBER_ABBREVIATIONS;
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,OAAO,CAAC;AAGtB,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,MAAM,CAAC;AAGrB,cAAc,aAAa,CAAC;AAG5B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,OAAO,CAAC;AAGtB,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,MAAM,CAAC;AAGrB,cAAc,aAAa,CAAC;AAG5B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,28 +2,28 @@
|
|
|
2
2
|
* Common shared constants
|
|
3
3
|
* These match the constants from Blueberry's src/constants/common.ts
|
|
4
4
|
*/
|
|
5
|
-
export declare const DECIMAL_PLACES
|
|
6
|
-
export declare const DEFAULT_NUMERIC_ZERO
|
|
7
|
-
export declare const DEFAULT_EMPTY_STRING
|
|
8
|
-
export declare const QUANTITY_FORMAT_THRESHOLD_MILLION
|
|
9
|
-
export declare const QUANTITY_FORMAT_THRESHOLD_THOUSAND
|
|
5
|
+
export declare const DECIMAL_PLACES: 2;
|
|
6
|
+
export declare const DEFAULT_NUMERIC_ZERO: 0;
|
|
7
|
+
export declare const DEFAULT_EMPTY_STRING: "";
|
|
8
|
+
export declare const QUANTITY_FORMAT_THRESHOLD_MILLION: 1000000;
|
|
9
|
+
export declare const QUANTITY_FORMAT_THRESHOLD_THOUSAND: 1000;
|
|
10
10
|
export declare const ERROR_TYPE_BUSINESS_LOGIC = "business_logic";
|
|
11
11
|
export declare const ERROR_TYPE_PERMISSION = "permission";
|
|
12
12
|
export declare const ERROR_TYPE_SERVER = "server";
|
|
13
|
-
export declare const LOCALE_AUSTRALIA
|
|
13
|
+
export declare const LOCALE_AUSTRALIA: "en-AU";
|
|
14
14
|
export declare const NUMBER_FORMAT_OPTIONS_CURRENCY: {
|
|
15
15
|
readonly style: "currency";
|
|
16
16
|
readonly minimumFractionDigits: 2;
|
|
17
17
|
readonly maximumFractionDigits: 2;
|
|
18
18
|
};
|
|
19
19
|
export declare const NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED: {
|
|
20
|
-
readonly signDisplay: "always";
|
|
21
20
|
readonly style: "currency";
|
|
22
21
|
readonly minimumFractionDigits: 2;
|
|
23
22
|
readonly maximumFractionDigits: 2;
|
|
23
|
+
readonly signDisplay: "always";
|
|
24
24
|
};
|
|
25
25
|
export declare const QUERY_PARAM_ORDER_BY = "order_by";
|
|
26
26
|
export declare const ORDER_BY_CREATED_AT = "created_at";
|
|
27
|
-
export declare const DEFAULT_UNKNOWN_VALUE
|
|
28
|
-
export declare const DEFAULT_ERROR_MESSAGE
|
|
27
|
+
export declare const DEFAULT_UNKNOWN_VALUE: "Unknown";
|
|
28
|
+
export declare const DEFAULT_ERROR_MESSAGE: "An error occurred";
|
|
29
29
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utilities/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utilities/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,cAAc,GAAqC,CAAC;AAGjE,eAAO,MAAM,oBAAoB,GAAuB,CAAC;AACzD,eAAO,MAAM,oBAAoB,IAAwB,CAAC;AAG1D,eAAO,MAAM,iCAAiC,SAA4B,CAAC;AAC3E,eAAO,MAAM,kCAAkC,MAA6B,CAAC;AAG7E,eAAO,MAAM,yBAAyB,mBAAmB,CAAC;AAC1D,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,gBAAgB,SAAwB,CAAC;AAGtD,eAAO,MAAM,8BAA8B;;;;CAAkC,CAAC;AAE9E,eAAO,MAAM,qCAAqC;;;;;CAAyC,CAAC;AAG5F,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAGhD,eAAO,MAAM,qBAAqB,WAA0B,CAAC;AAC7D,eAAO,MAAM,qBAAqB,qBAAgC,CAAC"}
|
package/dist/utilities/common.js
CHANGED
|
@@ -2,33 +2,27 @@
|
|
|
2
2
|
* Common shared constants
|
|
3
3
|
* These match the constants from Blueberry's src/constants/common.ts
|
|
4
4
|
*/
|
|
5
|
+
import { COMMON_THRESHOLDS, DEFAULT_STRINGS, DEFAULT_NUMBERS, LOCALE_CONFIG, DEFAULT_FORMAT_OPTIONS } from '../config';
|
|
5
6
|
// Number formatting
|
|
6
|
-
export const DECIMAL_PLACES =
|
|
7
|
+
export const DECIMAL_PLACES = COMMON_THRESHOLDS.DEFAULT_DECIMALS;
|
|
7
8
|
// Default numeric values
|
|
8
|
-
export const DEFAULT_NUMERIC_ZERO =
|
|
9
|
-
export const DEFAULT_EMPTY_STRING =
|
|
9
|
+
export const DEFAULT_NUMERIC_ZERO = DEFAULT_NUMBERS.ZERO;
|
|
10
|
+
export const DEFAULT_EMPTY_STRING = DEFAULT_STRINGS.EMPTY;
|
|
10
11
|
// Quantity formatting thresholds
|
|
11
|
-
export const QUANTITY_FORMAT_THRESHOLD_MILLION =
|
|
12
|
-
export const QUANTITY_FORMAT_THRESHOLD_THOUSAND =
|
|
12
|
+
export const QUANTITY_FORMAT_THRESHOLD_MILLION = COMMON_THRESHOLDS.MILLION;
|
|
13
|
+
export const QUANTITY_FORMAT_THRESHOLD_THOUSAND = COMMON_THRESHOLDS.THOUSAND;
|
|
13
14
|
// Error types
|
|
14
15
|
export const ERROR_TYPE_BUSINESS_LOGIC = 'business_logic';
|
|
15
16
|
export const ERROR_TYPE_PERMISSION = 'permission';
|
|
16
17
|
export const ERROR_TYPE_SERVER = 'server';
|
|
17
18
|
// Locale and formatting constants
|
|
18
|
-
export const LOCALE_AUSTRALIA =
|
|
19
|
+
export const LOCALE_AUSTRALIA = LOCALE_CONFIG.DEFAULT;
|
|
19
20
|
// Number formatting options
|
|
20
|
-
export const NUMBER_FORMAT_OPTIONS_CURRENCY =
|
|
21
|
-
|
|
22
|
-
minimumFractionDigits: DECIMAL_PLACES,
|
|
23
|
-
maximumFractionDigits: DECIMAL_PLACES,
|
|
24
|
-
};
|
|
25
|
-
export const NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED = {
|
|
26
|
-
...NUMBER_FORMAT_OPTIONS_CURRENCY,
|
|
27
|
-
signDisplay: 'always',
|
|
28
|
-
};
|
|
21
|
+
export const NUMBER_FORMAT_OPTIONS_CURRENCY = DEFAULT_FORMAT_OPTIONS.CURRENCY;
|
|
22
|
+
export const NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED = DEFAULT_FORMAT_OPTIONS.CURRENCY_SIGNED;
|
|
29
23
|
// Query parameter constants
|
|
30
24
|
export const QUERY_PARAM_ORDER_BY = 'order_by';
|
|
31
25
|
export const ORDER_BY_CREATED_AT = 'created_at';
|
|
32
26
|
// Default strings for auth
|
|
33
|
-
export const DEFAULT_UNKNOWN_VALUE =
|
|
34
|
-
export const DEFAULT_ERROR_MESSAGE =
|
|
27
|
+
export const DEFAULT_UNKNOWN_VALUE = DEFAULT_STRINGS.UNKNOWN;
|
|
28
|
+
export const DEFAULT_ERROR_MESSAGE = DEFAULT_STRINGS.ERROR_MESSAGE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/utilities/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/utilities/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAIX,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAIX,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAIX,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAIX,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAIX,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC"}
|
|
@@ -1,50 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Default values and common constants
|
|
3
3
|
*/
|
|
4
|
+
import { DEFAULT_STRINGS, DEFAULT_NUMBERS, PAGINATION_CONFIG, COMMON_THRESHOLDS, CONFIG_ALLOCATION_DEFAULTS, } from '../config';
|
|
4
5
|
// Default values
|
|
6
|
+
// Now references consolidated defaults
|
|
5
7
|
export const DEFAULT_VALUES = {
|
|
6
|
-
ZERO:
|
|
7
|
-
EMPTY_STRING:
|
|
8
|
-
UNKNOWN: 'UNKNOWN',
|
|
9
|
-
NOT_APPLICABLE:
|
|
10
|
-
NULL_UUID:
|
|
8
|
+
ZERO: DEFAULT_STRINGS.ZERO,
|
|
9
|
+
EMPTY_STRING: DEFAULT_STRINGS.EMPTY,
|
|
10
|
+
UNKNOWN: 'UNKNOWN', // Different from DEFAULT_STRINGS.UNKNOWN ('Unknown')
|
|
11
|
+
NOT_APPLICABLE: DEFAULT_STRINGS.NOT_APPLICABLE,
|
|
12
|
+
NULL_UUID: DEFAULT_STRINGS.NULL_UUID,
|
|
11
13
|
};
|
|
12
14
|
// Numeric defaults
|
|
15
|
+
// Now references consolidated thresholds
|
|
13
16
|
export const NUMERIC_DEFAULTS = {
|
|
14
|
-
MIN_AMOUNT:
|
|
15
|
-
MAX_AMOUNT: 999999999.99,
|
|
16
|
-
DEFAULT_PRECISION:
|
|
17
|
-
PERCENTAGE_PRECISION:
|
|
18
|
-
QUANTITY_PRECISION:
|
|
17
|
+
MIN_AMOUNT: DEFAULT_NUMBERS.ZERO,
|
|
18
|
+
MAX_AMOUNT: 999999999.99, // Keep specific value
|
|
19
|
+
DEFAULT_PRECISION: DEFAULT_NUMBERS.PRECISION,
|
|
20
|
+
PERCENTAGE_PRECISION: DEFAULT_NUMBERS.PERCENTAGE_PRECISION,
|
|
21
|
+
QUANTITY_PRECISION: DEFAULT_NUMBERS.QUANTITY_PRECISION,
|
|
19
22
|
};
|
|
20
23
|
// Pagination defaults
|
|
24
|
+
// @deprecated Use PAGINATION_CONFIG from config/pagination instead
|
|
21
25
|
export const PAGINATION_DEFAULTS = {
|
|
22
|
-
PAGE:
|
|
23
|
-
PAGE_SIZE:
|
|
24
|
-
MIN_PAGE_SIZE:
|
|
25
|
-
MAX_PAGE_SIZE:
|
|
26
|
-
PAGE_SIZE_OPTIONS:
|
|
26
|
+
PAGE: PAGINATION_CONFIG.DEFAULT_PAGE,
|
|
27
|
+
PAGE_SIZE: PAGINATION_CONFIG.DEFAULT_PAGE_SIZE,
|
|
28
|
+
MIN_PAGE_SIZE: PAGINATION_CONFIG.MIN_PAGE_SIZE,
|
|
29
|
+
MAX_PAGE_SIZE: PAGINATION_CONFIG.MAX_PAGE_SIZE,
|
|
30
|
+
PAGE_SIZE_OPTIONS: PAGINATION_CONFIG.PAGE_SIZE_OPTIONS,
|
|
27
31
|
};
|
|
28
32
|
// Common thresholds
|
|
33
|
+
// Now references consolidated thresholds
|
|
29
34
|
export const THRESHOLDS = {
|
|
30
|
-
MIN_PORTFOLIO_VALUE:
|
|
31
|
-
MIN_TRADE_AMOUNT:
|
|
32
|
-
MIN_WITHDRAWAL_AMOUNT:
|
|
33
|
-
MAX_PORTFOLIOS_PER_USER:
|
|
34
|
-
MAX_TRADES_PER_DAY:
|
|
35
|
+
MIN_PORTFOLIO_VALUE: COMMON_THRESHOLDS.MIN_PORTFOLIO_VALUE,
|
|
36
|
+
MIN_TRADE_AMOUNT: COMMON_THRESHOLDS.MIN_TRADE_AMOUNT,
|
|
37
|
+
MIN_WITHDRAWAL_AMOUNT: COMMON_THRESHOLDS.MIN_WITHDRAWAL_AMOUNT,
|
|
38
|
+
MAX_PORTFOLIOS_PER_USER: COMMON_THRESHOLDS.MAX_PORTFOLIOS_PER_USER,
|
|
39
|
+
MAX_TRADES_PER_DAY: COMMON_THRESHOLDS.MAX_TRADES_PER_DAY,
|
|
35
40
|
};
|
|
36
41
|
// Display limits
|
|
42
|
+
// Now references consolidated thresholds
|
|
37
43
|
export const DISPLAY_LIMITS = {
|
|
38
|
-
MAX_NAME_LENGTH:
|
|
39
|
-
MAX_DESCRIPTION_LENGTH:
|
|
40
|
-
MAX_NOTES_LENGTH:
|
|
41
|
-
MAX_FILE_SIZE_MB:
|
|
42
|
-
MAX_FILE_NAME_LENGTH:
|
|
44
|
+
MAX_NAME_LENGTH: COMMON_THRESHOLDS.MAX_NAME_LENGTH,
|
|
45
|
+
MAX_DESCRIPTION_LENGTH: COMMON_THRESHOLDS.MAX_DESCRIPTION_LENGTH,
|
|
46
|
+
MAX_NOTES_LENGTH: COMMON_THRESHOLDS.MAX_NOTES_LENGTH,
|
|
47
|
+
MAX_FILE_SIZE_MB: COMMON_THRESHOLDS.MAX_FILE_SIZE_MB,
|
|
48
|
+
MAX_FILE_NAME_LENGTH: COMMON_THRESHOLDS.MAX_FILE_NAME_LENGTH,
|
|
43
49
|
};
|
|
44
50
|
// Asset allocation defaults
|
|
51
|
+
// Now references consolidated defaults
|
|
45
52
|
export const ALLOCATION_DEFAULTS = {
|
|
46
|
-
DEFAULT_PERCENTAGE:
|
|
47
|
-
PERCENTAGE_PRECISION:
|
|
48
|
-
TARGET_TOTAL:
|
|
53
|
+
DEFAULT_PERCENTAGE: CONFIG_ALLOCATION_DEFAULTS.DEFAULT_PERCENTAGE,
|
|
54
|
+
PERCENTAGE_PRECISION: CONFIG_ALLOCATION_DEFAULTS.PERCENTAGE_PRECISION,
|
|
55
|
+
TARGET_TOTAL: CONFIG_ALLOCATION_DEFAULTS.TARGET_TOTAL,
|
|
49
56
|
};
|
|
50
57
|
// Note: DEFAULT_UNKNOWN_VALUE and DEFAULT_ERROR_MESSAGE are already exported from common.ts
|