@internetarchive/collection-browser 0.3.10-alpha.1 → 0.4.0

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 (222) 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 +5 -17
  29. package/dist/src/assets/img/icons/login-required.js.map +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  56. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  57. package/dist/src/assets/img/icons/null-result.js +2 -2
  58. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  59. package/dist/src/assets/img/icons/restricted.js +3 -19
  60. package/dist/src/assets/img/icons/restricted.js.map +1 -1
  61. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  62. package/dist/src/assets/img/icons/reviews.js +2 -2
  63. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  64. package/dist/src/assets/img/icons/upload.js +2 -2
  65. package/dist/src/assets/img/icons/views.d.ts +1 -1
  66. package/dist/src/assets/img/icons/views.js +2 -2
  67. package/dist/src/circular-activity-indicator.d.ts +5 -5
  68. package/dist/src/circular-activity-indicator.js +17 -17
  69. package/dist/src/collection-browser.d.ts +278 -278
  70. package/dist/src/collection-browser.js +1105 -1105
  71. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  72. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  73. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  74. package/dist/src/collection-facets/facets-template.js +125 -125
  75. package/dist/src/collection-facets/more-facets-content.d.ts +76 -76
  76. package/dist/src/collection-facets/more-facets-content.js +353 -353
  77. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  78. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  79. package/dist/src/collection-facets.d.ts +77 -77
  80. package/dist/src/collection-facets.js +388 -388
  81. package/dist/src/empty-placeholder.d.ts +11 -11
  82. package/dist/src/empty-placeholder.js +42 -42
  83. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  84. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  85. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  86. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  87. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  88. package/dist/src/mediatype/mediatype-config.js +85 -85
  89. package/dist/src/models.d.ts +103 -103
  90. package/dist/src/models.js +117 -117
  91. package/dist/src/restoration-state-handler.d.ts +46 -46
  92. package/dist/src/restoration-state-handler.js +230 -230
  93. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  94. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  95. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  96. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  97. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/list.js +2 -2
  99. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  101. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  102. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  103. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  104. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  105. package/dist/src/styles/item-image-styles.d.ts +8 -8
  106. package/dist/src/styles/item-image-styles.js +12 -15
  107. package/dist/src/styles/item-image-styles.js.map +1 -1
  108. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  109. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  110. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  111. package/dist/src/tiles/grid/account-tile.js +20 -20
  112. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  113. package/dist/src/tiles/grid/collection-tile.js +23 -23
  114. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  115. package/dist/src/tiles/grid/item-tile.js +89 -87
  116. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  117. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  118. package/dist/src/tiles/grid/tile-stats.js +40 -40
  119. package/dist/src/tiles/image-block.d.ts +17 -17
  120. package/dist/src/tiles/image-block.js +77 -69
  121. package/dist/src/tiles/image-block.js.map +1 -1
  122. package/dist/src/tiles/item-image.d.ts +31 -31
  123. package/dist/src/tiles/item-image.js +106 -106
  124. package/dist/src/tiles/list/account-label.d.ts +1 -1
  125. package/dist/src/tiles/list/account-label.js +6 -6
  126. package/dist/src/tiles/list/date-label.d.ts +1 -1
  127. package/dist/src/tiles/list/date-label.js +12 -12
  128. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  129. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  130. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  131. package/dist/src/tiles/list/tile-list-compact.js +93 -93
  132. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  133. package/dist/src/tiles/list/tile-list.js +276 -276
  134. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  135. package/dist/src/tiles/mediatype-icon.js +47 -47
  136. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -7
  137. package/dist/src/tiles/overlay/icon-overlay.js +63 -33
  138. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  139. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -0
  140. package/dist/src/tiles/overlay/icon-text-overlay.js +83 -0
  141. package/dist/src/tiles/overlay/icon-text-overlay.js.map +1 -0
  142. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -8
  143. package/dist/src/tiles/overlay/text-overlay.js +63 -35
  144. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  145. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  146. package/dist/src/tiles/text-snippet-block.js +81 -81
  147. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  148. package/dist/src/tiles/tile-dispatcher.js +128 -128
  149. package/dist/src/utils/analytics-events.d.ts +22 -22
  150. package/dist/src/utils/analytics-events.js +24 -24
  151. package/dist/src/utils/format-count.d.ts +7 -7
  152. package/dist/src/utils/format-count.js +76 -76
  153. package/dist/src/utils/format-date.d.ts +2 -2
  154. package/dist/src/utils/format-date.js +23 -23
  155. package/dist/test/collection-browser.test.d.ts +1 -1
  156. package/dist/test/collection-browser.test.js +575 -575
  157. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  158. package/dist/test/collection-facets/facets-template.test.js +62 -62
  159. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  160. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  161. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  162. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  163. package/dist/test/collection-facets.test.d.ts +2 -2
  164. package/dist/test/collection-facets.test.js +544 -544
  165. package/dist/test/empty-placeholder.test.d.ts +1 -1
  166. package/dist/test/empty-placeholder.test.js +33 -33
  167. package/dist/test/icon-overlay.test.d.ts +1 -1
  168. package/dist/test/icon-overlay.test.js +24 -24
  169. package/dist/test/image-block.test.d.ts +1 -1
  170. package/dist/test/image-block.test.js +48 -48
  171. package/dist/test/item-image.test.d.ts +1 -1
  172. package/dist/test/item-image.test.js +80 -80
  173. package/dist/test/item-image.test.js.map +1 -1
  174. package/dist/test/mediatype-config.test.d.ts +1 -1
  175. package/dist/test/mediatype-config.test.js +16 -16
  176. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  177. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  178. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  179. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  180. package/dist/test/mocks/mock-search-responses.d.ts +10 -10
  181. package/dist/test/mocks/mock-search-responses.js +271 -271
  182. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  183. package/dist/test/mocks/mock-search-service.js +36 -36
  184. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  185. package/dist/test/restoration-state-handler.test.js +126 -126
  186. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  187. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  188. package/dist/test/text-overlay.test.d.ts +1 -1
  189. package/dist/test/text-overlay.test.js +48 -41
  190. package/dist/test/text-overlay.test.js.map +1 -1
  191. package/dist/test/text-snippet-block.test.d.ts +1 -1
  192. package/dist/test/text-snippet-block.test.js +57 -57
  193. package/dist/test/tile-stats.test.d.ts +1 -1
  194. package/dist/test/tile-stats.test.js +33 -33
  195. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  196. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  197. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  198. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  199. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  200. package/dist/test/tiles/list/tile-list.test.js +123 -123
  201. package/dist/test/utils/format-count.test.d.ts +1 -1
  202. package/dist/test/utils/format-count.test.js +23 -23
  203. package/dist/test/utils/format-date.test.d.ts +1 -1
  204. package/dist/test/utils/format-date.test.js +17 -17
  205. package/index.html +24 -24
  206. package/local.archive.org.cert +86 -86
  207. package/local.archive.org.key +27 -27
  208. package/package.json +1 -1
  209. package/renovate.json +6 -6
  210. package/src/assets/img/icons/login-required.ts +3 -15
  211. package/src/assets/img/icons/restricted.ts +1 -17
  212. package/src/styles/item-image-styles.ts +3 -6
  213. package/src/tiles/grid/item-tile.ts +2 -0
  214. package/src/tiles/image-block.ts +8 -0
  215. package/src/tiles/overlay/icon-overlay.ts +33 -3
  216. package/src/tiles/overlay/icon-text-overlay.ts +75 -0
  217. package/src/tiles/overlay/text-overlay.ts +34 -7
  218. package/test/item-image.test.ts +2 -2
  219. package/test/text-overlay.test.ts +10 -3
  220. package/tsconfig.json +21 -21
  221. package/web-dev-server.config.mjs +30 -30
  222. package/web-test-runner.config.mjs +41 -41
@@ -1,10 +1,10 @@
1
- import type { Result } from '@internetarchive/result-type';
2
- import { SearchResponse, SearchServiceError } from '@internetarchive/search-service';
3
- export declare const mockSuccessSingleResult: Result<SearchResponse, SearchServiceError>;
4
- export declare const mockSuccessWithYearHistogramAggs: Result<SearchResponse, SearchServiceError>;
5
- export declare const mockSuccessLoggedInResult: Result<SearchResponse, SearchServiceError>;
6
- export declare const mockSuccessNoPreviewResult: Result<SearchResponse, SearchServiceError>;
7
- export declare const mockSuccessLoggedInAndNoPreviewResult: Result<SearchResponse, SearchServiceError>;
8
- export declare const getMockSuccessSingleResultWithSort: (resultsSpy: Function) => Result<SearchResponse, SearchServiceError>;
9
- export declare const mockSuccessMultipleResults: Result<SearchResponse, SearchServiceError>;
10
- export declare const mockSuccessMultiLineDescription: Result<SearchResponse, SearchServiceError>;
1
+ import type { Result } from '@internetarchive/result-type';
2
+ import { SearchResponse, SearchServiceError } from '@internetarchive/search-service';
3
+ export declare const mockSuccessSingleResult: Result<SearchResponse, SearchServiceError>;
4
+ export declare const mockSuccessWithYearHistogramAggs: Result<SearchResponse, SearchServiceError>;
5
+ export declare const mockSuccessLoggedInResult: Result<SearchResponse, SearchServiceError>;
6
+ export declare const mockSuccessNoPreviewResult: Result<SearchResponse, SearchServiceError>;
7
+ export declare const mockSuccessLoggedInAndNoPreviewResult: Result<SearchResponse, SearchServiceError>;
8
+ export declare const getMockSuccessSingleResultWithSort: (resultsSpy: Function) => Result<SearchResponse, SearchServiceError>;
9
+ export declare const mockSuccessMultipleResults: Result<SearchResponse, SearchServiceError>;
10
+ export declare const mockSuccessMultiLineDescription: Result<SearchResponse, SearchServiceError>;
@@ -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 {};