@zeniai/client-epic-state 5.0.65 → 5.0.66-beta0ND

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.
Files changed (42) hide show
  1. package/lib/commonStateTypes/cacheOverrideFetchReducer.d.ts +17 -0
  2. package/lib/commonStateTypes/cacheOverrideFetchReducer.js +20 -0
  3. package/lib/commonStateTypes/pusherActions.d.ts +11 -0
  4. package/lib/commonStateTypes/pusherActions.js +6 -0
  5. package/lib/entity/chargeCard/chargeCardReducer.d.ts +19 -2
  6. package/lib/entity/chargeCard/chargeCardReducer.js +35 -2
  7. package/lib/entity/chargeCardTransaction/chargeCardTransactionReducer.d.ts +14 -1
  8. package/lib/entity/chargeCardTransaction/chargeCardTransactionReducer.js +36 -2
  9. package/lib/esm/commonStateTypes/cacheOverrideFetchReducer.js +16 -0
  10. package/lib/esm/commonStateTypes/pusherActions.js +3 -0
  11. package/lib/esm/entity/chargeCard/chargeCardReducer.js +34 -1
  12. package/lib/esm/entity/chargeCardTransaction/chargeCardTransactionReducer.js +35 -1
  13. package/lib/esm/index.js +5 -2
  14. package/lib/esm/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer.js +3 -2
  15. package/lib/esm/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer.js +3 -2
  16. package/lib/esm/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.js +55 -18
  17. package/lib/esm/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardDetailEpic.js +16 -2
  18. package/lib/esm/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardDetailPageEpic.js +5 -4
  19. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.js +28 -9
  20. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/fetchChargeCardListPageEpic.js +9 -6
  21. package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.js +3 -2
  22. package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentPageEpic.js +1 -1
  23. package/lib/esm/view/spendManagement/chargeCards/chargeCardRepaymentDetail/chargeCardRepaymentDetailReducer.js +7 -3
  24. package/lib/index.d.ts +6 -3
  25. package/lib/index.js +22 -11
  26. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer.d.ts +3 -1
  27. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer.js +3 -2
  28. package/lib/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer.d.ts +3 -1
  29. package/lib/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer.js +3 -2
  30. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.js +55 -18
  31. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardDetailEpic.js +16 -2
  32. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardDetailPageEpic.js +5 -4
  33. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.d.ts +18 -3
  34. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.js +29 -10
  35. package/lib/view/spendManagement/chargeCards/chargeCardList/fetchChargeCardListPageEpic.js +9 -6
  36. package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.d.ts +3 -1
  37. package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.js +3 -2
  38. package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentPageEpic.js +1 -1
  39. package/lib/view/spendManagement/chargeCards/chargeCardRepaymentDetail/chargeCardRepaymentDetailReducer.d.ts +3 -1
  40. package/lib/view/spendManagement/chargeCards/chargeCardRepaymentDetail/chargeCardRepaymentDetailReducer.js +7 -3
  41. package/package.json +8 -3
  42. package/lib/tsconfig.typecheck.tsbuildinfo +0 -1
@@ -6,6 +6,7 @@ const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const sortOrderPayload_1 = require("../../../../commonPayloadTypes/sortOrderPayload");
7
7
  const attachmentPayload_1 = require("../../../../entity/transaction/payloadTypes/attachmentPayload");
8
8
  const chargeCardDetail_1 = require("./chargeCardDetail");
9
+ const pusherActions_1 = require("../../../../commonStateTypes/pusherActions");
9
10
  exports.initialState = {
10
11
  detailById: {},
11
12
  recurringExpensesByChargeCardId: {},
@@ -68,19 +69,30 @@ const chargeCardDetail = (0, toolkit_1.createSlice)({
68
69
  },
69
70
  fetchChargeCardTransactionList: {
70
71
  reducer(draft, action) {
71
- const { chargeCardId, pageToken, pageTokenType } = action.payload;
72
+ const { chargeCardId, pageToken, pageTokenType, cacheOverride } = action.payload;
72
73
  const existingCardDetail = draft.detailById[chargeCardId] ?? chargeCardDetail_1.emptyChargeCardDetail;
74
+ const existingUi = existingCardDetail.transactionList.uiState;
75
+ // cacheOverride=true (Pusher): preserve fetchState, error, and scroll
76
+ // to avoid skeleton flash. Normal fetches reset as before.
73
77
  draft.detailById[chargeCardId] = {
74
78
  ...existingCardDetail,
75
79
  transactionList: {
76
80
  ...existingCardDetail.transactionList,
77
- fetchState: 'In-Progress',
78
- error: undefined,
81
+ fetchState: cacheOverride
82
+ ? existingCardDetail.transactionList.fetchState
83
+ : 'In-Progress',
84
+ error: cacheOverride
85
+ ? existingCardDetail.transactionList.error
86
+ : undefined,
79
87
  uiState: {
80
- ...existingCardDetail.transactionList.uiState,
81
- scrollYOffset: existingCardDetail.transactionList.uiState.pageToken === null
82
- ? 0
83
- : existingCardDetail.transactionList.uiState.scrollYOffset,
88
+ ...existingUi,
89
+ // Preserve scroll on silent refresh so users aren't snapped
90
+ // away from their reading position.
91
+ scrollYOffset: cacheOverride
92
+ ? existingUi.scrollYOffset
93
+ : existingUi.pageToken === null
94
+ ? 0
95
+ : existingUi.scrollYOffset,
84
96
  pageToken: pageToken,
85
97
  pageTokenType: pageTokenType,
86
98
  },
@@ -97,18 +109,24 @@ const chargeCardDetail = (0, toolkit_1.createSlice)({
97
109
  const { chargeCardId, data, cacheOverride } = action.payload;
98
110
  const existingCardDetail = draft.detailById[chargeCardId] ?? chargeCardDetail_1.emptyChargeCardDetail;
99
111
  const newTransactionIds = data.transactions.map((tran) => tran.transaction_id);
112
+ const existingIds = existingCardDetail.transactionList.transactionIds;
113
+ // cacheOverride (Pusher): refresh page 1 but keep page 2+ IDs.
114
+ // Normal pagination: append new page, deduped.
115
+ const newIdSet = new Set(newTransactionIds);
116
+ const mergedTransactionIds = cacheOverride
117
+ ? [
118
+ ...newTransactionIds,
119
+ ...existingIds.filter((id) => !newIdSet.has(id)),
120
+ ]
121
+ : [
122
+ ...existingIds,
123
+ ...newTransactionIds.filter((id) => !existingIds.includes(id)),
124
+ ];
100
125
  draft.detailById[chargeCardId] = {
101
126
  ...existingCardDetail,
102
127
  transactionList: {
103
128
  ...existingCardDetail.transactionList,
104
- transactionIds: [
105
- ...new Set([
106
- ...(cacheOverride
107
- ? []
108
- : existingCardDetail.transactionList.transactionIds),
109
- ...newTransactionIds,
110
- ]),
111
- ],
129
+ transactionIds: mergedTransactionIds,
112
130
  fetchState: 'Completed',
113
131
  error: undefined,
114
132
  uiState: {
@@ -120,9 +138,12 @@ const chargeCardDetail = (0, toolkit_1.createSlice)({
120
138
  limit: data.query.limit,
121
139
  pageToken: data.query.page_token,
122
140
  pageTokenType: data.query.page_token_type,
123
- scrollYOffset: existingCardDetail.transactionList.uiState.pageToken === null
124
- ? 0
125
- : existingCardDetail.transactionList.uiState.scrollYOffset,
141
+ // Preserve scroll on silent refresh; reset on user-triggered first page.
142
+ scrollYOffset: cacheOverride
143
+ ? existingCardDetail.transactionList.uiState.scrollYOffset
144
+ : existingCardDetail.transactionList.uiState.pageToken === null
145
+ ? 0
146
+ : existingCardDetail.transactionList.uiState.scrollYOffset,
126
147
  },
127
148
  },
128
149
  };
@@ -636,6 +657,22 @@ const chargeCardDetail = (0, toolkit_1.createSlice)({
636
657
  Object.assign(draft, exports.initialState);
637
658
  },
638
659
  },
660
+ extraReducers: (builder) => {
661
+ const prependTransaction = (draft, cardId, txId) => {
662
+ const detail = draft.detailById[cardId];
663
+ if (detail != null &&
664
+ !detail.transactionList.transactionIds.includes(txId)) {
665
+ detail.transactionList.transactionIds.unshift(txId);
666
+ }
667
+ };
668
+ builder
669
+ .addCase(pusherActions_1.addChargeCardTransactionFromPusher, (draft, action) => {
670
+ prependTransaction(draft, action.payload.cardId, action.payload.transaction.transaction_id);
671
+ })
672
+ .addCase(pusherActions_1.addDeclinedChargeCardTransactionFromPusher, (draft, action) => {
673
+ prependTransaction(draft, action.payload.cardId, action.payload.transaction.transaction_id);
674
+ });
675
+ },
639
676
  });
640
677
  _a = chargeCardDetail.actions, exports.fetchChargeCardDetailPage = _a.fetchChargeCardDetailPage, exports.fetchChargeCardDetail = _a.fetchChargeCardDetail, exports.updateChargeCardDetailFetchState = _a.updateChargeCardDetailFetchState, exports.fetchChargeCardTransactionList = _a.fetchChargeCardTransactionList, exports.updateChargeCardDetailUIState = _a.updateChargeCardDetailUIState, exports.updateChargeCardTransactionList = _a.updateChargeCardTransactionList, exports.updateChargeCardTransactionUploadReceiptsFetchStatus = _a.updateChargeCardTransactionUploadReceiptsFetchStatus, exports.fetchChargeCardTransactionAttachments = _a.fetchChargeCardTransactionAttachments, exports.updateChargeCardTransactionIsViewReceiptClicked = _a.updateChargeCardTransactionIsViewReceiptClicked, exports.updateChargeCardTransactionAttachmentsFailure = _a.updateChargeCardTransactionAttachmentsFailure, exports.updatePhysicalChargeCardAttemptSuccessOrFailure = _a.updatePhysicalChargeCardAttemptSuccessOrFailure, exports.updatePhysicalChargeCardAttempt = _a.updatePhysicalChargeCardAttempt, exports.updateDebitCardPinAttempt = _a.updateDebitCardPinAttempt, exports.updateDebitCardPinAttemptSuccessOrFailure = _a.updateDebitCardPinAttemptSuccessOrFailure, exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = _a.updateChargeCardTransactionReceiptsShowTickFetchStatus, exports.updateChargeCardTransactionAttachmentsInCardDetail = _a.updateChargeCardTransactionAttachmentsInCardDetail, exports.updateChargeCardTransactionListFailure = _a.updateChargeCardTransactionListFailure, exports.updateChargeCardDetail = _a.updateChargeCardDetail, exports.startCVVActivationWait = _a.startCVVActivationWait, exports.completeCVVActivationWait = _a.completeCVVActivationWait, exports.startDebitCardSetPinWait = _a.startDebitCardSetPinWait, exports.completeDebitCardSetPinWait = _a.completeDebitCardSetPinWait, exports.updateChargeCardDetailUpdateStatus = _a.updateChargeCardDetailUpdateStatus, exports.updateChargeCardSpendLimit = _a.updateChargeCardSpendLimit, exports.updateChargeCardSpendLimitSuccessOrFailure = _a.updateChargeCardSpendLimitSuccessOrFailure, exports.updateChargeCardName = _a.updateChargeCardName, exports.updateChargeCardNameSuccessOrFailure = _a.updateChargeCardNameSuccessOrFailure, exports.lockChargeCard = _a.lockChargeCard, exports.lockChargeCardSuccessOrFailure = _a.lockChargeCardSuccessOrFailure, exports.unlockChargeCard = _a.unlockChargeCard, exports.unlockChargeCardSuccessOrFailure = _a.unlockChargeCardSuccessOrFailure, exports.closeChargeCard = _a.closeChargeCard, exports.closeChargeCardSuccessOrFailure = _a.closeChargeCardSuccessOrFailure, exports.fetchDepositAccountLimit = _a.fetchDepositAccountLimit, exports.updateDepositAccountLimitFetchStatus = _a.updateDepositAccountLimitFetchStatus, exports.fetchChargeCardTransactionStatistics = _a.fetchChargeCardTransactionStatistics, exports.updateChargeCardTransactionStatistics = _a.updateChargeCardTransactionStatistics, exports.updateChargeCardTransactionStatisticsFetchState = _a.updateChargeCardTransactionStatisticsFetchState, exports.fetchChargeCardsRecurringExpenses = _a.fetchChargeCardsRecurringExpenses, exports.updateChargeCardsRecurringExpenses = _a.updateChargeCardsRecurringExpenses, exports.updateChargeCardsRecurringExpensesFetchState = _a.updateChargeCardsRecurringExpensesFetchState, exports.sendOtpCardHolder = _a.sendOtpCardHolder, exports.resendOtpCardHolder = _a.resendOtpCardHolder, exports.sendOtpCardHolderSuccess = _a.sendOtpCardHolderSuccess, exports.sendOtpCardHolderFailure = _a.sendOtpCardHolderFailure, exports.verifyOtpCardHolder = _a.verifyOtpCardHolder, exports.verifyOtpCardHolderSuccess = _a.verifyOtpCardHolderSuccess, exports.verifyOtpCardHolderFailure = _a.verifyOtpCardHolderFailure, exports.clearChargeCardDetail = _a.clearChargeCardDetail;
641
678
  exports.default = chargeCardDetail.reducer;
@@ -19,13 +19,24 @@ const fetchChargeCardDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((
19
19
  const chargeCardAction = [];
20
20
  const state = state$.value;
21
21
  const chargeCardDetail = (0, get_1.default)(state.chargeCardDetailState.detailById, chargeCardId, undefined);
22
+ // Skip if a user-triggered fetch is already in-flight (not applicable
23
+ // to cacheOverride/Pusher refreshes, which always proceed).
22
24
  if (cacheOverride === true ||
23
25
  chargeCardDetail == null ||
24
26
  chargeCardDetail.fetchState !== 'In-Progress') {
27
+ // Silent refresh: preserve fetchState to avoid skeleton flash.
28
+ // Discriminate via fetchState (not null-check) because the reducer
29
+ // always creates an entry before the epic runs.
30
+ const isSilentRefresh = cacheOverride === true &&
31
+ chargeCardDetail != null &&
32
+ chargeCardDetail.fetchState !== 'Not-Started';
25
33
  chargeCardAction.push((0, chargeCardDetailReducer_1.updateChargeCardDetailFetchState)({
26
34
  chargeCardId,
27
- isRefreshingViewInBackground: cacheOverride,
28
- fetchState: 'In-Progress',
35
+ isRefreshingViewInBackground: isSilentRefresh,
36
+ fetchState: isSilentRefresh
37
+ ? chargeCardDetail.fetchState
38
+ : 'In-Progress',
39
+ error: isSilentRefresh ? chargeCardDetail.error : undefined,
29
40
  }));
30
41
  const query = {
31
42
  is_include_card_activation_events: true,
@@ -43,6 +54,8 @@ const fetchChargeCardDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((
43
54
  }));
44
55
  }
45
56
  else {
57
+ // Surface errors even on silent refresh so the user
58
+ // knows data is stale (follow-up: consider toast instead).
46
59
  return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardDetailFetchState)({
47
60
  chargeCardId,
48
61
  fetchState: 'Error',
@@ -51,6 +64,7 @@ const fetchChargeCardDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((
51
64
  }));
52
65
  }
53
66
  }), (0, operators_1.catchError)((error) => {
67
+ // Surface network failures even on silent refresh.
54
68
  return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardDetailFetchState)({
55
69
  chargeCardId,
56
70
  fetchState: 'Error',
@@ -18,15 +18,16 @@ const fetchChargeCardDetailPageEpic = (actions$, state$) => actions$.pipe((0, op
18
18
  ? exsitingChargeCardDetail.transactionList.uiState.pageTokenType
19
19
  : null;
20
20
  if (cacheOverride === true) {
21
+ // Forward cacheOverride to all sub-fetches to prevent skeleton flash.
21
22
  chargeCardTransactionListAction.push((0, chargeCardDetailReducer_1.fetchChargeCardDetail)(chargeCardId, cacheOverride));
22
23
  //latest transactions need to be fetched hence removing pageToken and pageTokenType
23
- chargeCardTransactionListAction.push((0, chargeCardDetailReducer_1.fetchChargeCardTransactionList)(chargeCardId, null, null));
24
- chargeCardTransactionListAction.push((0, chargeCardConfigReducer_1.fetchChargeCardConfig)());
24
+ chargeCardTransactionListAction.push((0, chargeCardDetailReducer_1.fetchChargeCardTransactionList)(chargeCardId, null, null, true));
25
+ chargeCardTransactionListAction.push((0, chargeCardConfigReducer_1.fetchChargeCardConfig)(true));
25
26
  if (doFetchCreditAccounts && isCreditCardEnabled) {
26
- chargeCardTransactionListAction.push((0, chargeCardListReducer_1.fetchCreditAccount)());
27
+ chargeCardTransactionListAction.push((0, chargeCardListReducer_1.fetchCreditAccount)(true));
27
28
  }
28
29
  if (doFetchCreditAccounts && isCreditCardEnabled) {
29
- chargeCardTransactionListAction.push((0, chargeCardListReducer_1.fetchCreditAccountRepayment)());
30
+ chargeCardTransactionListAction.push((0, chargeCardListReducer_1.fetchCreditAccountRepayment)(true));
30
31
  }
31
32
  }
32
33
  else {
@@ -10,15 +10,30 @@ export declare const fetchChargeCardListPage: import("@reduxjs/toolkit").ActionC
10
10
  isDebitCardEnabled: boolean;
11
11
  isCreditCardEnabled: boolean;
12
12
  cacheOverride: any;
13
- }, "chargeCardList/fetchChargeCardListPage", never, never>, fetchCreditAccountRepayment: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchCreditAccountRepayment">, updateCreditAccountRepayment: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreditAccountRepaymentPayload, "chargeCardList/updateCreditAccountRepayment">, updateCreditAccountRepaymentFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateCreditAccountRepaymentFailure">, updateCreditAccountRepaymentAmountAndDate: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
13
+ }, "chargeCardList/fetchChargeCardListPage", never, never>, fetchCreditAccountRepayment: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride?: boolean | undefined], {
14
+ cacheOverride: boolean;
15
+ }, "chargeCardList/fetchCreditAccountRepayment", never, never>, updateCreditAccountRepayment: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreditAccountRepaymentPayload, "chargeCardList/updateCreditAccountRepayment">, updateCreditAccountRepaymentFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateCreditAccountRepaymentFailure">, updateCreditAccountRepaymentAmountAndDate: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
14
16
  amount: Amount;
15
17
  date: ZeniDate;
16
- }, "chargeCardList/updateCreditAccountRepaymentAmountAndDate">, updateRowActionCardId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string | undefined, "chargeCardList/updateRowActionCardId">, fetchCreditAccount: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchCreditAccount">, updateCreditAccount: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreditAccountPayload[], "chargeCardList/updateCreditAccount">, updateCreditAccountFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateCreditAccountFailure">, fetchDebitCardSummary: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchDebitCardSummary">, updateDebitCardSummary: import("@reduxjs/toolkit").ActionCreatorWithPayload<DebitCardSummariesPayload, "chargeCardList/updateDebitCardSummary">, updateDebitCardSummaryFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateDebitCardSummaryFailure">, fetchChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchChargeCardList">, updateChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
18
+ }, "chargeCardList/updateCreditAccountRepaymentAmountAndDate">, updateRowActionCardId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string | undefined, "chargeCardList/updateRowActionCardId">, fetchCreditAccount: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride?: boolean | undefined], {
19
+ cacheOverride: boolean;
20
+ }, "chargeCardList/fetchCreditAccount", never, never>, updateCreditAccount: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreditAccountPayload[], "chargeCardList/updateCreditAccount">, updateCreditAccountFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateCreditAccountFailure">, fetchDebitCardSummary: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride?: boolean | undefined], {
21
+ cacheOverride: boolean;
22
+ }, "chargeCardList/fetchDebitCardSummary", never, never>, updateDebitCardSummary: import("@reduxjs/toolkit").ActionCreatorWithPayload<DebitCardSummariesPayload, "chargeCardList/updateDebitCardSummary">, updateDebitCardSummaryFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateDebitCardSummaryFailure">, fetchChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride?: boolean | undefined], {
23
+ cacheOverride: boolean;
24
+ }, "chargeCardList/fetchChargeCardList", never, never>, updateChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
17
25
  chargeCardListPayload: ChargeCardListPayload;
18
26
  keepExistingListItems?: boolean;
19
27
  }, "chargeCardList/updateChargeCardList">, updateChargeCardListFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateChargeCardListFailure">, updateSearchText: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "chargeCardList/updateSearchText">, updateBulkActionCardIds: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "chargeCardList/updateBulkActionCardIds">, updateChargeCardListUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
20
28
  uiState: Partial<ChargeCardListUIState>;
21
- }, "chargeCardList/updateChargeCardListUIState">, clearChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/clearChargeCardList">, resendCardInvite: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cardId: string], {
29
+ }, "chargeCardList/updateChargeCardListUIState">, updateCreditAccountBalanceFromPusher: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
30
+ currencyCode: string;
31
+ currencySymbol: string;
32
+ available?: number;
33
+ balance?: number;
34
+ cashback?: number;
35
+ hold?: number;
36
+ }, "chargeCardList/updateCreditAccountBalanceFromPusher">, clearChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/clearChargeCardList">, resendCardInvite: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cardId: string], {
22
37
  cardId: string;
23
38
  }, "chargeCardList/resendCardInvite", never, never>, resendCardInviteSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
24
39
  cardId: ID;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.revokeChargeCardsInviteSuccessOrFailure = exports.revokeChargeCardsInvite = exports.closeChargeCardsSuccessOrFailure = exports.closeChargeCards = exports.unlockChargeCardsSuccessOrFailure = exports.unlockChargeCards = exports.lockChargeCardsSuccessOrFailure = exports.lockChargeCards = exports.updateChargeCardsSpendLimitSuccessOrFailure = exports.updateChargeCardsSpendLimit = exports.revokeCardInviteFailure = exports.revokeCardInviteSuccess = exports.revokeCardInvite = exports.resendCardInviteFailure = exports.resendCardInviteSuccess = exports.resendCardInvite = exports.clearChargeCardList = exports.updateChargeCardListUIState = exports.updateBulkActionCardIds = exports.updateSearchText = exports.updateChargeCardListFailure = exports.updateChargeCardList = exports.fetchChargeCardList = exports.updateDebitCardSummaryFailure = exports.updateDebitCardSummary = exports.fetchDebitCardSummary = exports.updateCreditAccountFailure = exports.updateCreditAccount = exports.fetchCreditAccount = exports.updateRowActionCardId = exports.updateCreditAccountRepaymentAmountAndDate = exports.updateCreditAccountRepaymentFailure = exports.updateCreditAccountRepayment = exports.fetchCreditAccountRepayment = exports.fetchChargeCardListPage = exports.initialState = void 0;
4
+ exports.revokeChargeCardsInviteSuccessOrFailure = exports.revokeChargeCardsInvite = exports.closeChargeCardsSuccessOrFailure = exports.closeChargeCards = exports.unlockChargeCardsSuccessOrFailure = exports.unlockChargeCards = exports.lockChargeCardsSuccessOrFailure = exports.lockChargeCards = exports.updateChargeCardsSpendLimitSuccessOrFailure = exports.updateChargeCardsSpendLimit = exports.revokeCardInviteFailure = exports.revokeCardInviteSuccess = exports.revokeCardInvite = exports.resendCardInviteFailure = exports.resendCardInviteSuccess = exports.resendCardInvite = exports.clearChargeCardList = exports.updateCreditAccountBalanceFromPusher = exports.updateChargeCardListUIState = exports.updateBulkActionCardIds = exports.updateSearchText = exports.updateChargeCardListFailure = exports.updateChargeCardList = exports.fetchChargeCardList = exports.updateDebitCardSummaryFailure = exports.updateDebitCardSummary = exports.fetchDebitCardSummary = exports.updateCreditAccountFailure = exports.updateCreditAccount = exports.fetchCreditAccount = exports.updateRowActionCardId = exports.updateCreditAccountRepaymentAmountAndDate = exports.updateCreditAccountRepaymentFailure = exports.updateCreditAccountRepayment = exports.fetchCreditAccountRepayment = exports.fetchChargeCardListPage = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const amount_1 = require("../../../../commonStateTypes/amount");
7
+ const cacheOverrideFetchReducer_1 = require("../../../../commonStateTypes/cacheOverrideFetchReducer");
7
8
  const zeniDayJS_1 = require("../../../../zeniDayJS");
8
9
  const chargeCardList_1 = require("./chargeCardList");
9
10
  exports.initialState = {
@@ -47,6 +48,10 @@ exports.initialState = {
47
48
  revokeCardInvite: chargeCardList_1.initialResendRevokeCardInvite,
48
49
  creditAccountRepayment: chargeCardList_1.initialCreditAccountRepayment,
49
50
  };
51
+ // Silent-Pusher-refresh contract: when cacheOverride=true, fetch reducers
52
+ // leave fetchState and error unchanged so the list page's reduceFetchState
53
+ // selector stays 'Completed' and doesn't flash ChargeCardListLoading.
54
+ // See createCacheOverrideFetchReducer for details.
50
55
  const chargeCardList = (0, toolkit_1.createSlice)({
51
56
  name: 'chargeCardList',
52
57
  initialState: exports.initialState,
@@ -66,10 +71,10 @@ const chargeCardList = (0, toolkit_1.createSlice)({
66
71
  };
67
72
  },
68
73
  },
69
- fetchCreditAccountRepayment(draft) {
74
+ fetchCreditAccountRepayment: (0, cacheOverrideFetchReducer_1.createCacheOverrideFetchReducer)((draft) => {
70
75
  draft.creditAccountRepayment.fetchState = 'In-Progress';
71
76
  draft.creditAccountRepayment.error = undefined;
72
- },
77
+ }),
73
78
  updateCreditAccountRepaymentAmountAndDate(draft, action) {
74
79
  draft.creditAccountRepayment.initiatedRepayments = action.payload.amount;
75
80
  draft.creditAccountRepayment.initiatedRepaymentDate = action.payload.date;
@@ -87,10 +92,10 @@ const chargeCardList = (0, toolkit_1.createSlice)({
87
92
  updateRowActionCardId(draft, action) {
88
93
  draft.rowActionCardId = action.payload;
89
94
  },
90
- fetchCreditAccount(draft) {
95
+ fetchCreditAccount: (0, cacheOverrideFetchReducer_1.createCacheOverrideFetchReducer)((draft) => {
91
96
  draft.creditAccount.fetchState = 'In-Progress';
92
97
  draft.creditAccount.error = undefined;
93
- },
98
+ }),
94
99
  updateCreditAccount(draft, action) {
95
100
  if (action.payload.length > 0) {
96
101
  draft.creditAccount = toCreditAccount(action.payload[0]);
@@ -103,10 +108,10 @@ const chargeCardList = (0, toolkit_1.createSlice)({
103
108
  error: action.payload,
104
109
  };
105
110
  },
106
- fetchDebitCardSummary(draft) {
111
+ fetchDebitCardSummary: (0, cacheOverrideFetchReducer_1.createCacheOverrideFetchReducer)((draft) => {
107
112
  draft.debitCardSummaries.fetchState = 'In-Progress';
108
113
  draft.debitCardSummaries.error = undefined;
109
- },
114
+ }),
110
115
  updateDebitCardSummary(draft, action) {
111
116
  draft.debitCardSummaries = toDebitCardSummaries(action.payload);
112
117
  },
@@ -117,10 +122,10 @@ const chargeCardList = (0, toolkit_1.createSlice)({
117
122
  error: action.payload,
118
123
  };
119
124
  },
120
- fetchChargeCardList(draft) {
125
+ fetchChargeCardList: (0, cacheOverrideFetchReducer_1.createCacheOverrideFetchReducer)((draft) => {
121
126
  draft.fetchState = 'In-Progress';
122
127
  draft.error = undefined;
123
- },
128
+ }),
124
129
  updateChargeCardList(draft, action) {
125
130
  const { cards, unassigned_credit } = action.payload.chargeCardListPayload;
126
131
  const newCard = cards.map((card) => card.card_id);
@@ -156,6 +161,20 @@ const chargeCardList = (0, toolkit_1.createSlice)({
156
161
  draft.uiState.scrollYOffset = action.payload.uiState.scrollYOffset;
157
162
  }
158
163
  },
164
+ updateCreditAccountBalanceFromPusher(draft, action) {
165
+ const { currencyCode, currencySymbol } = action.payload;
166
+ const amt = (v) => v !== undefined
167
+ ? (0, amount_1.toAmount)(v, currencyCode, currencySymbol)
168
+ : undefined;
169
+ draft.creditAccount.available =
170
+ amt(action.payload.available) ?? draft.creditAccount.available;
171
+ draft.creditAccount.balance =
172
+ amt(action.payload.balance) ?? draft.creditAccount.balance;
173
+ draft.creditAccount.hold =
174
+ amt(action.payload.hold) ?? draft.creditAccount.hold;
175
+ draft.creditAccount.cashback =
176
+ amt(action.payload.cashback) ?? draft.creditAccount.cashback;
177
+ },
159
178
  clearChargeCardList(draft) {
160
179
  Object.assign(draft, exports.initialState);
161
180
  },
@@ -311,7 +330,7 @@ const chargeCardList = (0, toolkit_1.createSlice)({
311
330
  },
312
331
  },
313
332
  });
314
- _a = chargeCardList.actions, exports.fetchChargeCardListPage = _a.fetchChargeCardListPage, exports.fetchCreditAccountRepayment = _a.fetchCreditAccountRepayment, exports.updateCreditAccountRepayment = _a.updateCreditAccountRepayment, exports.updateCreditAccountRepaymentFailure = _a.updateCreditAccountRepaymentFailure, exports.updateCreditAccountRepaymentAmountAndDate = _a.updateCreditAccountRepaymentAmountAndDate, exports.updateRowActionCardId = _a.updateRowActionCardId, exports.fetchCreditAccount = _a.fetchCreditAccount, exports.updateCreditAccount = _a.updateCreditAccount, exports.updateCreditAccountFailure = _a.updateCreditAccountFailure, exports.fetchDebitCardSummary = _a.fetchDebitCardSummary, exports.updateDebitCardSummary = _a.updateDebitCardSummary, exports.updateDebitCardSummaryFailure = _a.updateDebitCardSummaryFailure, exports.fetchChargeCardList = _a.fetchChargeCardList, exports.updateChargeCardList = _a.updateChargeCardList, exports.updateChargeCardListFailure = _a.updateChargeCardListFailure, exports.updateSearchText = _a.updateSearchText, exports.updateBulkActionCardIds = _a.updateBulkActionCardIds, exports.updateChargeCardListUIState = _a.updateChargeCardListUIState, exports.clearChargeCardList = _a.clearChargeCardList, exports.resendCardInvite = _a.resendCardInvite, exports.resendCardInviteSuccess = _a.resendCardInviteSuccess, exports.resendCardInviteFailure = _a.resendCardInviteFailure, exports.revokeCardInvite = _a.revokeCardInvite, exports.revokeCardInviteSuccess = _a.revokeCardInviteSuccess, exports.revokeCardInviteFailure = _a.revokeCardInviteFailure, exports.updateChargeCardsSpendLimit = _a.updateChargeCardsSpendLimit, exports.updateChargeCardsSpendLimitSuccessOrFailure = _a.updateChargeCardsSpendLimitSuccessOrFailure, exports.lockChargeCards = _a.lockChargeCards, exports.lockChargeCardsSuccessOrFailure = _a.lockChargeCardsSuccessOrFailure, exports.unlockChargeCards = _a.unlockChargeCards, exports.unlockChargeCardsSuccessOrFailure = _a.unlockChargeCardsSuccessOrFailure, exports.closeChargeCards = _a.closeChargeCards, exports.closeChargeCardsSuccessOrFailure = _a.closeChargeCardsSuccessOrFailure, exports.revokeChargeCardsInvite = _a.revokeChargeCardsInvite, exports.revokeChargeCardsInviteSuccessOrFailure = _a.revokeChargeCardsInviteSuccessOrFailure;
333
+ _a = chargeCardList.actions, exports.fetchChargeCardListPage = _a.fetchChargeCardListPage, exports.fetchCreditAccountRepayment = _a.fetchCreditAccountRepayment, exports.updateCreditAccountRepayment = _a.updateCreditAccountRepayment, exports.updateCreditAccountRepaymentFailure = _a.updateCreditAccountRepaymentFailure, exports.updateCreditAccountRepaymentAmountAndDate = _a.updateCreditAccountRepaymentAmountAndDate, exports.updateRowActionCardId = _a.updateRowActionCardId, exports.fetchCreditAccount = _a.fetchCreditAccount, exports.updateCreditAccount = _a.updateCreditAccount, exports.updateCreditAccountFailure = _a.updateCreditAccountFailure, exports.fetchDebitCardSummary = _a.fetchDebitCardSummary, exports.updateDebitCardSummary = _a.updateDebitCardSummary, exports.updateDebitCardSummaryFailure = _a.updateDebitCardSummaryFailure, exports.fetchChargeCardList = _a.fetchChargeCardList, exports.updateChargeCardList = _a.updateChargeCardList, exports.updateChargeCardListFailure = _a.updateChargeCardListFailure, exports.updateSearchText = _a.updateSearchText, exports.updateBulkActionCardIds = _a.updateBulkActionCardIds, exports.updateChargeCardListUIState = _a.updateChargeCardListUIState, exports.updateCreditAccountBalanceFromPusher = _a.updateCreditAccountBalanceFromPusher, exports.clearChargeCardList = _a.clearChargeCardList, exports.resendCardInvite = _a.resendCardInvite, exports.resendCardInviteSuccess = _a.resendCardInviteSuccess, exports.resendCardInviteFailure = _a.resendCardInviteFailure, exports.revokeCardInvite = _a.revokeCardInvite, exports.revokeCardInviteSuccess = _a.revokeCardInviteSuccess, exports.revokeCardInviteFailure = _a.revokeCardInviteFailure, exports.updateChargeCardsSpendLimit = _a.updateChargeCardsSpendLimit, exports.updateChargeCardsSpendLimitSuccessOrFailure = _a.updateChargeCardsSpendLimitSuccessOrFailure, exports.lockChargeCards = _a.lockChargeCards, exports.lockChargeCardsSuccessOrFailure = _a.lockChargeCardsSuccessOrFailure, exports.unlockChargeCards = _a.unlockChargeCards, exports.unlockChargeCardsSuccessOrFailure = _a.unlockChargeCardsSuccessOrFailure, exports.closeChargeCards = _a.closeChargeCards, exports.closeChargeCardsSuccessOrFailure = _a.closeChargeCardsSuccessOrFailure, exports.revokeChargeCardsInvite = _a.revokeChargeCardsInvite, exports.revokeChargeCardsInviteSuccessOrFailure = _a.revokeChargeCardsInviteSuccessOrFailure;
315
334
  exports.default = chargeCardList.reducer;
316
335
  // helper
317
336
  const toCreditAccount = (payload) => ({
@@ -17,18 +17,21 @@ const fetchChargeCardListPageEpic = (actions$, state$) => actions$.pipe((0, oper
17
17
  const state = state$.value;
18
18
  const cashbackDetailState = state.cashbackDetailState;
19
19
  if (cacheOverride === true) {
20
+ // Forward cacheOverride to all sub-fetches to prevent skeleton flash.
20
21
  if (doFetchCreditAccountsDebitSummaryAndCashback === true) {
21
22
  if (isCreditCardEnabled) {
22
- chargeCardListPageAction.push((0, chargeCardListReducer_1.fetchCreditAccount)());
23
- chargeCardListPageAction.push((0, chargeCardListReducer_1.fetchCreditAccountRepayment)());
23
+ chargeCardListPageAction.push((0, chargeCardListReducer_1.fetchCreditAccount)(true));
24
+ chargeCardListPageAction.push((0, chargeCardListReducer_1.fetchCreditAccountRepayment)(true));
24
25
  }
25
26
  if (isDebitCardEnabled) {
26
- chargeCardListPageAction.push((0, chargeCardListReducer_1.fetchDebitCardSummary)());
27
+ chargeCardListPageAction.push((0, chargeCardListReducer_1.fetchDebitCardSummary)(true));
27
28
  }
28
- chargeCardListPageAction.push((0, cashbackDetailReducer_1.fetchCashbackDetail)());
29
+ chargeCardListPageAction.push((0, cashbackDetailReducer_1.fetchCashbackDetail)(true));
29
30
  }
30
- chargeCardListPageAction.push((0, chargeCardListReducer_1.fetchChargeCardList)());
31
- chargeCardListPageAction.push((0, chargeCardConfigReducer_1.fetchChargeCardConfig)());
31
+ chargeCardListPageAction.push((0, chargeCardListReducer_1.fetchChargeCardList)(true));
32
+ // Config participates in the list page's reduceFetchState — needs cacheOverride.
33
+ chargeCardListPageAction.push((0, chargeCardConfigReducer_1.fetchChargeCardConfig)(true));
34
+ // These don't participate in the list page's reduceFetchState.
32
35
  chargeCardListPageAction.push((0, userListViewReducer_1.fetchUserListByType)('cardHolderCandidate', true));
33
36
  chargeCardListPageAction.push((0, userListViewReducer_1.fetchUserListByType)('cardAdmin', true));
34
37
  chargeCardListPageAction.push((0, classListReducer_1.fetchClassList)());
@@ -8,7 +8,9 @@ export declare const addRepaymentToChargeCardPaymentHistory: import("@reduxjs/to
8
8
  zeniCreditAccountId: ID;
9
9
  }, "chargeCardPaymentHistory/addRepaymentToChargeCardPaymentHistory">, fetchChargeCardPaymentPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride?: any], {
10
10
  cacheOverride: any;
11
- }, "chargeCardPaymentHistory/fetchChargeCardPaymentPage", never, never>, fetchChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardPaymentHistory/fetchChargeCardPaymentHistory">, updateChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithPayload<ChargeCardPaymentHistoryPayload, "chargeCardPaymentHistory/updateChargeCardPaymentHistory">, updateChargeCardPaymentHistoryFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardPaymentHistory/updateChargeCardPaymentHistoryFailure">, clearChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardPaymentHistory/clearChargeCardPaymentHistory">, updatePaymentHistoryFilters: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
11
+ }, "chargeCardPaymentHistory/fetchChargeCardPaymentPage", never, never>, fetchChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride?: boolean | undefined], {
12
+ cacheOverride: boolean;
13
+ }, "chargeCardPaymentHistory/fetchChargeCardPaymentHistory", never, never>, updateChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithPayload<ChargeCardPaymentHistoryPayload, "chargeCardPaymentHistory/updateChargeCardPaymentHistory">, updateChargeCardPaymentHistoryFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardPaymentHistory/updateChargeCardPaymentHistoryFailure">, clearChargeCardPaymentHistory: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardPaymentHistory/clearChargeCardPaymentHistory">, updatePaymentHistoryFilters: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
12
14
  filters: PaymentHistoryFilters;
13
15
  }, "chargeCardPaymentHistory/updatePaymentHistoryFilters">, updatePaymentHistorySearchText: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "chargeCardPaymentHistory/updatePaymentHistorySearchText">, updatePaymentHistoryDownloadUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
14
16
  uiState: Partial<ChargeCardPaymentHistoryDownloadUIState>;
@@ -3,6 +3,7 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.updatePaymentHistoryUIState = exports.updatePaymentHistoryDownloadUIState = exports.updatePaymentHistorySearchText = exports.updatePaymentHistoryFilters = exports.clearChargeCardPaymentHistory = exports.updateChargeCardPaymentHistoryFailure = exports.updateChargeCardPaymentHistory = exports.fetchChargeCardPaymentHistory = exports.fetchChargeCardPaymentPage = exports.addRepaymentToChargeCardPaymentHistory = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
+ const cacheOverrideFetchReducer_1 = require("../../../../commonStateTypes/cacheOverrideFetchReducer");
6
7
  const chargeCardPaymentHistory_1 = require("./chargeCardPaymentHistory");
7
8
  exports.initialState = chargeCardPaymentHistory_1.initialChargeCardPaymentHistoryState;
8
9
  const chargeCardPaymentHistory = (0, toolkit_1.createSlice)({
@@ -21,10 +22,10 @@ const chargeCardPaymentHistory = (0, toolkit_1.createSlice)({
21
22
  };
22
23
  },
23
24
  },
24
- fetchChargeCardPaymentHistory(draft) {
25
+ fetchChargeCardPaymentHistory: (0, cacheOverrideFetchReducer_1.createCacheOverrideFetchReducer)((draft) => {
25
26
  draft.fetchState = 'In-Progress';
26
27
  draft.error = undefined;
27
- },
28
+ }),
28
29
  updateChargeCardPaymentHistory(draft, action) {
29
30
  const payload = action.payload;
30
31
  draft.creditAccountId = payload.credit_account_id;
@@ -11,7 +11,7 @@ const fetchChargeCardPaymentPageEpic = (actions$, state$) => actions$.pipe((0, o
11
11
  const state = state$.value;
12
12
  const chargeCardPaymentHistoryState = state.chargeCardPaymentHistoryState;
13
13
  if (cacheOverride === true) {
14
- chargeCardPaymentPageActions.push((0, chargeCardPaymentHistoryReducer_1.fetchChargeCardPaymentHistory)());
14
+ chargeCardPaymentPageActions.push((0, chargeCardPaymentHistoryReducer_1.fetchChargeCardPaymentHistory)(true));
15
15
  }
16
16
  else {
17
17
  if (chargeCardPaymentHistoryState.fetchState !== 'Completed' &&
@@ -3,7 +3,9 @@ import { ZeniAPIStatus } from '../../../../responsePayload';
3
3
  import { FundingAccount } from '../../commonSetup/setupViewSelector';
4
4
  import { ChargeCardRepaymentDetailLocalData, ChargeCardRepaymentDetailState } from './chargeCardRepaymentDetailState';
5
5
  export declare const initialState: ChargeCardRepaymentDetailState;
6
- export declare const fetchChargeCardRepaymentDetail: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardRepaymentDetail/fetchChargeCardRepaymentDetail">, initiateChargeCardRepayment: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
6
+ export declare const fetchChargeCardRepaymentDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride?: boolean | undefined], {
7
+ cacheOverride: boolean;
8
+ }, "chargeCardRepaymentDetail/fetchChargeCardRepaymentDetail", never, never>, initiateChargeCardRepayment: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
7
9
  companyId: ID;
8
10
  }, "chargeCardRepaymentDetail/initiateChargeCardRepayment">, updateNewAddedChargeCardPaymentAccount: import("@reduxjs/toolkit").ActionCreatorWithPayload<FundingAccount, "chargeCardRepaymentDetail/updateNewAddedChargeCardPaymentAccount">, updateChargeCardRepaymentLocalStore: import("@reduxjs/toolkit").ActionCreatorWithPayload<ChargeCardRepaymentDetailLocalData, "chargeCardRepaymentDetail/updateChargeCardRepaymentLocalStore">, updateChargeCardRepaymentStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
9
11
  fetchState: FetchState;
@@ -3,6 +3,7 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.clearChargeCardRepaymentDetail = exports.updateChargeCardRepaymentStatus = exports.updateChargeCardRepaymentLocalStore = exports.updateNewAddedChargeCardPaymentAccount = exports.initiateChargeCardRepayment = exports.fetchChargeCardRepaymentDetail = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
+ const cacheOverrideFetchReducer_1 = require("../../../../commonStateTypes/cacheOverrideFetchReducer");
6
7
  exports.initialState = {
7
8
  localData: {
8
9
  amount: {
@@ -21,9 +22,12 @@ const chargeCardRepaymentDetail = (0, toolkit_1.createSlice)({
21
22
  name: 'chargeCardRepaymentDetail',
22
23
  initialState: exports.initialState,
23
24
  reducers: {
24
- fetchChargeCardRepaymentDetail() {
25
- //do nothing
26
- },
25
+ // No-op reducer — fetchState is managed by the Pay flow reducers.
26
+ // Uses createCacheOverrideFetchReducer for API consistency with the
27
+ // silent-refresh family (cacheOverride flag at dispatch site).
28
+ fetchChargeCardRepaymentDetail: (0, cacheOverrideFetchReducer_1.createCacheOverrideFetchReducer)(() => {
29
+ // do nothing
30
+ }),
27
31
  updateChargeCardRepaymentLocalStore(draft, action) {
28
32
  draft.localData = action.payload;
29
33
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.0.65",
3
+ "version": "5.0.66-beta0ND",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",
@@ -106,12 +106,17 @@
106
106
  "scripts": {
107
107
  "clean": "rimraf lib",
108
108
  "test:typecheck": "echo 'Typechecking test files...' && NODE_OPTIONS=--max-old-space-size=4096 time tsc -p tsconfig.typecheck.json",
109
- "test": "pnpm test:typecheck && vitest run --typecheck",
109
+ "test:typecheck-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && ./scripts/tsc-modified-files.sh master tsconfig.typecheck.json",
110
+ "test": "pnpm lint-modified-files && pnpm test:typecheck-modified-files && vitest run --typecheck",
110
111
  "lint": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
112
+ "lint-modified-files": "chmod +x ./scripts/lint-modified-files.sh && ./scripts/lint-modified-files.sh",
113
+ "lint:fix-modified-files": "chmod +x ./scripts/lint-modified-files.sh && LINT_FIX=true ./scripts/lint-modified-files.sh",
114
+ "tsc-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && ./scripts/tsc-modified-files.sh",
115
+ "typecheck": "tsc --noEmit",
111
116
  "find-dead-code": "ts-prune | grep -v '(used in module)'",
112
117
  "find-unused-exports": "ts-unused-exports ./tsconfig.json",
113
118
  "circular-dependency": "npx madge --circular --extensions ts ./src",
114
- "build": "concurrently --kill-others-on-fail --handle-input \"echo 'Running ESLint...' && eslint . --ext .js,.jsx,.ts,.tsx\" \"echo 'TypeScript build in progress...' && time tsc && echo 'ESM build...' && tsc -p tsconfig.esm.json\" \"echo 'Running tests and typecheck...' && pnpm test\" && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
119
+ "build": "echo 'Running full ESLint...' && pnpm lint && concurrently --kill-others-on-fail --handle-input \"echo 'TypeScript build in progress...' && time tsc && echo 'ESM build...' && tsc -p tsconfig.esm.json\" \"echo 'Running tests and typecheck...' && pnpm test\" && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
115
120
  "only-build": "eslint . --ext .js,.jsx,.ts,.tsx && time tsc && tsc -p tsconfig.esm.json && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
116
121
  "only-build-dev": "eslint . --ext .js,.jsx,.ts,.tsx && time tsc -p tsconfig.dev.json && tsc -p tsconfig.esm.dev.json && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
117
122
  "format": "prettier --write --ignore-unknown \"src/**/*\" && pnpm lint",