@kiosinc/commons-rn 0.15.7 → 0.16.0
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/README.md +20 -0
- package/lib/commonjs/constants/index.js +1 -1
- package/lib/commonjs/constants/index.js.map +1 -1
- package/lib/commonjs/hooks/index.js +0 -7
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useCustomer.js +0 -86
- package/lib/commonjs/hooks/useCustomer.js.map +1 -1
- package/lib/commonjs/providers/customer/CustomerProvider.js +214 -0
- package/lib/commonjs/providers/customer/CustomerProvider.js.map +1 -0
- package/lib/commonjs/providers/customer/README.md +122 -0
- package/lib/commonjs/providers/customer/classifyLoyaltyError.js +19 -0
- package/lib/commonjs/providers/customer/classifyLoyaltyError.js.map +1 -0
- package/lib/commonjs/providers/customer/index.js +27 -0
- package/lib/commonjs/providers/customer/index.js.map +1 -0
- package/lib/commonjs/providers/customer/types.js +2 -0
- package/lib/commonjs/providers/customer/types.js.map +1 -0
- package/lib/commonjs/providers/customer/useLoyalty.js +25 -0
- package/lib/commonjs/providers/customer/useLoyalty.js.map +1 -0
- package/lib/commonjs/providers/customer/useSquareCustomer.js +21 -0
- package/lib/commonjs/providers/customer/useSquareCustomer.js.map +1 -0
- package/lib/commonjs/providers/index.js +19 -0
- package/lib/commonjs/providers/index.js.map +1 -1
- package/lib/commonjs/screens/SavedCards/SavedCards.js +9 -4
- package/lib/commonjs/screens/SavedCards/SavedCards.js.map +1 -1
- package/lib/module/constants/index.js +1 -1
- package/lib/module/constants/index.js.map +1 -1
- package/lib/module/hooks/index.js +0 -1
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useCustomer.js +1 -87
- package/lib/module/hooks/useCustomer.js.map +1 -1
- package/lib/module/providers/customer/CustomerProvider.js +204 -0
- package/lib/module/providers/customer/CustomerProvider.js.map +1 -0
- package/lib/module/providers/customer/README.md +122 -0
- package/lib/module/providers/customer/classifyLoyaltyError.js +13 -0
- package/lib/module/providers/customer/classifyLoyaltyError.js.map +1 -0
- package/lib/module/providers/customer/index.js +4 -0
- package/lib/module/providers/customer/index.js.map +1 -0
- package/lib/module/providers/customer/types.js +2 -0
- package/lib/module/providers/customer/types.js.map +1 -0
- package/lib/module/providers/customer/useLoyalty.js +18 -0
- package/lib/module/providers/customer/useLoyalty.js.map +1 -0
- package/lib/module/providers/customer/useSquareCustomer.js +14 -0
- package/lib/module/providers/customer/useSquareCustomer.js.map +1 -0
- package/lib/module/providers/index.js +1 -0
- package/lib/module/providers/index.js.map +1 -1
- package/lib/module/screens/SavedCards/SavedCards.js +10 -5
- package/lib/module/screens/SavedCards/SavedCards.js.map +1 -1
- package/lib/typescript/src/constants/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/index.d.ts +0 -1
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useCustomer.d.ts +0 -13
- package/lib/typescript/src/hooks/useCustomer.d.ts.map +1 -1
- package/lib/typescript/src/providers/customer/CustomerProvider.d.ts +9 -0
- package/lib/typescript/src/providers/customer/CustomerProvider.d.ts.map +1 -0
- package/lib/typescript/src/providers/customer/classifyLoyaltyError.d.ts +3 -0
- package/lib/typescript/src/providers/customer/classifyLoyaltyError.d.ts.map +1 -0
- package/lib/typescript/src/providers/customer/index.d.ts +5 -0
- package/lib/typescript/src/providers/customer/index.d.ts.map +1 -0
- package/lib/typescript/src/providers/customer/types.d.ts +25 -0
- package/lib/typescript/src/providers/customer/types.d.ts.map +1 -0
- package/lib/typescript/src/providers/customer/useLoyalty.d.ts +11 -0
- package/lib/typescript/src/providers/customer/useLoyalty.d.ts.map +1 -0
- package/lib/typescript/src/providers/customer/useSquareCustomer.d.ts +7 -0
- package/lib/typescript/src/providers/customer/useSquareCustomer.d.ts.map +1 -0
- package/lib/typescript/src/providers/index.d.ts +2 -0
- package/lib/typescript/src/providers/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/SavedCards/SavedCards.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/constants/index.ts +1 -1
- package/src/hooks/index.ts +0 -1
- package/src/hooks/useCustomer.ts +0 -129
- package/src/providers/customer/CustomerProvider.tsx +272 -0
- package/src/providers/customer/README.md +122 -0
- package/src/providers/customer/classifyLoyaltyError.ts +25 -0
- package/src/providers/customer/index.ts +4 -0
- package/src/providers/customer/types.ts +34 -0
- package/src/providers/customer/useLoyalty.ts +27 -0
- package/src/providers/customer/useSquareCustomer.ts +19 -0
- package/src/providers/index.ts +6 -0
- package/src/screens/SavedCards/SavedCards.tsx +10 -3
- package/lib/commonjs/hooks/useCheckCustomer.js +0 -57
- package/lib/commonjs/hooks/useCheckCustomer.js.map +0 -1
- package/lib/module/hooks/useCheckCustomer.js +0 -49
- package/lib/module/hooks/useCheckCustomer.js.map +0 -1
- package/lib/typescript/src/hooks/useCheckCustomer.d.ts +0 -5
- package/lib/typescript/src/hooks/useCheckCustomer.d.ts.map +0 -1
- package/src/hooks/useCheckCustomer.ts +0 -49
package/README.md
CHANGED
|
@@ -18,6 +18,26 @@ import { View, Text, Button } from '@kiosinc/commons-rn';
|
|
|
18
18
|
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
## Migration
|
|
22
|
+
|
|
23
|
+
### CustomerProvider (breaking change — next release)
|
|
24
|
+
|
|
25
|
+
The following hooks have been **removed** from `useCustomerQueries()`:
|
|
26
|
+
|
|
27
|
+
| Removed | Replacement |
|
|
28
|
+
|---|---|
|
|
29
|
+
| `useFetchSquareProgram` | `useSquareCustomer()` from `CustomerProvider` |
|
|
30
|
+
| `useConnectSquareCustomer` | handled internally by `CustomerProvider` |
|
|
31
|
+
| `useFetchSquareLoyalty` | `useLoyalty()` from `CustomerProvider` |
|
|
32
|
+
| `useConnectSquareLoyalty` | handled internally by `CustomerProvider` |
|
|
33
|
+
| `useCheckCustomer` (hook) | handled internally by `CustomerProvider` |
|
|
34
|
+
|
|
35
|
+
**Consumers that need updating before upgrading:**
|
|
36
|
+
|
|
37
|
+
- `remy` — `src/screens/Home/DevicesTab/Shop/CheckoutSummary.tsx` uses `useFetchSquareProgram`. Replace with `useSquareCustomer()` and wrap the navigator with `<CustomerProvider autoEnroll={false} loyaltyEnabled={...}>`.
|
|
38
|
+
|
|
39
|
+
See `src/providers/customer/README.md` for full setup and usage docs.
|
|
40
|
+
|
|
21
41
|
## Contributing
|
|
22
42
|
|
|
23
43
|
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TERMS_OF_SERVICE = exports.PRIVACY_POLICY = exports.MMKV_KEYS = exports.EMAIL_REGEX = void 0;
|
|
7
|
-
const EMAIL_REGEX = exports.EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'
|
|
7
|
+
const EMAIL_REGEX = exports.EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$|^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[^@\s]+\.[^@\s]+$/;
|
|
8
8
|
const MMKV_KEYS = exports.MMKV_KEYS = {
|
|
9
9
|
BUSINESS_ID: 'BUSINESS_ID'
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EMAIL_REGEX","exports","MMKV_KEYS","BUSINESS_ID","PRIVACY_POLICY","TERMS_OF_SERVICE"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GACtB,
|
|
1
|
+
{"version":3,"names":["EMAIL_REGEX","exports","MMKV_KEYS","BUSINESS_ID","PRIVACY_POLICY","TERMS_OF_SERVICE"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GACtB,0LAA0L;AAErL,MAAME,SAAS,GAAAD,OAAA,CAAAC,SAAA,GAAG;EACvBC,WAAW,EAAE;AACf,CAAC;AAEM,MAAMC,cAAc,GAAAH,OAAA,CAAAG,cAAA,GAAG,wCAAwC;AAC/D,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,oCAAoC"}
|
|
@@ -27,12 +27,6 @@ Object.defineProperty(exports, "useBusinesses", {
|
|
|
27
27
|
return _useBusinesses.useBusinesses;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
-
Object.defineProperty(exports, "useCheckCustomer", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _useCheckCustomer.useCheckCustomer;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
30
|
Object.defineProperty(exports, "useCreateBusiness", {
|
|
37
31
|
enumerable: true,
|
|
38
32
|
get: function () {
|
|
@@ -79,7 +73,6 @@ var _useDeactivateAccount = require("./useDeactivateAccount");
|
|
|
79
73
|
var _useTermsOfService = require("./useTermsOfService");
|
|
80
74
|
var _useAuth = require("./useAuth");
|
|
81
75
|
var _useCustomer = require("./useCustomer");
|
|
82
|
-
var _useCheckCustomer = require("./useCheckCustomer");
|
|
83
76
|
var _useAppVersionCheck = require("./useAppVersionCheck");
|
|
84
77
|
var _useBusinesses = require("./useBusinesses");
|
|
85
78
|
var _useLogout = require("./useLogout");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useDeactivateAccount","require","_useTermsOfService","_useAuth","_useCustomer","
|
|
1
|
+
{"version":3,"names":["_useDeactivateAccount","require","_useTermsOfService","_useAuth","_useCustomer","_useAppVersionCheck","_useBusinesses","_useLogout","_useCreateBusiness","_useSaveDevice","_useFirebaseMediaUrl"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA"}
|
|
@@ -4,11 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useCustomerQueries = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _components = require("../components");
|
|
9
8
|
var _reactQuery = require("@tanstack/react-query");
|
|
10
9
|
var _firestore = _interopRequireDefault(require("@react-native-firebase/firestore"));
|
|
11
|
-
var _reactNativeUuid = _interopRequireDefault(require("react-native-uuid"));
|
|
12
10
|
var _customer = require("../api/customer");
|
|
13
11
|
var _reactNativeMmkv = require("react-native-mmkv");
|
|
14
12
|
var _constants = require("../constants");
|
|
@@ -20,11 +18,6 @@ const useCustomerQueries = () => {
|
|
|
20
18
|
const user = (0, _auth.default)().currentUser;
|
|
21
19
|
const [selectedBusinessId] = (0, _reactNativeMmkv.useMMKVString)(_constants.MMKV_KEYS.BUSINESS_ID);
|
|
22
20
|
const isLoggedIn = user && !user.isAnonymous;
|
|
23
|
-
(0, _react.useEffect)(() => {
|
|
24
|
-
if (!isLoggedIn) {
|
|
25
|
-
queryClient.invalidateQueries([_queryKeys.queryKeys.LOYALTY, user?.uid]);
|
|
26
|
-
}
|
|
27
|
-
}, [isLoggedIn, queryClient, user?.uid]);
|
|
28
21
|
return {
|
|
29
22
|
useFetchCustomer: () => (0, _reactQuery.useQuery)([_queryKeys.queryKeys.CUSTOMER, user?.uid], async () => {
|
|
30
23
|
if (isLoggedIn) {
|
|
@@ -119,38 +112,6 @@ const useCustomerQueries = () => {
|
|
|
119
112
|
}, {
|
|
120
113
|
enabled: Boolean(isLoggedIn)
|
|
121
114
|
}),
|
|
122
|
-
useFetchSquareProgram: queryOptions => (0, _reactQuery.useQuery)([_queryKeys.queryKeys.PROGRAM, user?.uid, selectedBusinessId], async () => {
|
|
123
|
-
if (isLoggedIn) {
|
|
124
|
-
const programs = await (0, _firestore.default)().collection(`customers/${user?.uid}/programs`).where('type', '==', 'customer').where('businessId', '==', selectedBusinessId).orderBy('updated', 'asc').get();
|
|
125
|
-
if (programs.docs.length > 0) {
|
|
126
|
-
return programs.docs.map(program => program.data())[0];
|
|
127
|
-
} else {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
} else {
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
}, {
|
|
134
|
-
enabled: Boolean(isLoggedIn && selectedBusinessId),
|
|
135
|
-
...queryOptions
|
|
136
|
-
}),
|
|
137
|
-
useFetchSquareLoyalty: queryOptions => (0, _reactQuery.useQuery)([_queryKeys.queryKeys.LOYALTY, user?.uid ?? 'no-user', selectedBusinessId ?? 'no-biz'], async () => {
|
|
138
|
-
const response = await (0, _customer.fetchSquareLoyalty)(user.uid, selectedBusinessId);
|
|
139
|
-
if (response?.data?.error) {
|
|
140
|
-
throw new Error(response.data.error.message || 'Unknown error occurred');
|
|
141
|
-
}
|
|
142
|
-
return response;
|
|
143
|
-
}, {
|
|
144
|
-
enabled: Boolean(isLoggedIn && user?.uid && selectedBusinessId),
|
|
145
|
-
refetchOnWindowFocus: false,
|
|
146
|
-
refetchOnReconnect: false,
|
|
147
|
-
refetchOnMount: false,
|
|
148
|
-
staleTime: 5 * 60 * 1000,
|
|
149
|
-
cacheTime: 30 * 60 * 1000,
|
|
150
|
-
retry: 0,
|
|
151
|
-
select: res => res?.data,
|
|
152
|
-
...(queryOptions || {})
|
|
153
|
-
}),
|
|
154
115
|
useSaveCustomerCard: () => {
|
|
155
116
|
const mutation = (0, _reactQuery.useMutation)(async data => {
|
|
156
117
|
if (isLoggedIn) {
|
|
@@ -194,53 +155,6 @@ const useCustomerQueries = () => {
|
|
|
194
155
|
disableCardLoading: mutation.isLoading
|
|
195
156
|
};
|
|
196
157
|
},
|
|
197
|
-
useConnectSquareLoyalty: () => {
|
|
198
|
-
const mutation = (0, _reactQuery.useMutation)(async () => {
|
|
199
|
-
if (isLoggedIn && selectedBusinessId) {
|
|
200
|
-
const response = await (0, _customer.connectSquareLoyalty)(user?.uid, {
|
|
201
|
-
businessId: selectedBusinessId,
|
|
202
|
-
idempotentKey: _reactNativeUuid.default.v4(),
|
|
203
|
-
uid: user?.uid
|
|
204
|
-
});
|
|
205
|
-
if (response?.data?.error) {
|
|
206
|
-
throw new Error(response.data.error.message || 'Unknown error occurred');
|
|
207
|
-
}
|
|
208
|
-
return response;
|
|
209
|
-
}
|
|
210
|
-
return null;
|
|
211
|
-
}, {
|
|
212
|
-
onSuccess: () => {
|
|
213
|
-
queryClient.invalidateQueries([_queryKeys.queryKeys.LOYALTY, user?.uid]);
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
return {
|
|
217
|
-
connectSquareLoyalty: mutation.mutate,
|
|
218
|
-
connectLoyaltyLoading: mutation.isLoading
|
|
219
|
-
};
|
|
220
|
-
},
|
|
221
|
-
useConnectSquareCustomer: () => {
|
|
222
|
-
const mutation = (0, _reactQuery.useMutation)(async () => {
|
|
223
|
-
if (isLoggedIn && selectedBusinessId) {
|
|
224
|
-
await (0, _customer.connectSquareCustomer)(user?.uid, {
|
|
225
|
-
businessId: selectedBusinessId,
|
|
226
|
-
idempotentKey: _reactNativeUuid.default.v4(),
|
|
227
|
-
uid: user?.uid
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
}, {
|
|
231
|
-
onError: err => _components.Alert.show({
|
|
232
|
-
title: 'Code ' + err?.code,
|
|
233
|
-
description: err?.message
|
|
234
|
-
}),
|
|
235
|
-
onSuccess: () => {
|
|
236
|
-
queryClient.invalidateQueries([_queryKeys.queryKeys.PROGRAM, user?.uid]);
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
return {
|
|
240
|
-
connectSquare: mutation.mutate,
|
|
241
|
-
connectSquareLoading: mutation.isLoading
|
|
242
|
-
};
|
|
243
|
-
},
|
|
244
158
|
useFetchLoyaltyRewards: options => (0, _reactQuery.useQuery)([_queryKeys.queryKeys.REWARDS, selectedBusinessId], async () => {
|
|
245
159
|
if (selectedBusinessId) return await (0, _customer.fetchLoyaltyRewards)(selectedBusinessId);else {
|
|
246
160
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_components","_reactQuery","_firestore","_interopRequireDefault","_reactNativeUuid","_customer","_reactNativeMmkv","_constants","_queryKeys","_auth","obj","__esModule","default","useCustomerQueries","queryClient","useQueryClient","user","firebase","currentUser","selectedBusinessId","useMMKVString","MMKV_KEYS","BUSINESS_ID","isLoggedIn","isAnonymous","useEffect","invalidateQueries","queryKeys","LOYALTY","uid","useFetchCustomer","useQuery","CUSTOMER","getCustomer","select","data","customer","useCreateCustomer","mutation","useMutation","response","createCustomer","onError","err","Alert","show","title","code","description","message","createCustomerHook","mutateAsync","createCustomerLoading","isLoading","useUpdateCustomer","props","updateCustomerProfile","updateCustomer","mutate","updateCustomerLoading","useSaveCustomerAddress","address","saveCustomerAddress","useSaveAddress","saveAddressLoading","useFetchSavedCards","CARDS","payments","firestore","collection","orderBy","where","get","docs","length","map","payment","id","enabled","Boolean","useFetchSquareProgram","queryOptions","PROGRAM","programs","program","useFetchSquareLoyalty","fetchSquareLoyalty","error","Error","refetchOnWindowFocus","refetchOnReconnect","refetchOnMount","staleTime","cacheTime","retry","res","useSaveCustomerCard","saveCustomerCard","onSuccess","saveCard","saveCardLoading","useDisableCard","documentId","doc","update","isActive","disableCard","disableCardLoading","useConnectSquareLoyalty","connectSquareLoyalty","businessId","idempotentKey","uuid","v4","connectLoyaltyLoading","useConnectSquareCustomer","connectSquareCustomer","connectSquare","connectSquareLoading","useFetchLoyaltyRewards","options","REWARDS","fetchLoyaltyRewards","exports"],"sourceRoot":"../../../src","sources":["hooks/useCustomer.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_reactQuery","_firestore","_interopRequireDefault","_customer","_reactNativeMmkv","_constants","_queryKeys","_auth","obj","__esModule","default","useCustomerQueries","queryClient","useQueryClient","user","firebase","currentUser","selectedBusinessId","useMMKVString","MMKV_KEYS","BUSINESS_ID","isLoggedIn","isAnonymous","useFetchCustomer","useQuery","queryKeys","CUSTOMER","uid","getCustomer","select","data","customer","useCreateCustomer","mutation","useMutation","response","createCustomer","invalidateQueries","onError","err","Alert","show","title","code","description","message","createCustomerHook","mutateAsync","createCustomerLoading","isLoading","useUpdateCustomer","props","updateCustomerProfile","updateCustomer","mutate","updateCustomerLoading","useSaveCustomerAddress","address","saveCustomerAddress","useSaveAddress","saveAddressLoading","useFetchSavedCards","CARDS","payments","firestore","collection","orderBy","where","get","docs","length","map","payment","id","enabled","Boolean","useSaveCustomerCard","saveCustomerCard","onSuccess","saveCard","saveCardLoading","useDisableCard","documentId","doc","update","isActive","disableCard","disableCardLoading","useFetchLoyaltyRewards","options","REWARDS","fetchLoyaltyRewards","exports"],"sourceRoot":"../../../src","sources":["hooks/useCustomer.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CustomerProvider = exports.CustomerContext = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _auth = _interopRequireDefault(require("@react-native-firebase/auth"));
|
|
9
|
+
var _firestore = _interopRequireDefault(require("@react-native-firebase/firestore"));
|
|
10
|
+
var _reactNativeMmkv = require("react-native-mmkv");
|
|
11
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
12
|
+
var _reactNativeUuid = _interopRequireDefault(require("react-native-uuid"));
|
|
13
|
+
var _customer = require("../../api/customer");
|
|
14
|
+
var _constants = require("../../constants");
|
|
15
|
+
var _queryKeys = require("../../hooks/queryKeys");
|
|
16
|
+
var _classifyLoyaltyError = require("./classifyLoyaltyError");
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
+
const customerSetupAttempted = new Set();
|
|
21
|
+
const CustomerContext = exports.CustomerContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
22
|
+
const CustomerProvider = ({
|
|
23
|
+
children,
|
|
24
|
+
autoEnroll,
|
|
25
|
+
loyaltyEnabled
|
|
26
|
+
}) => {
|
|
27
|
+
const queryClient = (0, _reactQuery.useQueryClient)();
|
|
28
|
+
const [selectedBusinessId] = (0, _reactNativeMmkv.useMMKVString)(_constants.MMKV_KEYS.BUSINESS_ID);
|
|
29
|
+
const [uid, setUid] = (0, _react.useState)(null);
|
|
30
|
+
const uidRef = _react.default.useRef(null);
|
|
31
|
+
const [customerStatus, setCustomerStatus] = (0, _react.useState)('idle');
|
|
32
|
+
const [squareCustomerId, setSquareCustomerId] = (0, _react.useState)(null);
|
|
33
|
+
const [customerError, setCustomerError] = (0, _react.useState)(null);
|
|
34
|
+
const [loyaltyStatus, setLoyaltyStatus] = (0, _react.useState)('idle');
|
|
35
|
+
const [loyalty, setLoyaltyData] = (0, _react.useState)(null);
|
|
36
|
+
const [loyaltyError, setLoyaltyError] = (0, _react.useState)(null);
|
|
37
|
+
const resetState = (0, _react.useCallback)(userId => {
|
|
38
|
+
setCustomerStatus('idle');
|
|
39
|
+
setSquareCustomerId(null);
|
|
40
|
+
setCustomerError(null);
|
|
41
|
+
setLoyaltyStatus('idle');
|
|
42
|
+
setLoyaltyData(null);
|
|
43
|
+
setLoyaltyError(null);
|
|
44
|
+
if (userId) {
|
|
45
|
+
for (const key of [...customerSetupAttempted]) {
|
|
46
|
+
if (key.startsWith(`${userId}:`)) {
|
|
47
|
+
customerSetupAttempted.delete(key);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
queryClient.removeQueries([_queryKeys.queryKeys.LOYALTY]);
|
|
52
|
+
queryClient.removeQueries([_queryKeys.queryKeys.PROGRAM]);
|
|
53
|
+
}, [queryClient]);
|
|
54
|
+
(0, _react.useEffect)(() => {
|
|
55
|
+
const unsubscribe = (0, _auth.default)().onAuthStateChanged(user => {
|
|
56
|
+
const loggedIn = Boolean(user && !user.isAnonymous);
|
|
57
|
+
if (loggedIn && user) {
|
|
58
|
+
setUid(user.uid);
|
|
59
|
+
uidRef.current = user.uid;
|
|
60
|
+
} else {
|
|
61
|
+
resetState(uidRef.current);
|
|
62
|
+
setUid(null);
|
|
63
|
+
uidRef.current = null;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return unsubscribe;
|
|
67
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
68
|
+
}, []);
|
|
69
|
+
(0, _react.useEffect)(() => {
|
|
70
|
+
if (!uid || !selectedBusinessId) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const key = `${uid}:${selectedBusinessId}`;
|
|
74
|
+
if (customerSetupAttempted.has(key)) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
customerSetupAttempted.add(key);
|
|
78
|
+
runCustomerSetup(uid, selectedBusinessId);
|
|
79
|
+
}, [uid, selectedBusinessId]);
|
|
80
|
+
const runCustomerSetup = async (userId, businessId) => {
|
|
81
|
+
const key = `${userId}:${businessId}`;
|
|
82
|
+
setCustomerStatus('loading');
|
|
83
|
+
try {
|
|
84
|
+
const customerRes = await (0, _customer.getCustomer)(userId);
|
|
85
|
+
if (customerRes?.data?.customer === null) {
|
|
86
|
+
await (0, _customer.createCustomer)({
|
|
87
|
+
uid: userId
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
const programs = await (0, _firestore.default)().collection(`customers/${userId}/programs`).where('type', '==', 'customer').where('businessId', '==', businessId).get();
|
|
91
|
+
let custId = null;
|
|
92
|
+
if (programs.empty) {
|
|
93
|
+
await (0, _customer.connectSquareCustomer)(userId, {
|
|
94
|
+
businessId,
|
|
95
|
+
uid: userId,
|
|
96
|
+
idempotentKey: _reactNativeUuid.default.v4()
|
|
97
|
+
});
|
|
98
|
+
const updated = await (0, _firestore.default)().collection(`customers/${userId}/programs`).where('type', '==', 'customer').where('businessId', '==', businessId).get();
|
|
99
|
+
if (!updated.empty) {
|
|
100
|
+
custId = updated.docs[0].data().linkedObjectId ?? null;
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
custId = programs.docs[0].data().linkedObjectId ?? null;
|
|
104
|
+
}
|
|
105
|
+
setSquareCustomerId(custId);
|
|
106
|
+
setCustomerStatus('ready');
|
|
107
|
+
console.log(`[CustomerProvider] Customer ready for ${key}`);
|
|
108
|
+
} catch (err) {
|
|
109
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
110
|
+
console.warn(`[CustomerProvider] Customer setup failed for ${key}: ${msg}`);
|
|
111
|
+
customerSetupAttempted.delete(key);
|
|
112
|
+
setCustomerError(msg);
|
|
113
|
+
setCustomerStatus('error');
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
const fetchLoyaltyData = (0, _react.useCallback)(async (userId, businessId) => {
|
|
117
|
+
try {
|
|
118
|
+
const response = await (0, _customer.fetchSquareLoyalty)(userId, businessId);
|
|
119
|
+
if (response?.data?.error) {
|
|
120
|
+
throw new Error(response.data.error.message || 'Unknown loyalty error');
|
|
121
|
+
}
|
|
122
|
+
setLoyaltyData(response?.data ?? null);
|
|
123
|
+
setLoyaltyStatus('ready');
|
|
124
|
+
setLoyaltyError(null);
|
|
125
|
+
} catch (err) {
|
|
126
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
127
|
+
console.log(`[CustomerProvider] Loyalty fetch failed: ${msg}`);
|
|
128
|
+
if (msg.includes('does not have loyalty')) {
|
|
129
|
+
if (autoEnroll) {
|
|
130
|
+
await attemptEnroll(userId, businessId);
|
|
131
|
+
} else {
|
|
132
|
+
setLoyaltyStatus('not_enrolled');
|
|
133
|
+
}
|
|
134
|
+
} else {
|
|
135
|
+
setLoyaltyError(msg);
|
|
136
|
+
setLoyaltyStatus('error');
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
141
|
+
[autoEnroll]);
|
|
142
|
+
const attemptEnroll = (0, _react.useCallback)(async (userId, businessId) => {
|
|
143
|
+
setLoyaltyStatus('enrolling');
|
|
144
|
+
try {
|
|
145
|
+
const response = await (0, _customer.connectSquareLoyalty)(userId, {
|
|
146
|
+
businessId,
|
|
147
|
+
uid: userId,
|
|
148
|
+
idempotentKey: _reactNativeUuid.default.v4()
|
|
149
|
+
});
|
|
150
|
+
if (response?.data?.error) {
|
|
151
|
+
throw new Error(response.data.error.message || 'Unknown connect error');
|
|
152
|
+
}
|
|
153
|
+
await fetchLoyaltyData(userId, businessId);
|
|
154
|
+
} catch (err) {
|
|
155
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
156
|
+
console.log(`[CustomerProvider] Loyalty connect failed: ${msg}`);
|
|
157
|
+
const outcome = (0, _classifyLoyaltyError.classifyLoyaltyError)(msg);
|
|
158
|
+
if (outcome === 'refetch') {
|
|
159
|
+
await fetchLoyaltyData(userId, businessId);
|
|
160
|
+
} else if (outcome === 'duplicate') {
|
|
161
|
+
setLoyaltyError('Multiple account records found. Contact support.');
|
|
162
|
+
setLoyaltyStatus('error');
|
|
163
|
+
} else if (outcome === 'no_loyalty') {
|
|
164
|
+
setLoyaltyStatus('no_loyalty');
|
|
165
|
+
} else {
|
|
166
|
+
setLoyaltyError(msg);
|
|
167
|
+
setLoyaltyStatus('error');
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}, [fetchLoyaltyData]);
|
|
171
|
+
const runLoyaltySetup = (0, _react.useCallback)(async (userId, businessId) => {
|
|
172
|
+
setLoyaltyStatus('loading');
|
|
173
|
+
await fetchLoyaltyData(userId, businessId);
|
|
174
|
+
}, [fetchLoyaltyData]);
|
|
175
|
+
(0, _react.useEffect)(() => {
|
|
176
|
+
if (customerStatus !== 'ready' || !uid || !selectedBusinessId) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (!loyaltyEnabled) {
|
|
180
|
+
setLoyaltyStatus('no_loyalty');
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
runLoyaltySetup(uid, selectedBusinessId);
|
|
184
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
185
|
+
}, [customerStatus, loyaltyEnabled, uid, selectedBusinessId]);
|
|
186
|
+
const enroll = (0, _react.useCallback)(() => {
|
|
187
|
+
if (!uid || !selectedBusinessId || loyaltyStatus === 'enrolling') {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
attemptEnroll(uid, selectedBusinessId);
|
|
191
|
+
}, [uid, selectedBusinessId, loyaltyStatus, attemptEnroll]);
|
|
192
|
+
const refetchLoyalty = (0, _react.useCallback)(() => {
|
|
193
|
+
if (!uid || !selectedBusinessId) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
fetchLoyaltyData(uid, selectedBusinessId);
|
|
197
|
+
}, [uid, selectedBusinessId, fetchLoyaltyData]);
|
|
198
|
+
const value = {
|
|
199
|
+
customerStatus,
|
|
200
|
+
squareCustomerId,
|
|
201
|
+
customerError,
|
|
202
|
+
loyaltyStatus,
|
|
203
|
+
loyalty,
|
|
204
|
+
points: loyalty?.program?.loyaltyDetails?.points ?? 0,
|
|
205
|
+
loyaltyError,
|
|
206
|
+
enroll,
|
|
207
|
+
refetchLoyalty
|
|
208
|
+
};
|
|
209
|
+
return /*#__PURE__*/_react.default.createElement(CustomerContext.Provider, {
|
|
210
|
+
value: value
|
|
211
|
+
}, children);
|
|
212
|
+
};
|
|
213
|
+
exports.CustomerProvider = CustomerProvider;
|
|
214
|
+
//# sourceMappingURL=CustomerProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_auth","_interopRequireDefault","_firestore","_reactNativeMmkv","_reactQuery","_reactNativeUuid","_customer","_constants","_queryKeys","_classifyLoyaltyError","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","customerSetupAttempted","Set","CustomerContext","exports","createContext","CustomerProvider","children","autoEnroll","loyaltyEnabled","queryClient","useQueryClient","selectedBusinessId","useMMKVString","MMKV_KEYS","BUSINESS_ID","uid","setUid","useState","uidRef","React","useRef","customerStatus","setCustomerStatus","squareCustomerId","setSquareCustomerId","customerError","setCustomerError","loyaltyStatus","setLoyaltyStatus","loyalty","setLoyaltyData","loyaltyError","setLoyaltyError","resetState","useCallback","userId","key","startsWith","delete","removeQueries","queryKeys","LOYALTY","PROGRAM","useEffect","unsubscribe","auth","onAuthStateChanged","user","loggedIn","Boolean","isAnonymous","current","add","runCustomerSetup","businessId","customerRes","getCustomer","data","customer","createCustomer","programs","firestore","collection","where","custId","empty","connectSquareCustomer","idempotentKey","uuid","v4","updated","docs","linkedObjectId","console","log","err","msg","Error","message","String","warn","fetchLoyaltyData","response","fetchSquareLoyalty","error","includes","attemptEnroll","connectSquareLoyalty","outcome","classifyLoyaltyError","runLoyaltySetup","enroll","refetchLoyalty","value","points","program","loyaltyDetails","createElement","Provider"],"sourceRoot":"../../../../src","sources":["providers/customer/CustomerProvider.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# CustomerProvider
|
|
2
|
+
|
|
3
|
+
Owns the full customer + loyalty lifecycle. Replaces the old scattered hooks (`useCheckCustomer`, `useFetchSquareLoyalty`, `useConnectSquareLoyalty`, `useFetchSquareProgram`, `useConnectSquareCustomer`).
|
|
4
|
+
|
|
5
|
+
## What it does
|
|
6
|
+
|
|
7
|
+
1. Subscribes to Firebase auth — starts setup on login, clears state on logout
|
|
8
|
+
2. Ensures the customer record exists (`getCustomer` / `createCustomer`)
|
|
9
|
+
3. Ensures the Square customer program doc exists (`connectSquareCustomer`) — guarded by a module-level `Set` so it never fires twice for the same `uid:businessId`, even across remounts
|
|
10
|
+
4. Fetches loyalty data — on "does not have loyalty":
|
|
11
|
+
- `autoEnroll=true` (kiosk): calls `connectSquareLoyalty` automatically
|
|
12
|
+
- `autoEnroll=false` (Gusteau): sets `not_enrolled`, waits for `enroll()` call
|
|
13
|
+
5. Classifies all `connectSquareLoyalty` errors so checkout is never blocked
|
|
14
|
+
|
|
15
|
+
## Setup
|
|
16
|
+
|
|
17
|
+
Wrap your authenticated navigator with the provider:
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
import { CustomerProvider } from '@kiosinc/commons-rn';
|
|
21
|
+
|
|
22
|
+
// autoEnroll=true for kiosk (auto-enroll on login)
|
|
23
|
+
// autoEnroll=false for Gusteau (manual enroll via button)
|
|
24
|
+
<CustomerProvider
|
|
25
|
+
autoEnroll
|
|
26
|
+
loyaltyEnabled={isSquareLoyaltyEnabled}>
|
|
27
|
+
<YourNavigator />
|
|
28
|
+
</CustomerProvider>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`businessId` is read internally from MMKV (`MMKV_KEYS.BUSINESS_ID`) — no prop needed.
|
|
32
|
+
|
|
33
|
+
## Consumer hooks
|
|
34
|
+
|
|
35
|
+
### `useSquareCustomer()` — for checkout
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
import { useSquareCustomer } from '@kiosinc/commons-rn';
|
|
39
|
+
|
|
40
|
+
const { squareCustomerId, customerStatus, customerError } = useSquareCustomer();
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
| Field | Type | Description |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| `squareCustomerId` | `string \| null` | Pass to `useOptimizedCheckout`. Available even if loyalty is broken. |
|
|
46
|
+
| `customerStatus` | `CustomerStatus` | `idle \| loading \| ready \| error` |
|
|
47
|
+
| `customerError` | `string \| null` | Error message if setup failed |
|
|
48
|
+
|
|
49
|
+
### `useLoyalty()` — for rewards screens
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
import { useLoyalty } from '@kiosinc/commons-rn';
|
|
53
|
+
|
|
54
|
+
const {
|
|
55
|
+
loyaltyStatus,
|
|
56
|
+
isReady,
|
|
57
|
+
loyalty,
|
|
58
|
+
points,
|
|
59
|
+
loyaltyError,
|
|
60
|
+
enroll,
|
|
61
|
+
refetchLoyalty,
|
|
62
|
+
} = useLoyalty();
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
| Field | Type | Description |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| `loyaltyStatus` | `LoyaltyStatus` | See status machine below |
|
|
68
|
+
| `isReady` | `boolean` | `loyaltyStatus === 'ready'` |
|
|
69
|
+
| `loyalty` | `CustomerLoyalty \| null` | Full loyalty object |
|
|
70
|
+
| `points` | `number` | Available points (0 if not ready) |
|
|
71
|
+
| `loyaltyError` | `string \| null` | Show on error/no_loyalty screens |
|
|
72
|
+
| `enroll()` | `() => void` | Gusteau: call from "Join" button. Noop if already enrolling or autoEnroll=true. |
|
|
73
|
+
| `refetchLoyalty()` | `() => void` | Call after payment to refresh points |
|
|
74
|
+
|
|
75
|
+
## Status machines
|
|
76
|
+
|
|
77
|
+
### `customerStatus`
|
|
78
|
+
```
|
|
79
|
+
idle → loading → ready
|
|
80
|
+
→ error
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### `loyaltyStatus`
|
|
84
|
+
```
|
|
85
|
+
idle → loading → ready
|
|
86
|
+
→ not_enrolled (autoEnroll=false, no loyalty account)
|
|
87
|
+
→ enrolling → ready
|
|
88
|
+
→ error
|
|
89
|
+
→ no_loyalty (merchant has no loyalty program)
|
|
90
|
+
→ error (duplicate customer docs, etc.)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Error handling
|
|
94
|
+
|
|
95
|
+
`connectSquareLoyalty` errors are classified automatically:
|
|
96
|
+
|
|
97
|
+
| Error message | Outcome |
|
|
98
|
+
|---|---|
|
|
99
|
+
| contains `already has` / `ALREADY_EXISTS` / `already exists` | Refetch → `ready` |
|
|
100
|
+
| contains `More than one` / `more than one` | `loyaltyStatus = 'error'`, message: "Multiple account records found. Contact support." |
|
|
101
|
+
| contains `Square Loyalty not enabled` / `not enabled` | `loyaltyStatus = 'no_loyalty'` |
|
|
102
|
+
| anything else | `loyaltyStatus = 'error'`, raw message shown |
|
|
103
|
+
|
|
104
|
+
## Session reset
|
|
105
|
+
|
|
106
|
+
Provider resets automatically on Firebase auth state change (logout). For kiosk sleep/wake cycles that don't sign out Firebase, sign the user out via `firebase().auth().signOut()` to trigger a full reset.
|
|
107
|
+
|
|
108
|
+
## Gusteau usage
|
|
109
|
+
|
|
110
|
+
```tsx
|
|
111
|
+
// In your business selector screen:
|
|
112
|
+
<CustomerProvider autoEnroll={false} loyaltyEnabled={true}>
|
|
113
|
+
<AppNavigator />
|
|
114
|
+
</CustomerProvider>
|
|
115
|
+
|
|
116
|
+
// In your loyalty join screen:
|
|
117
|
+
const { loyaltyStatus, enroll } = useLoyalty();
|
|
118
|
+
|
|
119
|
+
if (loyaltyStatus === 'not_enrolled') {
|
|
120
|
+
return <Button onPress={enroll} title="Join Loyalty Program" />;
|
|
121
|
+
}
|
|
122
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.classifyLoyaltyError = classifyLoyaltyError;
|
|
7
|
+
function classifyLoyaltyError(message) {
|
|
8
|
+
if (message.includes('already has') || message.includes('ALREADY_EXISTS') || message.toLowerCase().includes('already exists')) {
|
|
9
|
+
return 'refetch';
|
|
10
|
+
}
|
|
11
|
+
if (message.includes('More than one') || message.includes('more than one')) {
|
|
12
|
+
return 'duplicate';
|
|
13
|
+
}
|
|
14
|
+
if (message.includes('Square Loyalty not enabled') || message.toLowerCase().includes('not enabled')) {
|
|
15
|
+
return 'no_loyalty';
|
|
16
|
+
}
|
|
17
|
+
return 'error';
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=classifyLoyaltyError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["classifyLoyaltyError","message","includes","toLowerCase"],"sourceRoot":"../../../../src","sources":["providers/customer/classifyLoyaltyError.ts"],"mappings":";;;;;;AAMO,SAASA,oBAAoBA,CAACC,OAAe,EAAyB;EAC3E,IACEA,OAAO,CAACC,QAAQ,CAAC,aAAa,CAAC,IAC/BD,OAAO,CAACC,QAAQ,CAAC,gBAAgB,CAAC,IAClCD,OAAO,CAACE,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,gBAAgB,CAAC,EAChD;IACA,OAAO,SAAS;EAClB;EACA,IAAID,OAAO,CAACC,QAAQ,CAAC,eAAe,CAAC,IAAID,OAAO,CAACC,QAAQ,CAAC,eAAe,CAAC,EAAE;IAC1E,OAAO,WAAW;EACpB;EACA,IACED,OAAO,CAACC,QAAQ,CAAC,4BAA4B,CAAC,IAC9CD,OAAO,CAACE,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,aAAa,CAAC,EAC7C;IACA,OAAO,YAAY;EACrB;EACA,OAAO,OAAO;AAChB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "CustomerProvider", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _CustomerProvider.CustomerProvider;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useLoyalty", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _useLoyalty.useLoyalty;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "useSquareCustomer", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _useSquareCustomer.useSquareCustomer;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _CustomerProvider = require("./CustomerProvider");
|
|
25
|
+
var _useSquareCustomer = require("./useSquareCustomer");
|
|
26
|
+
var _useLoyalty = require("./useLoyalty");
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_CustomerProvider","require","_useSquareCustomer","_useLoyalty"],"sourceRoot":"../../../../src","sources":["providers/customer/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["providers/customer/types.ts"],"mappings":""}
|