@open-tender/store 1.1.236 → 1.1.238
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/cjs/slices/customer.d.ts +125 -15
- package/dist/cjs/slices/customer.js +23 -20
- package/dist/esm/slices/customer.d.ts +125 -15
- package/dist/esm/slices/customer.js +24 -20
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Allergens, Customer, CustomerEndpoints, CustomerEntities, Discounts, Favorites, GiftCards, LoyaltyPrograms, LoyaltyProgramSummary, Orders, RequestError, RequestStatus } from '@open-tender/types';
|
|
1
|
+
import { Allergens, Customer, CustomerEndpoints, CustomerEntities, Discounts, Favorites, GiftCards, LoyaltyPrograms, LoyaltyProgramSummary, Orders, OrderType, RequestError, RequestStatus } from '@open-tender/types';
|
|
2
2
|
import { AppState } from '../app';
|
|
3
3
|
export interface CustomerState {
|
|
4
4
|
account: Customer | null;
|
|
@@ -88,21 +88,131 @@ export declare const selectCustomerLoyaltySummary: ((state: {
|
|
|
88
88
|
memoize: typeof import("reselect").weakMapMemoize;
|
|
89
89
|
};
|
|
90
90
|
export declare const selectCustomerLoyalty: (state: AppState) => LoyaltyPrograms;
|
|
91
|
-
export declare const selectCustomerLoyaltyProgram: (state:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
91
|
+
export declare const selectCustomerLoyaltyProgram: ((state: {
|
|
92
|
+
alerts: import("@open-tender/types").Alerts;
|
|
93
|
+
allergens: import("./allergens").AllergensState;
|
|
94
|
+
arrivals: import("./arrivals").ArrivalsState;
|
|
95
|
+
cartSummary: import("./cartSummary").CartSummaryState;
|
|
96
|
+
checkout: import("./checkout").CheckoutState;
|
|
97
|
+
config: import("./config").ConfigState;
|
|
98
|
+
customer: CustomerState;
|
|
99
|
+
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
|
|
100
|
+
deals: import("./deals").DealsState;
|
|
101
|
+
discounts: import("./discounts").DiscountsState;
|
|
102
|
+
errorAlerts: import("./errorAlerts").ErrorAlertsState;
|
|
103
|
+
kds: import("./kds").KdsState;
|
|
104
|
+
kiosk: import("./kiosk").KioskState;
|
|
105
|
+
menu: import("./menu").MenuState;
|
|
106
|
+
menuPages: import("./menuPages").MenuPagesState;
|
|
107
|
+
modal: import("./modal").ModalState;
|
|
108
|
+
notifications: import("@open-tender/types").Notifications;
|
|
109
|
+
offlineAuths: import("./offlineAuths").OfflineAuthsState;
|
|
110
|
+
order: import("./order").OrderState;
|
|
111
|
+
pos: import("./pos").PosState;
|
|
112
|
+
punches: import("./punches").PunchesState;
|
|
113
|
+
refund: import("./refund").RefundState;
|
|
114
|
+
sendReceipt: import("./sendReceipt").SendReceiptState;
|
|
115
|
+
settings: import("./settings").SettingsState;
|
|
116
|
+
sidebar: import("./sidebar").SidebarState;
|
|
117
|
+
surcharges: import("./surcharges").SurchargesState;
|
|
118
|
+
taxes: import("./taxes").TaxesState;
|
|
119
|
+
idle: import("./idle").IdleState;
|
|
120
|
+
tags: import("./tags").TagsState;
|
|
121
|
+
}) => {
|
|
122
|
+
program: import("@open-tender/types").LoyaltyProgram | null;
|
|
123
|
+
loading: RequestStatus;
|
|
124
|
+
error: RequestError;
|
|
125
|
+
}) & {
|
|
126
|
+
clearCache: () => void;
|
|
127
|
+
resultsCount: () => number;
|
|
128
|
+
resetResultsCount: () => void;
|
|
129
|
+
} & {
|
|
130
|
+
resultFunc: (resultFuncArgs_0: CustomerState) => {
|
|
131
|
+
program: import("@open-tender/types").LoyaltyProgram | null;
|
|
132
|
+
loading: RequestStatus;
|
|
133
|
+
error: RequestError;
|
|
134
|
+
};
|
|
135
|
+
memoizedResultFunc: ((resultFuncArgs_0: CustomerState) => {
|
|
136
|
+
program: import("@open-tender/types").LoyaltyProgram | null;
|
|
137
|
+
loading: RequestStatus;
|
|
138
|
+
error: RequestError;
|
|
139
|
+
}) & {
|
|
140
|
+
clearCache: () => void;
|
|
141
|
+
resultsCount: () => number;
|
|
142
|
+
resetResultsCount: () => void;
|
|
143
|
+
};
|
|
144
|
+
lastResult: () => {
|
|
145
|
+
program: import("@open-tender/types").LoyaltyProgram | null;
|
|
146
|
+
loading: RequestStatus;
|
|
147
|
+
error: RequestError;
|
|
148
|
+
};
|
|
149
|
+
dependencies: [(state: AppState) => CustomerState];
|
|
150
|
+
recomputations: () => number;
|
|
151
|
+
resetRecomputations: () => void;
|
|
152
|
+
dependencyRecomputations: () => number;
|
|
153
|
+
resetDependencyRecomputations: () => void;
|
|
154
|
+
} & {
|
|
155
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
156
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
157
|
+
};
|
|
158
|
+
export declare const selectCustomerPointsProgram: (orderType: OrderType | null) => ((state: {
|
|
159
|
+
alerts: import("@open-tender/types").Alerts;
|
|
160
|
+
allergens: import("./allergens").AllergensState;
|
|
161
|
+
arrivals: import("./arrivals").ArrivalsState;
|
|
162
|
+
cartSummary: import("./cartSummary").CartSummaryState;
|
|
163
|
+
checkout: import("./checkout").CheckoutState;
|
|
164
|
+
config: import("./config").ConfigState;
|
|
165
|
+
customer: CustomerState;
|
|
166
|
+
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
|
|
167
|
+
deals: import("./deals").DealsState;
|
|
168
|
+
discounts: import("./discounts").DiscountsState;
|
|
169
|
+
errorAlerts: import("./errorAlerts").ErrorAlertsState;
|
|
170
|
+
kds: import("./kds").KdsState;
|
|
171
|
+
kiosk: import("./kiosk").KioskState;
|
|
172
|
+
menu: import("./menu").MenuState;
|
|
173
|
+
menuPages: import("./menuPages").MenuPagesState;
|
|
174
|
+
modal: import("./modal").ModalState;
|
|
175
|
+
notifications: import("@open-tender/types").Notifications;
|
|
176
|
+
offlineAuths: import("./offlineAuths").OfflineAuthsState;
|
|
177
|
+
order: import("./order").OrderState;
|
|
178
|
+
pos: import("./pos").PosState;
|
|
179
|
+
punches: import("./punches").PunchesState;
|
|
180
|
+
refund: import("./refund").RefundState;
|
|
181
|
+
sendReceipt: import("./sendReceipt").SendReceiptState;
|
|
182
|
+
settings: import("./settings").SettingsState;
|
|
183
|
+
sidebar: import("./sidebar").SidebarState;
|
|
184
|
+
surcharges: import("./surcharges").SurchargesState;
|
|
185
|
+
taxes: import("./taxes").TaxesState;
|
|
186
|
+
idle: import("./idle").IdleState;
|
|
187
|
+
tags: import("./tags").TagsState;
|
|
188
|
+
}) => import("@open-tender/types").LoyaltyProgram | null) & {
|
|
189
|
+
clearCache: () => void;
|
|
190
|
+
resultsCount: () => number;
|
|
191
|
+
resetResultsCount: () => void;
|
|
192
|
+
} & {
|
|
193
|
+
resultFunc: (resultFuncArgs_0: {
|
|
194
|
+
loyaltyPrograms: LoyaltyPrograms;
|
|
195
|
+
}) => import("@open-tender/types").LoyaltyProgram | null;
|
|
196
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
197
|
+
loyaltyPrograms: LoyaltyPrograms;
|
|
198
|
+
}) => import("@open-tender/types").LoyaltyProgram | null) & {
|
|
199
|
+
clearCache: () => void;
|
|
200
|
+
resultsCount: () => number;
|
|
201
|
+
resetResultsCount: () => void;
|
|
202
|
+
};
|
|
203
|
+
lastResult: () => import("@open-tender/types").LoyaltyProgram | null;
|
|
204
|
+
dependencies: [(state: AppState) => {
|
|
205
|
+
loyaltyPrograms: LoyaltyPrograms;
|
|
206
|
+
}];
|
|
207
|
+
recomputations: () => number;
|
|
208
|
+
resetRecomputations: () => void;
|
|
209
|
+
dependencyRecomputations: () => number;
|
|
210
|
+
resetDependencyRecomputations: () => void;
|
|
211
|
+
} & {
|
|
212
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
213
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
103
214
|
};
|
|
104
|
-
export declare const
|
|
105
|
-
export declare const selectCustomerPoints: (state: AppState) => {
|
|
215
|
+
export declare const selectCustomerPoints: (orderType: OrderType | null) => (state: AppState) => {
|
|
106
216
|
name: string;
|
|
107
217
|
points: `${number}.${number}` | null;
|
|
108
218
|
} | null;
|
|
@@ -111,37 +111,40 @@ exports.selectCustomerLoyaltySummary = (0, toolkit_1.createSelector)(function (s
|
|
|
111
111
|
});
|
|
112
112
|
var selectCustomerLoyalty = function (state) { return state.customer.loyalty; };
|
|
113
113
|
exports.selectCustomerLoyalty = selectCustomerLoyalty;
|
|
114
|
-
|
|
115
|
-
var
|
|
116
|
-
var programs =
|
|
114
|
+
exports.selectCustomerLoyaltyProgram = (0, toolkit_1.createSelector)(function (state) { return state.customer; }, function (_a) {
|
|
115
|
+
var entities = _a.loyalty, loading = _a.loading, error = _a.error;
|
|
116
|
+
var programs = entities.filter(function (i) { return i.earn_order_type === null || i.earn_order_type === 'OLO'; });
|
|
117
117
|
var program = programs.length ? programs[0] : null;
|
|
118
|
-
return
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
118
|
+
return { program: program, loading: loading, error: error };
|
|
119
|
+
});
|
|
120
|
+
var selectCustomerPointsProgram = function (orderType) {
|
|
121
|
+
return (0, toolkit_1.createSelector)(function (state) {
|
|
122
|
+
var loyaltyPrograms = state.customer.loyalty;
|
|
123
|
+
return { loyaltyPrograms: loyaltyPrograms };
|
|
124
|
+
}, function (_a) {
|
|
125
|
+
var loyaltyPrograms = _a.loyaltyPrograms;
|
|
126
|
+
if (!loyaltyPrograms)
|
|
127
|
+
return null;
|
|
128
|
+
var programs = loyaltyPrograms.filter(function (i) {
|
|
129
|
+
var _a;
|
|
130
|
+
return ((_a = i.perk) === null || _a === void 0 ? void 0 : _a.loyalty_perk) === 'BANKABLE_POINTS' &&
|
|
131
|
+
(i.earn_order_type === null || i.earn_order_type === orderType);
|
|
132
|
+
});
|
|
133
|
+
return programs.length ? programs[0] : null;
|
|
130
134
|
});
|
|
131
|
-
return programs.length ? programs[0] : null;
|
|
132
135
|
};
|
|
133
136
|
exports.selectCustomerPointsProgram = selectCustomerPointsProgram;
|
|
134
|
-
var selectCustomerPoints = function (state) {
|
|
135
|
-
var program = (0, exports.selectCustomerPointsProgram)(state);
|
|
137
|
+
var selectCustomerPoints = function (orderType) { return function (state) {
|
|
138
|
+
var program = (0, exports.selectCustomerPointsProgram)(orderType)(state);
|
|
136
139
|
if (!program || !program.perk)
|
|
137
140
|
return null;
|
|
138
141
|
var spend_name = program.spend_name, perk = program.perk;
|
|
139
142
|
return { name: spend_name, points: perk.credit };
|
|
140
|
-
};
|
|
143
|
+
}; };
|
|
141
144
|
exports.selectCustomerPoints = selectCustomerPoints;
|
|
142
145
|
var selectPointsProgram = function (state) {
|
|
143
146
|
var orderType = state.order.orderType;
|
|
144
|
-
return orderType ? (0, exports.selectCustomerPointsProgram)(state) : null;
|
|
147
|
+
return orderType ? (0, exports.selectCustomerPointsProgram)(orderType)(state) : null;
|
|
145
148
|
};
|
|
146
149
|
exports.selectPointsProgram = selectPointsProgram;
|
|
147
150
|
exports.customerReducer = CustomerSlice.reducer;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Allergens, Customer, CustomerEndpoints, CustomerEntities, Discounts, Favorites, GiftCards, LoyaltyPrograms, LoyaltyProgramSummary, Orders, RequestError, RequestStatus } from '@open-tender/types';
|
|
1
|
+
import { Allergens, Customer, CustomerEndpoints, CustomerEntities, Discounts, Favorites, GiftCards, LoyaltyPrograms, LoyaltyProgramSummary, Orders, OrderType, RequestError, RequestStatus } from '@open-tender/types';
|
|
2
2
|
import { AppState } from '../app';
|
|
3
3
|
export interface CustomerState {
|
|
4
4
|
account: Customer | null;
|
|
@@ -88,21 +88,131 @@ export declare const selectCustomerLoyaltySummary: ((state: {
|
|
|
88
88
|
memoize: typeof import("reselect").weakMapMemoize;
|
|
89
89
|
};
|
|
90
90
|
export declare const selectCustomerLoyalty: (state: AppState) => LoyaltyPrograms;
|
|
91
|
-
export declare const selectCustomerLoyaltyProgram: (state:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
91
|
+
export declare const selectCustomerLoyaltyProgram: ((state: {
|
|
92
|
+
alerts: import("@open-tender/types").Alerts;
|
|
93
|
+
allergens: import("./allergens").AllergensState;
|
|
94
|
+
arrivals: import("./arrivals").ArrivalsState;
|
|
95
|
+
cartSummary: import("./cartSummary").CartSummaryState;
|
|
96
|
+
checkout: import("./checkout").CheckoutState;
|
|
97
|
+
config: import("./config").ConfigState;
|
|
98
|
+
customer: CustomerState;
|
|
99
|
+
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
|
|
100
|
+
deals: import("./deals").DealsState;
|
|
101
|
+
discounts: import("./discounts").DiscountsState;
|
|
102
|
+
errorAlerts: import("./errorAlerts").ErrorAlertsState;
|
|
103
|
+
kds: import("./kds").KdsState;
|
|
104
|
+
kiosk: import("./kiosk").KioskState;
|
|
105
|
+
menu: import("./menu").MenuState;
|
|
106
|
+
menuPages: import("./menuPages").MenuPagesState;
|
|
107
|
+
modal: import("./modal").ModalState;
|
|
108
|
+
notifications: import("@open-tender/types").Notifications;
|
|
109
|
+
offlineAuths: import("./offlineAuths").OfflineAuthsState;
|
|
110
|
+
order: import("./order").OrderState;
|
|
111
|
+
pos: import("./pos").PosState;
|
|
112
|
+
punches: import("./punches").PunchesState;
|
|
113
|
+
refund: import("./refund").RefundState;
|
|
114
|
+
sendReceipt: import("./sendReceipt").SendReceiptState;
|
|
115
|
+
settings: import("./settings").SettingsState;
|
|
116
|
+
sidebar: import("./sidebar").SidebarState;
|
|
117
|
+
surcharges: import("./surcharges").SurchargesState;
|
|
118
|
+
taxes: import("./taxes").TaxesState;
|
|
119
|
+
idle: import("./idle").IdleState;
|
|
120
|
+
tags: import("./tags").TagsState;
|
|
121
|
+
}) => {
|
|
122
|
+
program: import("@open-tender/types").LoyaltyProgram | null;
|
|
123
|
+
loading: RequestStatus;
|
|
124
|
+
error: RequestError;
|
|
125
|
+
}) & {
|
|
126
|
+
clearCache: () => void;
|
|
127
|
+
resultsCount: () => number;
|
|
128
|
+
resetResultsCount: () => void;
|
|
129
|
+
} & {
|
|
130
|
+
resultFunc: (resultFuncArgs_0: CustomerState) => {
|
|
131
|
+
program: import("@open-tender/types").LoyaltyProgram | null;
|
|
132
|
+
loading: RequestStatus;
|
|
133
|
+
error: RequestError;
|
|
134
|
+
};
|
|
135
|
+
memoizedResultFunc: ((resultFuncArgs_0: CustomerState) => {
|
|
136
|
+
program: import("@open-tender/types").LoyaltyProgram | null;
|
|
137
|
+
loading: RequestStatus;
|
|
138
|
+
error: RequestError;
|
|
139
|
+
}) & {
|
|
140
|
+
clearCache: () => void;
|
|
141
|
+
resultsCount: () => number;
|
|
142
|
+
resetResultsCount: () => void;
|
|
143
|
+
};
|
|
144
|
+
lastResult: () => {
|
|
145
|
+
program: import("@open-tender/types").LoyaltyProgram | null;
|
|
146
|
+
loading: RequestStatus;
|
|
147
|
+
error: RequestError;
|
|
148
|
+
};
|
|
149
|
+
dependencies: [(state: AppState) => CustomerState];
|
|
150
|
+
recomputations: () => number;
|
|
151
|
+
resetRecomputations: () => void;
|
|
152
|
+
dependencyRecomputations: () => number;
|
|
153
|
+
resetDependencyRecomputations: () => void;
|
|
154
|
+
} & {
|
|
155
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
156
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
157
|
+
};
|
|
158
|
+
export declare const selectCustomerPointsProgram: (orderType: OrderType | null) => ((state: {
|
|
159
|
+
alerts: import("@open-tender/types").Alerts;
|
|
160
|
+
allergens: import("./allergens").AllergensState;
|
|
161
|
+
arrivals: import("./arrivals").ArrivalsState;
|
|
162
|
+
cartSummary: import("./cartSummary").CartSummaryState;
|
|
163
|
+
checkout: import("./checkout").CheckoutState;
|
|
164
|
+
config: import("./config").ConfigState;
|
|
165
|
+
customer: CustomerState;
|
|
166
|
+
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
|
|
167
|
+
deals: import("./deals").DealsState;
|
|
168
|
+
discounts: import("./discounts").DiscountsState;
|
|
169
|
+
errorAlerts: import("./errorAlerts").ErrorAlertsState;
|
|
170
|
+
kds: import("./kds").KdsState;
|
|
171
|
+
kiosk: import("./kiosk").KioskState;
|
|
172
|
+
menu: import("./menu").MenuState;
|
|
173
|
+
menuPages: import("./menuPages").MenuPagesState;
|
|
174
|
+
modal: import("./modal").ModalState;
|
|
175
|
+
notifications: import("@open-tender/types").Notifications;
|
|
176
|
+
offlineAuths: import("./offlineAuths").OfflineAuthsState;
|
|
177
|
+
order: import("./order").OrderState;
|
|
178
|
+
pos: import("./pos").PosState;
|
|
179
|
+
punches: import("./punches").PunchesState;
|
|
180
|
+
refund: import("./refund").RefundState;
|
|
181
|
+
sendReceipt: import("./sendReceipt").SendReceiptState;
|
|
182
|
+
settings: import("./settings").SettingsState;
|
|
183
|
+
sidebar: import("./sidebar").SidebarState;
|
|
184
|
+
surcharges: import("./surcharges").SurchargesState;
|
|
185
|
+
taxes: import("./taxes").TaxesState;
|
|
186
|
+
idle: import("./idle").IdleState;
|
|
187
|
+
tags: import("./tags").TagsState;
|
|
188
|
+
}) => import("@open-tender/types").LoyaltyProgram | null) & {
|
|
189
|
+
clearCache: () => void;
|
|
190
|
+
resultsCount: () => number;
|
|
191
|
+
resetResultsCount: () => void;
|
|
192
|
+
} & {
|
|
193
|
+
resultFunc: (resultFuncArgs_0: {
|
|
194
|
+
loyaltyPrograms: LoyaltyPrograms;
|
|
195
|
+
}) => import("@open-tender/types").LoyaltyProgram | null;
|
|
196
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
197
|
+
loyaltyPrograms: LoyaltyPrograms;
|
|
198
|
+
}) => import("@open-tender/types").LoyaltyProgram | null) & {
|
|
199
|
+
clearCache: () => void;
|
|
200
|
+
resultsCount: () => number;
|
|
201
|
+
resetResultsCount: () => void;
|
|
202
|
+
};
|
|
203
|
+
lastResult: () => import("@open-tender/types").LoyaltyProgram | null;
|
|
204
|
+
dependencies: [(state: AppState) => {
|
|
205
|
+
loyaltyPrograms: LoyaltyPrograms;
|
|
206
|
+
}];
|
|
207
|
+
recomputations: () => number;
|
|
208
|
+
resetRecomputations: () => void;
|
|
209
|
+
dependencyRecomputations: () => number;
|
|
210
|
+
resetDependencyRecomputations: () => void;
|
|
211
|
+
} & {
|
|
212
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
213
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
103
214
|
};
|
|
104
|
-
export declare const
|
|
105
|
-
export declare const selectCustomerPoints: (state: AppState) => {
|
|
215
|
+
export declare const selectCustomerPoints: (orderType: OrderType | null) => (state: AppState) => {
|
|
106
216
|
name: string;
|
|
107
217
|
points: `${number}.${number}` | null;
|
|
108
218
|
} | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
2
|
import { createAsyncThunk, createSelector, createSlice } from '@reduxjs/toolkit';
|
|
3
3
|
import { ReducerType } from './types';
|
|
4
4
|
var initialState = {
|
|
@@ -100,33 +100,37 @@ export var selectCustomerLoyaltySummary = createSelector(function (state) {
|
|
|
100
100
|
};
|
|
101
101
|
});
|
|
102
102
|
export var selectCustomerLoyalty = function (state) { return state.customer.loyalty; };
|
|
103
|
-
export var selectCustomerLoyaltyProgram = function (state) {
|
|
104
|
-
var
|
|
105
|
-
var programs =
|
|
103
|
+
export var selectCustomerLoyaltyProgram = createSelector(function (state) { return state.customer; }, function (_a) {
|
|
104
|
+
var entities = _a.loyalty, loading = _a.loading, error = _a.error;
|
|
105
|
+
var programs = entities.filter(function (i) { return i.earn_order_type === null || i.earn_order_type === 'OLO'; });
|
|
106
106
|
var program = programs.length ? programs[0] : null;
|
|
107
|
-
return
|
|
108
|
-
};
|
|
109
|
-
export var selectCustomerPointsProgram = function (
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
107
|
+
return { program: program, loading: loading, error: error };
|
|
108
|
+
});
|
|
109
|
+
export var selectCustomerPointsProgram = function (orderType) {
|
|
110
|
+
return createSelector(function (state) {
|
|
111
|
+
var loyaltyPrograms = state.customer.loyalty;
|
|
112
|
+
return { loyaltyPrograms: loyaltyPrograms };
|
|
113
|
+
}, function (_a) {
|
|
114
|
+
var loyaltyPrograms = _a.loyaltyPrograms;
|
|
115
|
+
if (!loyaltyPrograms)
|
|
116
|
+
return null;
|
|
117
|
+
var programs = loyaltyPrograms.filter(function (i) {
|
|
118
|
+
var _a;
|
|
119
|
+
return ((_a = i.perk) === null || _a === void 0 ? void 0 : _a.loyalty_perk) === 'BANKABLE_POINTS' &&
|
|
120
|
+
(i.earn_order_type === null || i.earn_order_type === orderType);
|
|
121
|
+
});
|
|
122
|
+
return programs.length ? programs[0] : null;
|
|
118
123
|
});
|
|
119
|
-
return programs.length ? programs[0] : null;
|
|
120
124
|
};
|
|
121
|
-
export var selectCustomerPoints = function (state) {
|
|
122
|
-
var program = selectCustomerPointsProgram(state);
|
|
125
|
+
export var selectCustomerPoints = function (orderType) { return function (state) {
|
|
126
|
+
var program = selectCustomerPointsProgram(orderType)(state);
|
|
123
127
|
if (!program || !program.perk)
|
|
124
128
|
return null;
|
|
125
129
|
var spend_name = program.spend_name, perk = program.perk;
|
|
126
130
|
return { name: spend_name, points: perk.credit };
|
|
127
|
-
};
|
|
131
|
+
}; };
|
|
128
132
|
export var selectPointsProgram = function (state) {
|
|
129
133
|
var orderType = state.order.orderType;
|
|
130
|
-
return orderType ? selectCustomerPointsProgram(state) : null;
|
|
134
|
+
return orderType ? selectCustomerPointsProgram(orderType)(state) : null;
|
|
131
135
|
};
|
|
132
136
|
export var customerReducer = CustomerSlice.reducer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.238",
|
|
4
4
|
"description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|