@open-tender/cloud 0.4.38 → 0.4.40

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.
@@ -13,7 +13,8 @@ export interface CheckoutState {
13
13
  export declare enum CheckoutActionType {
14
14
  ValidateOrder = "checkout/validateOrder",
15
15
  SubmitOrder = "checkout/SubmitOrder",
16
- SubmitOrderPay = "checkout/SubmitOrderPay"
16
+ SubmitOrderPay = "checkout/SubmitOrderPay",
17
+ UpdateForm = "checkout/updateForm"
17
18
  }
18
19
  export declare const validateOrder: import("@reduxjs/toolkit").AsyncThunk<{
19
20
  check: CheckoutCheck;
@@ -40,6 +41,16 @@ export declare const submitOrder: import("@reduxjs/toolkit").AsyncThunk<Order, {
40
41
  fulfilledMeta?: unknown;
41
42
  rejectedMeta?: unknown;
42
43
  }>;
44
+ export declare const updateForm: import("@reduxjs/toolkit").AsyncThunk<CheckoutState, Partial<CheckoutForm>, {
45
+ state: AppState;
46
+ rejectValue: CheckoutErrorMessages;
47
+ dispatch?: Dispatch<import("redux").AnyAction> | undefined;
48
+ extra?: unknown;
49
+ serializedErrorType?: unknown;
50
+ pendingMeta?: unknown;
51
+ fulfilledMeta?: unknown;
52
+ rejectedMeta?: unknown;
53
+ }>;
43
54
  export declare const submitOrderPay: import("@reduxjs/toolkit").AsyncThunk<Order | null, boolean | undefined, {
44
55
  state: AppState;
45
56
  rejectValue: CheckoutErrorMessages;
@@ -50,7 +61,7 @@ export declare const submitOrderPay: import("@reduxjs/toolkit").AsyncThunk<Order
50
61
  fulfilledMeta?: unknown;
51
62
  rejectedMeta?: unknown;
52
63
  }>;
53
- export declare const resetCheckout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCheckout">, resetCheck: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCheck">, resetCompletedOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCompletedOrder">, resetErrors: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetErrors">, resetTip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetTip">, setCompletedOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setCompletedOrder">, setGuest: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setGuest">, setSubmitting: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setSubmitting">, updateCheckoutCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/updateCheckoutCustomer">, updateForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/updateForm">, setRecaptchaToken: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setRecaptchaToken">;
64
+ export declare const resetCheckout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCheckout">, resetCheck: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCheck">, resetCompletedOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCompletedOrder">, resetErrors: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetErrors">, resetTip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetTip">, setCompletedOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setCompletedOrder">, setGuest: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setGuest">, setSubmitting: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setSubmitting">, updateCheckoutCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/updateCheckoutCustomer">, setRecaptchaToken: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setRecaptchaToken">;
54
65
  export declare const selectCheckout: (state: AppState) => CheckoutState;
55
66
  export declare const selectCheck: (state: AppState) => CheckoutCheck | null;
56
67
  export declare const selectCompletedOrder: (state: AppState) => Order | null;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.checkoutReducer = exports.selectDiscounts = exports.selectCompletedOrder = exports.selectCheck = exports.selectCheckout = exports.setRecaptchaToken = exports.updateForm = exports.updateCheckoutCustomer = exports.setSubmitting = exports.setGuest = exports.setCompletedOrder = exports.resetTip = exports.resetErrors = exports.resetCompletedOrder = exports.resetCheck = exports.resetCheckout = exports.submitOrderPay = exports.submitOrder = exports.validateOrder = exports.CheckoutActionType = void 0;
4
+ exports.checkoutReducer = exports.selectDiscounts = exports.selectCompletedOrder = exports.selectCheck = exports.selectCheckout = exports.setRecaptchaToken = exports.updateCheckoutCustomer = exports.setSubmitting = exports.setGuest = exports.setCompletedOrder = exports.resetTip = exports.resetErrors = exports.resetCompletedOrder = exports.resetCheck = exports.resetCheckout = exports.submitOrderPay = exports.updateForm = exports.submitOrder = exports.validateOrder = exports.CheckoutActionType = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const toolkit_1 = require("@reduxjs/toolkit");
7
7
  const utils_1 = require("@open-tender/utils");
@@ -34,6 +34,7 @@ var CheckoutActionType;
34
34
  CheckoutActionType["ValidateOrder"] = "checkout/validateOrder";
35
35
  CheckoutActionType["SubmitOrder"] = "checkout/SubmitOrder";
36
36
  CheckoutActionType["SubmitOrderPay"] = "checkout/SubmitOrderPay";
37
+ CheckoutActionType["UpdateForm"] = "checkout/updateForm";
37
38
  })(CheckoutActionType = exports.CheckoutActionType || (exports.CheckoutActionType = {}));
38
39
  const assembleOrder = (orderData, save = false) => {
39
40
  const { order, checkout, groupOrder } = orderData;
@@ -46,11 +47,13 @@ const assembleOrder = (orderData, save = false) => {
46
47
  const { deposit = null } = check || {};
47
48
  // const defaultTip = check ? getDefaultTip(check.config) : null
48
49
  const fullAddress = Object.assign(Object.assign({}, order.address), address);
50
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
+ const { customer_id } = customer, customerWithoutId = tslib_1.__rest(customer, ["customer_id"]);
49
52
  const data = {
50
53
  address: (0, utils_1.isEmpty)(fullAddress) ? null : fullAddress,
51
54
  cart: cart,
52
55
  cartId: groupOrder.cartId || null,
53
- customer,
56
+ customer: customerWithoutId,
54
57
  deposit,
55
58
  details,
56
59
  deviceType,
@@ -176,6 +179,16 @@ exports.submitOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.SubmitO
176
179
  return rejectWithValue(errors);
177
180
  }
178
181
  }));
182
+ exports.updateForm = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.UpdateForm, (payload, { getState }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
183
+ const { checkout } = getState();
184
+ const errors = Object.assign({}, checkout.errors);
185
+ const { tenders } = payload;
186
+ if (tenders)
187
+ delete errors.tenders;
188
+ const form = Object.assign(Object.assign({}, checkout.form), payload);
189
+ return Object.assign(Object.assign({}, checkout), { form,
190
+ errors });
191
+ }));
179
192
  exports.submitOrderPay = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.SubmitOrderPay, (showAlert = false, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
180
193
  const { api } = getState().config;
181
194
  if (!api)
@@ -238,14 +251,6 @@ const checkoutSlice = (0, toolkit_1.createSlice)({
238
251
  setRecaptchaToken: (state, action) => {
239
252
  state.form.token = action.payload;
240
253
  },
241
- updateForm: (state, action) => {
242
- const errors = Object.assign({}, state.errors);
243
- const { tenders } = action.payload;
244
- if (tenders)
245
- delete errors.tenders;
246
- state.form = Object.assign(Object.assign({}, state.form), action.payload);
247
- state.errors = errors;
248
- },
249
254
  updateCheckoutCustomer: (state, action) => {
250
255
  const account = action.payload;
251
256
  const customer = Object.assign({}, state.form.customer);
@@ -279,6 +284,9 @@ const checkoutSlice = (0, toolkit_1.createSlice)({
279
284
  .addCase(exports.validateOrder.rejected, (state, action) => {
280
285
  state.errors = action.payload || {};
281
286
  state.loading = 'idle';
287
+ })
288
+ .addCase(exports.updateForm.fulfilled, (state, action) => {
289
+ return Object.assign(Object.assign({}, state), action.payload);
282
290
  })
283
291
  .addCase(exports.submitOrder.fulfilled, (_, action) => {
284
292
  return Object.assign(Object.assign({}, initialState), { completedOrder: action.payload });
@@ -304,7 +312,7 @@ const checkoutSlice = (0, toolkit_1.createSlice)({
304
312
  });
305
313
  }
306
314
  });
307
- _a = checkoutSlice.actions, exports.resetCheckout = _a.resetCheckout, exports.resetCheck = _a.resetCheck, exports.resetCompletedOrder = _a.resetCompletedOrder, exports.resetErrors = _a.resetErrors, exports.resetTip = _a.resetTip, exports.setCompletedOrder = _a.setCompletedOrder, exports.setGuest = _a.setGuest, exports.setSubmitting = _a.setSubmitting, exports.updateCheckoutCustomer = _a.updateCheckoutCustomer, exports.updateForm = _a.updateForm, exports.setRecaptchaToken = _a.setRecaptchaToken;
315
+ _a = checkoutSlice.actions, exports.resetCheckout = _a.resetCheckout, exports.resetCheck = _a.resetCheck, exports.resetCompletedOrder = _a.resetCompletedOrder, exports.resetErrors = _a.resetErrors, exports.resetTip = _a.resetTip, exports.setCompletedOrder = _a.setCompletedOrder, exports.setGuest = _a.setGuest, exports.setSubmitting = _a.setSubmitting, exports.updateCheckoutCustomer = _a.updateCheckoutCustomer, exports.setRecaptchaToken = _a.setRecaptchaToken;
308
316
  const selectCheckout = (state) => state.checkout;
309
317
  exports.selectCheckout = selectCheckout;
310
318
  const selectCheck = (state) => state.checkout.check;
@@ -13,7 +13,8 @@ export interface CheckoutState {
13
13
  export declare enum CheckoutActionType {
14
14
  ValidateOrder = "checkout/validateOrder",
15
15
  SubmitOrder = "checkout/SubmitOrder",
16
- SubmitOrderPay = "checkout/SubmitOrderPay"
16
+ SubmitOrderPay = "checkout/SubmitOrderPay",
17
+ UpdateForm = "checkout/updateForm"
17
18
  }
18
19
  export declare const validateOrder: import("@reduxjs/toolkit").AsyncThunk<{
19
20
  check: CheckoutCheck;
@@ -40,6 +41,16 @@ export declare const submitOrder: import("@reduxjs/toolkit").AsyncThunk<Order, {
40
41
  fulfilledMeta?: unknown;
41
42
  rejectedMeta?: unknown;
42
43
  }>;
44
+ export declare const updateForm: import("@reduxjs/toolkit").AsyncThunk<CheckoutState, Partial<CheckoutForm>, {
45
+ state: AppState;
46
+ rejectValue: CheckoutErrorMessages;
47
+ dispatch?: Dispatch<import("redux").AnyAction> | undefined;
48
+ extra?: unknown;
49
+ serializedErrorType?: unknown;
50
+ pendingMeta?: unknown;
51
+ fulfilledMeta?: unknown;
52
+ rejectedMeta?: unknown;
53
+ }>;
43
54
  export declare const submitOrderPay: import("@reduxjs/toolkit").AsyncThunk<Order | null, boolean | undefined, {
44
55
  state: AppState;
45
56
  rejectValue: CheckoutErrorMessages;
@@ -50,7 +61,7 @@ export declare const submitOrderPay: import("@reduxjs/toolkit").AsyncThunk<Order
50
61
  fulfilledMeta?: unknown;
51
62
  rejectedMeta?: unknown;
52
63
  }>;
53
- export declare const resetCheckout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCheckout">, resetCheck: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCheck">, resetCompletedOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCompletedOrder">, resetErrors: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetErrors">, resetTip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetTip">, setCompletedOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setCompletedOrder">, setGuest: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setGuest">, setSubmitting: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setSubmitting">, updateCheckoutCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/updateCheckoutCustomer">, updateForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/updateForm">, setRecaptchaToken: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setRecaptchaToken">;
64
+ export declare const resetCheckout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCheckout">, resetCheck: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCheck">, resetCompletedOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetCompletedOrder">, resetErrors: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetErrors">, resetTip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetTip">, setCompletedOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setCompletedOrder">, setGuest: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setGuest">, setSubmitting: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setSubmitting">, updateCheckoutCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/updateCheckoutCustomer">, setRecaptchaToken: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setRecaptchaToken">;
54
65
  export declare const selectCheckout: (state: AppState) => CheckoutState;
55
66
  export declare const selectCheck: (state: AppState) => CheckoutCheck | null;
56
67
  export declare const selectCompletedOrder: (state: AppState) => Order | null;
@@ -1,4 +1,4 @@
1
- import { __awaiter } from "tslib";
1
+ import { __awaiter, __rest } from "tslib";
2
2
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
3
3
  import { contains, handleCheckoutError, isEmpty, isString, makeCheckError, makeFormErrorsNested, prepareOrder } from '@open-tender/utils';
4
4
  import { ReducerType } from './types';
@@ -30,6 +30,7 @@ export var CheckoutActionType;
30
30
  CheckoutActionType["ValidateOrder"] = "checkout/validateOrder";
31
31
  CheckoutActionType["SubmitOrder"] = "checkout/SubmitOrder";
32
32
  CheckoutActionType["SubmitOrderPay"] = "checkout/SubmitOrderPay";
33
+ CheckoutActionType["UpdateForm"] = "checkout/updateForm";
33
34
  })(CheckoutActionType || (CheckoutActionType = {}));
34
35
  const assembleOrder = (orderData, save = false) => {
35
36
  const { order, checkout, groupOrder } = orderData;
@@ -42,11 +43,13 @@ const assembleOrder = (orderData, save = false) => {
42
43
  const { deposit = null } = check || {};
43
44
  // const defaultTip = check ? getDefaultTip(check.config) : null
44
45
  const fullAddress = Object.assign(Object.assign({}, order.address), address);
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
47
+ const { customer_id } = customer, customerWithoutId = __rest(customer, ["customer_id"]);
45
48
  const data = {
46
49
  address: isEmpty(fullAddress) ? null : fullAddress,
47
50
  cart: cart,
48
51
  cartId: groupOrder.cartId || null,
49
- customer,
52
+ customer: customerWithoutId,
50
53
  deposit,
51
54
  details,
52
55
  deviceType,
@@ -172,6 +175,16 @@ export const submitOrder = createAsyncThunk(CheckoutActionType.SubmitOrder, (arg
172
175
  return rejectWithValue(errors);
173
176
  }
174
177
  }));
178
+ export const updateForm = createAsyncThunk(CheckoutActionType.UpdateForm, (payload, { getState }) => __awaiter(void 0, void 0, void 0, function* () {
179
+ const { checkout } = getState();
180
+ const errors = Object.assign({}, checkout.errors);
181
+ const { tenders } = payload;
182
+ if (tenders)
183
+ delete errors.tenders;
184
+ const form = Object.assign(Object.assign({}, checkout.form), payload);
185
+ return Object.assign(Object.assign({}, checkout), { form,
186
+ errors });
187
+ }));
175
188
  export const submitOrderPay = createAsyncThunk(CheckoutActionType.SubmitOrderPay, (showAlert = false, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
176
189
  const { api } = getState().config;
177
190
  if (!api)
@@ -234,14 +247,6 @@ const checkoutSlice = createSlice({
234
247
  setRecaptchaToken: (state, action) => {
235
248
  state.form.token = action.payload;
236
249
  },
237
- updateForm: (state, action) => {
238
- const errors = Object.assign({}, state.errors);
239
- const { tenders } = action.payload;
240
- if (tenders)
241
- delete errors.tenders;
242
- state.form = Object.assign(Object.assign({}, state.form), action.payload);
243
- state.errors = errors;
244
- },
245
250
  updateCheckoutCustomer: (state, action) => {
246
251
  const account = action.payload;
247
252
  const customer = Object.assign({}, state.form.customer);
@@ -275,6 +280,9 @@ const checkoutSlice = createSlice({
275
280
  .addCase(validateOrder.rejected, (state, action) => {
276
281
  state.errors = action.payload || {};
277
282
  state.loading = 'idle';
283
+ })
284
+ .addCase(updateForm.fulfilled, (state, action) => {
285
+ return Object.assign(Object.assign({}, state), action.payload);
278
286
  })
279
287
  .addCase(submitOrder.fulfilled, (_, action) => {
280
288
  return Object.assign(Object.assign({}, initialState), { completedOrder: action.payload });
@@ -300,7 +308,7 @@ const checkoutSlice = createSlice({
300
308
  });
301
309
  }
302
310
  });
303
- export const { resetCheckout, resetCheck, resetCompletedOrder, resetErrors, resetTip, setCompletedOrder, setGuest, setSubmitting, updateCheckoutCustomer, updateForm, setRecaptchaToken, } = checkoutSlice.actions;
311
+ export const { resetCheckout, resetCheck, resetCompletedOrder, resetErrors, resetTip, setCompletedOrder, setGuest, setSubmitting, updateCheckoutCustomer, setRecaptchaToken } = checkoutSlice.actions;
304
312
  export const selectCheckout = (state) => state.checkout;
305
313
  export const selectCheck = (state) => state.checkout.check;
306
314
  export const selectCompletedOrder = (state) => state.checkout.completedOrder;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/cloud",
3
- "version": "0.4.38",
3
+ "version": "0.4.40",
4
4
  "description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",