@open-tender/cloud 0.1.51 → 0.1.52

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/.DS_Store CHANGED
Binary file
@@ -118,9 +118,77 @@ export declare const selectCartQuantity: (state: AppState) => number;
118
118
  export declare const selectCartTotal: (state: AppState) => number;
119
119
  export declare const selectCartCounts: (state: AppState) => CartCounts;
120
120
  export declare const selectCanOrder: (state: AppState) => RequestedAt | null;
121
- export declare const selectOrderLimits: (state: AppState) => {
121
+ export declare const selectOrderLimits: ((state: import("redux").EmptyObject & {
122
+ alerts: import("@open-tender/types").Alerts;
123
+ notifications: import("@open-tender/types").Notifications;
124
+ allergens: import("./allergens").AllergensState;
125
+ announcements: import("./announcements").AnnouncementsState;
126
+ customer: import("redux").CombinedState<{
127
+ account: import("./customer").AccountState;
128
+ allergens: import("./customer").CustomerAllergensState;
129
+ addresses: import("./customer").CustomerAddressesState;
130
+ communicationPreferences: import("./customer").CustomerCommunicationPrefsState;
131
+ creditCards: import("./customer").CustomerCreditCardsState;
132
+ favorites: import("./customer").CustomerFavoritesState;
133
+ fcmToken: import("./customer").CustomerFcmTokenState;
134
+ giftCards: import("./customer").CustomerGiftCardsState;
135
+ orders: import("./customer").CustomerOrdersState;
136
+ order: import("./customer").CustomerOrderState;
137
+ loyalty: import("./customer").CustomerLoyaltyState;
138
+ groupOrders: import("./customer").CustomerGroupOrdersState;
139
+ houseAccounts: import("./customer").CustomerHouseAccountsState;
140
+ rewards: import("./customer").CustomerRewardsState;
141
+ qrcode: import("./customer").CustomerQRCodeState;
142
+ thanx: import("./customer").CustomerThanxState;
143
+ levelup: import("./customer").CustomerLevelUpState;
144
+ }>;
145
+ signUp: import("./signUp").SignUpState;
146
+ revenueCenters: import("./revenueCenters").RevenueCentersState;
147
+ completedOrders: import("./completedOrders").CompletedOrdersState;
148
+ checkout: import("./checkout").CheckoutState;
149
+ order: OrderState;
150
+ orderFulfillment: import("./orderFulfillment").OrderFulfillmentState;
151
+ orderRating: import("./orderRating").OrderRatingState;
152
+ deals: import("./deals").DealState;
153
+ confirmation: import("./confirmation").ConfirmationState;
154
+ donations: import("./donations").DonationState;
155
+ guest: import("./guest").GuestState;
156
+ verifyAccount: import("./verifyAccount").VerifyAccountState;
157
+ menu: import("./menu").MenuState;
158
+ resetPassword: import("./resetPassword").ResetPasswordState;
159
+ validTimes: import("./validTimes").ValidTimesState;
160
+ menuItems: import("./menuItems").MenuItemsState;
161
+ menuDisplay: import("./menuDisplay").MenuDisplayState;
162
+ giftCards: import("./giftCards").GiftCardsState;
163
+ groupOrder: import("./groupOrder").GroupOrderState;
164
+ levelup: import("./levelup").LevelupState;
165
+ config: import("./config").ConfigState;
166
+ geolocation: import("./geolocation").GeoLocationState;
167
+ loader: import("./loader").LoaderState;
168
+ qr: import("./qr").QrState;
169
+ misc: import("./misc").MiscState;
170
+ modal: Modal;
171
+ navSite: import("./navSite").NavSiteState;
172
+ nav: import("./nav").NavState;
173
+ posts: import("./posts").PostsSlice;
174
+ sidebarModal: import("./sidebarModal").SidebarModalState;
175
+ sidebar: import("./sidebar").SidebarState;
176
+ tags: import("./tags").TagsState;
177
+ }) => {
122
178
  orderMinimum: number | null;
123
179
  orderMaximum: number | null;
180
+ }) & import("reselect").OutputSelectorFields<(args_0: {
181
+ revenueCenter: RevenueCenter | null;
182
+ serviceType: ServiceType | null;
183
+ cartGuest: import("./groupOrder").GroupOrderGuestState | null;
184
+ spendingLimit: string | null;
185
+ }) => {
186
+ orderMinimum: number | null;
187
+ orderMaximum: number | null;
188
+ }, {
189
+ clearCache: () => void;
190
+ }> & {
191
+ clearCache: () => void;
124
192
  };
125
193
  export declare const selectCartIds: (state: AppState) => number[];
126
194
  export declare const selectMenuSlug: (state: AppState) => string;
@@ -450,12 +450,14 @@ const selectCanOrder = (state) => state.order.revenueCenter &&
450
450
  state.order.serviceType &&
451
451
  state.order.requestedAt;
452
452
  exports.selectCanOrder = selectCanOrder;
453
- const selectOrderLimits = (state) => {
453
+ exports.selectOrderLimits = (0, toolkit_1.createSelector)((state) => {
454
454
  const { revenueCenter, serviceType } = state.order;
455
+ const { cartGuest, spendingLimit } = state.groupOrder;
456
+ return { revenueCenter, serviceType, cartGuest, spendingLimit };
457
+ }, ({ revenueCenter, serviceType, cartGuest, spendingLimit }) => {
455
458
  if (!revenueCenter || !serviceType) {
456
459
  return { orderMinimum: null, orderMaximum: null };
457
460
  }
458
- const { cartGuest, spendingLimit } = state.groupOrder;
459
461
  const { order_maximum, order_minimum } = revenueCenter;
460
462
  const orderMax = cartGuest && spendingLimit
461
463
  ? parseFloat(spendingLimit)
@@ -470,8 +472,7 @@ const selectOrderLimits = (state) => {
470
472
  orderMinimum: orderMinimum > 0 ? orderMinimum : null,
471
473
  orderMaximum: orderMaximum > 0 ? orderMaximum : null
472
474
  };
473
- };
474
- exports.selectOrderLimits = selectOrderLimits;
475
+ });
475
476
  const selectCartIds = (state) => {
476
477
  return state.order.cart ? state.order.cart.map(i => i.id) : [];
477
478
  };
@@ -118,9 +118,77 @@ export declare const selectCartQuantity: (state: AppState) => number;
118
118
  export declare const selectCartTotal: (state: AppState) => number;
119
119
  export declare const selectCartCounts: (state: AppState) => CartCounts;
120
120
  export declare const selectCanOrder: (state: AppState) => RequestedAt | null;
121
- export declare const selectOrderLimits: (state: AppState) => {
121
+ export declare const selectOrderLimits: ((state: import("redux").EmptyObject & {
122
+ alerts: import("@open-tender/types").Alerts;
123
+ notifications: import("@open-tender/types").Notifications;
124
+ allergens: import("./allergens").AllergensState;
125
+ announcements: import("./announcements").AnnouncementsState;
126
+ customer: import("redux").CombinedState<{
127
+ account: import("./customer").AccountState;
128
+ allergens: import("./customer").CustomerAllergensState;
129
+ addresses: import("./customer").CustomerAddressesState;
130
+ communicationPreferences: import("./customer").CustomerCommunicationPrefsState;
131
+ creditCards: import("./customer").CustomerCreditCardsState;
132
+ favorites: import("./customer").CustomerFavoritesState;
133
+ fcmToken: import("./customer").CustomerFcmTokenState;
134
+ giftCards: import("./customer").CustomerGiftCardsState;
135
+ orders: import("./customer").CustomerOrdersState;
136
+ order: import("./customer").CustomerOrderState;
137
+ loyalty: import("./customer").CustomerLoyaltyState;
138
+ groupOrders: import("./customer").CustomerGroupOrdersState;
139
+ houseAccounts: import("./customer").CustomerHouseAccountsState;
140
+ rewards: import("./customer").CustomerRewardsState;
141
+ qrcode: import("./customer").CustomerQRCodeState;
142
+ thanx: import("./customer").CustomerThanxState;
143
+ levelup: import("./customer").CustomerLevelUpState;
144
+ }>;
145
+ signUp: import("./signUp").SignUpState;
146
+ revenueCenters: import("./revenueCenters").RevenueCentersState;
147
+ completedOrders: import("./completedOrders").CompletedOrdersState;
148
+ checkout: import("./checkout").CheckoutState;
149
+ order: OrderState;
150
+ orderFulfillment: import("./orderFulfillment").OrderFulfillmentState;
151
+ orderRating: import("./orderRating").OrderRatingState;
152
+ deals: import("./deals").DealState;
153
+ confirmation: import("./confirmation").ConfirmationState;
154
+ donations: import("./donations").DonationState;
155
+ guest: import("./guest").GuestState;
156
+ verifyAccount: import("./verifyAccount").VerifyAccountState;
157
+ menu: import("./menu").MenuState;
158
+ resetPassword: import("./resetPassword").ResetPasswordState;
159
+ validTimes: import("./validTimes").ValidTimesState;
160
+ menuItems: import("./menuItems").MenuItemsState;
161
+ menuDisplay: import("./menuDisplay").MenuDisplayState;
162
+ giftCards: import("./giftCards").GiftCardsState;
163
+ groupOrder: import("./groupOrder").GroupOrderState;
164
+ levelup: import("./levelup").LevelupState;
165
+ config: import("./config").ConfigState;
166
+ geolocation: import("./geolocation").GeoLocationState;
167
+ loader: import("./loader").LoaderState;
168
+ qr: import("./qr").QrState;
169
+ misc: import("./misc").MiscState;
170
+ modal: Modal;
171
+ navSite: import("./navSite").NavSiteState;
172
+ nav: import("./nav").NavState;
173
+ posts: import("./posts").PostsSlice;
174
+ sidebarModal: import("./sidebarModal").SidebarModalState;
175
+ sidebar: import("./sidebar").SidebarState;
176
+ tags: import("./tags").TagsState;
177
+ }) => {
122
178
  orderMinimum: number | null;
123
179
  orderMaximum: number | null;
180
+ }) & import("reselect").OutputSelectorFields<(args_0: {
181
+ revenueCenter: RevenueCenter | null;
182
+ serviceType: ServiceType | null;
183
+ cartGuest: import("./groupOrder").GroupOrderGuestState | null;
184
+ spendingLimit: string | null;
185
+ }) => {
186
+ orderMinimum: number | null;
187
+ orderMaximum: number | null;
188
+ }, {
189
+ clearCache: () => void;
190
+ }> & {
191
+ clearCache: () => void;
124
192
  };
125
193
  export declare const selectCartIds: (state: AppState) => number[];
126
194
  export declare const selectMenuSlug: (state: AppState) => string;
@@ -1,5 +1,5 @@
1
1
  import { __awaiter } from "tslib";
2
- import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
2
+ import { createAsyncThunk, createSelector, createSlice } from '@reduxjs/toolkit';
3
3
  import { ReducerType } from './types';
4
4
  import { addItem, calcCartCounts, decrementItem, getUserTimezone, incrementItem, makeFirstRequestedAt, makeFirstTimes, makeRandomNumberString, makeRequestedAtStr, rehydrateCart, rehydrateCheckoutForm, removeItem, timezoneMap } from '@open-tender/utils';
5
5
  import { updateForm } from './checkout';
@@ -438,12 +438,14 @@ export const selectCartCounts = (state) => state.order.cartCounts || {};
438
438
  export const selectCanOrder = (state) => state.order.revenueCenter &&
439
439
  state.order.serviceType &&
440
440
  state.order.requestedAt;
441
- export const selectOrderLimits = (state) => {
441
+ export const selectOrderLimits = createSelector((state) => {
442
442
  const { revenueCenter, serviceType } = state.order;
443
+ const { cartGuest, spendingLimit } = state.groupOrder;
444
+ return { revenueCenter, serviceType, cartGuest, spendingLimit };
445
+ }, ({ revenueCenter, serviceType, cartGuest, spendingLimit }) => {
443
446
  if (!revenueCenter || !serviceType) {
444
447
  return { orderMinimum: null, orderMaximum: null };
445
448
  }
446
- const { cartGuest, spendingLimit } = state.groupOrder;
447
449
  const { order_maximum, order_minimum } = revenueCenter;
448
450
  const orderMax = cartGuest && spendingLimit
449
451
  ? parseFloat(spendingLimit)
@@ -458,7 +460,7 @@ export const selectOrderLimits = (state) => {
458
460
  orderMinimum: orderMinimum > 0 ? orderMinimum : null,
459
461
  orderMaximum: orderMaximum > 0 ? orderMaximum : null
460
462
  };
461
- };
463
+ });
462
464
  export const selectCartIds = (state) => {
463
465
  return state.order.cart ? state.order.cart.map(i => i.id) : [];
464
466
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/cloud",
3
- "version": "0.1.51",
3
+ "version": "0.1.52",
4
4
  "description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",