@internetarchive/collection-browser 0.3.8 → 0.3.9

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 (204) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +48 -48
  12. package/dist/src/app-root.js +258 -258
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +2 -2
  29. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  55. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  56. package/dist/src/assets/img/icons/null-result.js +2 -2
  57. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  58. package/dist/src/assets/img/icons/restricted.js +2 -2
  59. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  60. package/dist/src/assets/img/icons/reviews.js +2 -2
  61. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  62. package/dist/src/assets/img/icons/upload.js +2 -2
  63. package/dist/src/assets/img/icons/views.d.ts +1 -1
  64. package/dist/src/assets/img/icons/views.js +2 -2
  65. package/dist/src/circular-activity-indicator.d.ts +5 -5
  66. package/dist/src/circular-activity-indicator.js +17 -17
  67. package/dist/src/collection-browser.d.ts +278 -278
  68. package/dist/src/collection-browser.js +1105 -1105
  69. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  70. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  71. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  72. package/dist/src/collection-facets/facets-template.js +125 -125
  73. package/dist/src/collection-facets/more-facets-content.d.ts +76 -76
  74. package/dist/src/collection-facets/more-facets-content.js +353 -353
  75. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  76. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  77. package/dist/src/collection-facets.d.ts +77 -77
  78. package/dist/src/collection-facets.js +388 -388
  79. package/dist/src/empty-placeholder.d.ts +11 -11
  80. package/dist/src/empty-placeholder.js +42 -42
  81. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  82. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  83. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  84. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  85. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  86. package/dist/src/mediatype/mediatype-config.js +85 -85
  87. package/dist/src/models.d.ts +103 -103
  88. package/dist/src/models.js +117 -117
  89. package/dist/src/restoration-state-handler.d.ts +46 -46
  90. package/dist/src/restoration-state-handler.js +230 -230
  91. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  92. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  93. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  94. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  95. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  96. package/dist/src/sort-filter-bar/img/list.js +2 -2
  97. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  99. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  101. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  102. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  103. package/dist/src/styles/item-image-styles.d.ts +8 -8
  104. package/dist/src/styles/item-image-styles.js +9 -9
  105. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  106. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  107. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  108. package/dist/src/tiles/grid/account-tile.js +20 -20
  109. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  110. package/dist/src/tiles/grid/collection-tile.js +23 -23
  111. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  112. package/dist/src/tiles/grid/item-tile.js +87 -87
  113. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  114. package/dist/src/tiles/grid/tile-stats.js +40 -40
  115. package/dist/src/tiles/image-block.d.ts +17 -17
  116. package/dist/src/tiles/image-block.js +69 -69
  117. package/dist/src/tiles/item-image.d.ts +31 -31
  118. package/dist/src/tiles/item-image.js +103 -103
  119. package/dist/src/tiles/list/account-label.d.ts +1 -1
  120. package/dist/src/tiles/list/account-label.js +6 -6
  121. package/dist/src/tiles/list/date-label.d.ts +1 -1
  122. package/dist/src/tiles/list/date-label.js +12 -12
  123. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  124. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  125. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  126. package/dist/src/tiles/list/tile-list-compact.js +93 -93
  127. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  128. package/dist/src/tiles/list/tile-list.js +280 -275
  129. package/dist/src/tiles/list/tile-list.js.map +1 -1
  130. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  131. package/dist/src/tiles/mediatype-icon.js +47 -47
  132. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  133. package/dist/src/tiles/overlay/icon-overlay.js +30 -30
  134. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  135. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  136. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  137. package/dist/src/tiles/text-snippet-block.js +81 -81
  138. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  139. package/dist/src/tiles/tile-dispatcher.js +128 -128
  140. package/dist/src/utils/analytics-events.d.ts +22 -22
  141. package/dist/src/utils/analytics-events.js +24 -24
  142. package/dist/src/utils/format-count.d.ts +7 -7
  143. package/dist/src/utils/format-count.js +76 -76
  144. package/dist/src/utils/format-date.d.ts +2 -2
  145. package/dist/src/utils/format-date.js +23 -23
  146. package/dist/test/collection-browser.test.d.ts +1 -1
  147. package/dist/test/collection-browser.test.js +575 -575
  148. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  149. package/dist/test/collection-facets/facets-template.test.js +62 -62
  150. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  151. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  152. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  153. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  154. package/dist/test/collection-facets.test.d.ts +2 -2
  155. package/dist/test/collection-facets.test.js +544 -544
  156. package/dist/test/empty-placeholder.test.d.ts +1 -1
  157. package/dist/test/empty-placeholder.test.js +33 -33
  158. package/dist/test/icon-overlay.test.d.ts +1 -1
  159. package/dist/test/icon-overlay.test.js +24 -24
  160. package/dist/test/image-block.test.d.ts +1 -1
  161. package/dist/test/image-block.test.js +48 -48
  162. package/dist/test/item-image.test.d.ts +1 -1
  163. package/dist/test/item-image.test.js +56 -56
  164. package/dist/test/mediatype-config.test.d.ts +1 -1
  165. package/dist/test/mediatype-config.test.js +16 -16
  166. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  167. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  168. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  169. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  170. package/dist/test/mocks/mock-search-responses.d.ts +10 -10
  171. package/dist/test/mocks/mock-search-responses.js +271 -271
  172. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  173. package/dist/test/mocks/mock-search-service.js +36 -36
  174. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  175. package/dist/test/restoration-state-handler.test.js +126 -126
  176. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  177. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  178. package/dist/test/text-overlay.test.d.ts +1 -1
  179. package/dist/test/text-overlay.test.js +41 -41
  180. package/dist/test/text-snippet-block.test.d.ts +1 -1
  181. package/dist/test/text-snippet-block.test.js +57 -57
  182. package/dist/test/tile-stats.test.d.ts +1 -1
  183. package/dist/test/tile-stats.test.js +33 -33
  184. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  185. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  186. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  187. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  188. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  189. package/dist/test/tiles/list/tile-list.test.js +136 -92
  190. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  191. package/dist/test/utils/format-count.test.d.ts +1 -1
  192. package/dist/test/utils/format-count.test.js +23 -23
  193. package/dist/test/utils/format-date.test.d.ts +1 -1
  194. package/dist/test/utils/format-date.test.js +17 -17
  195. package/index.html +24 -24
  196. package/local.archive.org.cert +86 -86
  197. package/local.archive.org.key +27 -27
  198. package/package.json +1 -1
  199. package/renovate.json +6 -6
  200. package/src/tiles/list/tile-list.ts +12 -5
  201. package/test/tiles/list/tile-list.test.ts +51 -0
  202. package/tsconfig.json +21 -21
  203. package/web-dev-server.config.mjs +30 -30
  204. package/web-test-runner.config.mjs +41 -41
@@ -1,272 +1,272 @@
1
- import { Aggregation, ItemHit, } from '@internetarchive/search-service';
2
- export const mockSuccessSingleResult = {
3
- success: {
4
- request: {
5
- clientParameters: {
6
- user_query: 'collection:foo',
7
- sort: [],
8
- },
9
- finalizedParameters: {
10
- user_query: 'collection:foo',
11
- sort: [],
12
- },
13
- },
14
- rawResponse: {},
15
- response: {
16
- totalResults: 1,
17
- returnedCount: 1,
18
- results: [
19
- new ItemHit({
20
- fields: {
21
- identifier: 'foo',
22
- collection: ['foo', 'bar'],
23
- },
24
- }),
25
- ],
26
- },
27
- responseHeader: {
28
- succeeded: true,
29
- query_time: 0,
30
- },
31
- },
32
- };
33
- export const mockSuccessWithYearHistogramAggs = {
34
- success: {
35
- request: {
36
- clientParameters: {
37
- user_query: 'years',
38
- sort: [],
39
- },
40
- finalizedParameters: {
41
- user_query: 'years',
42
- sort: [],
43
- },
44
- },
45
- rawResponse: {},
46
- response: {
47
- totalResults: 1,
48
- returnedCount: 1,
49
- aggregations: {
50
- subject: new Aggregation({
51
- buckets: [
52
- {
53
- key: 'foo',
54
- doc_count: 3,
55
- },
56
- ],
57
- }),
58
- year_histogram: new Aggregation({
59
- buckets: [1, 2, 3, 3, 2, 1],
60
- first_bucket_key: 1950,
61
- last_bucket_key: 2000,
62
- interval: 10,
63
- number_buckets: 6,
64
- }),
65
- },
66
- results: [],
67
- },
68
- responseHeader: {
69
- succeeded: true,
70
- query_time: 0,
71
- },
72
- },
73
- };
74
- export const mockSuccessLoggedInResult = {
75
- success: {
76
- request: {
77
- clientParameters: {
78
- user_query: 'loggedin',
79
- sort: [],
80
- },
81
- finalizedParameters: {
82
- user_query: 'loggedin',
83
- sort: [],
84
- },
85
- },
86
- rawResponse: {},
87
- response: {
88
- totalResults: 1,
89
- returnedCount: 1,
90
- results: [
91
- new ItemHit({
92
- fields: {
93
- identifier: 'foo',
94
- collection: ['foo', 'loggedin', 'bar'],
95
- title: 'foo',
96
- mediatype: 'data',
97
- },
98
- }),
99
- ],
100
- },
101
- responseHeader: {
102
- succeeded: true,
103
- query_time: 0,
104
- },
105
- },
106
- };
107
- export const mockSuccessNoPreviewResult = {
108
- success: {
109
- request: {
110
- clientParameters: {
111
- user_query: 'no-preview',
112
- sort: [],
113
- },
114
- finalizedParameters: {
115
- user_query: 'no-preview',
116
- sort: [],
117
- },
118
- },
119
- rawResponse: {},
120
- response: {
121
- totalResults: 1,
122
- returnedCount: 1,
123
- results: [
124
- new ItemHit({
125
- fields: {
126
- identifier: 'foo',
127
- collection: ['foo', 'no-preview', 'bar'],
128
- },
129
- }),
130
- ],
131
- },
132
- responseHeader: {
133
- succeeded: true,
134
- query_time: 0,
135
- },
136
- },
137
- };
138
- export const mockSuccessLoggedInAndNoPreviewResult = {
139
- success: {
140
- request: {
141
- clientParameters: {
142
- user_query: 'loggedin-no-preview',
143
- sort: [],
144
- },
145
- finalizedParameters: {
146
- user_query: 'loggedin-no-preview',
147
- sort: [],
148
- },
149
- },
150
- rawResponse: {},
151
- response: {
152
- totalResults: 1,
153
- returnedCount: 1,
154
- results: [
155
- new ItemHit({
156
- fields: {
157
- identifier: 'foo',
158
- collection: ['foo', 'loggedin', 'no-preview', 'bar'],
159
- },
160
- }),
161
- ],
162
- },
163
- responseHeader: {
164
- succeeded: true,
165
- query_time: 0,
166
- },
167
- },
168
- };
169
- export const getMockSuccessSingleResultWithSort = (resultsSpy) => ({
170
- success: {
171
- request: {
172
- clientParameters: {
173
- user_query: 'with-sort',
174
- sort: ['foo:asc'],
175
- },
176
- finalizedParameters: {
177
- user_query: 'with-sort',
178
- sort: ['foo:asc'],
179
- },
180
- },
181
- rawResponse: {},
182
- response: {
183
- totalResults: 1,
184
- returnedCount: 1,
185
- get results() {
186
- resultsSpy();
187
- return [
188
- new ItemHit({
189
- fields: {
190
- identifier: 'foo',
191
- collection: ['foo', 'bar'],
192
- },
193
- }),
194
- ];
195
- },
196
- },
197
- responseHeader: {
198
- succeeded: true,
199
- query_time: 0,
200
- },
201
- },
202
- });
203
- export const mockSuccessMultipleResults = {
204
- success: {
205
- request: {
206
- clientParameters: {
207
- user_query: 'collection:foo',
208
- sort: [],
209
- },
210
- finalizedParameters: {
211
- user_query: 'collection:foo',
212
- sort: [],
213
- },
214
- },
215
- rawResponse: {},
216
- response: {
217
- totalResults: 2,
218
- returnedCount: 2,
219
- results: [
220
- new ItemHit({
221
- fields: {
222
- identifier: 'foo',
223
- collection: ['foo', 'bar'],
224
- },
225
- }),
226
- new ItemHit({
227
- fields: {
228
- identifier: 'bar',
229
- collection: ['baz', 'boop'],
230
- },
231
- }),
232
- ],
233
- },
234
- responseHeader: {
235
- succeeded: true,
236
- query_time: 0,
237
- },
238
- },
239
- };
240
- export const mockSuccessMultiLineDescription = {
241
- success: {
242
- request: {
243
- clientParameters: {
244
- user_query: 'multi-line-description',
245
- sort: [],
246
- },
247
- finalizedParameters: {
248
- user_query: 'multi-line-description',
249
- sort: [],
250
- },
251
- },
252
- rawResponse: {},
253
- response: {
254
- totalResults: 1,
255
- returnedCount: 1,
256
- results: [
257
- new ItemHit({
258
- fields: {
259
- identifier: 'foo',
260
- collection: ['foo', 'bar'],
261
- description: ['line1', 'line2'],
262
- },
263
- }),
264
- ],
265
- },
266
- responseHeader: {
267
- succeeded: true,
268
- query_time: 0,
269
- },
270
- },
271
- };
1
+ import { Aggregation, ItemHit, } from '@internetarchive/search-service';
2
+ export const mockSuccessSingleResult = {
3
+ success: {
4
+ request: {
5
+ clientParameters: {
6
+ user_query: 'collection:foo',
7
+ sort: [],
8
+ },
9
+ finalizedParameters: {
10
+ user_query: 'collection:foo',
11
+ sort: [],
12
+ },
13
+ },
14
+ rawResponse: {},
15
+ response: {
16
+ totalResults: 1,
17
+ returnedCount: 1,
18
+ results: [
19
+ new ItemHit({
20
+ fields: {
21
+ identifier: 'foo',
22
+ collection: ['foo', 'bar'],
23
+ },
24
+ }),
25
+ ],
26
+ },
27
+ responseHeader: {
28
+ succeeded: true,
29
+ query_time: 0,
30
+ },
31
+ },
32
+ };
33
+ export const mockSuccessWithYearHistogramAggs = {
34
+ success: {
35
+ request: {
36
+ clientParameters: {
37
+ user_query: 'years',
38
+ sort: [],
39
+ },
40
+ finalizedParameters: {
41
+ user_query: 'years',
42
+ sort: [],
43
+ },
44
+ },
45
+ rawResponse: {},
46
+ response: {
47
+ totalResults: 1,
48
+ returnedCount: 1,
49
+ aggregations: {
50
+ subject: new Aggregation({
51
+ buckets: [
52
+ {
53
+ key: 'foo',
54
+ doc_count: 3,
55
+ },
56
+ ],
57
+ }),
58
+ year_histogram: new Aggregation({
59
+ buckets: [1, 2, 3, 3, 2, 1],
60
+ first_bucket_key: 1950,
61
+ last_bucket_key: 2000,
62
+ interval: 10,
63
+ number_buckets: 6,
64
+ }),
65
+ },
66
+ results: [],
67
+ },
68
+ responseHeader: {
69
+ succeeded: true,
70
+ query_time: 0,
71
+ },
72
+ },
73
+ };
74
+ export const mockSuccessLoggedInResult = {
75
+ success: {
76
+ request: {
77
+ clientParameters: {
78
+ user_query: 'loggedin',
79
+ sort: [],
80
+ },
81
+ finalizedParameters: {
82
+ user_query: 'loggedin',
83
+ sort: [],
84
+ },
85
+ },
86
+ rawResponse: {},
87
+ response: {
88
+ totalResults: 1,
89
+ returnedCount: 1,
90
+ results: [
91
+ new ItemHit({
92
+ fields: {
93
+ identifier: 'foo',
94
+ collection: ['foo', 'loggedin', 'bar'],
95
+ title: 'foo',
96
+ mediatype: 'data',
97
+ },
98
+ }),
99
+ ],
100
+ },
101
+ responseHeader: {
102
+ succeeded: true,
103
+ query_time: 0,
104
+ },
105
+ },
106
+ };
107
+ export const mockSuccessNoPreviewResult = {
108
+ success: {
109
+ request: {
110
+ clientParameters: {
111
+ user_query: 'no-preview',
112
+ sort: [],
113
+ },
114
+ finalizedParameters: {
115
+ user_query: 'no-preview',
116
+ sort: [],
117
+ },
118
+ },
119
+ rawResponse: {},
120
+ response: {
121
+ totalResults: 1,
122
+ returnedCount: 1,
123
+ results: [
124
+ new ItemHit({
125
+ fields: {
126
+ identifier: 'foo',
127
+ collection: ['foo', 'no-preview', 'bar'],
128
+ },
129
+ }),
130
+ ],
131
+ },
132
+ responseHeader: {
133
+ succeeded: true,
134
+ query_time: 0,
135
+ },
136
+ },
137
+ };
138
+ export const mockSuccessLoggedInAndNoPreviewResult = {
139
+ success: {
140
+ request: {
141
+ clientParameters: {
142
+ user_query: 'loggedin-no-preview',
143
+ sort: [],
144
+ },
145
+ finalizedParameters: {
146
+ user_query: 'loggedin-no-preview',
147
+ sort: [],
148
+ },
149
+ },
150
+ rawResponse: {},
151
+ response: {
152
+ totalResults: 1,
153
+ returnedCount: 1,
154
+ results: [
155
+ new ItemHit({
156
+ fields: {
157
+ identifier: 'foo',
158
+ collection: ['foo', 'loggedin', 'no-preview', 'bar'],
159
+ },
160
+ }),
161
+ ],
162
+ },
163
+ responseHeader: {
164
+ succeeded: true,
165
+ query_time: 0,
166
+ },
167
+ },
168
+ };
169
+ export const getMockSuccessSingleResultWithSort = (resultsSpy) => ({
170
+ success: {
171
+ request: {
172
+ clientParameters: {
173
+ user_query: 'with-sort',
174
+ sort: ['foo:asc'],
175
+ },
176
+ finalizedParameters: {
177
+ user_query: 'with-sort',
178
+ sort: ['foo:asc'],
179
+ },
180
+ },
181
+ rawResponse: {},
182
+ response: {
183
+ totalResults: 1,
184
+ returnedCount: 1,
185
+ get results() {
186
+ resultsSpy();
187
+ return [
188
+ new ItemHit({
189
+ fields: {
190
+ identifier: 'foo',
191
+ collection: ['foo', 'bar'],
192
+ },
193
+ }),
194
+ ];
195
+ },
196
+ },
197
+ responseHeader: {
198
+ succeeded: true,
199
+ query_time: 0,
200
+ },
201
+ },
202
+ });
203
+ export const mockSuccessMultipleResults = {
204
+ success: {
205
+ request: {
206
+ clientParameters: {
207
+ user_query: 'collection:foo',
208
+ sort: [],
209
+ },
210
+ finalizedParameters: {
211
+ user_query: 'collection:foo',
212
+ sort: [],
213
+ },
214
+ },
215
+ rawResponse: {},
216
+ response: {
217
+ totalResults: 2,
218
+ returnedCount: 2,
219
+ results: [
220
+ new ItemHit({
221
+ fields: {
222
+ identifier: 'foo',
223
+ collection: ['foo', 'bar'],
224
+ },
225
+ }),
226
+ new ItemHit({
227
+ fields: {
228
+ identifier: 'bar',
229
+ collection: ['baz', 'boop'],
230
+ },
231
+ }),
232
+ ],
233
+ },
234
+ responseHeader: {
235
+ succeeded: true,
236
+ query_time: 0,
237
+ },
238
+ },
239
+ };
240
+ export const mockSuccessMultiLineDescription = {
241
+ success: {
242
+ request: {
243
+ clientParameters: {
244
+ user_query: 'multi-line-description',
245
+ sort: [],
246
+ },
247
+ finalizedParameters: {
248
+ user_query: 'multi-line-description',
249
+ sort: [],
250
+ },
251
+ },
252
+ rawResponse: {},
253
+ response: {
254
+ totalResults: 1,
255
+ returnedCount: 1,
256
+ results: [
257
+ new ItemHit({
258
+ fields: {
259
+ identifier: 'foo',
260
+ collection: ['foo', 'bar'],
261
+ description: ['line1', 'line2'],
262
+ },
263
+ }),
264
+ ],
265
+ },
266
+ responseHeader: {
267
+ succeeded: true,
268
+ query_time: 0,
269
+ },
270
+ },
271
+ };
272
272
  //# sourceMappingURL=mock-search-responses.js.map
@@ -1,13 +1,13 @@
1
- import type { Result } from '@internetarchive/result-type';
2
- import type { SearchParams, SearchResponse, SearchServiceInterface, SearchServiceError, SearchType } from '@internetarchive/search-service';
3
- export declare class MockSearchService implements SearchServiceInterface {
4
- searchParams?: SearchParams;
5
- searchType?: SearchType;
6
- asyncResponse: boolean;
7
- resultsSpy: Function;
8
- constructor({ asyncResponse, resultsSpy }?: {
9
- asyncResponse?: boolean | undefined;
10
- resultsSpy?: (() => void) | undefined;
11
- });
12
- search(params: SearchParams, searchType: SearchType): Promise<Result<SearchResponse, SearchServiceError>>;
13
- }
1
+ import type { Result } from '@internetarchive/result-type';
2
+ import type { SearchParams, SearchResponse, SearchServiceInterface, SearchServiceError, SearchType } from '@internetarchive/search-service';
3
+ export declare class MockSearchService implements SearchServiceInterface {
4
+ searchParams?: SearchParams;
5
+ searchType?: SearchType;
6
+ asyncResponse: boolean;
7
+ resultsSpy: Function;
8
+ constructor({ asyncResponse, resultsSpy }?: {
9
+ asyncResponse?: boolean | undefined;
10
+ resultsSpy?: (() => void) | undefined;
11
+ });
12
+ search(params: SearchParams, searchType: SearchType): Promise<Result<SearchResponse, SearchServiceError>>;
13
+ }
@@ -1,37 +1,37 @@
1
- import { mockSuccessSingleResult, mockSuccessMultipleResults, getMockSuccessSingleResultWithSort, mockSuccessLoggedInResult, mockSuccessNoPreviewResult, mockSuccessLoggedInAndNoPreviewResult, mockSuccessWithYearHistogramAggs, mockSuccessMultiLineDescription, } from './mock-search-responses';
2
- export class MockSearchService {
3
- constructor({ asyncResponse = false, resultsSpy = () => { } } = {}) {
4
- this.asyncResponse = asyncResponse;
5
- this.resultsSpy = resultsSpy;
6
- }
7
- async search(params, searchType) {
8
- var _a;
9
- this.searchParams = params;
10
- this.searchType = searchType;
11
- if (this.asyncResponse) {
12
- // Add an artificial 1-tick delay
13
- await new Promise(res => {
14
- setTimeout(res, 0);
15
- });
16
- }
17
- switch ((_a = this.searchParams) === null || _a === void 0 ? void 0 : _a.query) {
18
- case 'single-result':
19
- return mockSuccessSingleResult;
20
- case 'years':
21
- return mockSuccessWithYearHistogramAggs;
22
- case 'multi-line-description':
23
- return mockSuccessMultiLineDescription;
24
- case 'loggedin':
25
- return mockSuccessLoggedInResult;
26
- case 'no-preview':
27
- return mockSuccessNoPreviewResult;
28
- case 'loggedin-no-preview':
29
- return mockSuccessLoggedInAndNoPreviewResult;
30
- case 'with-sort':
31
- return getMockSuccessSingleResultWithSort(this.resultsSpy);
32
- default:
33
- return mockSuccessMultipleResults;
34
- }
35
- }
36
- }
1
+ import { mockSuccessSingleResult, mockSuccessMultipleResults, getMockSuccessSingleResultWithSort, mockSuccessLoggedInResult, mockSuccessNoPreviewResult, mockSuccessLoggedInAndNoPreviewResult, mockSuccessWithYearHistogramAggs, mockSuccessMultiLineDescription, } from './mock-search-responses';
2
+ export class MockSearchService {
3
+ constructor({ asyncResponse = false, resultsSpy = () => { } } = {}) {
4
+ this.asyncResponse = asyncResponse;
5
+ this.resultsSpy = resultsSpy;
6
+ }
7
+ async search(params, searchType) {
8
+ var _a;
9
+ this.searchParams = params;
10
+ this.searchType = searchType;
11
+ if (this.asyncResponse) {
12
+ // Add an artificial 1-tick delay
13
+ await new Promise(res => {
14
+ setTimeout(res, 0);
15
+ });
16
+ }
17
+ switch ((_a = this.searchParams) === null || _a === void 0 ? void 0 : _a.query) {
18
+ case 'single-result':
19
+ return mockSuccessSingleResult;
20
+ case 'years':
21
+ return mockSuccessWithYearHistogramAggs;
22
+ case 'multi-line-description':
23
+ return mockSuccessMultiLineDescription;
24
+ case 'loggedin':
25
+ return mockSuccessLoggedInResult;
26
+ case 'no-preview':
27
+ return mockSuccessNoPreviewResult;
28
+ case 'loggedin-no-preview':
29
+ return mockSuccessLoggedInAndNoPreviewResult;
30
+ case 'with-sort':
31
+ return getMockSuccessSingleResultWithSort(this.resultsSpy);
32
+ default:
33
+ return mockSuccessMultipleResults;
34
+ }
35
+ }
36
+ }
37
37
  //# sourceMappingURL=mock-search-service.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};