@zeniai/client-epic-state 4.19.76 → 4.19.77-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 (25) hide show
  1. package/lib/entity/account/accountPayload.d.ts +2 -0
  2. package/lib/entity/account/accountPayload.js +2 -0
  3. package/lib/entity/account/accountState.d.ts +2 -0
  4. package/lib/esm/entity/account/accountPayload.js +2 -0
  5. package/lib/esm/index.js +2 -2
  6. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/uploadTransactionReceiptSuccessEpic.js +22 -0
  7. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +20 -1
  8. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +2 -1
  9. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +2 -4
  10. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +1 -2
  11. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +2 -3
  12. package/lib/index.d.ts +2 -2
  13. package/lib/index.js +33 -31
  14. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  15. package/lib/view/expenseAutomationView/epics/transactionCategorization/uploadTransactionReceiptSuccessEpic.d.ts +7 -0
  16. package/lib/view/expenseAutomationView/epics/transactionCategorization/uploadTransactionReceiptSuccessEpic.js +26 -0
  17. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +11 -3
  18. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +21 -2
  19. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +1 -0
  20. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +2 -1
  21. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +1 -0
  22. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +2 -4
  23. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +1 -2
  24. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +2 -3
  25. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { updateTransaction } from '../../../../entity/transaction/transactionReducer';
3
+ import { RootState } from '../../../../reducer';
4
+ import { fetchMonthEndCloseChecks } from '../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer';
5
+ import { uploadTransactionCategorizationReceiptSuccess } from '../../reducers/transactionsViewReducer';
6
+ export type ActionType = ReturnType<typeof uploadTransactionCategorizationReceiptSuccess> | ReturnType<typeof fetchMonthEndCloseChecks> | ReturnType<typeof updateTransaction>;
7
+ export declare const uploadTransactionReceiptSuccessEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => import("rxjs").Observable<ActionType>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadTransactionReceiptSuccessEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
7
+ const transactionReducer_1 = require("../../../../entity/transaction/transactionReducer");
8
+ const monthEndCloseChecksViewReducer_1 = require("../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer");
9
+ const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
10
+ const uploadTransactionReceiptSuccessEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(transactionsViewReducer_1.uploadTransactionCategorizationReceiptSuccess.match), (0, operators_1.mergeMap)((action) => {
11
+ const { transactionPayload, updateType } = action.payload;
12
+ const updateActions = [];
13
+ const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state$.value);
14
+ const selectedPeriodByTenantId = state$.value.expenseAutomationViewState.selectedPeriodByTenantId;
15
+ updateActions.push((0, transactionReducer_1.updateTransaction)(transactionPayload.transaction_id, transactionPayload, updateType));
16
+ if (currentTenant != null) {
17
+ const monthEndChecksPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
18
+ updateActions.push((0, monthEndCloseChecksViewReducer_1.fetchMonthEndCloseChecks)({
19
+ tenantId: currentTenant.tenantId,
20
+ period: monthEndChecksPeriod,
21
+ refreshViewInBackground: true,
22
+ }));
23
+ }
24
+ return (0, rxjs_1.from)(updateActions);
25
+ }));
26
+ exports.uploadTransactionReceiptSuccessEpic = uploadTransactionReceiptSuccessEpic;
@@ -1,4 +1,4 @@
1
- import { FetchState, ID } from '../../../commonStateTypes/common';
1
+ import { FetchState, FetchStateAndError, ID, UpdateType } from '../../../commonStateTypes/common';
2
2
  import { COTTransactionTrackingByTransactionId, RecommendationWithCOT } from '../../../commonStateTypes/recommendationBase';
3
3
  import { MonthYearPeriod, TimePeriod } from '../../../commonStateTypes/timePeriod';
4
4
  import { PageToken } from '../../../commonStateTypes/viewAndReport/viewAndReport';
@@ -7,7 +7,7 @@ import { ClassBase } from '../../../entity/class/classState';
7
7
  import { CustomerBase } from '../../../entity/customer/customerState';
8
8
  import { Entity } from '../../../entity/genericEntity/entity';
9
9
  import { RecommendationWithCOTByLineId, TransactionID } from '../../../entity/transaction/stateTypes/transaction';
10
- import { SupportedTransaction, SupportedTransactionWithCOT } from '../../../entity/transaction/transactionState';
10
+ import { SupportedTransaction, SupportedTransactionPayload, SupportedTransactionWithCOT } from '../../../entity/transaction/transactionState';
11
11
  import { VendorBase } from '../../../entity/vendor/vendorState';
12
12
  import { ZeniAPIStatus } from '../../../responsePayload';
13
13
  import { UncategorizedAccounts } from '../../accountList/accountListSelector';
@@ -158,6 +158,14 @@ export declare const fetchTransactionCategorization: import("@reduxjs/toolkit").
158
158
  }, "expenseAutomationTransactionsView/syncTransactionCategorizationFromDetailSave", never, never>, backgroundRefetchReviewTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, isUncategorizedExpenseCategoryEnabled?: boolean | undefined], {
159
159
  period: TimePeriod;
160
160
  isUncategorizedExpenseCategoryEnabled: boolean | undefined;
161
- }, "expenseAutomationTransactionsView/backgroundRefetchReviewTab", never, never>;
161
+ }, "expenseAutomationTransactionsView/backgroundRefetchReviewTab", never, never>, updateTransactionCategorizationUploadReceiptState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionId: string, fetchStatus: FetchStateAndError], {
162
+ selectedTab: "review" | "autoCategorized";
163
+ transactionId: string;
164
+ fetchStatus: FetchStateAndError;
165
+ }, "expenseAutomationTransactionsView/updateTransactionCategorizationUploadReceiptState", never, never>, uploadTransactionCategorizationReceiptSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[selectedTab: "review" | "autoCategorized", transactionPayload: SupportedTransactionPayload, updateType?: UpdateType | undefined], {
166
+ selectedTab: "review" | "autoCategorized";
167
+ transactionPayload: SupportedTransactionPayload;
168
+ updateType: UpdateType;
169
+ }, "expenseAutomationTransactionsView/uploadTransactionCategorizationReceiptSuccess", never, never>;
162
170
  declare const _default: import("redux").Reducer<TransactionsViewState>;
163
171
  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.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;
7
+ exports.uploadTransactionCategorizationReceiptSuccess = exports.updateTransactionCategorizationUploadReceiptState = 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"));
@@ -43,6 +43,7 @@ exports.initialTransactionTabViewState = {
43
43
  transactionIdsBySelectedPeriod: {},
44
44
  selectedCheckBoxTransactionIds: [],
45
45
  transactionIdsWithUnsavedData: [],
46
+ uploadReceiptStatusById: {},
46
47
  selectedTransactionId: undefined,
47
48
  selectedTransactionLineId: undefined,
48
49
  };
@@ -706,6 +707,24 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
706
707
  clearExpenseAutomationTransactionsView(draft) {
707
708
  Object.assign(draft, exports.initialState);
708
709
  },
710
+ updateTransactionCategorizationUploadReceiptState: {
711
+ reducer(draft, action) {
712
+ const { transactionId, fetchStatus, selectedTab } = action.payload;
713
+ draft.transactionCategorizationView[selectedTab].uploadReceiptStatusById[transactionId] = fetchStatus;
714
+ },
715
+ prepare(selectedTab, transactionId, fetchStatus) {
716
+ return { payload: { selectedTab, transactionId, fetchStatus } };
717
+ },
718
+ },
719
+ uploadTransactionCategorizationReceiptSuccess: {
720
+ reducer(draft, action) {
721
+ const { transactionPayload, selectedTab } = action.payload;
722
+ draft.transactionCategorizationView[selectedTab].uploadReceiptStatusById[transactionPayload.transaction_id] = { fetchState: 'Completed', error: undefined };
723
+ },
724
+ prepare(selectedTab, transactionPayload, updateType = 'merge') {
725
+ return { payload: { selectedTab, transactionPayload, updateType } };
726
+ },
727
+ },
709
728
  syncTransactionCategorizationFromDetailSave: {
710
729
  prepare(transactionId, updatedTransaction, pendingReviewLineIds, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled) {
711
730
  return {
@@ -777,5 +796,5 @@ const expenseAutomationTransactionsView = (0, toolkit_1.createSlice)({
777
796
  },
778
797
  },
779
798
  });
780
- _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;
799
+ _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, exports.updateTransactionCategorizationUploadReceiptState = _a.updateTransactionCategorizationUploadReceiptState, exports.uploadTransactionCategorizationReceiptSuccess = _a.uploadTransactionCategorizationReceiptSuccess;
781
800
  exports.default = expenseAutomationTransactionsView.reducer;
@@ -28,6 +28,7 @@ export interface ExpenseAutomationTransactionViewSelector extends SelectorView {
28
28
  transactions: SupportedTransactionWithCOT[];
29
29
  uiState: TransactionsViewUIState;
30
30
  uncategorizedAccounts: UncategorizedAccounts;
31
+ uploadReceiptStatusById: Record<ID, FetchStateAndError>;
31
32
  selectedTransactionId?: ID;
32
33
  selectedTransactionLineId?: ID;
33
34
  }
@@ -16,7 +16,7 @@ const expenseAutomationViewSelectorTypes_1 = require("../selectorTypes/expenseAu
16
16
  function getExpenseAutomationTransactionView(state) {
17
17
  const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState, transactionState, monthEndCloseChecksState, } = state;
18
18
  const { selectedTransactionCategorizationTab } = expenseAutomationTransactionsViewState;
19
- const { uiState, refreshStatus, saveStatus, markAsNotMiscategorizedStatus, transactionIdsBySelectedPeriod, transactionReviewLocalDataById, selectedCheckBoxTransactionIds, transactionIdsWithUnsavedData, selectedTransactionId, selectedTransactionLineId, } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab];
19
+ const { uiState, refreshStatus, saveStatus, markAsNotMiscategorizedStatus, transactionIdsBySelectedPeriod, transactionReviewLocalDataById, selectedCheckBoxTransactionIds, transactionIdsWithUnsavedData, uploadReceiptStatusById, selectedTransactionId, selectedTransactionLineId, } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab];
20
20
  const uncategorizedIncomeExpense = (0, accountListSelector_1.getUncategorizedAccounts)(accountState, accountListState, 'accountList');
21
21
  const accountList = (0, accountListSelector_1.getAccountList)(accountState, accountListState, 'accountList');
22
22
  const classList = (0, classListSelector_1.getClassList)(classState, classListState);
@@ -100,6 +100,7 @@ function getExpenseAutomationTransactionView(state) {
100
100
  completionStatus,
101
101
  totalCountByTab,
102
102
  fetchStateByTransactionTabs: fetchStateByTab,
103
+ uploadReceiptStatusById,
103
104
  selectedTransactionId,
104
105
  selectedTransactionLineId,
105
106
  };
@@ -97,6 +97,7 @@ export interface TransactionsTabViewState extends FetchedState {
97
97
  transactionIdsWithUnsavedData: ID[];
98
98
  transactionReviewLocalDataById: Record<ID | TransactionDetailKey, SupportedTransactionCategorization>;
99
99
  uiState: TransactionsViewUIState;
100
+ uploadReceiptStatusById: Record<ID, FetchStateAndError>;
100
101
  selectedTransactionId?: ID;
101
102
  selectedTransactionLineId?: ID;
102
103
  }
@@ -161,10 +161,8 @@ const billPaySetupApproverView = (0, toolkit_1.createSlice)({
161
161
  reducer(draft, action) {
162
162
  const { approvalRuleIds, affectedEntityIds, newApprovalRuleId } = action.payload;
163
163
  if (draft.billPaySetupApproverViewUpdateData != null) {
164
- if (draft.billPaySetupApproverViewUpdateData.type ===
165
- 'approval_update' &&
166
- draft.billPaySetupApproverViewUpdateData.data
167
- ?.isApplicableOnPendingApprovalEntity === true) {
164
+ if (draft.billPaySetupApproverViewUpdateData.data
165
+ ?.isApplicableOnPendingApprovalEntity === true) {
168
166
  draft.listeningToPusherEvent = true;
169
167
  }
170
168
  draft.billPaySetupApproverViewUpdateData.updateStatus = {
@@ -40,11 +40,10 @@ const toApprovalChangableInfoPayload = (approverViewUpdateData) => {
40
40
  const payload = {
41
41
  criteria: criteriaPayload,
42
42
  steps,
43
+ is_applicable_on_pending_approval_entity: approverViewUpdateData.isApplicableOnPendingApprovalEntity ?? true,
43
44
  };
44
45
  if (isUpdate) {
45
46
  payload.approval_rule_id = approverViewUpdateData.approvalRuleId;
46
- payload.is_applicable_on_pending_approval_entity =
47
- approverViewUpdateData.isApplicableOnPendingApprovalEntity ?? false;
48
47
  }
49
48
  return payload;
50
49
  };
@@ -183,9 +183,8 @@ const remiSetupApproverView = (0, toolkit_1.createSlice)({
183
183
  reducer(draft, action) {
184
184
  const { approvalRuleIds, affectedEntityIds, newApprovalRuleId } = action.payload;
185
185
  if (draft.remiSetupApproverViewUpdateData != null) {
186
- if (draft.remiSetupApproverViewUpdateData.type === 'approval_update' &&
187
- draft.remiSetupApproverViewUpdateData.data
188
- ?.isApplicableOnPendingApprovalEntity === true) {
186
+ if (draft.remiSetupApproverViewUpdateData.data
187
+ ?.isApplicableOnPendingApprovalEntity === true) {
189
188
  draft.listeningToPusherEvent = true;
190
189
  }
191
190
  draft.remiSetupApproverViewUpdateData.updateStatus = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.19.76",
3
+ "version": "4.19.77-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",