@jetshop/core 5.8.3 → 5.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. package/ChannelHandler/ChannelHandler.d.ts +9 -13
  2. package/ChannelHandler/ChannelHandler.js +24 -66
  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 +9 -2
  12. package/analytics/AnalyticsProvider.js.map +1 -1
  13. package/analytics/integrations/ga4.d.ts +2 -1
  14. package/analytics/integrations/ga4.js +15 -6
  15. package/analytics/integrations/ga4.js.map +1 -1
  16. package/analytics/integrations/gtag/gtag.d.ts +2 -1
  17. package/analytics/integrations/gtag/gtag.js +20 -10
  18. package/analytics/integrations/gtag/gtag.js.map +1 -1
  19. package/analytics/integrations/gtm/index.d.ts +10 -1
  20. package/analytics/integrations/gtm/index.js +175 -2
  21. package/analytics/integrations/gtm/index.js.map +1 -1
  22. package/boot/SharedTree.js +1 -1
  23. package/boot/SharedTree.js.map +1 -1
  24. package/boot/apollo.d.ts +5 -4
  25. package/boot/apollo.js +18 -18
  26. package/boot/apollo.js.map +1 -1
  27. package/boot/client/startClient.js +7 -16
  28. package/boot/client/startClient.js.map +1 -1
  29. package/boot/server/createRenderer.js +10 -9
  30. package/boot/server/createRenderer.js.map +1 -1
  31. package/boot/server/index.js +2 -2
  32. package/boot/server/index.js.map +1 -1
  33. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +53 -39
  34. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +2 -2
  35. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +1 -1
  36. package/cart/useAddToCart.d.ts +2 -2
  37. package/cart/useAddToCart.js +13 -12
  38. package/cart/useAddToCart.js.map +1 -1
  39. package/components/Auth/CustomerUpdateForm.js +7 -7
  40. package/components/Auth/CustomerUpdateForm.js.map +1 -1
  41. package/components/Cart/CartIdContext.js +18 -18
  42. package/components/Cart/CartIdContext.js.map +1 -1
  43. package/components/ChannelContext/ChannelProvider.d.ts +1 -3
  44. package/components/ChannelContext/ChannelProvider.js +6 -13
  45. package/components/ChannelContext/ChannelProvider.js.map +1 -1
  46. package/components/ChannelContext/ChannelProvider.test.js +110 -0
  47. package/components/ConfigProvider.d.ts +1 -0
  48. package/components/ConfigProvider.js.map +1 -1
  49. package/components/DynamicRoute/ContentRoute.d.ts +1 -1
  50. package/components/DynamicRoute/ProductRoute.d.ts +1 -0
  51. package/components/DynamicRoute/ProductRoute.js +4 -2
  52. package/components/DynamicRoute/ProductRoute.js.map +1 -1
  53. package/components/DynamicRoute/RouteResolver.js +4 -2
  54. package/components/DynamicRoute/RouteResolver.js.map +1 -1
  55. package/components/Mutation/AddToCart/addToCartUtils.js +3 -2
  56. package/components/Mutation/AddToCart/addToCartUtils.js.map +1 -1
  57. package/components/Mutation/RemoveFromCart.d.ts +1 -1
  58. package/components/Mutation/cartMutationUtils.js +7 -6
  59. package/components/Mutation/cartMutationUtils.js.map +1 -1
  60. package/components/OpenGraph/OpenGraph.test.js +32 -5
  61. package/components/OpenGraph/OpenGraphProductData.d.ts +6 -1
  62. package/components/OpenGraph/OpenGraphProductData.js +18 -12
  63. package/components/OpenGraph/OpenGraphProductData.js.map +1 -1
  64. package/components/Query/CartProvider.js +32 -22
  65. package/components/Query/CartProvider.js.map +1 -1
  66. package/components/StructuredData/StructuredBreadcrumbData.js +4 -3
  67. package/components/StructuredData/StructuredBreadcrumbData.js.map +1 -1
  68. package/hooks/PackageProducts/packagePriceQuery.gql +1 -1
  69. package/hooks/ProductList/ProductListContext.js +37 -14
  70. package/hooks/ProductList/ProductListContext.js.map +1 -1
  71. package/hooks/ProductList/action-creators.d.ts +20 -7
  72. package/hooks/ProductList/action-creators.js +138 -44
  73. package/hooks/ProductList/action-creators.js.map +1 -1
  74. package/hooks/ProductList/index.d.ts +34 -8
  75. package/hooks/ProductList/index.js +19 -0
  76. package/hooks/ProductList/index.js.map +1 -1
  77. package/hooks/ProductList/list-transforms.d.ts +3 -2
  78. package/hooks/ProductList/list-transforms.js +22 -22
  79. package/hooks/ProductList/list-transforms.js.map +1 -1
  80. package/hooks/ProductList/list-transforms.test.js +103 -100
  81. package/hooks/ProductList/product-list-reducer.d.ts +37 -14
  82. package/hooks/ProductList/product-list-reducer.js +106 -43
  83. package/hooks/ProductList/product-list-reducer.js.map +1 -1
  84. package/hooks/ProductList/product-list-reducer.test.js +144 -82
  85. package/hooks/ProductList/useProductList.d.ts +2 -2
  86. package/hooks/ProductList/useProductList.js +12 -5
  87. package/hooks/ProductList/useProductList.js.map +1 -1
  88. package/hooks/ProductList/useProductListItems.d.ts +1 -1
  89. package/hooks/ProductList/useProductListItems.js +8 -6
  90. package/hooks/ProductList/useProductListItems.js.map +1 -1
  91. package/hooks/useInfinitePagination.js +2 -2
  92. package/hooks/useInfinitePagination.js.map +1 -1
  93. package/hooks/useRoutePreload.js +2 -2
  94. package/hooks/useRoutePreload.js.map +1 -1
  95. package/package.json +5 -5
  96. package/resolvers/index.d.ts +3 -0
  97. package/resolvers/index.js +3 -0
  98. package/resolvers/index.js.map +1 -1
  99. package/sentry/client.js +9 -4
  100. package/sentry/client.js.map +1 -1
  101. package/sentry/common.d.ts +1 -0
  102. package/sentry/common.js +5 -0
  103. package/sentry/common.js.map +1 -0
  104. package/sentry/server.js +11 -2
  105. package/sentry/server.js.map +1 -1
  106. package/time.d.ts +1 -0
  107. package/time.js +6 -0
  108. package/time.js.map +1 -0
  109. package/types.d.ts +31 -7
@@ -1,47 +1,85 @@
1
- import produce from 'immer';
1
+ import produce, { enableMapSet } from 'immer';
2
+ // The Product lists are stored as a Map so need to enable Map support for Immer
3
+ enableMapSet();
4
+ import { emptyProductLists, PRODUCT_LISTS_KEY, productListArrayToMap } from '.';
2
5
  export function reducer(state, action) {
3
6
  switch (action.type) {
4
7
  case 'LOGIN':
5
- return produce(state, draft => {
8
+ return produce(state, (draft) => {
6
9
  draft.loggedIn = true;
7
- draft.list = action.payload;
10
+ const { list, listId } = action.payload;
11
+ draft.lists.set(listId, list);
8
12
  });
9
13
  case 'LOGOUT': {
10
- return produce(state, draft => {
14
+ return produce(state, (draft) => {
11
15
  draft.loggedIn = false;
12
- draft.list = {};
16
+ draft.lists = emptyProductLists();
13
17
  });
14
18
  }
15
19
  case 'UPDATE': {
16
- const { articleNumber, variantArticleNumber, options, variantToReplace } = action.payload;
17
- return replaceItemInList(state, articleNumber, {
20
+ const { listId, articleNumber, variantArticleNumber, options, variantToReplace } = action.payload;
21
+ return replaceItemInList(state, listId, articleNumber, {
18
22
  variantArticleNumber,
19
23
  variantToReplace,
20
24
  options
21
25
  });
22
26
  }
27
+ case 'SET_LISTS': {
28
+ return produce(state, (draft) => {
29
+ draft.lists = action.payload.lists;
30
+ });
31
+ }
32
+ // TODO
33
+ //case 'UPDATE_LIST': {
34
+ // return produce(state, (draft) => {
35
+ // const { listId, update } = action.payload
36
+ // const list = draft.lists.get(listId)
37
+ // list.name = update.name
38
+ // //...
39
+ // })
40
+ //}
23
41
  case 'ADD': {
24
- const { variantArticleNumber, articleNumber, options } = action.payload;
42
+ const { listId, variantArticleNumber, articleNumber, options } = action.payload;
25
43
  if (variantArticleNumber) {
26
- return addVariantToList(state, articleNumber, {
44
+ return addVariantToList(state, listId, articleNumber, {
27
45
  variantArticleNumber,
28
46
  options
29
47
  });
30
48
  }
31
49
  else {
32
- return addBaseProductToList(state, articleNumber, options);
50
+ return addBaseProductToList(state, listId, articleNumber, options);
33
51
  }
34
52
  }
35
53
  case 'REMOVE': {
36
- const { variantArticleNumber, articleNumber } = action.payload;
37
- const list = removeFromList(state, articleNumber, {
54
+ const { listId, variantArticleNumber, articleNumber } = action.payload;
55
+ const list = removeFromList(state, listId, articleNumber, {
38
56
  variantArticleNumber
39
57
  });
40
58
  return list;
41
59
  }
42
60
  case 'REPLACE': {
43
- return produce(state, draft => {
44
- draft.list = action.payload;
61
+ return produce(state, (draft) => {
62
+ const { list, listId } = action.payload;
63
+ draft.lists.set(listId, list);
64
+ });
65
+ }
66
+ case 'CLEAR_ITEMS': {
67
+ return produce(state, (draft) => {
68
+ const { listId } = action.payload;
69
+ const list = draft.lists.get(listId);
70
+ list.items = {};
71
+ });
72
+ }
73
+ case 'CREATE_LIST': {
74
+ return produce(state, (draft) => {
75
+ const { list, listId } = action.payload;
76
+ draft.lists.set(listId, list);
77
+ });
78
+ }
79
+ case 'DELETE_LIST': {
80
+ return produce(state, (draft) => {
81
+ const { listId } = action.payload;
82
+ draft.lists.delete(listId);
45
83
  });
46
84
  }
47
85
  default:
@@ -51,23 +89,43 @@ export function reducer(state, action) {
51
89
  export function init(initialState) {
52
90
  if (typeof window === 'undefined')
53
91
  return initialState;
92
+ /**
93
+ * Migrate any legacy product list to the new format
94
+ *
95
+ * TODO Remove this code in next major release!
96
+ */
97
+ const LEGACY_LIST_KEY = 'productList';
98
+ const legacyListData = JSON.parse(window.localStorage.getItem(LEGACY_LIST_KEY));
99
+ if (legacyListData) {
100
+ const defaultList = initialState.lists.get(null);
101
+ Object.assign(defaultList.items, legacyListData);
102
+ window.localStorage.removeItem(LEGACY_LIST_KEY);
103
+ return {
104
+ lists: initialState.lists,
105
+ loggedIn: initialState.loggedIn,
106
+ requestIdRef: initialState.requestIdRef
107
+ };
108
+ }
109
+ const localStorageProductLists = JSON.parse(window.localStorage.getItem(PRODUCT_LISTS_KEY));
110
+ const lists = (localStorageProductLists &&
111
+ productListArrayToMap(localStorageProductLists)) ||
112
+ initialState.lists;
54
113
  const updatedState = {
55
- list: JSON.parse(window.localStorage.getItem('productList')) ||
56
- initialState.list ||
57
- null,
114
+ lists,
58
115
  loggedIn: initialState.loggedIn,
59
116
  requestIdRef: initialState.requestIdRef
60
117
  };
61
118
  return updatedState;
62
119
  }
63
- export function addVariantToList(state, articleNumber, { variantArticleNumber, options }) {
120
+ export function addVariantToList(state, listId, articleNumber, { variantArticleNumber, options }) {
64
121
  // If the article number exists, update it
65
122
  // Otherwise create a new entry
66
- return produce(state, draft => {
123
+ return produce(state, (draft) => {
67
124
  var _a, _b;
68
- draft.list[articleNumber] = {
69
- options: ((_a = draft.list[articleNumber]) === null || _a === void 0 ? void 0 : _a.options) || null,
70
- variants: produce(((_b = draft.list[articleNumber]) === null || _b === void 0 ? void 0 : _b.variants) || {}, draft => {
125
+ const items = draft.lists.get(listId).items;
126
+ items[articleNumber] = {
127
+ options: ((_a = items[articleNumber]) === null || _a === void 0 ? void 0 : _a.options) || null,
128
+ variants: produce(((_b = items[articleNumber]) === null || _b === void 0 ? void 0 : _b.variants) || {}, (draft) => {
71
129
  draft[variantArticleNumber] = {
72
130
  options,
73
131
  parentArticleNumber: articleNumber
@@ -76,55 +134,60 @@ export function addVariantToList(state, articleNumber, { variantArticleNumber, o
76
134
  };
77
135
  });
78
136
  }
79
- export function addBaseProductToList(state, articleNumber, options) {
80
- return produce(state, draft => {
137
+ export function addBaseProductToList(state, listId, articleNumber, options) {
138
+ return produce(state, (draft) => {
81
139
  var _a;
82
- draft.list[articleNumber] = {
83
- variants: ((_a = draft.list[articleNumber]) === null || _a === void 0 ? void 0 : _a.variants) || null,
140
+ const items = draft.lists.get(listId).items;
141
+ items[articleNumber] = {
142
+ variants: ((_a = items[articleNumber]) === null || _a === void 0 ? void 0 : _a.variants) || null,
84
143
  options
85
144
  };
86
145
  });
87
146
  }
88
- export function removeFromList(state, articleNumber, { variantArticleNumber }) {
147
+ export function removeFromList(state, listId, articleNumber, { variantArticleNumber }) {
89
148
  if (variantArticleNumber) {
90
- return produce(state, draft => {
91
- delete draft.list[articleNumber].variants[variantArticleNumber];
92
- if (Object.keys(draft.list[articleNumber].variants).length === 0 &&
93
- draft.list[articleNumber].options === null) {
94
- delete draft.list[articleNumber];
149
+ return produce(state, (draft) => {
150
+ const items = draft.lists.get(listId).items;
151
+ delete items[articleNumber].variants[variantArticleNumber];
152
+ if (Object.keys(items[articleNumber].variants).length === 0 &&
153
+ items[articleNumber].options === null) {
154
+ delete items[articleNumber];
95
155
  }
96
156
  });
97
157
  }
98
158
  else {
99
- return produce(state, draft => {
159
+ return produce(state, (draft) => {
100
160
  var _a;
101
- if ((_a = draft.list[articleNumber]) === null || _a === void 0 ? void 0 : _a.variants) {
102
- draft.list[articleNumber].options = null;
161
+ const items = draft.lists.get(listId).items;
162
+ if ((_a = items[articleNumber]) === null || _a === void 0 ? void 0 : _a.variants) {
163
+ items[articleNumber].options = null;
103
164
  }
104
165
  else {
105
- delete draft.list[articleNumber];
166
+ delete items[articleNumber];
106
167
  }
107
168
  });
108
169
  }
109
170
  }
110
- export function replaceItemInList(state, articleNumber, { variantToReplace, variantArticleNumber, options }) {
171
+ export function replaceItemInList(state, listId, articleNumber, { variantToReplace, variantArticleNumber, options }) {
111
172
  if (variantToReplace) {
112
- return produce(state, draft => {
173
+ return produce(state, (draft) => {
113
174
  // Replacing is a delete + an add
114
- const variants = draft.list[articleNumber].variants;
175
+ const items = draft.lists.get(listId).items;
176
+ const variants = items[articleNumber].variants;
115
177
  delete variants[variantToReplace];
116
- draft.list[articleNumber].variants = Object.assign(Object.assign({}, variants), { [variantArticleNumber]: {
178
+ items[articleNumber].variants = Object.assign(Object.assign({}, variants), { [variantArticleNumber]: {
117
179
  options,
118
180
  parentArticleNumber: articleNumber
119
181
  } });
120
182
  });
121
183
  }
122
184
  else {
123
- return produce(state, draft => {
185
+ return produce(state, (draft) => {
124
186
  var _a;
125
- draft.list[articleNumber] = {
187
+ const items = draft.lists.get(listId).items;
188
+ items[articleNumber] = {
126
189
  options: null,
127
- variants: Object.assign(Object.assign({}, (_a = draft.list[articleNumber]) === null || _a === void 0 ? void 0 : _a.variants), { [variantArticleNumber]: {
190
+ variants: Object.assign(Object.assign({}, (_a = items[articleNumber]) === null || _a === void 0 ? void 0 : _a.variants), { [variantArticleNumber]: {
128
191
  options,
129
192
  parentArticleNumber: articleNumber
130
193
  } })
@@ -1 +1 @@
1
- {"version":3,"file":"product-list-reducer.js","sourceRoot":"","sources":["product-list-reducer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,OAAO,CAAC;AAQ5B,MAAM,UAAU,OAAO,CACrB,KAAuB,EACvB,MAAc;IAEd,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBAC5B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtB,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,KAAK,QAAQ,CAAC,CAAC;YACb,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBAC5B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACvB,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;SACJ;QACD,KAAK,QAAQ,CAAC,CAAC;YACb,MAAM,EACJ,aAAa,EACb,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EACjB,GAAG,MAAM,CAAC,OAAO,CAAC;YACnB,OAAO,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE;gBAC7C,oBAAoB;gBACpB,gBAAgB;gBAChB,OAAO;aACR,CAAC,CAAC;SACJ;QACD,KAAK,KAAK,CAAC,CAAC;YACV,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YACxE,IAAI,oBAAoB,EAAE;gBACxB,OAAO,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE;oBAC5C,oBAAoB;oBACpB,OAAO;iBACR,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAO,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;aAC5D;SACF;QACD,KAAK,QAAQ,CAAC,CAAC;YACb,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/D,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE;gBAChD,oBAAoB;aACrB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;SACb;QACD,KAAK,SAAS,CAAC,CAAC;YACd,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBAC5B,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;QACD;YACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,2BAA2B,CAAC,CAAC;KAC5E;AACH,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,YAA8B;IACjD,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,YAAY,CAAC;IAEvD,MAAM,YAAY,GAAG;QACnB,IAAI,EACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACtD,YAAY,CAAC,IAAI;YACjB,IAAI;QACN,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,YAAY,EAAE,YAAY,CAAC,YAAY;KACxC,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAuB,EACvB,aAAqB,EACrB,EACE,oBAAoB,EACpB,OAAO,EAIR;IAED,0CAA0C;IAC1C,+BAA+B;IAC/B,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;;QAC5B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG;YAC1B,OAAO,EAAE,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,OAAO,KAAI,IAAI;YACnD,QAAQ,EAAE,OAAO,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,QAAQ,KAAI,EAAE,EAAE,KAAK,CAAC,EAAE;gBACnE,KAAK,CAAC,oBAAoB,CAAC,GAAG;oBAC5B,OAAO;oBACP,mBAAmB,EAAE,aAAa;iBACnC,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAuB,EACvB,aAAqB,EACrB,OAA+B;IAE/B,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;;QAC5B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG;YAC1B,QAAQ,EAAE,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,QAAQ,KAAI,IAAI;YACrD,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAuB,EACvB,aAAqB,EACrB,EAAE,oBAAoB,EAAqC;IAE3D,IAAI,oBAAoB,EAAE;QACxB,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;YAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAEhE,IACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,KAAK,IAAI,EAC1C;gBACA,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;;YAC5B,IAAI,MAAA,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,QAAQ,EAAE;gBACvC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;aAC1C;iBAAM;gBACL,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAuB,EACvB,aAAqB,EACrB,EACE,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,EAKR;IAED,IAAI,gBAAgB,EAAE;QACpB,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;YAC5B,iCAAiC;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;YAEpD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAElC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,mCAC7B,QAAQ,KACX,CAAC,oBAAoB,CAAC,EAAE;oBACtB,OAAO;oBACP,mBAAmB,EAAE,aAAa;iBACnC,GACF,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;;YAC5B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG;gBAC1B,OAAO,EAAE,IAAI;gBACb,QAAQ,kCACH,MAAA,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,QAAQ,KACtC,CAAC,oBAAoB,CAAC,EAAE;wBACtB,OAAO;wBACP,mBAAmB,EAAE,aAAa;qBACnC,GACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"}
1
+ {"version":3,"file":"product-list-reducer.js","sourceRoot":"","sources":["product-list-reducer.ts"],"names":[],"mappings":"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"}