@jetshop/core 5.10.0 → 5.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. package/ChannelHandler/ChannelHandler.d.ts +9 -13
  2. package/ChannelHandler/ChannelHandler.js +16 -63
  3. package/ChannelHandler/ChannelHandler.js.map +1 -1
  4. package/ChannelHandler/channelUtils.d.ts +13 -0
  5. package/ChannelHandler/channelUtils.js +26 -15
  6. package/ChannelHandler/channelUtils.js.map +1 -1
  7. package/ChannelHandler/redirectUtils.d.ts +3 -0
  8. package/ChannelHandler/redirectUtils.js +48 -0
  9. package/ChannelHandler/redirectUtils.js.map +1 -0
  10. package/ChannelHandler/redirectUtils.test.js +8 -0
  11. package/analytics/AnalyticsProvider.js +1 -1
  12. package/analytics/AnalyticsProvider.js.map +1 -1
  13. package/boot/SharedTree.js +1 -1
  14. package/boot/SharedTree.js.map +1 -1
  15. package/boot/apollo.d.ts +5 -3
  16. package/boot/apollo.js +9 -13
  17. package/boot/apollo.js.map +1 -1
  18. package/boot/client/startClient.js +5 -10
  19. package/boot/client/startClient.js.map +1 -1
  20. package/boot/server/createRenderer.js +8 -7
  21. package/boot/server/createRenderer.js.map +1 -1
  22. package/boot/server/index.js +2 -2
  23. package/boot/server/index.js.map +1 -1
  24. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +53 -39
  25. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +2 -2
  26. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +1 -1
  27. package/components/Auth/CustomerUpdateForm.js +7 -7
  28. package/components/Auth/CustomerUpdateForm.js.map +1 -1
  29. package/components/ChannelContext/ChannelProvider.d.ts +1 -3
  30. package/components/ChannelContext/ChannelProvider.js +6 -13
  31. package/components/ChannelContext/ChannelProvider.js.map +1 -1
  32. package/components/ChannelContext/ChannelProvider.test.js +110 -0
  33. package/components/Mutation/cartMutationUtils.js +7 -6
  34. package/components/Mutation/cartMutationUtils.js.map +1 -1
  35. package/components/Query/CartProvider.js +31 -21
  36. package/components/Query/CartProvider.js.map +1 -1
  37. package/components/StructuredData/StructuredBreadcrumbData.js +4 -3
  38. package/components/StructuredData/StructuredBreadcrumbData.js.map +1 -1
  39. package/hooks/ProductList/ProductListContext.js +37 -14
  40. package/hooks/ProductList/ProductListContext.js.map +1 -1
  41. package/hooks/ProductList/action-creators.d.ts +20 -7
  42. package/hooks/ProductList/action-creators.js +125 -31
  43. package/hooks/ProductList/action-creators.js.map +1 -1
  44. package/hooks/ProductList/index.d.ts +34 -8
  45. package/hooks/ProductList/index.js +19 -0
  46. package/hooks/ProductList/index.js.map +1 -1
  47. package/hooks/ProductList/list-transforms.d.ts +2 -2
  48. package/hooks/ProductList/list-transforms.js +22 -22
  49. package/hooks/ProductList/list-transforms.js.map +1 -1
  50. package/hooks/ProductList/list-transforms.test.js +103 -100
  51. package/hooks/ProductList/product-list-reducer.d.ts +37 -14
  52. package/hooks/ProductList/product-list-reducer.js +106 -43
  53. package/hooks/ProductList/product-list-reducer.js.map +1 -1
  54. package/hooks/ProductList/product-list-reducer.test.js +144 -82
  55. package/hooks/ProductList/useProductList.d.ts +2 -2
  56. package/hooks/ProductList/useProductList.js +12 -5
  57. package/hooks/ProductList/useProductList.js.map +1 -1
  58. package/hooks/ProductList/useProductListItems.d.ts +1 -1
  59. package/hooks/ProductList/useProductListItems.js +8 -6
  60. package/hooks/ProductList/useProductListItems.js.map +1 -1
  61. package/package.json +1 -1
  62. package/resolvers/index.d.ts +3 -0
  63. package/resolvers/index.js +3 -0
  64. package/resolvers/index.js.map +1 -1
  65. package/sentry/client.js +1 -1
  66. package/sentry/client.js.map +1 -1
  67. package/time.d.ts +1 -0
  68. package/time.js +6 -0
  69. package/time.js.map +1 -0
@@ -1,14 +1,18 @@
1
+ import { PRODUCT_LISTS_KEY, productListArrayToMap } from '.';
1
2
  import { flattenList, normalizeServerList } from './list-transforms';
2
3
  import uniqueId from '../../helpers/uniqueId';
3
- export function loginAction({ loginMutation }) {
4
+ export function loginAction({ loginMutation, fetchAll }) {
4
5
  return (dispatch, getState) => {
5
6
  const state = getState();
7
+ // Merge what is in the default list onto the default list on the server
8
+ // for this user.
9
+ const list = state.lists.get(null);
6
10
  loginMutation({
7
11
  fetchPolicy: 'no-cache',
8
12
  context: { useApolloNetworkStatus: false },
9
13
  variables: {
10
14
  id: null,
11
- items: flattenList(state.list).map((listItem) => ({
15
+ items: flattenList(list).map((listItem) => ({
12
16
  articleNumber: listItem.articleNumber,
13
17
  quantity: listItem.options.quantity,
14
18
  description: listItem.options.description
@@ -16,8 +20,32 @@ export function loginAction({ loginMutation }) {
16
20
  }
17
21
  })
18
22
  .then((response) => {
19
- const list = normalizeServerList(response.data.addToCustomerProductList);
20
- dispatch({ type: 'LOGIN', payload: list });
23
+ const list = normalizeServerList(response.data.addToCustomerProductList.customerProductList);
24
+ dispatch({
25
+ type: 'LOGIN',
26
+ payload: {
27
+ listId: null,
28
+ list
29
+ }
30
+ });
31
+ // Also fetch any other list that this user might have and update the state.
32
+ return fetchAll().then((response) => {
33
+ response.data.customerProductLists.forEach((serverList) => {
34
+ if (serverList.name === null) {
35
+ // The null (default) list has already been fetched and added as listId null
36
+ // so ignore it here.
37
+ return;
38
+ }
39
+ const list = normalizeServerList(serverList);
40
+ dispatch({
41
+ type: 'REPLACE',
42
+ payload: {
43
+ listId: serverList.id,
44
+ list
45
+ }
46
+ });
47
+ });
48
+ });
21
49
  })
22
50
  .catch((err) => {
23
51
  console.error('Lists could not be merged', err);
@@ -26,18 +54,65 @@ export function loginAction({ loginMutation }) {
26
54
  }
27
55
  export function refreshAction() {
28
56
  return (dispatch) => {
29
- dispatch({
30
- type: 'REPLACE',
31
- payload: JSON.parse(localStorage.getItem('productList'))
57
+ const lists = JSON.parse(localStorage.getItem(PRODUCT_LISTS_KEY));
58
+ if (lists) {
59
+ dispatch({
60
+ type: 'SET_LISTS',
61
+ payload: {
62
+ lists: productListArrayToMap(lists)
63
+ }
64
+ });
65
+ }
66
+ };
67
+ }
68
+ export function createListAction({ createMutation, name }) {
69
+ const variables = {
70
+ input: {
71
+ name
72
+ }
73
+ };
74
+ return (dispatch) => {
75
+ createMutation({ variables }).then((response) => {
76
+ const serverList = response.data.createCustomerProductList.customerProductList;
77
+ const listId = serverList.id;
78
+ if (response.data.createCustomerProductList.success) {
79
+ dispatch({
80
+ type: 'CREATE_LIST',
81
+ payload: { listId, list: normalizeServerList(serverList) }
82
+ });
83
+ }
84
+ else {
85
+ console.warn(`Could not create list`);
86
+ }
32
87
  });
33
88
  };
34
89
  }
35
- export function updateAction({ updateAPI = false, removeMutation, addMutation, options, articleNumber, variantToReplace, variantArticleNumber }) {
90
+ export function deleteListAction({ listId, deleteListMutation }) {
91
+ const variables = {
92
+ id: listId
93
+ };
94
+ return (dispatch) => {
95
+ deleteListMutation({ variables }).then((response) => {
96
+ const success = response.data.deleteCustomerProductList.success;
97
+ if (success) {
98
+ dispatch({
99
+ type: 'DELETE_LIST',
100
+ payload: { listId }
101
+ });
102
+ }
103
+ else {
104
+ console.warn(`Could not delete product list with id ${listId}`);
105
+ }
106
+ });
107
+ };
108
+ }
109
+ export function updateAction({ listId, updateAPI = false, removeMutation, addMutation, options, articleNumber, variantToReplace, variantArticleNumber }) {
36
110
  return (dispatch, getState) => {
37
111
  const { description, quantity } = options;
38
112
  dispatch({
39
113
  type: 'UPDATE',
40
114
  payload: {
115
+ listId,
41
116
  articleNumber,
42
117
  options,
43
118
  variantArticleNumber,
@@ -56,7 +131,7 @@ export function updateAction({ updateAPI = false, removeMutation, addMutation, o
56
131
  fetchPolicy: 'no-cache',
57
132
  context: { useApolloNetworkStatus: false },
58
133
  variables: {
59
- id: null,
134
+ id: listId,
60
135
  articleNumbers: [variantToReplace || articleNumber]
61
136
  }
62
137
  })
@@ -65,7 +140,7 @@ export function updateAction({ updateAPI = false, removeMutation, addMutation, o
65
140
  fetchPolicy: 'no-cache',
66
141
  context: { useApolloNetworkStatus: false },
67
142
  variables: {
68
- id: null,
143
+ id: listId,
69
144
  items: [
70
145
  {
71
146
  articleNumber: variantArticleNumber || articleNumber,
@@ -76,20 +151,24 @@ export function updateAction({ updateAPI = false, removeMutation, addMutation, o
76
151
  }
77
152
  }).then((response) => {
78
153
  requestId === previousState.requestIdRef.current &&
79
- syncListFromServer(dispatch, response.data.addToCustomerProductList);
154
+ syncListFromServer(dispatch, listId, response.data.addToCustomerProductList);
80
155
  });
81
156
  })
82
157
  .catch((err) => {
83
- rollbackList(dispatch, previousState.list);
84
158
  console.error('List could not be updated', err);
159
+ const previousList = previousState.lists.get(listId);
160
+ if (previousList) {
161
+ rollbackList(dispatch, listId, previousList);
162
+ }
85
163
  });
86
164
  };
87
165
  }
88
- export function removeAction({ updateAPI = false, articleNumber, variantArticleNumber, removeMutation }) {
166
+ export function removeAction({ listId, updateAPI = false, articleNumber, variantArticleNumber, removeMutation }) {
89
167
  return (dispatch, getState) => {
90
168
  dispatch({
91
169
  type: 'REMOVE',
92
170
  payload: {
171
+ listId,
93
172
  articleNumber,
94
173
  variantArticleNumber
95
174
  }
@@ -105,50 +184,58 @@ export function removeAction({ updateAPI = false, articleNumber, variantArticleN
105
184
  context: { useApolloNetworkStatus: false },
106
185
  variables: {
107
186
  articleNumbers: [variantArticleNumber || articleNumber],
108
- id: null
187
+ id: listId
109
188
  }
110
189
  })
111
190
  .then((response) => {
112
191
  requestId === previousState.requestIdRef.current &&
113
- syncListFromServer(dispatch, response.data.removeFromCustomerProductList);
192
+ syncListFromServer(dispatch, listId, response.data.removeFromCustomerProductList);
114
193
  })
115
194
  .catch((err) => {
116
195
  console.error('Product could not be removed from list', err);
117
- rollbackList(dispatch, previousState.list);
196
+ const previousList = previousState.lists.get(listId);
197
+ if (previousList) {
198
+ rollbackList(dispatch, listId, previousList);
199
+ }
118
200
  });
119
201
  };
120
202
  }
121
- export function clearAction({ updateAPI = false, removeMutation }) {
203
+ export function clearAction({ listId, updateAPI = false, removeMutation }) {
122
204
  return (dispatch, getState) => {
123
- dispatch({ type: 'REPLACE', payload: {} });
205
+ dispatch({
206
+ type: 'CLEAR_ITEMS',
207
+ payload: { listId }
208
+ });
124
209
  if (!updateAPI)
125
210
  return;
126
211
  const [remove] = removeMutation;
127
212
  const state = getState();
128
- const articleNumbers = flattenList(state.list).map((listItem) => listItem.articleNumber);
213
+ const list = state.lists.get(listId);
214
+ const articleNumbers = flattenList(list).map((listItem) => listItem.articleNumber);
129
215
  const requestId = scopedUniqueID();
130
216
  state.requestIdRef.current = requestId;
131
217
  remove({
132
218
  fetchPolicy: 'no-cache',
133
219
  context: { useApolloNetworkStatus: false },
134
- variables: { articleNumbers, id: null }
220
+ variables: { articleNumbers, id: listId }
135
221
  })
136
222
  .then((response) => {
137
223
  requestId === state.requestIdRef.current &&
138
- syncListFromServer(dispatch, response.data.removeFromCustomerProductList);
224
+ syncListFromServer(dispatch, listId, response.data.removeFromCustomerProductList);
139
225
  })
140
226
  .catch((err) => {
141
227
  console.error('List could not be cleared', err);
142
- rollbackList(dispatch, state.list);
228
+ rollbackList(dispatch, listId, list);
143
229
  });
144
230
  };
145
231
  }
146
- export function addAction({ articleNumber, variantArticleNumber, addMutation, options, updateAPI = false }) {
232
+ export function addAction({ listId, articleNumber, variantArticleNumber, addMutation, options, updateAPI = false }) {
147
233
  return (dispatch, getState) => {
148
234
  const { quantity, description } = options;
149
235
  dispatch({
150
236
  type: 'ADD',
151
237
  payload: {
238
+ listId,
152
239
  articleNumber,
153
240
  variantArticleNumber,
154
241
  options: { quantity, description }
@@ -164,7 +251,8 @@ export function addAction({ articleNumber, variantArticleNumber, addMutation, op
164
251
  fetchPolicy: 'no-cache',
165
252
  context: { useApolloNetworkStatus: false },
166
253
  variables: {
167
- id: null,
254
+ //id: null, XXX
255
+ id: listId,
168
256
  items: [
169
257
  {
170
258
  articleNumber: variantArticleNumber || articleNumber,
@@ -176,28 +264,34 @@ export function addAction({ articleNumber, variantArticleNumber, addMutation, op
176
264
  })
177
265
  .then(({ data: { addToCustomerProductList } }) => {
178
266
  requestId === previousState.requestIdRef.current &&
179
- syncListFromServer(dispatch, addToCustomerProductList);
267
+ syncListFromServer(dispatch, listId, addToCustomerProductList);
180
268
  })
181
269
  .catch((err) => {
182
270
  console.error('Product could not be added to list', err);
183
- rollbackList(dispatch, previousState.list);
271
+ rollbackList(dispatch, listId, previousState.lists.get(listId));
184
272
  });
185
273
  };
186
274
  }
187
275
  function scopedUniqueID() {
188
276
  return uniqueId('_product_list_');
189
277
  }
190
- function syncListFromServer(dispatch, productList) {
191
- const normalizedList = normalizeServerList(productList);
278
+ function syncListFromServer(dispatch, listId, productList) {
279
+ const list = normalizeServerList(productList.customerProductList);
192
280
  dispatch({
193
281
  type: 'REPLACE',
194
- payload: normalizedList
282
+ payload: {
283
+ listId,
284
+ list
285
+ }
195
286
  });
196
287
  }
197
- function rollbackList(dispatch, productList) {
288
+ function rollbackList(dispatch, listId, productList) {
198
289
  dispatch({
199
290
  type: 'REPLACE',
200
- payload: productList
291
+ payload: {
292
+ listId,
293
+ list: productList
294
+ }
201
295
  });
202
296
  }
203
297
  //# sourceMappingURL=action-creators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-creators.js","sourceRoot":"","sources":["action-creators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-creators.js","sourceRoot":"","sources":["action-creators.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { DocumentNode } from 'graphql';
3
3
  import { MutationTuple, QueryResult } from 'react-apollo';
4
- import { CustomerProductListResult, MutationAddToCustomerProductListArgs, MutationRemoveFromCustomerProductListArgs, MutationUpdateCustomerProductListItemArgs, Product, ProductVariant, QueryCustomerProductListArgs, QueryProductsArgs } from '../../types';
4
+ import { CustomerProductListResult, MutationCreateCustomerProductListArgs, MutationAddToCustomerProductListArgs, MutationRemoveFromCustomerProductListArgs, MutationUpdateCustomerProductListItemArgs, Product, ProductVariant, QueryCustomerProductListArgs, QueryProductsArgs } from '../../types';
5
5
  import { ThunkAction } from '../useThunkReducer';
6
6
  import { Action } from './product-list-reducer';
7
7
  export { useProductList } from './useProductList';
@@ -17,16 +17,42 @@ export interface ProductListContextOptions {
17
17
  usingLocalList: boolean;
18
18
  queries: ProductListQueries;
19
19
  }
20
+ /**
21
+ * A Product list mapping is a mapping between an ID and a product list
22
+ *
23
+ * As a convenienve, an ID of null is used for the "default" product list.
24
+ */
25
+ export declare type ProductListId = string | null;
26
+ export declare type ProductListMap = Map<ProductListId, NormalizedProductList>;
27
+ export interface NormalizedProductList {
28
+ name: string | null;
29
+ items: {
30
+ [articleNumber: string]: {
31
+ options: ProductListItemOptions;
32
+ variants: ProductListItemVariants | null;
33
+ };
34
+ };
35
+ }
36
+ export declare const PRODUCT_LISTS_KEY = "productLists";
37
+ export declare function emptyProductLists(): ProductListMap;
38
+ export declare function productListMapToArray(map: ProductListMap): [string, NormalizedProductList][];
39
+ export declare function productListArrayToMap(array: [ProductListId, NormalizedProductList][]): Map<string, NormalizedProductList>;
20
40
  export interface ProductListState {
21
41
  loggedIn: boolean;
22
- list?: NormalizedProductList;
42
+ lists: ProductListMap;
23
43
  requestIdRef: React.MutableRefObject<string | null>;
24
44
  }
25
45
  export interface ProductListQueries {
26
46
  /** Products query, used for retrieving products from localList */
27
47
  productsQuery: DocumentNode;
48
+ /** The customerProductLists query */
49
+ all: DocumentNode;
28
50
  /** The customerProductList query */
29
51
  query: DocumentNode;
52
+ /** The createCustomerProductList mutation */
53
+ createList: DocumentNode;
54
+ /** The deleteCustomerProductList mutation */
55
+ deleteList: DocumentNode;
30
56
  /** The addToCustomerProductList mutation */
31
57
  add: DocumentNode;
32
58
  /** An addToCustomerProductList mutation that returns the full list */
@@ -45,12 +71,6 @@ export interface ProductListDetail {
45
71
  /** An array containing the product data */
46
72
  products: ProductListProduct[];
47
73
  }
48
- export interface NormalizedProductList {
49
- [articleNumber: string]: {
50
- options: ProductListItemOptions;
51
- variants: ProductListItemVariants | null;
52
- };
53
- }
54
74
  export interface FlattenedProductListItem {
55
75
  articleNumber: string;
56
76
  parentArticleNumber?: string;
@@ -80,12 +100,18 @@ export declare type ProductListProductValidation = {
80
100
  export declare type AddToListMutation = MutationTuple<{
81
101
  addToCustomerProductList: CustomerProductListResult;
82
102
  }, MutationAddToCustomerProductListArgs>;
103
+ export declare type CreateListMutation = MutationTuple<{
104
+ createCustomerProductList: CustomerProductListResult;
105
+ }, MutationCreateCustomerProductListArgs>;
83
106
  export declare type RemoveFromListMutation = MutationTuple<{
84
107
  removeFromCustomerProductList: CustomerProductListResult;
85
108
  }, MutationRemoveFromCustomerProductListArgs>;
86
109
  export declare type UpdateListItemMutation = MutationTuple<{
87
110
  updateCustomerProductListItem: CustomerProductListResult;
88
111
  }, MutationUpdateCustomerProductListItemArgs>;
112
+ export declare type ListsProductsQuery = QueryResult<{
113
+ customerProductLists: CustomerProductListResult[];
114
+ }>;
89
115
  export declare type ListProductsQuery = QueryResult<CustomerProductListResult, QueryCustomerProductListArgs>;
90
116
  export declare type ProductsQuery = QueryResult<{
91
117
  products: Product[];
@@ -1,3 +1,22 @@
1
1
  export { useProductList } from './useProductList';
2
2
  export { useProductListItems } from './useProductListItems';
3
+ export const PRODUCT_LISTS_KEY = 'productLists';
4
+ export function emptyProductLists() {
5
+ return new Map([
6
+ [
7
+ null,
8
+ {
9
+ items: {},
10
+ name: null
11
+ }
12
+ ]
13
+ ]);
14
+ }
15
+ export function productListMapToArray(map) {
16
+ const [...array] = map;
17
+ return array;
18
+ }
19
+ export function productListArrayToMap(array) {
20
+ return new Map(array);
21
+ }
3
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAgC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEhD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,GAAG,CAAC;QACb;YACE,IAAI;YACJ;gBACE,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,IAAI;aACX;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAmB;IACvD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAA+C;IAE/C,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { FlattenedProductListItem, NormalizedProductList, ProductsQuery } from '.';
2
- import { CustomerProductListResult, Product } from '../../types';
2
+ import { CustomerProductList, Product } from '../../types';
3
3
  /**
4
4
  * Converts a product list returned from the API to our normalized structure
5
5
  * When a base product is selected, it will have a value for `options`.
6
6
  * When it has variants, it will have one or more keys for `variants`
7
7
  * Either variants or options may be null, but not both.
8
8
  */
9
- export declare function normalizeServerList(serverList: CustomerProductListResult): NormalizedProductList;
9
+ export declare function normalizeServerList(productList: CustomerProductList): NormalizedProductList;
10
10
  /**
11
11
  * Takes a flattened product list and result of a products query and returns
12
12
  * product details for each item in the flattened list. */
@@ -6,39 +6,39 @@ import { validateProduct } from './validate-product';
6
6
  * When it has variants, it will have one or more keys for `variants`
7
7
  * Either variants or options may be null, but not both.
8
8
  */
9
- export function normalizeServerList(serverList) {
9
+ export function normalizeServerList(productList) {
10
10
  var _a, _b, _c, _d, _e;
11
- const list = {};
12
- if (!(serverList === null || serverList === void 0 ? void 0 : serverList.customerProductList))
13
- return list;
14
- const items = serverList.customerProductList.items;
15
- const newList = Object.assign({}, list);
11
+ const items = productList.items;
12
+ const newList = {
13
+ name: productList.name,
14
+ items: {}
15
+ };
16
16
  for (const item of items) {
17
17
  // skip if product is hidden
18
18
  if (!((_a = item === null || item === void 0 ? void 0 : item.product) === null || _a === void 0 ? void 0 : _a.articleNumber)) {
19
19
  continue;
20
20
  }
21
21
  if (item.variant) {
22
- newList[item.product.articleNumber] = {
23
- options: ((_b = newList[item.product.articleNumber]) === null || _b === void 0 ? void 0 : _b.options) || null,
24
- variants: produce(((_c = newList[item.product.articleNumber]) === null || _c === void 0 ? void 0 : _c.variants) || {}, (draft) => {
22
+ newList.items[item.product.articleNumber] = {
23
+ options: ((_b = newList.items[item.product.articleNumber]) === null || _b === void 0 ? void 0 : _b.options) || null,
24
+ variants: produce(((_c = newList.items[item.product.articleNumber]) === null || _c === void 0 ? void 0 : _c.variants) || {}, (draft) => {
25
25
  draft[item.variant.articleNumber] = {
26
26
  options: {
27
27
  quantity: item.quantity || 1,
28
- description: item.description,
28
+ description: item.description
29
29
  },
30
- parentArticleNumber: item.product.articleNumber,
30
+ parentArticleNumber: item.product.articleNumber
31
31
  };
32
- }),
32
+ })
33
33
  };
34
34
  }
35
35
  else {
36
- newList[item.product.articleNumber] = {
37
- variants: ((_d = newList[item.product.articleNumber]) === null || _d === void 0 ? void 0 : _d.variants) || null,
36
+ newList.items[item.product.articleNumber] = {
37
+ variants: ((_d = newList.items[item.product.articleNumber]) === null || _d === void 0 ? void 0 : _d.variants) || null,
38
38
  options: {
39
39
  quantity: (_e = item.quantity) !== null && _e !== void 0 ? _e : 1,
40
- description: item.description,
41
- },
40
+ description: item.description
41
+ }
42
42
  };
43
43
  }
44
44
  }
@@ -76,29 +76,29 @@ export function getVariantFromProductDetails(variant, product) {
76
76
  }
77
77
  export function flattenList(list) {
78
78
  const flattenedList = [];
79
- const baseProducts = list ? Object.keys(list) : [];
79
+ const baseProducts = list ? Object.keys(list.items) : [];
80
80
  for (const baseArticleNumber of baseProducts) {
81
- const variants = list[baseArticleNumber].variants;
81
+ const variants = list.items[baseArticleNumber].variants;
82
82
  if (variants) {
83
83
  const variantArticleNumbers = Object.keys(variants);
84
84
  for (const articleNumber of variantArticleNumbers) {
85
85
  flattenedList.push({
86
86
  articleNumber,
87
87
  parentArticleNumber: baseArticleNumber,
88
- options: variants[articleNumber].options,
88
+ options: variants[articleNumber].options
89
89
  });
90
90
  }
91
- if (list[baseArticleNumber].options) {
91
+ if (list.items[baseArticleNumber].options) {
92
92
  flattenedList.push({
93
93
  articleNumber: baseArticleNumber,
94
- options: list[baseArticleNumber].options,
94
+ options: list.items[baseArticleNumber].options
95
95
  });
96
96
  }
97
97
  }
98
98
  else {
99
99
  flattenedList.push({
100
100
  articleNumber: baseArticleNumber,
101
- options: list[baseArticleNumber].options,
101
+ options: list.items[baseArticleNumber].options
102
102
  });
103
103
  }
104
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-transforms.js","sourceRoot":"","sources":["list-transforms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-transforms.js","sourceRoot":"","sources":["list-transforms.ts"],"names":[],"mappings":"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"}