@open-tender/cloud 0.0.1

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 (215) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +3 -0
  3. package/dist/cjs/app/hooks.d.ts +50 -0
  4. package/dist/cjs/app/hooks.js +8 -0
  5. package/dist/cjs/app/index.d.ts +1 -0
  6. package/dist/cjs/app/index.js +4 -0
  7. package/dist/cjs/app/store.d.ts +146 -0
  8. package/dist/cjs/app/store.js +51 -0
  9. package/dist/cjs/index.d.ts +3 -0
  10. package/dist/cjs/index.js +7 -0
  11. package/dist/cjs/services/api.d.ts +162 -0
  12. package/dist/cjs/services/api.js +691 -0
  13. package/dist/cjs/services/errors.d.ts +50 -0
  14. package/dist/cjs/services/errors.js +53 -0
  15. package/dist/cjs/services/index.d.ts +2 -0
  16. package/dist/cjs/services/index.js +6 -0
  17. package/dist/cjs/slices/alerts.d.ts +5 -0
  18. package/dist/cjs/slices/alerts.js +28 -0
  19. package/dist/cjs/slices/allergens.d.ts +19 -0
  20. package/dist/cjs/slices/allergens.js +66 -0
  21. package/dist/cjs/slices/announcements.d.ts +28 -0
  22. package/dist/cjs/slices/announcements.js +77 -0
  23. package/dist/cjs/slices/checkout.d.ts +38 -0
  24. package/dist/cjs/slices/checkout.js +276 -0
  25. package/dist/cjs/slices/completedOrders.d.ts +25 -0
  26. package/dist/cjs/slices/completedOrders.js +61 -0
  27. package/dist/cjs/slices/config.d.ts +87 -0
  28. package/dist/cjs/slices/config.js +121 -0
  29. package/dist/cjs/slices/confirmation.d.ts +8 -0
  30. package/dist/cjs/slices/confirmation.js +22 -0
  31. package/dist/cjs/slices/customer/account.d.ts +59 -0
  32. package/dist/cjs/slices/customer/account.js +288 -0
  33. package/dist/cjs/slices/customer/addresses.d.ts +37 -0
  34. package/dist/cjs/slices/customer/addresses.js +134 -0
  35. package/dist/cjs/slices/customer/allergens.d.ts +25 -0
  36. package/dist/cjs/slices/customer/allergens.js +94 -0
  37. package/dist/cjs/slices/customer/communicationPreferences.d.ts +44 -0
  38. package/dist/cjs/slices/customer/communicationPreferences.js +165 -0
  39. package/dist/cjs/slices/customer/creditCards.d.ts +46 -0
  40. package/dist/cjs/slices/customer/creditCards.js +172 -0
  41. package/dist/cjs/slices/customer/favorites.d.ts +45 -0
  42. package/dist/cjs/slices/customer/favorites.js +176 -0
  43. package/dist/cjs/slices/customer/fcmToken.d.ts +31 -0
  44. package/dist/cjs/slices/customer/fcmToken.js +110 -0
  45. package/dist/cjs/slices/customer/giftCards.d.ts +62 -0
  46. package/dist/cjs/slices/customer/giftCards.js +196 -0
  47. package/dist/cjs/slices/customer/groupOrders.d.ts +33 -0
  48. package/dist/cjs/slices/customer/groupOrders.js +148 -0
  49. package/dist/cjs/slices/customer/houseAccounts.d.ts +20 -0
  50. package/dist/cjs/slices/customer/houseAccounts.js +67 -0
  51. package/dist/cjs/slices/customer/index.d.ts +29 -0
  52. package/dist/cjs/slices/customer/index.js +52 -0
  53. package/dist/cjs/slices/customer/levelup.d.ts +36 -0
  54. package/dist/cjs/slices/customer/levelup.js +128 -0
  55. package/dist/cjs/slices/customer/loyalty.d.ts +27 -0
  56. package/dist/cjs/slices/customer/loyalty.js +87 -0
  57. package/dist/cjs/slices/customer/order.d.ts +25 -0
  58. package/dist/cjs/slices/customer/order.js +84 -0
  59. package/dist/cjs/slices/customer/orders.d.ts +20 -0
  60. package/dist/cjs/slices/customer/orders.js +67 -0
  61. package/dist/cjs/slices/customer/qrCode.d.ts +17 -0
  62. package/dist/cjs/slices/customer/qrCode.js +57 -0
  63. package/dist/cjs/slices/customer/rewards.d.ts +20 -0
  64. package/dist/cjs/slices/customer/rewards.js +67 -0
  65. package/dist/cjs/slices/customer/thanx.d.ts +17 -0
  66. package/dist/cjs/slices/customer/thanx.js +57 -0
  67. package/dist/cjs/slices/deals.d.ts +19 -0
  68. package/dist/cjs/slices/deals.js +97 -0
  69. package/dist/cjs/slices/donations.d.ts +26 -0
  70. package/dist/cjs/slices/donations.js +62 -0
  71. package/dist/cjs/slices/giftCards.d.ts +26 -0
  72. package/dist/cjs/slices/giftCards.js +63 -0
  73. package/dist/cjs/slices/groupOrder.d.ts +80 -0
  74. package/dist/cjs/slices/groupOrder.js +226 -0
  75. package/dist/cjs/slices/guest.d.ts +38 -0
  76. package/dist/cjs/slices/guest.js +101 -0
  77. package/dist/cjs/slices/index.d.ts +27 -0
  78. package/dist/cjs/slices/index.js +30 -0
  79. package/dist/cjs/slices/levelup.d.ts +18 -0
  80. package/dist/cjs/slices/levelup.js +51 -0
  81. package/dist/cjs/slices/menu.d.ts +22 -0
  82. package/dist/cjs/slices/menu.js +86 -0
  83. package/dist/cjs/slices/menuDisplay.d.ts +26 -0
  84. package/dist/cjs/slices/menuDisplay.js +59 -0
  85. package/dist/cjs/slices/menuItems.d.ts +20 -0
  86. package/dist/cjs/slices/menuItems.js +57 -0
  87. package/dist/cjs/slices/notifications.d.ts +5 -0
  88. package/dist/cjs/slices/notifications.js +27 -0
  89. package/dist/cjs/slices/order.d.ts +77 -0
  90. package/dist/cjs/slices/order.js +426 -0
  91. package/dist/cjs/slices/orderFulfillment.d.ts +29 -0
  92. package/dist/cjs/slices/orderFulfillment.js +83 -0
  93. package/dist/cjs/slices/orderRating.d.ts +34 -0
  94. package/dist/cjs/slices/orderRating.js +108 -0
  95. package/dist/cjs/slices/orders.d.ts +86 -0
  96. package/dist/cjs/slices/orders.js +311 -0
  97. package/dist/cjs/slices/resetPassword.d.ts +29 -0
  98. package/dist/cjs/slices/resetPassword.js +83 -0
  99. package/dist/cjs/slices/revenueCenters.d.ts +35 -0
  100. package/dist/cjs/slices/revenueCenters.js +95 -0
  101. package/dist/cjs/slices/signUp.d.ts +19 -0
  102. package/dist/cjs/slices/signUp.js +52 -0
  103. package/dist/cjs/slices/types.d.ts +43 -0
  104. package/dist/cjs/slices/types.js +47 -0
  105. package/dist/cjs/slices/validTimes.d.ts +17 -0
  106. package/dist/cjs/slices/validTimes.js +57 -0
  107. package/dist/cjs/slices/verifyAccount.d.ts +17 -0
  108. package/dist/cjs/slices/verifyAccount.js +54 -0
  109. package/dist/esm/app/hooks.d.ts +50 -0
  110. package/dist/esm/app/hooks.js +4 -0
  111. package/dist/esm/app/index.d.ts +1 -0
  112. package/dist/esm/app/index.js +1 -0
  113. package/dist/esm/app/store.d.ts +146 -0
  114. package/dist/esm/app/store.js +48 -0
  115. package/dist/esm/index.d.ts +3 -0
  116. package/dist/esm/index.js +3 -0
  117. package/dist/esm/services/api.d.ts +162 -0
  118. package/dist/esm/services/api.js +689 -0
  119. package/dist/esm/services/errors.d.ts +50 -0
  120. package/dist/esm/services/errors.js +50 -0
  121. package/dist/esm/services/index.d.ts +2 -0
  122. package/dist/esm/services/index.js +2 -0
  123. package/dist/esm/slices/alerts.d.ts +5 -0
  124. package/dist/esm/slices/alerts.js +23 -0
  125. package/dist/esm/slices/allergens.d.ts +19 -0
  126. package/dist/esm/slices/allergens.js +60 -0
  127. package/dist/esm/slices/announcements.d.ts +28 -0
  128. package/dist/esm/slices/announcements.js +71 -0
  129. package/dist/esm/slices/checkout.d.ts +38 -0
  130. package/dist/esm/slices/checkout.js +268 -0
  131. package/dist/esm/slices/completedOrders.d.ts +25 -0
  132. package/dist/esm/slices/completedOrders.js +57 -0
  133. package/dist/esm/slices/config.d.ts +87 -0
  134. package/dist/esm/slices/config.js +102 -0
  135. package/dist/esm/slices/confirmation.d.ts +8 -0
  136. package/dist/esm/slices/confirmation.js +18 -0
  137. package/dist/esm/slices/customer/account.d.ts +59 -0
  138. package/dist/esm/slices/customer/account.js +282 -0
  139. package/dist/esm/slices/customer/addresses.d.ts +37 -0
  140. package/dist/esm/slices/customer/addresses.js +129 -0
  141. package/dist/esm/slices/customer/allergens.d.ts +25 -0
  142. package/dist/esm/slices/customer/allergens.js +89 -0
  143. package/dist/esm/slices/customer/communicationPreferences.d.ts +44 -0
  144. package/dist/esm/slices/customer/communicationPreferences.js +161 -0
  145. package/dist/esm/slices/customer/creditCards.d.ts +46 -0
  146. package/dist/esm/slices/customer/creditCards.js +166 -0
  147. package/dist/esm/slices/customer/favorites.d.ts +45 -0
  148. package/dist/esm/slices/customer/favorites.js +171 -0
  149. package/dist/esm/slices/customer/fcmToken.d.ts +31 -0
  150. package/dist/esm/slices/customer/fcmToken.js +106 -0
  151. package/dist/esm/slices/customer/giftCards.d.ts +62 -0
  152. package/dist/esm/slices/customer/giftCards.js +191 -0
  153. package/dist/esm/slices/customer/groupOrders.d.ts +33 -0
  154. package/dist/esm/slices/customer/groupOrders.js +143 -0
  155. package/dist/esm/slices/customer/houseAccounts.d.ts +20 -0
  156. package/dist/esm/slices/customer/houseAccounts.js +62 -0
  157. package/dist/esm/slices/customer/index.d.ts +29 -0
  158. package/dist/esm/slices/customer/index.js +48 -0
  159. package/dist/esm/slices/customer/levelup.d.ts +36 -0
  160. package/dist/esm/slices/customer/levelup.js +123 -0
  161. package/dist/esm/slices/customer/loyalty.d.ts +27 -0
  162. package/dist/esm/slices/customer/loyalty.js +79 -0
  163. package/dist/esm/slices/customer/order.d.ts +25 -0
  164. package/dist/esm/slices/customer/order.js +79 -0
  165. package/dist/esm/slices/customer/orders.d.ts +20 -0
  166. package/dist/esm/slices/customer/orders.js +62 -0
  167. package/dist/esm/slices/customer/qrCode.d.ts +17 -0
  168. package/dist/esm/slices/customer/qrCode.js +53 -0
  169. package/dist/esm/slices/customer/rewards.d.ts +20 -0
  170. package/dist/esm/slices/customer/rewards.js +62 -0
  171. package/dist/esm/slices/customer/thanx.d.ts +17 -0
  172. package/dist/esm/slices/customer/thanx.js +53 -0
  173. package/dist/esm/slices/deals.d.ts +19 -0
  174. package/dist/esm/slices/deals.js +91 -0
  175. package/dist/esm/slices/donations.d.ts +26 -0
  176. package/dist/esm/slices/donations.js +58 -0
  177. package/dist/esm/slices/giftCards.d.ts +26 -0
  178. package/dist/esm/slices/giftCards.js +59 -0
  179. package/dist/esm/slices/groupOrder.d.ts +80 -0
  180. package/dist/esm/slices/groupOrder.js +216 -0
  181. package/dist/esm/slices/guest.d.ts +38 -0
  182. package/dist/esm/slices/guest.js +97 -0
  183. package/dist/esm/slices/index.d.ts +27 -0
  184. package/dist/esm/slices/index.js +27 -0
  185. package/dist/esm/slices/levelup.d.ts +18 -0
  186. package/dist/esm/slices/levelup.js +48 -0
  187. package/dist/esm/slices/menu.d.ts +22 -0
  188. package/dist/esm/slices/menu.js +81 -0
  189. package/dist/esm/slices/menuDisplay.d.ts +26 -0
  190. package/dist/esm/slices/menuDisplay.js +55 -0
  191. package/dist/esm/slices/menuItems.d.ts +20 -0
  192. package/dist/esm/slices/menuItems.js +52 -0
  193. package/dist/esm/slices/notifications.d.ts +5 -0
  194. package/dist/esm/slices/notifications.js +22 -0
  195. package/dist/esm/slices/order.d.ts +77 -0
  196. package/dist/esm/slices/order.js +423 -0
  197. package/dist/esm/slices/orderFulfillment.d.ts +29 -0
  198. package/dist/esm/slices/orderFulfillment.js +79 -0
  199. package/dist/esm/slices/orderRating.d.ts +34 -0
  200. package/dist/esm/slices/orderRating.js +104 -0
  201. package/dist/esm/slices/orders.d.ts +86 -0
  202. package/dist/esm/slices/orders.js +302 -0
  203. package/dist/esm/slices/resetPassword.d.ts +29 -0
  204. package/dist/esm/slices/resetPassword.js +79 -0
  205. package/dist/esm/slices/revenueCenters.d.ts +35 -0
  206. package/dist/esm/slices/revenueCenters.js +89 -0
  207. package/dist/esm/slices/signUp.d.ts +19 -0
  208. package/dist/esm/slices/signUp.js +48 -0
  209. package/dist/esm/slices/types.d.ts +43 -0
  210. package/dist/esm/slices/types.js +44 -0
  211. package/dist/esm/slices/validTimes.d.ts +17 -0
  212. package/dist/esm/slices/validTimes.js +52 -0
  213. package/dist/esm/slices/verifyAccount.d.ts +17 -0
  214. package/dist/esm/slices/verifyAccount.js +50 -0
  215. package/package.json +61 -0
@@ -0,0 +1,25 @@
1
+ import { AppState } from '../app';
2
+ import { CompletedOrders, RequestError, RequestStatus } from '@open-tender/types';
3
+ export interface CompletedOrdersState {
4
+ entities: CompletedOrders;
5
+ error: RequestError;
6
+ loading: RequestStatus;
7
+ }
8
+ export declare enum CompletedOrdersActionType {
9
+ FetchCompletedOrders = "completedOrders/fetchCompletedOrders",
10
+ RefreshCompletedOrders = "completedOrders/refreshCompletedOrders"
11
+ }
12
+ export declare const fetchCompletedOrders: import("@reduxjs/toolkit").AsyncThunk<CompletedOrders, {
13
+ business_date: string;
14
+ channelTypes: string;
15
+ }, {
16
+ state: AppState;
17
+ rejectValue: RequestError;
18
+ }>;
19
+ export declare const resetCompletedOrders: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
20
+ export declare const selectCompletedOrders: (state: AppState) => {
21
+ orders: CompletedOrders;
22
+ loading: RequestStatus;
23
+ error: RequestError;
24
+ };
25
+ export declare const completedOrdersReducer: import("redux").Reducer<CompletedOrdersState, import("redux").AnyAction>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.completedOrdersReducer = exports.selectCompletedOrders = exports.resetCompletedOrders = exports.fetchCompletedOrders = exports.CompletedOrdersActionType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const toolkit_1 = require("@reduxjs/toolkit");
6
+ const types_1 = require("./types");
7
+ const initialState = {
8
+ entities: [],
9
+ loading: 'idle',
10
+ error: null
11
+ };
12
+ var CompletedOrdersActionType;
13
+ (function (CompletedOrdersActionType) {
14
+ CompletedOrdersActionType["FetchCompletedOrders"] = "completedOrders/fetchCompletedOrders";
15
+ CompletedOrdersActionType["RefreshCompletedOrders"] = "completedOrders/refreshCompletedOrders";
16
+ })(CompletedOrdersActionType = exports.CompletedOrdersActionType || (exports.CompletedOrdersActionType = {}));
17
+ exports.fetchCompletedOrders = (0, toolkit_1.createAsyncThunk)(CompletedOrdersActionType.FetchCompletedOrders, (requestData, { getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
+ try {
19
+ const { api } = getState().config;
20
+ const args = {
21
+ business_date: requestData.business_date,
22
+ prep_status: `COMPLETED,FULFILLED`
23
+ };
24
+ if (requestData.channelTypes)
25
+ args.channel_type = requestData.channelTypes;
26
+ const orders = yield api.getOrders(args);
27
+ return orders;
28
+ }
29
+ catch (err) {
30
+ return rejectWithValue(err);
31
+ }
32
+ }));
33
+ const completedOrdersSlice = (0, toolkit_1.createSlice)({
34
+ name: types_1.ReducerType.CompletedOrders,
35
+ initialState,
36
+ reducers: {
37
+ resetCompletedOrders: () => initialState
38
+ },
39
+ extraReducers: builder => {
40
+ builder
41
+ .addCase(exports.fetchCompletedOrders.fulfilled, (state, action) => {
42
+ state.entities = action.payload;
43
+ state.loading = 'idle';
44
+ state.error = null;
45
+ })
46
+ .addCase(exports.fetchCompletedOrders.pending, state => {
47
+ state.loading = 'pending';
48
+ })
49
+ .addCase(exports.fetchCompletedOrders.rejected, (state, action) => {
50
+ state.error = action.payload;
51
+ state.loading = 'idle';
52
+ });
53
+ }
54
+ });
55
+ exports.resetCompletedOrders = completedOrdersSlice.actions.resetCompletedOrders;
56
+ const selectCompletedOrders = (state) => {
57
+ const { entities: orders, loading, error } = state.completedOrders;
58
+ return { orders, loading, error };
59
+ };
60
+ exports.selectCompletedOrders = selectCompletedOrders;
61
+ exports.completedOrdersReducer = completedOrdersSlice.reducer;
@@ -0,0 +1,87 @@
1
+ import { ConfigApp, ConfigBrand, ConfigContent, ConfigSettings, ConfigTheme, RequestError, RequestStatus } from '@open-tender/types';
2
+ import { AppState } from '../app';
3
+ export interface ConfigState {
4
+ api: any;
5
+ itemTypes: any;
6
+ app: ConfigApp | null;
7
+ brand: ConfigBrand | null;
8
+ content: ConfigContent | null;
9
+ error: any;
10
+ isBackgroundFetch: boolean;
11
+ loading: RequestStatus;
12
+ retries: number;
13
+ settings: ConfigSettings | null;
14
+ theme: ConfigTheme | null;
15
+ }
16
+ export declare enum ConfigActionType {
17
+ FetchConfig = "config/getConfig"
18
+ }
19
+ export declare const fetchConfig: import("@reduxjs/toolkit").AsyncThunk<ConfigState, {
20
+ baseUrl: string;
21
+ authUrl: string;
22
+ clientId: string;
23
+ brandId: string;
24
+ callback?: (() => void) | undefined;
25
+ }, {
26
+ state: AppState;
27
+ rejectValue: RequestError;
28
+ }>;
29
+ export declare const resetConfig: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, incrementRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
30
+ export declare const selectCateringOnly: (state: AppState) => boolean;
31
+ export declare const selectConfig: (state: AppState) => ConfigState;
32
+ export declare const selectBrand: (state: AppState) => ConfigBrand | null;
33
+ export declare const selectTheme: (state: AppState) => ConfigTheme | null;
34
+ export declare const selectContent: (state: AppState) => ConfigContent | null;
35
+ export declare const selectSettings: (state: AppState) => ConfigSettings | null;
36
+ export declare const selectApi: (state: AppState) => any;
37
+ export declare const selectAccountConfig: (state: AppState) => {
38
+ addresses: import("@open-tender/types").ConfigContentField;
39
+ allergens: import("@open-tender/types").ConfigContentField;
40
+ background: string;
41
+ content: string;
42
+ creditCards: import("@open-tender/types").ConfigContentField;
43
+ deals: import("@open-tender/types").ConfigContentField;
44
+ displayLogo: boolean;
45
+ displayLogoApp: boolean;
46
+ displayLogoMobile: boolean;
47
+ displayed: string[];
48
+ displayedMobile: string[];
49
+ favorites: import("@open-tender/types").ConfigContentField;
50
+ giftCards: import("@open-tender/types").ConfigContentField;
51
+ greeting: string;
52
+ groupOrders: import("@open-tender/types").ConfigContentField;
53
+ houseAccounts: import("@open-tender/types").ConfigContentField;
54
+ levelup: import("@open-tender/types").ConfigContentField;
55
+ loyalty: {
56
+ signUp: string;
57
+ title: string;
58
+ subtitle: string;
59
+ skip: string;
60
+ };
61
+ mobile: string;
62
+ profile: import("@open-tender/types").ConfigContentField;
63
+ punctuation: string;
64
+ recentItems: import("@open-tender/types").ConfigContentField;
65
+ recentOrders: import("@open-tender/types").ConfigContentField;
66
+ rewards: import("@open-tender/types").ConfigContentField;
67
+ showFirstName: boolean;
68
+ showHero: boolean;
69
+ subtitle: string;
70
+ thanx: import("@open-tender/types").ConfigContentField;
71
+ title: string;
72
+ } | undefined;
73
+ export declare const selectDisplaySettings: (state: AppState) => import("@open-tender/types").ConfigDisplaySetting | undefined;
74
+ export declare const selectConfigRetries: (state: AppState) => number;
75
+ export declare const selectLightColor: (state: AppState) => string;
76
+ export declare const selectOptIns: (state: AppState) => {
77
+ accepts_marketing: import("@open-tender/types").ConfigAcceptMarketing | undefined;
78
+ order_notifications: import("@open-tender/types").ConfigOrderNotifications | undefined;
79
+ };
80
+ export declare const selectFulfillment: (state: AppState) => import("@open-tender/types").ConfigFulfillment | undefined;
81
+ export declare const selectRecaptcha: (state: AppState) => {
82
+ addCard: boolean;
83
+ donations: boolean;
84
+ giftCards: boolean;
85
+ } | undefined;
86
+ export declare const selectSoldOutMsg: (state: AppState) => string;
87
+ export declare const configReducer: import("redux").Reducer<ConfigState, import("redux").AnyAction>;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.configReducer = exports.selectSoldOutMsg = exports.selectRecaptcha = exports.selectFulfillment = exports.selectOptIns = exports.selectLightColor = exports.selectConfigRetries = exports.selectDisplaySettings = exports.selectAccountConfig = exports.selectApi = exports.selectSettings = exports.selectContent = exports.selectTheme = exports.selectBrand = exports.selectConfig = exports.selectCateringOnly = exports.incrementRetries = exports.resetRetries = exports.resetConfig = exports.fetchConfig = exports.ConfigActionType = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const toolkit_1 = require("@reduxjs/toolkit");
7
+ const utils_1 = require("@open-tender/utils");
8
+ const types_1 = require("./types");
9
+ const api_1 = tslib_1.__importDefault(require("../services/api"));
10
+ const initialState = {
11
+ app: null,
12
+ brand: null,
13
+ content: null,
14
+ theme: null,
15
+ settings: null,
16
+ api: null,
17
+ loading: 'idle',
18
+ error: null,
19
+ retries: 0,
20
+ isBackgroundFetch: false,
21
+ itemTypes: null
22
+ };
23
+ var ConfigActionType;
24
+ (function (ConfigActionType) {
25
+ ConfigActionType["FetchConfig"] = "config/getConfig";
26
+ })(ConfigActionType = exports.ConfigActionType || (exports.ConfigActionType = {}));
27
+ exports.fetchConfig = (0, toolkit_1.createAsyncThunk)(ConfigActionType.FetchConfig, (options, { rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
28
+ try {
29
+ const api = new api_1.default(options);
30
+ const response = yield api.getConfig();
31
+ const app = { baseUrl: options.baseUrl, authUrl: options.authUrl, clientId: options.clientId, brandId: options.brandId };
32
+ options.callback && options.callback();
33
+ return Object.assign(Object.assign({}, response), { app });
34
+ }
35
+ catch (err) {
36
+ return rejectWithValue(err);
37
+ }
38
+ }));
39
+ const configSlice = (0, toolkit_1.createSlice)({
40
+ name: types_1.ReducerType.Config,
41
+ initialState: initialState,
42
+ reducers: {
43
+ resetConfig: () => initialState,
44
+ resetRetries: state => {
45
+ state.retries = 0;
46
+ },
47
+ incrementRetries: state => {
48
+ state.retries = state.retries + 1;
49
+ },
50
+ },
51
+ extraReducers: builder => {
52
+ builder
53
+ .addCase(exports.fetchConfig.fulfilled, (state, action) => {
54
+ const { app, brand, content, theme, settings } = action.payload;
55
+ state.app = app;
56
+ state.brand = brand;
57
+ state.content = content;
58
+ state.theme = theme ? (0, utils_1.decorateTheme)(theme) : null;
59
+ state.settings = settings;
60
+ state.loading = 'idle';
61
+ state.api = new api_1.default(app);
62
+ state.error = null;
63
+ state.retries = 0;
64
+ })
65
+ .addCase(exports.fetchConfig.pending, (state, action) => {
66
+ var _a;
67
+ state.loading = 'pending';
68
+ state.isBackgroundFetch = ((_a = action === null || action === void 0 ? void 0 : action.meta) === null || _a === void 0 ? void 0 : _a.arg) !== undefined ? true : false;
69
+ })
70
+ .addCase(exports.fetchConfig.rejected, (state, action) => {
71
+ state.error = action.payload;
72
+ state.loading = 'idle';
73
+ });
74
+ }
75
+ });
76
+ _a = configSlice.actions, exports.resetConfig = _a.resetConfig, exports.resetRetries = _a.resetRetries, exports.incrementRetries = _a.incrementRetries;
77
+ const selectCateringOnly = (state) => {
78
+ const { orderTypes } = state.config.settings || {};
79
+ return !!((orderTypes === null || orderTypes === void 0 ? void 0 : orderTypes.includes('CATERING')) && orderTypes.length === 1);
80
+ };
81
+ exports.selectCateringOnly = selectCateringOnly;
82
+ const selectConfig = (state) => state.config;
83
+ exports.selectConfig = selectConfig;
84
+ const selectBrand = (state) => state.config.brand;
85
+ exports.selectBrand = selectBrand;
86
+ const selectTheme = (state) => state.config.theme;
87
+ exports.selectTheme = selectTheme;
88
+ const selectContent = (state) => state.config.content;
89
+ exports.selectContent = selectContent;
90
+ const selectSettings = (state) => state.config.settings;
91
+ exports.selectSettings = selectSettings;
92
+ const selectApi = (state) => state.config.api;
93
+ exports.selectApi = selectApi;
94
+ const selectAccountConfig = (state) => { var _a; return (_a = state.config.content) === null || _a === void 0 ? void 0 : _a.account; };
95
+ exports.selectAccountConfig = selectAccountConfig;
96
+ const selectDisplaySettings = (state) => {
97
+ var _a;
98
+ const orderType = state.order.orderType || 'OLO';
99
+ return (_a = state.config.settings) === null || _a === void 0 ? void 0 : _a.displaySettings[orderType];
100
+ };
101
+ exports.selectDisplaySettings = selectDisplaySettings;
102
+ const selectConfigRetries = (state) => state.config.retries;
103
+ exports.selectConfigRetries = selectConfigRetries;
104
+ const selectLightColor = (state) => state.config.theme ? state.config.theme.colors.light : '#ffffff';
105
+ exports.selectLightColor = selectLightColor;
106
+ const selectOptIns = (state) => {
107
+ const { accepts_marketing, order_notifications } = state.config.brand || {};
108
+ return { accepts_marketing, order_notifications };
109
+ };
110
+ exports.selectOptIns = selectOptIns;
111
+ const selectFulfillment = (state) => { var _a; return (_a = state.config.brand) === null || _a === void 0 ? void 0 : _a.fulfillment; };
112
+ exports.selectFulfillment = selectFulfillment;
113
+ const selectRecaptcha = (state) => { var _a; return (_a = state.config.settings) === null || _a === void 0 ? void 0 : _a.recaptcha; };
114
+ exports.selectRecaptcha = selectRecaptcha;
115
+ const selectSoldOutMsg = (state) => {
116
+ var _a;
117
+ const { soldOutMessage } = ((_a = state.config.content) === null || _a === void 0 ? void 0 : _a.menu) || {};
118
+ return soldOutMessage || 'Sold out for day';
119
+ };
120
+ exports.selectSoldOutMsg = selectSoldOutMsg;
121
+ exports.configReducer = configSlice.reducer;
@@ -0,0 +1,8 @@
1
+ import { Order } from '@open-tender/types';
2
+ import { AppState } from '../app';
3
+ export interface ConfirmationState {
4
+ order: Order | null;
5
+ }
6
+ export declare const resetConfirmation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
7
+ export declare const selectConfirmationOrder: (state: AppState) => Order | null;
8
+ export declare const confirmationReducer: import("redux").Reducer<ConfirmationState, import("redux").AnyAction>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.confirmationReducer = exports.selectConfirmationOrder = exports.resetConfirmation = void 0;
4
+ const toolkit_1 = require("@reduxjs/toolkit");
5
+ const types_1 = require("./types");
6
+ const initialState = {
7
+ order: null
8
+ };
9
+ const confirmationSlice = (0, toolkit_1.createSlice)({
10
+ name: types_1.ReducerType.Confirmation,
11
+ initialState,
12
+ reducers: {
13
+ resetConfirmation: () => initialState,
14
+ setConfirmationOrder: (state, action) => {
15
+ state.order = action.payload;
16
+ }
17
+ }
18
+ });
19
+ exports.resetConfirmation = confirmationSlice.actions.resetConfirmation;
20
+ const selectConfirmationOrder = (state) => state.confirmation.order;
21
+ exports.selectConfirmationOrder = selectConfirmationOrder;
22
+ exports.confirmationReducer = confirmationSlice.reducer;
@@ -0,0 +1,59 @@
1
+ import { AnyAction, ThunkDispatch } from '@reduxjs/toolkit';
2
+ import { AppState } from '../../app';
3
+ import { Auth, LoginData, Profile, RequestError, RequestStatus } from '@open-tender/types';
4
+ export interface AccountState {
5
+ auth: Auth | null;
6
+ profile: Partial<Profile> | null;
7
+ loading: RequestStatus;
8
+ error: RequestError;
9
+ }
10
+ export declare enum AccountActionType {
11
+ LoginCustomer = "customer/loginCustomer",
12
+ LogoutCustomer = "customer/logoutCustomer",
13
+ FetchCustomer = "customer/fetchCustomer",
14
+ UpdateCustomer = "customer/updateCustomer",
15
+ VerifyCustomer = "customer/verifyCustomer",
16
+ LinkPosToken = "customer/linkPosToken"
17
+ }
18
+ export declare const checkAuth: (err: RequestError, dispatch: ThunkDispatch<AppState, unknown, AnyAction>, rejectWithValue: () => any) => Promise<any>;
19
+ export declare const fetchCustomer: import("@reduxjs/toolkit").AsyncThunk<Partial<Profile>, void, {
20
+ state: AppState;
21
+ rejectValue: RequestError;
22
+ }>;
23
+ export declare const loginCustomer: import("@reduxjs/toolkit").AsyncThunk<Auth, LoginData, {
24
+ state: AppState;
25
+ rejectValue: RequestError;
26
+ }>;
27
+ export declare const logoutCustomer: import("@reduxjs/toolkit").AsyncThunk<null, boolean | undefined, {
28
+ state: AppState;
29
+ rejectValue: RequestError;
30
+ }>;
31
+ export declare const linkPosToken: import("@reduxjs/toolkit").AsyncThunk<void, string, {
32
+ state: AppState;
33
+ rejectValue: RequestError;
34
+ }>;
35
+ export declare const updateCustomer: import("@reduxjs/toolkit").AsyncThunk<Partial<Profile>, {
36
+ data: Partial<Profile>;
37
+ callback?: ((data: Partial<Profile>) => void) | undefined;
38
+ }, {
39
+ state: AppState;
40
+ rejectValue: RequestError;
41
+ }>;
42
+ export declare const sendCustomerVerificationEmail: import("@reduxjs/toolkit").AsyncThunk<void, string, {
43
+ state: AppState;
44
+ rejectValue: RequestError;
45
+ }>;
46
+ export declare const loginCustomerThanx: import("@reduxjs/toolkit").AsyncThunk<null, string, {
47
+ state: AppState;
48
+ rejectValue: RequestError;
49
+ }>;
50
+ export declare const authCustomerThanx: import("@reduxjs/toolkit").AsyncThunk<Auth, {
51
+ code: any;
52
+ path: string | null;
53
+ }, {
54
+ state: AppState;
55
+ rejectValue: RequestError;
56
+ }>;
57
+ export declare const resetCustomer: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetLoginError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, fulfillLoginCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
58
+ export declare const selectToken: (state: AppState) => string | null;
59
+ export declare const accountReducer: import("redux").Reducer<AccountState, AnyAction>;
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.accountReducer = exports.selectToken = exports.fulfillLoginCustomer = exports.resetLoginError = exports.resetCustomer = exports.authCustomerThanx = exports.loginCustomerThanx = exports.sendCustomerVerificationEmail = exports.updateCustomer = exports.linkPosToken = exports.logoutCustomer = exports.loginCustomer = exports.fetchCustomer = exports.checkAuth = exports.AccountActionType = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const toolkit_1 = require("@reduxjs/toolkit");
7
+ const types_1 = require("../types");
8
+ const types_2 = require("@open-tender/types");
9
+ const notifications_1 = require("../notifications");
10
+ const allergens_1 = require("./allergens");
11
+ const allergens_2 = require("../allergens");
12
+ const favorites_1 = require("./favorites");
13
+ const creditCards_1 = require("./creditCards");
14
+ const addresses_1 = require("./addresses");
15
+ const houseAccounts_1 = require("./houseAccounts");
16
+ const loyalty_1 = require("./loyalty");
17
+ const order_1 = require("./order");
18
+ const orders_1 = require("./orders");
19
+ const rewards_1 = require("./rewards");
20
+ const communicationPreferences_1 = require("./communicationPreferences");
21
+ const giftCards_1 = require("./giftCards");
22
+ const levelup_1 = require("./levelup");
23
+ const order_2 = require("../order");
24
+ const utils_1 = require("@open-tender/utils");
25
+ const checkout_1 = require("../checkout");
26
+ const groupOrder_1 = require("../groupOrder");
27
+ const guest_1 = require("../guest");
28
+ const initialState = {
29
+ auth: null,
30
+ profile: null,
31
+ loading: 'idle',
32
+ error: null
33
+ };
34
+ var AccountActionType;
35
+ (function (AccountActionType) {
36
+ AccountActionType["LoginCustomer"] = "customer/loginCustomer";
37
+ AccountActionType["LogoutCustomer"] = "customer/logoutCustomer";
38
+ AccountActionType["FetchCustomer"] = "customer/fetchCustomer";
39
+ AccountActionType["UpdateCustomer"] = "customer/updateCustomer";
40
+ AccountActionType["VerifyCustomer"] = "customer/verifyCustomer";
41
+ AccountActionType["LinkPosToken"] = "customer/linkPosToken";
42
+ })(AccountActionType = exports.AccountActionType || (exports.AccountActionType = {}));
43
+ const checkAuth = (err, dispatch, rejectWithValue) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
44
+ if ((err === null || err === void 0 ? void 0 : err.status) === 401) {
45
+ yield dispatch((0, exports.logoutCustomer)());
46
+ dispatch((0, order_2.addMessage)('Please login to reauthenticate your account'));
47
+ return null;
48
+ }
49
+ else {
50
+ return rejectWithValue();
51
+ }
52
+ });
53
+ exports.checkAuth = checkAuth;
54
+ exports.fetchCustomer = (0, toolkit_1.createAsyncThunk)(AccountActionType.FetchCustomer,
55
+ // eslint-disable-next-line no-unused-vars
56
+ (_, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
57
+ try {
58
+ const api = getState().config.api;
59
+ const token = (0, exports.selectToken)(getState());
60
+ if (!token)
61
+ throw new Error(types_2.MISSING_CUSTOMER);
62
+ const customer = yield api.getCustomer(token);
63
+ const { allergens, gift_cards, favorites, levelup } = customer;
64
+ dispatch((0, allergens_1.setCustomerAllergens)(allergens || []));
65
+ dispatch((0, allergens_2.setSelectedAllergens)(allergens || []));
66
+ dispatch((0, giftCards_1.setCustomerGiftCards)(gift_cards || []));
67
+ dispatch((0, favorites_1.setCustomerFavorites)(favorites || []));
68
+ dispatch((0, levelup_1.setCustomerLevelUp)(levelup || []));
69
+ const lookup = (0, utils_1.makeFavoritesLookup)(favorites);
70
+ dispatch((0, favorites_1.setCustomerFavoritesLookup)(lookup || {}));
71
+ const profile = (0, utils_1.makeCustomerProfile)(customer);
72
+ return profile;
73
+ }
74
+ catch (err) {
75
+ const error = err;
76
+ return (0, exports.checkAuth)(error, dispatch, () => rejectWithValue(error));
77
+ }
78
+ }));
79
+ exports.loginCustomer = (0, toolkit_1.createAsyncThunk)(AccountActionType.LoginCustomer, (data, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
80
+ try {
81
+ const { email, password } = data;
82
+ const api = getState().config.api;
83
+ const auth = yield api.postLogin(email, password);
84
+ dispatch(exports.fetchCustomer);
85
+ return auth;
86
+ }
87
+ catch (err) {
88
+ return rejectWithValue(err);
89
+ }
90
+ }));
91
+ exports.logoutCustomer = (0, toolkit_1.createAsyncThunk)(AccountActionType.LogoutCustomer, (isReset, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
92
+ try {
93
+ const { api } = getState().config;
94
+ const token = (0, exports.selectToken)(getState());
95
+ if (!token)
96
+ throw new Error(undefined);
97
+ if (isReset) {
98
+ dispatch((0, order_2.resetOrder)());
99
+ dispatch((0, checkout_1.resetCheckout)());
100
+ dispatch((0, allergens_2.setSelectedAllergens)(null));
101
+ }
102
+ yield api.postLogout(token);
103
+ dispatch((0, checkout_1.updateCheckoutCustomer)(null));
104
+ dispatch((0, addresses_1.resetCustomerAddresses)());
105
+ dispatch((0, allergens_1.resetCustomerAllergens)());
106
+ dispatch((0, creditCards_1.resetCustomerCreditCards)());
107
+ dispatch((0, favorites_1.resetCustomerFavorites)());
108
+ dispatch((0, levelup_1.resetCustomerLevelUp)());
109
+ dispatch((0, giftCards_1.resetCustomerGiftCards)());
110
+ dispatch((0, houseAccounts_1.resetCustomerHouseAccounts)());
111
+ dispatch((0, loyalty_1.resetCustomerLoyalty)());
112
+ dispatch((0, order_1.resetCustomerOrder)());
113
+ dispatch((0, orders_1.resetCustomerOrders)());
114
+ dispatch((0, groupOrder_1.resetGroupOrder)());
115
+ dispatch((0, rewards_1.resetCustomerRewards)());
116
+ dispatch((0, communicationPreferences_1.resetCustomerCommunicationPreferences)());
117
+ dispatch((0, guest_1.resetGuest)());
118
+ return null;
119
+ }
120
+ catch (err) {
121
+ return rejectWithValue(err);
122
+ }
123
+ }));
124
+ exports.linkPosToken = (0, toolkit_1.createAsyncThunk)(AccountActionType.LinkPosToken, (posToken, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
125
+ try {
126
+ const api = getState().config.api;
127
+ const token = (0, exports.selectToken)(getState());
128
+ if (!token)
129
+ throw new Error(types_2.MISSING_CUSTOMER);
130
+ yield api.postCustomerPosToken(token, posToken);
131
+ dispatch((0, notifications_1.showNotification)('Order successfully linked!'));
132
+ dispatch(exports.fetchCustomer);
133
+ return;
134
+ }
135
+ catch (err) {
136
+ const error = err;
137
+ dispatch((0, order_2.addMessage)((error === null || error === void 0 ? void 0 : error.detail) || (error === null || error === void 0 ? void 0 : error.message)));
138
+ return rejectWithValue(error);
139
+ }
140
+ }));
141
+ exports.updateCustomer = (0, toolkit_1.createAsyncThunk)(AccountActionType.UpdateCustomer, (data, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
142
+ try {
143
+ const token = (0, exports.selectToken)(getState());
144
+ const api = getState().config.api;
145
+ if (!token)
146
+ throw new Error(types_2.MISSING_CUSTOMER);
147
+ const customer = yield api.putCustomer(token, data.data);
148
+ const profile = (0, utils_1.makeCustomerProfile)(customer);
149
+ dispatch((0, notifications_1.showNotification)('Account updated!'));
150
+ if (data.callback)
151
+ data.callback(data.data);
152
+ return profile;
153
+ }
154
+ catch (err) {
155
+ const error = err;
156
+ const errors = (0, utils_1.makeFormErrors)(err);
157
+ return (0, exports.checkAuth)(error, dispatch, () => rejectWithValue(errors));
158
+ }
159
+ }));
160
+ exports.sendCustomerVerificationEmail = (0, toolkit_1.createAsyncThunk)(AccountActionType.VerifyCustomer, (linkUrl, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
161
+ try {
162
+ const api = getState().config.api;
163
+ const token = (0, exports.selectToken)(getState());
164
+ if (!token) {
165
+ dispatch((0, order_2.addMessage)('Missing customer token'));
166
+ throw new Error(types_2.MISSING_CUSTOMER_TOKEN);
167
+ }
168
+ yield api.postSendVerificationEmail(token, linkUrl);
169
+ dispatch((0, notifications_1.showNotification)('Verification email sent!'));
170
+ return;
171
+ }
172
+ catch (err) {
173
+ dispatch((0, order_2.addMessage)(err.detail || err.message));
174
+ return rejectWithValue(err);
175
+ }
176
+ }));
177
+ exports.loginCustomerThanx = (0, toolkit_1.createAsyncThunk)(AccountActionType.LoginCustomer, (email, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
178
+ try {
179
+ const api = getState().config.api;
180
+ yield api.postThanxLogin(email);
181
+ dispatch((0, order_2.setAlert)({ type: 'close' }));
182
+ dispatch((0, order_2.addMessage)('Thanks! Please check your email on this device.'));
183
+ return null;
184
+ }
185
+ catch (err) {
186
+ const errr = err;
187
+ if (errr) {
188
+ const error = (errr === null || errr === void 0 ? void 0 : errr.params) ? errr.params['$.email'] : null;
189
+ if (error && error.includes("'email'")) {
190
+ errr.detail = 'Please enter a valid email address';
191
+ }
192
+ }
193
+ return rejectWithValue(errr);
194
+ }
195
+ }));
196
+ exports.authCustomerThanx = (0, toolkit_1.createAsyncThunk)(AccountActionType.LoginCustomer, (data, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
197
+ try {
198
+ const api = getState().config.api;
199
+ const auth = yield api.postThanxAuth(data.code, data.path);
200
+ dispatch((0, exports.fetchCustomer)());
201
+ return auth;
202
+ }
203
+ catch (err) {
204
+ return rejectWithValue(err);
205
+ }
206
+ }));
207
+ const accountSlice = (0, toolkit_1.createSlice)({
208
+ name: types_1.ReducerType.Account,
209
+ initialState,
210
+ reducers: {
211
+ resetCustomer: () => initialState,
212
+ resetLoginError: state => {
213
+ state.loading = 'idle';
214
+ state.error = null;
215
+ },
216
+ fulfillLoginCustomer: (state, action) => {
217
+ state.auth = action.payload;
218
+ state.loading = 'idle';
219
+ state.error = null;
220
+ }
221
+ },
222
+ extraReducers: builder => {
223
+ builder
224
+ .addCase(exports.loginCustomer.fulfilled, (state, action) => {
225
+ state.auth = action.payload;
226
+ state.loading = 'idle';
227
+ state.error = null;
228
+ })
229
+ .addCase(exports.loginCustomer.pending, state => {
230
+ state.loading = 'pending';
231
+ })
232
+ .addCase(exports.loginCustomer.rejected, (state, action) => {
233
+ state.loading = 'idle';
234
+ state.error = action.payload;
235
+ })
236
+ .addCase(exports.fetchCustomer.fulfilled, (state, action) => {
237
+ state.profile = action.payload;
238
+ state.loading = 'idle';
239
+ state.error = null;
240
+ })
241
+ .addCase(exports.fetchCustomer.pending, state => {
242
+ state.loading = 'pending';
243
+ })
244
+ .addCase(exports.fetchCustomer.rejected, (state, action) => {
245
+ state.loading = 'idle';
246
+ state.error = action.payload;
247
+ })
248
+ .addCase(exports.updateCustomer.fulfilled, (state, action) => {
249
+ state.profile = action.payload;
250
+ state.loading = 'idle';
251
+ state.error = null;
252
+ })
253
+ .addCase(exports.updateCustomer.pending, state => {
254
+ state.loading = 'pending';
255
+ })
256
+ .addCase(exports.updateCustomer.rejected, (state, action) => {
257
+ state.loading = 'idle';
258
+ state.error = action.payload;
259
+ })
260
+ .addCase(exports.logoutCustomer.fulfilled, () => initialState)
261
+ .addCase(exports.logoutCustomer.pending, state => {
262
+ state.loading = 'pending';
263
+ })
264
+ .addCase(exports.logoutCustomer.rejected, () => initialState)
265
+ .addCase(exports.sendCustomerVerificationEmail.fulfilled, state => {
266
+ state.loading = 'idle';
267
+ })
268
+ .addCase(exports.sendCustomerVerificationEmail.pending, state => {
269
+ state.loading = 'pending';
270
+ })
271
+ .addCase(exports.sendCustomerVerificationEmail.rejected, state => {
272
+ state.loading = 'idle';
273
+ })
274
+ .addCase(exports.linkPosToken.fulfilled, () => {
275
+ //do nothing
276
+ })
277
+ .addCase(exports.linkPosToken.pending, () => {
278
+ //do nothing
279
+ })
280
+ .addCase(exports.linkPosToken.rejected, () => {
281
+ //do nothing
282
+ });
283
+ }
284
+ });
285
+ _a = accountSlice.actions, exports.resetCustomer = _a.resetCustomer, exports.resetLoginError = _a.resetLoginError, exports.fulfillLoginCustomer = _a.fulfillLoginCustomer;
286
+ const selectToken = (state) => state.customer.account.auth ? state.customer.account.auth.access_token : null;
287
+ exports.selectToken = selectToken;
288
+ exports.accountReducer = accountSlice.reducer;