@zeniai/client-epic-state 4.19.41-betaML2 → 4.19.41-betaML4
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/lib/epic.d.ts +3 -1
- package/lib/epic.js +3 -1
- package/lib/esm/epic.js +3 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +101 -0
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +28 -0
- package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +17 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +30 -29
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.d.ts +8 -0
- package/lib/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +105 -0
- package/lib/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.d.ts +6 -0
- package/lib/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +32 -0
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +4 -1
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +18 -2
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { updateTransactions } from '../../../../entity/transaction/transactionReducer';
|
|
4
|
+
import { RootState } from '../../../../reducer';
|
|
5
|
+
import { ZeniAPI } from '../../../../zeniAPI';
|
|
6
|
+
import { backgroundRefetchReviewTab, fetchTransactionCategorizationFailure, fetchTransactionCategorizationSuccess, initializeTransactionCategorizationViewLocalData, updateTotalCountForTransactionCategorization, updateTransactionCategorizationUIState } from '../../reducers/transactionsViewReducer';
|
|
7
|
+
export type ActionType = ReturnType<typeof backgroundRefetchReviewTab> | ReturnType<typeof updateTransactions> | ReturnType<typeof initializeTransactionCategorizationViewLocalData> | ReturnType<typeof fetchTransactionCategorizationFailure> | ReturnType<typeof fetchTransactionCategorizationSuccess> | ReturnType<typeof updateTotalCountForTransactionCategorization> | ReturnType<typeof updateTransactionCategorizationUIState>;
|
|
8
|
+
export declare const backgroundRefetchReviewTabEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.backgroundRefetchReviewTabEpic = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const operators_1 = require("rxjs/operators");
|
|
6
|
+
const timePeriod_1 = require("../../../../commonStateTypes/timePeriod");
|
|
7
|
+
const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
|
|
8
|
+
const transactionReducer_1 = require("../../../../entity/transaction/transactionReducer");
|
|
9
|
+
const responsePayload_1 = require("../../../../responsePayload");
|
|
10
|
+
const transactionCategorizationLocalDataHelper_1 = require("../../helpers/transactionCategorizationLocalDataHelper");
|
|
11
|
+
const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
|
|
12
|
+
const transactionsViewState_1 = require("../../types/transactionsViewState");
|
|
13
|
+
const SELECTED_TAB = 'review';
|
|
14
|
+
const PAGE_SIZE = 25;
|
|
15
|
+
const backgroundRefetchReviewTabEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionsViewReducer_1.backgroundRefetchReviewTab.match), (0, operators_1.switchMap)((action) => {
|
|
16
|
+
const { period, isUncategorizedExpenseCategoryEnabled } = action.payload;
|
|
17
|
+
const state = state$.value;
|
|
18
|
+
const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
|
|
19
|
+
const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
|
|
20
|
+
const reviewUiState = state.expenseAutomationTransactionsViewState
|
|
21
|
+
.transactionCategorizationView.review.uiState;
|
|
22
|
+
const storedPageToken = reviewUiState.pageToken;
|
|
23
|
+
const fetchPage = (pageToken) => {
|
|
24
|
+
const queryParam = {
|
|
25
|
+
start_date: (0, timePeriod_1.toString)(period.start),
|
|
26
|
+
end_date: (0, timePeriod_1.toString)(period.end),
|
|
27
|
+
auto_categorized: false,
|
|
28
|
+
sort_by: (0, transactionsViewState_1.toTransactionsSortKey)(reviewUiState.sortKey),
|
|
29
|
+
sort_order: reviewUiState.sortOrder === 'ascending' ? 'asc' : 'desc',
|
|
30
|
+
page_token: pageToken,
|
|
31
|
+
page_size: PAGE_SIZE,
|
|
32
|
+
search_text: reviewUiState.searchString,
|
|
33
|
+
};
|
|
34
|
+
return zeniAPI.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`);
|
|
35
|
+
};
|
|
36
|
+
return fetchPage(null).pipe((0, operators_1.expand)((response) => {
|
|
37
|
+
if (!(0, responsePayload_1.isSuccessResponse)(response) || response.data == null) {
|
|
38
|
+
return rxjs_1.EMPTY;
|
|
39
|
+
}
|
|
40
|
+
const nextToken = response.data.next_page_token ?? null;
|
|
41
|
+
if (nextToken == null || nextToken === storedPageToken) {
|
|
42
|
+
return rxjs_1.EMPTY;
|
|
43
|
+
}
|
|
44
|
+
return fetchPage(nextToken);
|
|
45
|
+
}), (0, operators_1.reduce)((acc, response) => {
|
|
46
|
+
if (!(0, responsePayload_1.isSuccessResponse)(response) || response.data == null) {
|
|
47
|
+
return { ...acc, failureStatus: response.status };
|
|
48
|
+
}
|
|
49
|
+
const nextToken = response.data.next_page_token ?? null;
|
|
50
|
+
return {
|
|
51
|
+
...acc,
|
|
52
|
+
allTransactions: [
|
|
53
|
+
...acc.allTransactions,
|
|
54
|
+
...response.data.transactions,
|
|
55
|
+
],
|
|
56
|
+
finalPageToken: nextToken,
|
|
57
|
+
finalStatus: response.status,
|
|
58
|
+
totalCount: response.data.total_count,
|
|
59
|
+
};
|
|
60
|
+
}, {
|
|
61
|
+
allTransactions: [],
|
|
62
|
+
failureStatus: null,
|
|
63
|
+
finalPageToken: null,
|
|
64
|
+
finalStatus: null,
|
|
65
|
+
totalCount: 0,
|
|
66
|
+
}), (0, operators_1.mergeMap)((accumulated) => {
|
|
67
|
+
if (accumulated.failureStatus != null ||
|
|
68
|
+
accumulated.finalStatus == null) {
|
|
69
|
+
return (0, rxjs_1.of)((0, transactionsViewReducer_1.fetchTransactionCategorizationFailure)({
|
|
70
|
+
selectedPeriod,
|
|
71
|
+
selectedTab: SELECTED_TAB,
|
|
72
|
+
status: accumulated.failureStatus ??
|
|
73
|
+
(0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'background refetch review tab received error response'),
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
const transactionIds = accumulated.allTransactions.map((t) => t.transaction_id);
|
|
77
|
+
const lineItemsByTransactionIds = (0, transactionCategorizationLocalDataHelper_1.getLineItemsByTransactionsIdsFromResponse)(accumulated.allTransactions);
|
|
78
|
+
return (0, rxjs_1.from)([
|
|
79
|
+
(0, transactionReducer_1.updateTransactions)(accumulated.allTransactions, (value) => value.transaction_id, 'merge'),
|
|
80
|
+
(0, transactionsViewReducer_1.updateTransactionCategorizationUIState)({
|
|
81
|
+
selectedTab: SELECTED_TAB,
|
|
82
|
+
uiState: {
|
|
83
|
+
pageToken: accumulated.finalPageToken,
|
|
84
|
+
},
|
|
85
|
+
}),
|
|
86
|
+
(0, transactionsViewReducer_1.initializeTransactionCategorizationViewLocalData)(SELECTED_TAB, transactionIds, selectedPeriod, false, accumulated.finalPageToken, accumulated.totalCount, lineItemsByTransactionIds, true, isUncategorizedExpenseCategoryEnabled),
|
|
87
|
+
(0, transactionsViewReducer_1.updateTotalCountForTransactionCategorization)({
|
|
88
|
+
selectedPeriod,
|
|
89
|
+
selectedTab: SELECTED_TAB,
|
|
90
|
+
totalCount: accumulated.totalCount,
|
|
91
|
+
}),
|
|
92
|
+
(0, transactionsViewReducer_1.fetchTransactionCategorizationSuccess)({
|
|
93
|
+
refreshViewInBackground: true,
|
|
94
|
+
selectedTab: SELECTED_TAB,
|
|
95
|
+
status: accumulated.finalStatus,
|
|
96
|
+
}),
|
|
97
|
+
]);
|
|
98
|
+
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, transactionsViewReducer_1.fetchTransactionCategorizationFailure)({
|
|
99
|
+
selectedPeriod,
|
|
100
|
+
selectedTab: SELECTED_TAB,
|
|
101
|
+
status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'background refetch review tab REST API call errored out' +
|
|
102
|
+
JSON.stringify(error)),
|
|
103
|
+
}))));
|
|
104
|
+
}));
|
|
105
|
+
exports.backgroundRefetchReviewTabEpic = backgroundRefetchReviewTabEpic;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { RootState } from '../../../../reducer';
|
|
4
|
+
import { backgroundRefetchReviewTab, syncTransactionCategorizationFromDetailSave } from '../../reducers/transactionsViewReducer';
|
|
5
|
+
export type ActionType = ReturnType<typeof syncTransactionCategorizationFromDetailSave> | ReturnType<typeof backgroundRefetchReviewTab>;
|
|
6
|
+
export declare const triggerReviewTabRefetchEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.triggerReviewTabRefetchEpic = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const operators_1 = require("rxjs/operators");
|
|
6
|
+
const timePeriod_1 = require("../../../../commonStateTypes/timePeriod");
|
|
7
|
+
const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
|
|
8
|
+
const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
|
|
9
|
+
const triggerReviewTabRefetchEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(transactionsViewReducer_1.syncTransactionCategorizationFromDetailSave.match), (0, operators_1.mergeMap)((action) => {
|
|
10
|
+
const { pendingReviewLineIds, transactionId, isUncategorizedExpenseCategoryEnabled } = action.payload;
|
|
11
|
+
if (pendingReviewLineIds.length === 0) {
|
|
12
|
+
return rxjs_1.EMPTY;
|
|
13
|
+
}
|
|
14
|
+
const state = state$.value;
|
|
15
|
+
// Only trigger when the transaction was auto-only (not in review tab after reducer ran)
|
|
16
|
+
const reviewLocalData = state.expenseAutomationTransactionsViewState
|
|
17
|
+
.transactionCategorizationView.review
|
|
18
|
+
.transactionReviewLocalDataById[transactionId.id];
|
|
19
|
+
if (reviewLocalData != null) {
|
|
20
|
+
return rxjs_1.EMPTY;
|
|
21
|
+
}
|
|
22
|
+
const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
|
|
23
|
+
const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
|
|
24
|
+
const period = (0, timePeriod_1.convertToPeriod)(selectedPeriod);
|
|
25
|
+
const timePeriodStart = (0, timePeriod_1.toAbsoluteDay)(period.start);
|
|
26
|
+
const timePeriodEnd = (0, timePeriod_1.toAbsoluteDay)(period.end);
|
|
27
|
+
if (timePeriodStart == null || timePeriodEnd == null) {
|
|
28
|
+
return rxjs_1.EMPTY;
|
|
29
|
+
}
|
|
30
|
+
return (0, rxjs_1.of)((0, transactionsViewReducer_1.backgroundRefetchReviewTab)({ start: timePeriodStart, end: timePeriodEnd }, isUncategorizedExpenseCategoryEnabled));
|
|
31
|
+
}));
|
|
32
|
+
exports.triggerReviewTabRefetchEpic = triggerReviewTabRefetchEpic;
|
|
@@ -155,6 +155,9 @@ export declare const fetchTransactionCategorization: import("@reduxjs/toolkit").
|
|
|
155
155
|
pendingReviewLineIds: string[];
|
|
156
156
|
uncategorizedIncomeExpense: UncategorizedAccounts;
|
|
157
157
|
isUncategorizedExpenseCategoryEnabled: boolean | undefined;
|
|
158
|
-
}, "expenseAutomationTransactionsView/syncTransactionCategorizationFromDetailSave", never, never
|
|
158
|
+
}, "expenseAutomationTransactionsView/syncTransactionCategorizationFromDetailSave", never, never>, backgroundRefetchReviewTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, isUncategorizedExpenseCategoryEnabled?: boolean | undefined], {
|
|
159
|
+
period: TimePeriod;
|
|
160
|
+
isUncategorizedExpenseCategoryEnabled: boolean | undefined;
|
|
161
|
+
}, "expenseAutomationTransactionsView/backgroundRefetchReviewTab", never, never>;
|
|
159
162
|
declare const _default: import("redux").Reducer<TransactionsViewState>;
|
|
160
163
|
export default _default;
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
var _a;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.syncTransactionCategorizationFromDetailSave = exports.updateSelectedTransactionId = exports.setEntityRecommendationForLineIdsForCategorization = exports.clearExpenseAutomationTransactionsView = exports.clearExpenseAutomationTransactionsViewPerTabView = exports.updateSelectedCheckboxTransactionIds = exports.fetchTransactionCategorizationView = exports.resetOtherTabsFetchState = exports.fetchTransactionCategorizationSuccess = exports.updateTotalCountForTransactionCategorization = exports.setAllItemsToCategoryClassInLocalDataForCategorization = exports.updateSelectedCustomerForTransaction = exports.updateSelectedVendorForTransaction = exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = exports.markTransactionAsNotMiscategorized = exports.updateTransactionCategorizationSaveStatus = exports.updateCurrentSelectedTransactionCategorizationTab = exports.updateTransactionCategorization = exports.saveTransactionCategorization = exports.fetchTransactionCategorizationFailure = exports.saveTransactionCategorizationLocalData = exports.initializeTransactionCategorizationViewLocalData = exports.updateTransactionCategorizationUIState = exports.fetchTransactionCategorization = exports.initialState = exports.initialTransactionTabViewState = void 0;
|
|
7
|
+
exports.backgroundRefetchReviewTab = exports.syncTransactionCategorizationFromDetailSave = exports.updateSelectedTransactionId = exports.setEntityRecommendationForLineIdsForCategorization = exports.clearExpenseAutomationTransactionsView = exports.clearExpenseAutomationTransactionsViewPerTabView = exports.updateSelectedCheckboxTransactionIds = exports.fetchTransactionCategorizationView = exports.resetOtherTabsFetchState = exports.fetchTransactionCategorizationSuccess = exports.updateTotalCountForTransactionCategorization = exports.setAllItemsToCategoryClassInLocalDataForCategorization = exports.updateSelectedCustomerForTransaction = exports.updateSelectedVendorForTransaction = exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = exports.markTransactionAsNotMiscategorized = exports.updateTransactionCategorizationSaveStatus = exports.updateCurrentSelectedTransactionCategorizationTab = exports.updateTransactionCategorization = exports.saveTransactionCategorization = exports.fetchTransactionCategorizationFailure = exports.saveTransactionCategorizationLocalData = exports.initializeTransactionCategorizationViewLocalData = exports.updateTransactionCategorizationUIState = exports.fetchTransactionCategorization = exports.initialState = exports.initialTransactionTabViewState = void 0;
|
|
8
8
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
9
9
|
const get_1 = __importDefault(require("lodash/get"));
|
|
10
10
|
const uniq_1 = __importDefault(require("lodash/uniq"));
|
|
@@ -769,7 +769,23 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
|
|
|
769
769
|
}
|
|
770
770
|
},
|
|
771
771
|
},
|
|
772
|
+
backgroundRefetchReviewTab: {
|
|
773
|
+
prepare(period, isUncategorizedExpenseCategoryEnabled) {
|
|
774
|
+
return {
|
|
775
|
+
payload: {
|
|
776
|
+
period,
|
|
777
|
+
isUncategorizedExpenseCategoryEnabled,
|
|
778
|
+
},
|
|
779
|
+
};
|
|
780
|
+
},
|
|
781
|
+
reducer(draft) {
|
|
782
|
+
draft.transactionCategorizationView.review.refreshStatus = {
|
|
783
|
+
fetchState: 'In-Progress',
|
|
784
|
+
error: undefined,
|
|
785
|
+
};
|
|
786
|
+
},
|
|
787
|
+
},
|
|
772
788
|
},
|
|
773
789
|
});
|
|
774
|
-
_a = expenseAutomationTransactionsView.actions, exports.fetchTransactionCategorization = _a.fetchTransactionCategorization, exports.updateTransactionCategorizationUIState = _a.updateTransactionCategorizationUIState, exports.initializeTransactionCategorizationViewLocalData = _a.initializeTransactionCategorizationViewLocalData, exports.saveTransactionCategorizationLocalData = _a.saveTransactionCategorizationLocalData, exports.fetchTransactionCategorizationFailure = _a.fetchTransactionCategorizationFailure, exports.saveTransactionCategorization = _a.saveTransactionCategorization, exports.updateTransactionCategorization = _a.updateTransactionCategorization, exports.updateCurrentSelectedTransactionCategorizationTab = _a.updateCurrentSelectedTransactionCategorizationTab, exports.updateTransactionCategorizationSaveStatus = _a.updateTransactionCategorizationSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = _a.updateStatusForTransactionNotMiscategorizedUpdateForCategorization, exports.updateSelectedVendorForTransaction = _a.updateSelectedVendorForTransaction, exports.updateSelectedCustomerForTransaction = _a.updateSelectedCustomerForTransaction, exports.setAllItemsToCategoryClassInLocalDataForCategorization = _a.setAllItemsToCategoryClassInLocalDataForCategorization, exports.updateTotalCountForTransactionCategorization = _a.updateTotalCountForTransactionCategorization, exports.fetchTransactionCategorizationSuccess = _a.fetchTransactionCategorizationSuccess, exports.resetOtherTabsFetchState = _a.resetOtherTabsFetchState, exports.fetchTransactionCategorizationView = _a.fetchTransactionCategorizationView, exports.updateSelectedCheckboxTransactionIds = _a.updateSelectedCheckboxTransactionIds, exports.clearExpenseAutomationTransactionsViewPerTabView = _a.clearExpenseAutomationTransactionsViewPerTabView, exports.clearExpenseAutomationTransactionsView = _a.clearExpenseAutomationTransactionsView, exports.setEntityRecommendationForLineIdsForCategorization = _a.setEntityRecommendationForLineIdsForCategorization, exports.updateSelectedTransactionId = _a.updateSelectedTransactionId, exports.syncTransactionCategorizationFromDetailSave = _a.syncTransactionCategorizationFromDetailSave;
|
|
790
|
+
_a = expenseAutomationTransactionsView.actions, exports.fetchTransactionCategorization = _a.fetchTransactionCategorization, exports.updateTransactionCategorizationUIState = _a.updateTransactionCategorizationUIState, exports.initializeTransactionCategorizationViewLocalData = _a.initializeTransactionCategorizationViewLocalData, exports.saveTransactionCategorizationLocalData = _a.saveTransactionCategorizationLocalData, exports.fetchTransactionCategorizationFailure = _a.fetchTransactionCategorizationFailure, exports.saveTransactionCategorization = _a.saveTransactionCategorization, exports.updateTransactionCategorization = _a.updateTransactionCategorization, exports.updateCurrentSelectedTransactionCategorizationTab = _a.updateCurrentSelectedTransactionCategorizationTab, exports.updateTransactionCategorizationSaveStatus = _a.updateTransactionCategorizationSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.updateStatusForTransactionNotMiscategorizedUpdateForCategorization = _a.updateStatusForTransactionNotMiscategorizedUpdateForCategorization, exports.updateSelectedVendorForTransaction = _a.updateSelectedVendorForTransaction, exports.updateSelectedCustomerForTransaction = _a.updateSelectedCustomerForTransaction, exports.setAllItemsToCategoryClassInLocalDataForCategorization = _a.setAllItemsToCategoryClassInLocalDataForCategorization, exports.updateTotalCountForTransactionCategorization = _a.updateTotalCountForTransactionCategorization, exports.fetchTransactionCategorizationSuccess = _a.fetchTransactionCategorizationSuccess, exports.resetOtherTabsFetchState = _a.resetOtherTabsFetchState, exports.fetchTransactionCategorizationView = _a.fetchTransactionCategorizationView, exports.updateSelectedCheckboxTransactionIds = _a.updateSelectedCheckboxTransactionIds, exports.clearExpenseAutomationTransactionsViewPerTabView = _a.clearExpenseAutomationTransactionsViewPerTabView, exports.clearExpenseAutomationTransactionsView = _a.clearExpenseAutomationTransactionsView, exports.setEntityRecommendationForLineIdsForCategorization = _a.setEntityRecommendationForLineIdsForCategorization, exports.updateSelectedTransactionId = _a.updateSelectedTransactionId, exports.syncTransactionCategorizationFromDetailSave = _a.syncTransactionCategorizationFromDetailSave, exports.backgroundRefetchReviewTab = _a.backgroundRefetchReviewTab;
|
|
775
791
|
exports.default = expenseAutomationTransactionsView.reducer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.19.41-
|
|
3
|
+
"version": "4.19.41-betaML4",
|
|
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",
|