@cranberry-money/shared-utils 8.4.0 → 8.5.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/withdrawal-status.d.ts +72 -0
- package/dist/withdrawal-status.d.ts.map +1 -0
- package/dist/withdrawal-status.js +127 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -23,4 +23,5 @@ export { validateAllocations } from './allocations';
|
|
|
23
23
|
export { calculatePortfolioValue, calculateHoldingAllocations, groupHoldingsByInstrument, filterHoldingsByMinQuantity, sortHoldings, } from './holdings';
|
|
24
24
|
export { processAllocationData, calculateTotals, formatPercentage, formatDashboardCurrency, type AllocationDisplayItem, } from './dashboard';
|
|
25
25
|
export { isValidTemplateSelection, validatePortfolioSelection, type PortfolioSelectionValidation, type PortfolioSelectionState, } from './portfolio-validation';
|
|
26
|
+
export { getStatusColor, getStatusLabel, getWithdrawalTypeLabel, getReasonLabel, getLiquidationStatusColor, getLiquidationStatusLabel, type WithdrawalStatus, type WithdrawalType, type WithdrawalReason, type LiquidationStatus, } from './withdrawal-status';
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -46,3 +46,5 @@ export { calculatePortfolioValue, calculateHoldingAllocations, groupHoldingsByIn
|
|
|
46
46
|
export { processAllocationData, calculateTotals, formatPercentage, formatDashboardCurrency, } from './dashboard';
|
|
47
47
|
// Portfolio validation utilities
|
|
48
48
|
export { isValidTemplateSelection, validatePortfolioSelection, } from './portfolio-validation';
|
|
49
|
+
// Withdrawal status utilities
|
|
50
|
+
export { getStatusColor, getStatusLabel, getWithdrawalTypeLabel, getReasonLabel, getLiquidationStatusColor, getLiquidationStatusLabel, } from './withdrawal-status';
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { WITHDRAWAL_STATUS_PENDING_REVIEW, WITHDRAWAL_STATUS_APPROVED, WITHDRAWAL_STATUS_REJECTED, WITHDRAWAL_STATUS_PROCESSING, WITHDRAWAL_STATUS_AWAITING_LIQUIDATION, WITHDRAWAL_STATUS_LIQUIDATION_IN_PROGRESS, WITHDRAWAL_STATUS_COMPLETED, WITHDRAWAL_STATUS_CANCELLED, WITHDRAWAL_STATUS_FAILED, WITHDRAWAL_TYPE_FULL_CASH, WITHDRAWAL_TYPE_PARTIAL_CASH, WITHDRAWAL_REASON_INVESTMENT_STRATEGY, WITHDRAWAL_REASON_PERSONAL_EXPENSES, WITHDRAWAL_REASON_EMERGENCY, WITHDRAWAL_REASON_OTHER, LIQUIDATION_STATUS_PENDING, LIQUIDATION_STATUS_TRADES_CREATED, LIQUIDATION_STATUS_EXECUTED, LIQUIDATION_STATUS_SETTLED, LIQUIDATION_STATUS_FAILED } from '@cranberry-money/shared-constants';
|
|
2
|
+
export type WithdrawalStatus = typeof WITHDRAWAL_STATUS_PENDING_REVIEW | typeof WITHDRAWAL_STATUS_APPROVED | typeof WITHDRAWAL_STATUS_REJECTED | typeof WITHDRAWAL_STATUS_PROCESSING | typeof WITHDRAWAL_STATUS_AWAITING_LIQUIDATION | typeof WITHDRAWAL_STATUS_LIQUIDATION_IN_PROGRESS | typeof WITHDRAWAL_STATUS_COMPLETED | typeof WITHDRAWAL_STATUS_CANCELLED | typeof WITHDRAWAL_STATUS_FAILED;
|
|
3
|
+
export type WithdrawalType = typeof WITHDRAWAL_TYPE_FULL_CASH | typeof WITHDRAWAL_TYPE_PARTIAL_CASH;
|
|
4
|
+
export type WithdrawalReason = typeof WITHDRAWAL_REASON_INVESTMENT_STRATEGY | typeof WITHDRAWAL_REASON_PERSONAL_EXPENSES | typeof WITHDRAWAL_REASON_EMERGENCY | typeof WITHDRAWAL_REASON_OTHER;
|
|
5
|
+
export type LiquidationStatus = typeof LIQUIDATION_STATUS_PENDING | typeof LIQUIDATION_STATUS_TRADES_CREATED | typeof LIQUIDATION_STATUS_EXECUTED | typeof LIQUIDATION_STATUS_SETTLED | typeof LIQUIDATION_STATUS_FAILED;
|
|
6
|
+
/**
|
|
7
|
+
* Get the color class for a withdrawal status
|
|
8
|
+
*
|
|
9
|
+
* @param status - The withdrawal status
|
|
10
|
+
* @returns The corresponding color class string
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* getStatusColor('pending_review'); // returns 'text-warning-600'
|
|
14
|
+
* getStatusColor('completed'); // returns 'text-success-600'
|
|
15
|
+
*/
|
|
16
|
+
export declare const getStatusColor: (status: WithdrawalStatus) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Get the display label for a withdrawal status
|
|
19
|
+
*
|
|
20
|
+
* @param status - The withdrawal status
|
|
21
|
+
* @returns The human-readable label
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* getStatusLabel('pending_review'); // returns 'Pending Review'
|
|
25
|
+
* getStatusLabel('liquidation_in_progress'); // returns 'Liquidation in Progress'
|
|
26
|
+
*/
|
|
27
|
+
export declare const getStatusLabel: (status: WithdrawalStatus) => string;
|
|
28
|
+
/**
|
|
29
|
+
* Get the display label for a withdrawal type
|
|
30
|
+
*
|
|
31
|
+
* @param type - The withdrawal type
|
|
32
|
+
* @returns The human-readable label
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* getWithdrawalTypeLabel('full_cash'); // returns 'Full Cash'
|
|
36
|
+
* getWithdrawalTypeLabel('partial_cash'); // returns 'Partial Cash'
|
|
37
|
+
*/
|
|
38
|
+
export declare const getWithdrawalTypeLabel: (type: WithdrawalType) => string;
|
|
39
|
+
/**
|
|
40
|
+
* Get the display label for a withdrawal reason
|
|
41
|
+
*
|
|
42
|
+
* @param reason - The withdrawal reason (optional)
|
|
43
|
+
* @returns The human-readable label
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* getReasonLabel('investment_strategy'); // returns 'Investment Strategy'
|
|
47
|
+
* getReasonLabel(null); // returns 'Not specified'
|
|
48
|
+
*/
|
|
49
|
+
export declare const getReasonLabel: (reason: WithdrawalReason | null | undefined) => string;
|
|
50
|
+
/**
|
|
51
|
+
* Get the color class for a liquidation status
|
|
52
|
+
*
|
|
53
|
+
* @param status - The liquidation status
|
|
54
|
+
* @returns The corresponding color class string
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* getLiquidationStatusColor('pending'); // returns 'text-warning-600'
|
|
58
|
+
* getLiquidationStatusColor('settled'); // returns 'text-success-600'
|
|
59
|
+
*/
|
|
60
|
+
export declare const getLiquidationStatusColor: (status: LiquidationStatus) => string;
|
|
61
|
+
/**
|
|
62
|
+
* Get the display label for a liquidation status
|
|
63
|
+
*
|
|
64
|
+
* @param status - The liquidation status
|
|
65
|
+
* @returns The human-readable label
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* getLiquidationStatusLabel('trades_created'); // returns 'Trades Created'
|
|
69
|
+
* getLiquidationStatusLabel('executed'); // returns 'Executed'
|
|
70
|
+
*/
|
|
71
|
+
export declare const getLiquidationStatusLabel: (status: LiquidationStatus) => string;
|
|
72
|
+
//# sourceMappingURL=withdrawal-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withdrawal-status.d.ts","sourceRoot":"","sources":["../src/withdrawal-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,gCAAgC,EAChC,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,sCAAsC,EACtC,yCAAyC,EACzC,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EAUxB,yBAAyB,EACzB,4BAA4B,EAG5B,qCAAqC,EACrC,mCAAmC,EACnC,2BAA2B,EAC3B,uBAAuB,EAKvB,0BAA0B,EAC1B,iCAAiC,EACjC,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EAM1B,MAAM,mCAAmC,CAAC;AAG3C,MAAM,MAAM,gBAAgB,GACxB,OAAO,gCAAgC,GACvC,OAAO,0BAA0B,GACjC,OAAO,0BAA0B,GACjC,OAAO,4BAA4B,GACnC,OAAO,sCAAsC,GAC7C,OAAO,yCAAyC,GAChD,OAAO,2BAA2B,GAClC,OAAO,2BAA2B,GAClC,OAAO,wBAAwB,CAAC;AAEpC,MAAM,MAAM,cAAc,GAAG,OAAO,yBAAyB,GAAG,OAAO,4BAA4B,CAAC;AAEpG,MAAM,MAAM,gBAAgB,GACxB,OAAO,qCAAqC,GAC5C,OAAO,mCAAmC,GAC1C,OAAO,2BAA2B,GAClC,OAAO,uBAAuB,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GACzB,OAAO,0BAA0B,GACjC,OAAO,iCAAiC,GACxC,OAAO,2BAA2B,GAClC,OAAO,0BAA0B,GACjC,OAAO,yBAAyB,CAAC;AAErC;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,gBAAgB,KAAG,MAazD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,gBAAgB,KAAG,MAazD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,cAAc,KAAG,MAM7D,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,gBAAgB,GAAG,IAAI,GAAG,SAAS,KAAG,MAU5E,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,iBAAiB,KAAG,MASrE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,iBAAiB,KAAG,MASrE,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { STATUS_COLOR_PENDING, STATUS_COLOR_APPROVED, STATUS_COLOR_REJECTED, STATUS_COLOR_PROCESSING, STATUS_COLOR_AWAITING, STATUS_COLOR_IN_PROGRESS, STATUS_COLOR_COMPLETED, STATUS_COLOR_CANCELLED, STATUS_COLOR_FAILED, STATUS_COLOR_DEFAULT, WITHDRAWAL_STATUS_PENDING_REVIEW, WITHDRAWAL_STATUS_APPROVED, WITHDRAWAL_STATUS_REJECTED, WITHDRAWAL_STATUS_PROCESSING, WITHDRAWAL_STATUS_AWAITING_LIQUIDATION, WITHDRAWAL_STATUS_LIQUIDATION_IN_PROGRESS, WITHDRAWAL_STATUS_COMPLETED, WITHDRAWAL_STATUS_CANCELLED, WITHDRAWAL_STATUS_FAILED, WITHDRAWAL_STATUS_LABEL_PENDING_REVIEW, WITHDRAWAL_STATUS_LABEL_APPROVED, WITHDRAWAL_STATUS_LABEL_REJECTED, WITHDRAWAL_STATUS_LABEL_PROCESSING, WITHDRAWAL_STATUS_LABEL_AWAITING_LIQUIDATION, WITHDRAWAL_STATUS_LABEL_LIQUIDATION_IN_PROGRESS, WITHDRAWAL_STATUS_LABEL_COMPLETED, WITHDRAWAL_STATUS_LABEL_CANCELLED, WITHDRAWAL_STATUS_LABEL_FAILED, WITHDRAWAL_TYPE_FULL_CASH, WITHDRAWAL_TYPE_PARTIAL_CASH, WITHDRAWAL_TYPE_LABEL_FULL_CASH, WITHDRAWAL_TYPE_LABEL_PARTIAL_CASH, WITHDRAWAL_REASON_INVESTMENT_STRATEGY, WITHDRAWAL_REASON_PERSONAL_EXPENSES, WITHDRAWAL_REASON_EMERGENCY, WITHDRAWAL_REASON_OTHER, WITHDRAWAL_REASON_LABEL_INVESTMENT_STRATEGY, WITHDRAWAL_REASON_LABEL_PERSONAL_EXPENSES, WITHDRAWAL_REASON_LABEL_EMERGENCY, WITHDRAWAL_REASON_LABEL_OTHER, LIQUIDATION_STATUS_PENDING, LIQUIDATION_STATUS_TRADES_CREATED, LIQUIDATION_STATUS_EXECUTED, LIQUIDATION_STATUS_SETTLED, LIQUIDATION_STATUS_FAILED, LIQUIDATION_STATUS_LABEL_PENDING, LIQUIDATION_STATUS_LABEL_TRADES_CREATED, LIQUIDATION_STATUS_LABEL_EXECUTED, LIQUIDATION_STATUS_LABEL_SETTLED, LIQUIDATION_STATUS_LABEL_FAILED, } from '@cranberry-money/shared-constants';
|
|
2
|
+
/**
|
|
3
|
+
* Get the color class for a withdrawal status
|
|
4
|
+
*
|
|
5
|
+
* @param status - The withdrawal status
|
|
6
|
+
* @returns The corresponding color class string
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* getStatusColor('pending_review'); // returns 'text-warning-600'
|
|
10
|
+
* getStatusColor('completed'); // returns 'text-success-600'
|
|
11
|
+
*/
|
|
12
|
+
export const getStatusColor = (status) => {
|
|
13
|
+
const statusColors = {
|
|
14
|
+
[WITHDRAWAL_STATUS_PENDING_REVIEW]: STATUS_COLOR_PENDING,
|
|
15
|
+
[WITHDRAWAL_STATUS_APPROVED]: STATUS_COLOR_APPROVED,
|
|
16
|
+
[WITHDRAWAL_STATUS_REJECTED]: STATUS_COLOR_REJECTED,
|
|
17
|
+
[WITHDRAWAL_STATUS_PROCESSING]: STATUS_COLOR_PROCESSING,
|
|
18
|
+
[WITHDRAWAL_STATUS_AWAITING_LIQUIDATION]: STATUS_COLOR_AWAITING,
|
|
19
|
+
[WITHDRAWAL_STATUS_LIQUIDATION_IN_PROGRESS]: STATUS_COLOR_IN_PROGRESS,
|
|
20
|
+
[WITHDRAWAL_STATUS_COMPLETED]: STATUS_COLOR_COMPLETED,
|
|
21
|
+
[WITHDRAWAL_STATUS_CANCELLED]: STATUS_COLOR_CANCELLED,
|
|
22
|
+
[WITHDRAWAL_STATUS_FAILED]: STATUS_COLOR_FAILED,
|
|
23
|
+
};
|
|
24
|
+
return statusColors[status] || STATUS_COLOR_DEFAULT;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Get the display label for a withdrawal status
|
|
28
|
+
*
|
|
29
|
+
* @param status - The withdrawal status
|
|
30
|
+
* @returns The human-readable label
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* getStatusLabel('pending_review'); // returns 'Pending Review'
|
|
34
|
+
* getStatusLabel('liquidation_in_progress'); // returns 'Liquidation in Progress'
|
|
35
|
+
*/
|
|
36
|
+
export const getStatusLabel = (status) => {
|
|
37
|
+
const statusLabels = {
|
|
38
|
+
[WITHDRAWAL_STATUS_PENDING_REVIEW]: WITHDRAWAL_STATUS_LABEL_PENDING_REVIEW,
|
|
39
|
+
[WITHDRAWAL_STATUS_APPROVED]: WITHDRAWAL_STATUS_LABEL_APPROVED,
|
|
40
|
+
[WITHDRAWAL_STATUS_REJECTED]: WITHDRAWAL_STATUS_LABEL_REJECTED,
|
|
41
|
+
[WITHDRAWAL_STATUS_PROCESSING]: WITHDRAWAL_STATUS_LABEL_PROCESSING,
|
|
42
|
+
[WITHDRAWAL_STATUS_AWAITING_LIQUIDATION]: WITHDRAWAL_STATUS_LABEL_AWAITING_LIQUIDATION,
|
|
43
|
+
[WITHDRAWAL_STATUS_LIQUIDATION_IN_PROGRESS]: WITHDRAWAL_STATUS_LABEL_LIQUIDATION_IN_PROGRESS,
|
|
44
|
+
[WITHDRAWAL_STATUS_COMPLETED]: WITHDRAWAL_STATUS_LABEL_COMPLETED,
|
|
45
|
+
[WITHDRAWAL_STATUS_CANCELLED]: WITHDRAWAL_STATUS_LABEL_CANCELLED,
|
|
46
|
+
[WITHDRAWAL_STATUS_FAILED]: WITHDRAWAL_STATUS_LABEL_FAILED,
|
|
47
|
+
};
|
|
48
|
+
return statusLabels[status] || status;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Get the display label for a withdrawal type
|
|
52
|
+
*
|
|
53
|
+
* @param type - The withdrawal type
|
|
54
|
+
* @returns The human-readable label
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* getWithdrawalTypeLabel('full_cash'); // returns 'Full Cash'
|
|
58
|
+
* getWithdrawalTypeLabel('partial_cash'); // returns 'Partial Cash'
|
|
59
|
+
*/
|
|
60
|
+
export const getWithdrawalTypeLabel = (type) => {
|
|
61
|
+
const typeLabels = {
|
|
62
|
+
[WITHDRAWAL_TYPE_FULL_CASH]: WITHDRAWAL_TYPE_LABEL_FULL_CASH,
|
|
63
|
+
[WITHDRAWAL_TYPE_PARTIAL_CASH]: WITHDRAWAL_TYPE_LABEL_PARTIAL_CASH,
|
|
64
|
+
};
|
|
65
|
+
return typeLabels[type] || type;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Get the display label for a withdrawal reason
|
|
69
|
+
*
|
|
70
|
+
* @param reason - The withdrawal reason (optional)
|
|
71
|
+
* @returns The human-readable label
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* getReasonLabel('investment_strategy'); // returns 'Investment Strategy'
|
|
75
|
+
* getReasonLabel(null); // returns 'Not specified'
|
|
76
|
+
*/
|
|
77
|
+
export const getReasonLabel = (reason) => {
|
|
78
|
+
if (!reason)
|
|
79
|
+
return 'Not specified';
|
|
80
|
+
const reasonLabels = {
|
|
81
|
+
[WITHDRAWAL_REASON_INVESTMENT_STRATEGY]: WITHDRAWAL_REASON_LABEL_INVESTMENT_STRATEGY,
|
|
82
|
+
[WITHDRAWAL_REASON_PERSONAL_EXPENSES]: WITHDRAWAL_REASON_LABEL_PERSONAL_EXPENSES,
|
|
83
|
+
[WITHDRAWAL_REASON_EMERGENCY]: WITHDRAWAL_REASON_LABEL_EMERGENCY,
|
|
84
|
+
[WITHDRAWAL_REASON_OTHER]: WITHDRAWAL_REASON_LABEL_OTHER,
|
|
85
|
+
};
|
|
86
|
+
return reasonLabels[reason] || reason;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Get the color class for a liquidation status
|
|
90
|
+
*
|
|
91
|
+
* @param status - The liquidation status
|
|
92
|
+
* @returns The corresponding color class string
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* getLiquidationStatusColor('pending'); // returns 'text-warning-600'
|
|
96
|
+
* getLiquidationStatusColor('settled'); // returns 'text-success-600'
|
|
97
|
+
*/
|
|
98
|
+
export const getLiquidationStatusColor = (status) => {
|
|
99
|
+
const statusColors = {
|
|
100
|
+
[LIQUIDATION_STATUS_PENDING]: 'text-warning-600',
|
|
101
|
+
[LIQUIDATION_STATUS_TRADES_CREATED]: 'text-primary-600',
|
|
102
|
+
[LIQUIDATION_STATUS_EXECUTED]: 'text-accent-secondary',
|
|
103
|
+
[LIQUIDATION_STATUS_SETTLED]: 'text-success-600',
|
|
104
|
+
[LIQUIDATION_STATUS_FAILED]: 'text-error-600',
|
|
105
|
+
};
|
|
106
|
+
return statusColors[status] || 'text-content-muted';
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Get the display label for a liquidation status
|
|
110
|
+
*
|
|
111
|
+
* @param status - The liquidation status
|
|
112
|
+
* @returns The human-readable label
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* getLiquidationStatusLabel('trades_created'); // returns 'Trades Created'
|
|
116
|
+
* getLiquidationStatusLabel('executed'); // returns 'Executed'
|
|
117
|
+
*/
|
|
118
|
+
export const getLiquidationStatusLabel = (status) => {
|
|
119
|
+
const statusLabels = {
|
|
120
|
+
[LIQUIDATION_STATUS_PENDING]: LIQUIDATION_STATUS_LABEL_PENDING,
|
|
121
|
+
[LIQUIDATION_STATUS_TRADES_CREATED]: LIQUIDATION_STATUS_LABEL_TRADES_CREATED,
|
|
122
|
+
[LIQUIDATION_STATUS_EXECUTED]: LIQUIDATION_STATUS_LABEL_EXECUTED,
|
|
123
|
+
[LIQUIDATION_STATUS_SETTLED]: LIQUIDATION_STATUS_LABEL_SETTLED,
|
|
124
|
+
[LIQUIDATION_STATUS_FAILED]: LIQUIDATION_STATUS_LABEL_FAILED,
|
|
125
|
+
};
|
|
126
|
+
return statusLabels[status] || status;
|
|
127
|
+
};
|