@shopgate/pwa-common-commerce 7.33.3 → 7.34.0-beta.2

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.
Files changed (110) hide show
  1. package/category/constants/Portals.js +10 -0
  2. package/filter/actions/helpers/buildRequestFilters.d.ts +9 -0
  3. package/filter/actions/helpers/buildRequestFilters.d.ts.map +1 -0
  4. package/filter/constants/Pipelines.d.ts +2 -0
  5. package/filter/constants/Pipelines.d.ts.map +1 -0
  6. package/filter/selectors/index.d.ts +42 -0
  7. package/filter/selectors/index.d.ts.map +1 -0
  8. package/package.json +3 -3
  9. package/product/constants/Pipelines.d.ts +13 -0
  10. package/product/constants/Pipelines.d.ts.map +1 -0
  11. package/product/constants/Portals.js +14 -0
  12. package/product/constants/index.d.ts +67 -0
  13. package/product/constants/index.d.ts.map +1 -0
  14. package/product/helpers/index.d.ts +5 -0
  15. package/product/helpers/index.d.ts.map +1 -0
  16. package/product/selectors/product.d.ts +513 -0
  17. package/product/selectors/product.d.ts.map +1 -0
  18. package/product/subscriptions/index.js +9 -2
  19. package/reviews/action-creators/errorProductReviews.d.ts +19 -0
  20. package/reviews/action-creators/errorProductReviews.d.ts.map +1 -0
  21. package/reviews/action-creators/errorProductReviews.js +5 -4
  22. package/reviews/action-creators/errorReviews.d.ts +19 -0
  23. package/reviews/action-creators/errorReviews.d.ts.map +1 -0
  24. package/reviews/action-creators/errorReviews.js +5 -4
  25. package/reviews/action-creators/receiveProductReviews.d.ts +25 -0
  26. package/reviews/action-creators/receiveProductReviews.d.ts.map +1 -0
  27. package/reviews/action-creators/receiveProductReviews.js +10 -7
  28. package/reviews/action-creators/receiveReviewVote.d.ts +18 -0
  29. package/reviews/action-creators/receiveReviewVote.d.ts.map +1 -0
  30. package/reviews/action-creators/receiveReviewVote.js +15 -0
  31. package/reviews/action-creators/receiveReviews.d.ts +29 -0
  32. package/reviews/action-creators/receiveReviews.d.ts.map +1 -0
  33. package/reviews/action-creators/receiveReviews.js +13 -8
  34. package/reviews/action-creators/requestProductReviews.d.ts +21 -0
  35. package/reviews/action-creators/requestProductReviews.d.ts.map +1 -0
  36. package/reviews/action-creators/requestProductReviews.js +6 -5
  37. package/reviews/action-creators/requestReviews.d.ts +19 -0
  38. package/reviews/action-creators/requestReviews.d.ts.map +1 -0
  39. package/reviews/action-creators/requestReviews.js +5 -4
  40. package/reviews/action-creators/reviewSettings.d.ts +31 -0
  41. package/reviews/action-creators/reviewSettings.d.ts.map +1 -0
  42. package/reviews/action-creators/reviewSettings.js +28 -0
  43. package/reviews/actions/fetchProductReviewSettings.d.ts +5 -0
  44. package/reviews/actions/fetchProductReviewSettings.d.ts.map +1 -0
  45. package/reviews/actions/fetchProductReviewSettings.js +25 -0
  46. package/reviews/actions/fetchProductReviews.d.ts +17 -0
  47. package/reviews/actions/fetchProductReviews.d.ts.map +1 -0
  48. package/reviews/actions/fetchProductReviews.js +17 -9
  49. package/reviews/actions/fetchReviews.d.ts +22 -0
  50. package/reviews/actions/fetchReviews.d.ts.map +1 -0
  51. package/reviews/actions/fetchReviews.js +48 -14
  52. package/reviews/actions/submitReviewVote.d.ts +15 -0
  53. package/reviews/actions/submitReviewVote.d.ts.map +1 -0
  54. package/reviews/actions/submitReviewVote.js +46 -0
  55. package/reviews/constants/Pipelines.d.ts +7 -0
  56. package/reviews/constants/Pipelines.d.ts.map +1 -0
  57. package/reviews/constants/Pipelines.js +3 -1
  58. package/reviews/constants/index.d.ts +47 -0
  59. package/reviews/constants/index.d.ts.map +1 -0
  60. package/reviews/constants/index.js +43 -1
  61. package/reviews/helpers/filters.d.ts +16 -0
  62. package/reviews/helpers/filters.d.ts.map +1 -0
  63. package/reviews/helpers/filters.js +36 -0
  64. package/reviews/helpers/summary.d.ts +8 -0
  65. package/reviews/helpers/summary.d.ts.map +1 -0
  66. package/reviews/helpers/summary.js +55 -0
  67. package/reviews/index.js +1 -0
  68. package/reviews/reducers/index.js +5 -1
  69. package/reviews/reducers/ownReviewVotes.d.ts +13 -0
  70. package/reviews/reducers/ownReviewVotes.d.ts.map +1 -0
  71. package/reviews/reducers/ownReviewVotes.js +23 -0
  72. package/reviews/reducers/reviewSettings.d.ts +13 -0
  73. package/reviews/reducers/reviewSettings.d.ts.map +1 -0
  74. package/reviews/reducers/reviewSettings.js +33 -0
  75. package/reviews/reducers/reviewSummariesByProductId.d.ts +18 -0
  76. package/reviews/reducers/reviewSummariesByProductId.d.ts.map +1 -0
  77. package/reviews/reducers/reviewSummariesByProductId.js +27 -0
  78. package/reviews/reducers/reviewsByHash.d.ts +25 -0
  79. package/reviews/reducers/reviewsByHash.d.ts.map +1 -0
  80. package/reviews/reducers/reviewsByHash.js +70 -27
  81. package/reviews/reducers/reviewsById.d.ts +20 -0
  82. package/reviews/reducers/reviewsById.d.ts.map +1 -0
  83. package/reviews/reducers/reviewsById.js +23 -7
  84. package/reviews/reducers/reviewsByProductId.d.ts +23 -0
  85. package/reviews/reducers/reviewsByProductId.d.ts.map +1 -0
  86. package/reviews/reducers/reviewsByProductId.js +38 -23
  87. package/reviews/selectors/index.d.ts +278 -0
  88. package/reviews/selectors/index.d.ts.map +1 -0
  89. package/reviews/selectors/index.js +167 -56
  90. package/reviews/selectors/ownReviewVotes.d.ts +9 -0
  91. package/reviews/selectors/ownReviewVotes.d.ts.map +1 -0
  92. package/reviews/selectors/ownReviewVotes.js +7 -0
  93. package/reviews/selectors/reviewSettings.d.ts +63 -0
  94. package/reviews/selectors/reviewSettings.d.ts.map +1 -0
  95. package/reviews/selectors/reviewSettings.js +40 -0
  96. package/reviews/selectors/reviewSummary.d.ts +18 -0
  97. package/reviews/selectors/reviewSummary.d.ts.map +1 -0
  98. package/reviews/selectors/reviewSummary.js +45 -0
  99. package/reviews/streams/index.js +19 -1
  100. package/reviews/subscriptions/index.js +14 -1
  101. package/reviews/types/reviewSettings.d.ts +31 -0
  102. package/reviews/types/reviewSettings.d.ts.map +1 -0
  103. package/reviews/types/reviewSettings.js +1 -0
  104. package/reviews/types/reviewSummary.d.ts +16 -0
  105. package/reviews/types/reviewSummary.d.ts.map +1 -0
  106. package/reviews/types/reviewSummary.js +1 -0
  107. package/reviews/types/reviews.d.ts +190 -0
  108. package/reviews/types/reviews.d.ts.map +1 -0
  109. package/reviews/types/reviews.js +1 -0
  110. package/search/constants/Portals.js +10 -1
@@ -0,0 +1,23 @@
1
+ import type { Reducer } from 'redux';
2
+ import { REQUEST_SUBMIT_REVIEW } from '../constants';
3
+ import type { RequestProductReviewsAction } from '../action-creators/requestProductReviews';
4
+ import type { ReceiveProductReviewsAction } from '../action-creators/receiveProductReviews';
5
+ import type { ErrorProductReviewsAction } from '../action-creators/errorProductReviews';
6
+ import type { ReviewsByProductId } from '../types/reviews';
7
+ type RequestSubmitReviewAction = {
8
+ type: typeof REQUEST_SUBMIT_REVIEW;
9
+ review: {
10
+ productId: string;
11
+ };
12
+ };
13
+ type ReviewsByProductIdAction = RequestProductReviewsAction | ReceiveProductReviewsAction | ErrorProductReviewsAction | RequestSubmitReviewAction;
14
+ /**
15
+ * Stores product reviews by their product ID.
16
+ * Responses are only applied when they belong to the latest request of a product.
17
+ * @param state The current state.
18
+ * @param action The action object.
19
+ * @returns The new state.
20
+ */
21
+ declare const reviewsByProductId: Reducer<ReviewsByProductId, ReviewsByProductIdAction>;
22
+ export default reviewsByProductId;
23
+ //# sourceMappingURL=reviewsByProductId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewsByProductId.d.ts","sourceRoot":"","sources":["../../../reviews/reducers/reviewsByProductId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAIL,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,OAAO,qBAAqB,CAAC;IACnC,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,KAAK,wBAAwB,GACzB,2BAA2B,GAC3B,2BAA2B,GAC3B,yBAAyB,GACzB,yBAAyB,CAAC;AAE9B;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,wBAAwB,CA+D7E,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { REQUEST_PRODUCT_REVIEWS, RECEIVE_PRODUCT_REVIEWS, ERROR_PRODUCT_REVIEWS, REQUEST_SUBMIT_REVIEW, REVIEWS_LIFETIME } from "../constants";
2
-
3
2
  /**
4
3
  * Stores product reviews by their product ID.
5
- * @param {Object} [state={}] The current state.
6
- * @param {Object} action The action object.
7
- * @return {Object} The new state.
4
+ * Responses are only applied when they belong to the latest request of a product.
5
+ * @param state The current state.
6
+ * @param action The action object.
7
+ * @returns The new state.
8
8
  */
9
- export default function reviewsByProductId(state = {}, action = {}) {
9
+ const reviewsByProductId = (state = {}, action = {}) => {
10
10
  switch (action.type) {
11
11
  case REQUEST_PRODUCT_REVIEWS:
12
12
  return {
@@ -14,29 +14,43 @@ export default function reviewsByProductId(state = {}, action = {}) {
14
14
  [action.productId]: {
15
15
  ...state[action.productId],
16
16
  isFetching: true,
17
- expires: 0
17
+ expires: 0,
18
+ requestId: action.requestId
18
19
  }
19
20
  };
20
21
  case RECEIVE_PRODUCT_REVIEWS:
21
- return {
22
- ...state,
23
- [action.productId]: {
24
- ...state[action.productId],
25
- isFetching: false,
26
- reviews: action.reviews.map(review => review.id),
27
- totalReviewCount: action.totalReviewCount,
28
- expires: Date.now() + REVIEWS_LIFETIME
22
+ {
23
+ const collection = state[action.productId];
24
+ if (!collection || collection.requestId !== action.requestId) {
25
+ return state;
29
26
  }
30
- };
27
+ return {
28
+ ...state,
29
+ [action.productId]: {
30
+ ...collection,
31
+ isFetching: false,
32
+ reviews: action.reviews.map(review => review.id),
33
+ sort: action.sort,
34
+ totalReviewCount: typeof action.totalReviewCount === 'number' ? action.totalReviewCount : null,
35
+ expires: Date.now() + REVIEWS_LIFETIME
36
+ }
37
+ };
38
+ }
31
39
  case ERROR_PRODUCT_REVIEWS:
32
- return {
33
- ...state,
34
- [action.productId]: {
35
- ...state[action.productId],
36
- isFetching: false,
37
- expires: 0
40
+ {
41
+ const collection = state[action.productId];
42
+ if (!collection || collection.requestId !== action.requestId) {
43
+ return state;
38
44
  }
39
- };
45
+ return {
46
+ ...state,
47
+ [action.productId]: {
48
+ ...collection,
49
+ isFetching: false,
50
+ expires: 0
51
+ }
52
+ };
53
+ }
40
54
  case REQUEST_SUBMIT_REVIEW:
41
55
  return {
42
56
  ...state,
@@ -48,4 +62,5 @@ export default function reviewsByProductId(state = {}, action = {}) {
48
62
  default:
49
63
  return state;
50
64
  }
51
- }
65
+ };
66
+ export default reviewsByProductId;
@@ -0,0 +1,278 @@
1
+ import type { Review, ReviewListFilters, ReviewsProductProps, ReviewsProductState, ReviewsState } from '../types/reviews';
2
+ export * from './reviewSettings';
3
+ export * from './reviewSummary';
4
+ export * from './ownReviewVotes';
5
+ type AuthorState = {
6
+ user: {
7
+ login?: {
8
+ isLoggedIn?: boolean;
9
+ } | null;
10
+ data?: {
11
+ firstName?: string;
12
+ lastName?: string;
13
+ } | null;
14
+ };
15
+ };
16
+ /**
17
+ * Retrieves the reviews collection which contains all reviews data.
18
+ * @param state The current application state.
19
+ * @returns The reviews collection stored as reviewId => review pairs.
20
+ */
21
+ export declare const getReviews: ((state: ReviewsState) => import("../types/reviews").ReviewsById) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsSliceState) => import("../types/reviews").ReviewsById, {
22
+ clearCache: () => void;
23
+ }> & {
24
+ clearCache: () => void;
25
+ };
26
+ /**
27
+ * Retrieves the number of reviews for a product
28
+ * @param state The current application state.
29
+ * @returns The total review count for a product
30
+ */
31
+ export declare const getProductReviewCount: ((state: ReviewsState & {
32
+ product: unknown;
33
+ }, props?: ReviewsProductProps | undefined) => number | null) & import("reselect").OutputSelectorFields<(args_0: string | null, args_1: import("../types/reviews").ReviewsByProductId) => number | null, {
34
+ clearCache: () => void;
35
+ }> & {
36
+ clearCache: () => void;
37
+ };
38
+ /**
39
+ * Retrieves the total number of reviews for a current product.
40
+ * @param state The current application state.
41
+ * @returns The total number of reviews.
42
+ */
43
+ export declare const getReviewsTotalCount: ((state: ReviewsState & {
44
+ product: unknown;
45
+ }, props?: ReviewsProductProps | undefined) => number | null) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => number | null, {
46
+ clearCache: () => void;
47
+ }> & {
48
+ clearCache: () => void;
49
+ };
50
+ /**
51
+ * Retrieves the total number of currently fetched reviews for a current product.
52
+ * @param state The current application state.
53
+ * @returns The current number of fetched reviews.
54
+ */
55
+ export declare const getCurrentReviewCount: ((state: ReviewsState & {
56
+ product: unknown;
57
+ }, props?: ReviewsProductProps | undefined) => number | null) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => number | null, {
58
+ clearCache: () => void;
59
+ }> & {
60
+ clearCache: () => void;
61
+ };
62
+ /**
63
+ * Retrieves the sort of the last review list request of the current base product.
64
+ * @param state The current application state.
65
+ * @returns The sort, or the default sort when the list was not requested yet.
66
+ */
67
+ export declare const getReviewListSort: ((state: ReviewsState & {
68
+ product: unknown;
69
+ }, props?: ReviewsProductProps | undefined) => string) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => string, {
70
+ clearCache: () => void;
71
+ }> & {
72
+ clearCache: () => void;
73
+ };
74
+ /**
75
+ * Retrieves the filters of the last review list request of the current base product.
76
+ * @param state The current application state.
77
+ * @returns The active filters; empty when the list is unfiltered or was not requested yet.
78
+ */
79
+ export declare const getReviewListFilters: ((state: ReviewsState & {
80
+ product: unknown;
81
+ }, props?: ReviewsProductProps | undefined) => ReviewListFilters) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => ReviewListFilters, {
82
+ clearCache: () => void;
83
+ }> & {
84
+ clearCache: () => void;
85
+ };
86
+ /**
87
+ * Whether the last request asked for the first page of another sort or filter than the stored
88
+ * reviews were loaded with. The stored reviews then do not belong to the requested list.
89
+ * @param state The current application state.
90
+ * @returns True from the request until its reviews were received, also after it failed.
91
+ */
92
+ export declare const isReviewListQueryChanged: ((state: ReviewsState & {
93
+ product: unknown;
94
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => boolean, {
95
+ clearCache: () => void;
96
+ }> & {
97
+ clearCache: () => void;
98
+ };
99
+ /**
100
+ * Whether the review list of the current base product has a further page.
101
+ * @param state The current application state.
102
+ * @returns True when the provider returned a cursor for the next page or, with offset
103
+ * pagination, fewer reviews are loaded than the list contains.
104
+ */
105
+ export declare const hasMoreReviews: ((state: ReviewsState & {
106
+ product: unknown;
107
+ } & import("../types/reviewSettings").ReviewSettingsState, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null, args_1: number | null, args_2: number | null, args_3: boolean) => boolean, {
108
+ clearCache: () => void;
109
+ }> & {
110
+ clearCache: () => void;
111
+ };
112
+ /**
113
+ * Retrieves the information if reviews are currently fetched.
114
+ * @param state The current application state.
115
+ * @returns The boolean information if reviews are currently being fetched.
116
+ */
117
+ export declare const getReviewsFetchingState: ((state: ReviewsState & {
118
+ product: unknown;
119
+ }, props?: ReviewsProductProps | undefined) => boolean | null | undefined) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => boolean | null | undefined, {
120
+ clearCache: () => void;
121
+ }> & {
122
+ clearCache: () => void;
123
+ };
124
+ /**
125
+ * Whether the review list of the current base product was not requested yet.
126
+ * @param state The current application state.
127
+ * @returns True when no list collection exists.
128
+ */
129
+ export declare const isReviewListMissing: ((state: ReviewsState & {
130
+ product: unknown;
131
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => boolean, {
132
+ clearCache: () => void;
133
+ }> & {
134
+ clearCache: () => void;
135
+ };
136
+ /**
137
+ * Whether the last review list request of the current base product failed.
138
+ * @param state The current application state.
139
+ * @returns True when the last request failed, also when earlier pages are still stored.
140
+ */
141
+ export declare const hasReviewListError: ((state: ReviewsState & {
142
+ product: unknown;
143
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => boolean, {
144
+ clearCache: () => void;
145
+ }> & {
146
+ clearCache: () => void;
147
+ };
148
+ /**
149
+ * Whether the review list of the current base product has to be requested again.
150
+ * Not memoized, because the result depends on the current time.
151
+ * @param state The current application state.
152
+ * @param props The product id and an optional variant id.
153
+ * @returns True when the list is missing, failed or expired, false while a request runs.
154
+ */
155
+ export declare const isReviewListStale: (state: ReviewsProductState, props?: ReviewsProductProps) => boolean;
156
+ /**
157
+ * Whether the review list of the current base product is still loading.
158
+ * @param state The current application state.
159
+ * @returns True while a request runs or before the first response, unless the last request failed.
160
+ */
161
+ export declare const isReviewListLoading: ((state: ReviewsState & {
162
+ product: unknown;
163
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null, args_1: boolean) => boolean, {
164
+ clearCache: () => void;
165
+ }> & {
166
+ clearCache: () => void;
167
+ };
168
+ /**
169
+ * Retrieves the offset of the last review list request of the current base product.
170
+ * @param state The current application state.
171
+ * @returns The offset, or 0 when the list was not requested yet.
172
+ */
173
+ export declare const getReviewListRequestOffset: ((state: ReviewsState & {
174
+ product: unknown;
175
+ }, props?: ReviewsProductProps | undefined) => number) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null) => number, {
176
+ clearCache: () => void;
177
+ }> & {
178
+ clearCache: () => void;
179
+ };
180
+ /**
181
+ * Retrieves a user review for a product.
182
+ */
183
+ export declare const getUserReviewForProduct: ((state: ReviewsState, props?: ReviewsProductProps | undefined) => Partial<Review>) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").UserReviewsByProductId, args_1: import("../types/reviews").ReviewsById, args_2: string | null | undefined) => Partial<Review>, {
184
+ clearCache: () => void;
185
+ }> & {
186
+ clearCache: () => void;
187
+ };
188
+ /**
189
+ * Gets user reviews fetching state. Only the first fetch is considered.
190
+ * @returns True if user review for current product is being fetched.
191
+ */
192
+ export declare const getUserReviewFirstFetchState: ((state: ReviewsState & {
193
+ product: unknown;
194
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: string | null, args_1: import("../types/reviews").UserReviewsByProductId) => boolean, {
195
+ clearCache: () => void;
196
+ }> & {
197
+ clearCache: () => void;
198
+ };
199
+ /**
200
+ * Get a user name for the review form.
201
+ * @param state The state.
202
+ * @returns A user name.
203
+ */
204
+ export declare const getDefaultAuthorName: (state: AuthorState) => string;
205
+ /**
206
+ * Retrieves the current product reviews in the order returned by the pipeline.
207
+ * @param state The current application state.
208
+ * @returns The reviews for a product.
209
+ */
210
+ export declare const getProductReviews: ((state: ReviewsState & {
211
+ product: unknown;
212
+ }, props?: ReviewsProductProps | undefined) => Review[]) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ReviewsCollection | null, args_1: import("../types/reviews").ReviewsById) => Review[], {
213
+ clearCache: () => void;
214
+ }> & {
215
+ clearCache: () => void;
216
+ };
217
+ /**
218
+ * Retrieves the current product reviews excerpt in the order returned by the pipeline.
219
+ * @param state The current application state.
220
+ * @returns The reviews for a product
221
+ */
222
+ export declare const getProductReviewsExcerpt: ((state: ReviewsState & {
223
+ product: unknown;
224
+ }, props?: ReviewsProductProps | undefined) => Review[] | null) & import("reselect").OutputSelectorFields<(args_0: string | null, args_1: import("../types/reviews").ReviewsByProductId, args_2: import("../types/reviews").ReviewsById) => Review[] | null, {
225
+ clearCache: () => void;
226
+ }> & {
227
+ clearCache: () => void;
228
+ };
229
+ /**
230
+ * Whether the review preview of the current base product was not requested yet.
231
+ * @param state The current application state.
232
+ * @returns True when no preview collection exists.
233
+ */
234
+ export declare const isProductReviewsExcerptMissing: ((state: ReviewsState & {
235
+ product: unknown;
236
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ProductReviewsCollection) => boolean, {
237
+ clearCache: () => void;
238
+ }> & {
239
+ clearCache: () => void;
240
+ };
241
+ /**
242
+ * Whether the last review preview request of the current base product failed before any
243
+ * reviews were received.
244
+ * @param state The current application state.
245
+ * @returns True when the preview request failed.
246
+ */
247
+ export declare const hasProductReviewsExcerptError: ((state: ReviewsState & {
248
+ product: unknown;
249
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ProductReviewsCollection) => boolean, {
250
+ clearCache: () => void;
251
+ }> & {
252
+ clearCache: () => void;
253
+ };
254
+ /**
255
+ * Whether the review preview of the current base product is still loading.
256
+ * @param state The current application state.
257
+ * @returns True while a request runs or before the first response, unless the last request failed.
258
+ */
259
+ export declare const isProductReviewsExcerptLoading: ((state: ReviewsState & {
260
+ product: unknown;
261
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ProductReviewsCollection, args_1: boolean) => boolean, {
262
+ clearCache: () => void;
263
+ }> & {
264
+ clearCache: () => void;
265
+ };
266
+ /**
267
+ * Whether the review preview of the current base product is requested without stored reviews.
268
+ * @param state The current application state.
269
+ * @returns True while a request runs and no response was stored yet; false for a refresh.
270
+ */
271
+ export declare const isProductReviewsExcerptPending: ((state: ReviewsState & {
272
+ product: unknown;
273
+ }, props?: ReviewsProductProps | undefined) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../types/reviews").ProductReviewsCollection) => boolean, {
274
+ clearCache: () => void;
275
+ }> & {
276
+ clearCache: () => void;
277
+ };
278
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../reviews/selectors/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,MAAM,EAEN,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAK1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE;YACN,UAAU,CAAC,EAAE,OAAO,CAAC;SACtB,GAAG,IAAI,CAAC;QACT,IAAI,CAAC,EAAE;YACL,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,GAAG,IAAI,CAAC;KACV,CAAC;CACH,CAAC;AAiEF;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;CAGtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;CAYjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;CAShC,CAAC;AACF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;CASjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAG7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;CAGhC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;;CAQpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;CAgB1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;CAGnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAG/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAG9B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,mBAAmB,EAC1B,QAAQ,mBAAmB,YAK5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAI/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;;CAGtC,CAAC;AAYF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;CAenC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;CAWxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,WAAW,WAGtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAU7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;CAapC,CAAC;AAaF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;CAG1C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;;;;CAMzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;CAI1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;CAG1C,CAAC"}