@internetarchive/collection-browser 0.3.7-alpha.1 → 0.3.7

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 (210) 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 +47 -47
  12. package/dist/src/app-root.js +247 -247
  13. package/dist/src/app-root.js.map +1 -1
  14. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  15. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  18. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  19. package/dist/src/assets/img/icons/chevron.js +2 -2
  20. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  21. package/dist/src/assets/img/icons/empty-query.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  29. package/dist/src/assets/img/icons/login-required.js +2 -2
  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 +2 -2
  60. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  61. package/dist/src/assets/img/icons/reviews.js +2 -2
  62. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  63. package/dist/src/assets/img/icons/upload.js +2 -2
  64. package/dist/src/assets/img/icons/views.d.ts +1 -1
  65. package/dist/src/assets/img/icons/views.js +2 -2
  66. package/dist/src/circular-activity-indicator.d.ts +5 -5
  67. package/dist/src/circular-activity-indicator.js +17 -17
  68. package/dist/src/collection-browser.d.ts +246 -246
  69. package/dist/src/collection-browser.js +1031 -1031
  70. package/dist/src/collection-browser.js.map +1 -1
  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-content.js.map +1 -1
  78. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  79. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  80. package/dist/src/collection-facets.d.ts +77 -77
  81. package/dist/src/collection-facets.js +389 -388
  82. package/dist/src/collection-facets.js.map +1 -1
  83. package/dist/src/empty-placeholder.d.ts +11 -11
  84. package/dist/src/empty-placeholder.js +42 -42
  85. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  86. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  87. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  88. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  89. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  90. package/dist/src/mediatype/mediatype-config.js +85 -85
  91. package/dist/src/models.d.ts +103 -103
  92. package/dist/src/models.js +117 -117
  93. package/dist/src/restoration-state-handler.d.ts +46 -46
  94. package/dist/src/restoration-state-handler.js +230 -230
  95. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  96. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  97. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  99. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/list.js +2 -2
  101. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  102. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  103. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  104. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  105. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  106. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  107. package/dist/src/styles/item-image-styles.d.ts +8 -8
  108. package/dist/src/styles/item-image-styles.js +9 -9
  109. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  110. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  111. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  112. package/dist/src/tiles/grid/account-tile.js +20 -20
  113. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  114. package/dist/src/tiles/grid/collection-tile.js +23 -23
  115. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  116. package/dist/src/tiles/grid/item-tile.js +87 -87
  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 +69 -69
  121. package/dist/src/tiles/item-image.d.ts +31 -31
  122. package/dist/src/tiles/item-image.js +103 -103
  123. package/dist/src/tiles/list/account-label.d.ts +1 -1
  124. package/dist/src/tiles/list/account-label.js +6 -6
  125. package/dist/src/tiles/list/date-label.d.ts +1 -1
  126. package/dist/src/tiles/list/date-label.js +12 -12
  127. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  128. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  129. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  130. package/dist/src/tiles/list/tile-list-compact.js +93 -93
  131. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  132. package/dist/src/tiles/list/tile-list.js +271 -271
  133. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  134. package/dist/src/tiles/mediatype-icon.js +47 -47
  135. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  136. package/dist/src/tiles/overlay/icon-overlay.js +30 -30
  137. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  138. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  139. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  140. package/dist/src/tiles/text-snippet-block.js +81 -81
  141. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  142. package/dist/src/tiles/tile-dispatcher.js +128 -128
  143. package/dist/src/utils/analytics-events.d.ts +22 -22
  144. package/dist/src/utils/analytics-events.js +24 -24
  145. package/dist/src/utils/format-count.d.ts +7 -7
  146. package/dist/src/utils/format-count.js +76 -76
  147. package/dist/src/utils/format-date.d.ts +2 -2
  148. package/dist/src/utils/format-date.js +23 -23
  149. package/dist/test/collection-browser.test.d.ts +1 -1
  150. package/dist/test/collection-browser.test.js +444 -444
  151. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  152. package/dist/test/collection-facets/facets-template.test.js +62 -62
  153. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  154. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  155. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  156. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  157. package/dist/test/collection-facets.test.d.ts +2 -2
  158. package/dist/test/collection-facets.test.js +498 -544
  159. package/dist/test/collection-facets.test.js.map +1 -1
  160. package/dist/test/empty-placeholder.test.d.ts +1 -1
  161. package/dist/test/empty-placeholder.test.js +33 -33
  162. package/dist/test/icon-overlay.test.d.ts +1 -1
  163. package/dist/test/icon-overlay.test.js +24 -24
  164. package/dist/test/image-block.test.d.ts +1 -1
  165. package/dist/test/image-block.test.js +48 -48
  166. package/dist/test/item-image.test.d.ts +1 -1
  167. package/dist/test/item-image.test.js +56 -56
  168. package/dist/test/mediatype-config.test.d.ts +1 -1
  169. package/dist/test/mediatype-config.test.js +16 -16
  170. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  171. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  172. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  173. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  174. package/dist/test/mocks/mock-search-responses.d.ts +8 -8
  175. package/dist/test/mocks/mock-search-responses.js +198 -198
  176. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  177. package/dist/test/mocks/mock-search-service.js +32 -32
  178. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  179. package/dist/test/restoration-state-handler.test.js +126 -126
  180. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  181. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  182. package/dist/test/text-overlay.test.d.ts +1 -1
  183. package/dist/test/text-overlay.test.js +41 -41
  184. package/dist/test/text-snippet-block.test.d.ts +1 -1
  185. package/dist/test/text-snippet-block.test.js +57 -57
  186. package/dist/test/tile-stats.test.d.ts +1 -1
  187. package/dist/test/tile-stats.test.js +33 -33
  188. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  189. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  190. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  191. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  192. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  193. package/dist/test/tiles/list/tile-list.test.js +67 -67
  194. package/dist/test/utils/format-count.test.d.ts +1 -1
  195. package/dist/test/utils/format-count.test.js +23 -23
  196. package/dist/test/utils/format-date.test.d.ts +1 -1
  197. package/dist/test/utils/format-date.test.js +17 -17
  198. package/index.html +24 -24
  199. package/local.archive.org.cert +86 -86
  200. package/local.archive.org.key +27 -27
  201. package/package.json +1 -1
  202. package/renovate.json +6 -6
  203. package/src/app-root.ts +1 -1
  204. package/src/collection-browser.ts +9 -9
  205. package/src/collection-facets/more-facets-content.ts +3 -3
  206. package/src/collection-facets.ts +4 -3
  207. package/test/collection-facets.test.ts +0 -67
  208. package/tsconfig.json +21 -21
  209. package/web-dev-server.config.mjs +30 -30
  210. package/web-test-runner.config.mjs +41 -41
@@ -1,16 +1,16 @@
1
- export class MockAnalyticsHandler {
2
- sendPing() { }
3
- sendEvent(options) {
4
- this.callCategory = options.category;
5
- this.callAction = options.action;
6
- this.callLabel = options.label;
7
- this.callEventConfiguration = options.eventConfiguration;
8
- }
9
- sendEventNoSampling(options) {
10
- this.callCategory = options.category;
11
- this.callAction = options.action;
12
- this.callLabel = options.label;
13
- this.callEventConfiguration = options.eventConfiguration;
14
- }
15
- }
1
+ export class MockAnalyticsHandler {
2
+ sendPing() { }
3
+ sendEvent(options) {
4
+ this.callCategory = options.category;
5
+ this.callAction = options.action;
6
+ this.callLabel = options.label;
7
+ this.callEventConfiguration = options.eventConfiguration;
8
+ }
9
+ sendEventNoSampling(options) {
10
+ this.callCategory = options.category;
11
+ this.callAction = options.action;
12
+ this.callLabel = options.label;
13
+ this.callEventConfiguration = options.eventConfiguration;
14
+ }
15
+ }
16
16
  //# sourceMappingURL=mock-analytics-handler.js.map
@@ -1,7 +1,7 @@
1
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
2
- export declare class MockCollectionNameCache implements CollectionNameCacheInterface {
3
- collectionNamesRequested: string[];
4
- preloadIdentifiersRequested: string[];
5
- collectionNameFor(identifier: string): Promise<string | null>;
6
- preloadIdentifiers(identifiers: string[]): Promise<void>;
7
- }
1
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
2
+ export declare class MockCollectionNameCache implements CollectionNameCacheInterface {
3
+ collectionNamesRequested: string[];
4
+ preloadIdentifiersRequested: string[];
5
+ collectionNameFor(identifier: string): Promise<string | null>;
6
+ preloadIdentifiers(identifiers: string[]): Promise<void>;
7
+ }
@@ -1,14 +1,14 @@
1
- export class MockCollectionNameCache {
2
- constructor() {
3
- this.collectionNamesRequested = [];
4
- this.preloadIdentifiersRequested = [];
5
- }
6
- async collectionNameFor(identifier) {
7
- this.collectionNamesRequested.push(identifier);
8
- return `${identifier}-name`;
9
- }
10
- async preloadIdentifiers(identifiers) {
11
- this.preloadIdentifiersRequested = identifiers;
12
- }
13
- }
1
+ export class MockCollectionNameCache {
2
+ constructor() {
3
+ this.collectionNamesRequested = [];
4
+ this.preloadIdentifiersRequested = [];
5
+ }
6
+ async collectionNameFor(identifier) {
7
+ this.collectionNamesRequested.push(identifier);
8
+ return `${identifier}-name`;
9
+ }
10
+ async preloadIdentifiers(identifiers) {
11
+ this.preloadIdentifiersRequested = identifiers;
12
+ }
13
+ }
14
14
  //# sourceMappingURL=mock-collection-name-cache.js.map
@@ -1,8 +1,8 @@
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 mockSuccessLoggedInResult: Result<SearchResponse, SearchServiceError>;
5
- export declare const mockSuccessNoPreviewResult: Result<SearchResponse, SearchServiceError>;
6
- export declare const mockSuccessLoggedInAndNoPreviewResult: Result<SearchResponse, SearchServiceError>;
7
- export declare const getMockSuccessSingleResultWithSort: (resultsSpy: Function) => Result<SearchResponse, SearchServiceError>;
8
- export declare const mockSuccessMultipleResults: 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 mockSuccessLoggedInResult: Result<SearchResponse, SearchServiceError>;
5
+ export declare const mockSuccessNoPreviewResult: Result<SearchResponse, SearchServiceError>;
6
+ export declare const mockSuccessLoggedInAndNoPreviewResult: Result<SearchResponse, SearchServiceError>;
7
+ export declare const getMockSuccessSingleResultWithSort: (resultsSpy: Function) => Result<SearchResponse, SearchServiceError>;
8
+ export declare const mockSuccessMultipleResults: Result<SearchResponse, SearchServiceError>;
@@ -1,199 +1,199 @@
1
- import { 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 mockSuccessLoggedInResult = {
34
- success: {
35
- request: {
36
- clientParameters: {
37
- user_query: 'loggedin',
38
- sort: [],
39
- },
40
- finalizedParameters: {
41
- user_query: 'loggedin',
42
- sort: [],
43
- },
44
- },
45
- rawResponse: {},
46
- response: {
47
- totalResults: 1,
48
- returnedCount: 1,
49
- results: [
50
- new ItemHit({
51
- fields: {
52
- identifier: 'foo',
53
- collection: ['foo', 'loggedin', 'bar'],
54
- title: 'foo',
55
- mediatype: 'data',
56
- },
57
- }),
58
- ],
59
- },
60
- responseHeader: {
61
- succeeded: true,
62
- query_time: 0,
63
- },
64
- },
65
- };
66
- export const mockSuccessNoPreviewResult = {
67
- success: {
68
- request: {
69
- clientParameters: {
70
- user_query: 'no-preview',
71
- sort: [],
72
- },
73
- finalizedParameters: {
74
- user_query: 'no-preview',
75
- sort: [],
76
- },
77
- },
78
- rawResponse: {},
79
- response: {
80
- totalResults: 1,
81
- returnedCount: 1,
82
- results: [
83
- new ItemHit({
84
- fields: {
85
- identifier: 'foo',
86
- collection: ['foo', 'no-preview', 'bar'],
87
- },
88
- }),
89
- ],
90
- },
91
- responseHeader: {
92
- succeeded: true,
93
- query_time: 0,
94
- },
95
- },
96
- };
97
- export const mockSuccessLoggedInAndNoPreviewResult = {
98
- success: {
99
- request: {
100
- clientParameters: {
101
- user_query: 'loggedin-no-preview',
102
- sort: [],
103
- },
104
- finalizedParameters: {
105
- user_query: 'loggedin-no-preview',
106
- sort: [],
107
- },
108
- },
109
- rawResponse: {},
110
- response: {
111
- totalResults: 1,
112
- returnedCount: 1,
113
- results: [
114
- new ItemHit({
115
- fields: {
116
- identifier: 'foo',
117
- collection: ['foo', 'loggedin', 'no-preview', 'bar'],
118
- },
119
- }),
120
- ],
121
- },
122
- responseHeader: {
123
- succeeded: true,
124
- query_time: 0,
125
- },
126
- },
127
- };
128
- export const getMockSuccessSingleResultWithSort = (resultsSpy) => ({
129
- success: {
130
- request: {
131
- clientParameters: {
132
- user_query: 'with-sort',
133
- sort: ['foo:asc'],
134
- },
135
- finalizedParameters: {
136
- user_query: 'with-sort',
137
- sort: ['foo:asc'],
138
- },
139
- },
140
- rawResponse: {},
141
- response: {
142
- totalResults: 1,
143
- returnedCount: 1,
144
- get results() {
145
- resultsSpy();
146
- return [
147
- new ItemHit({
148
- fields: {
149
- identifier: 'foo',
150
- collection: ['foo', 'bar'],
151
- },
152
- }),
153
- ];
154
- },
155
- },
156
- responseHeader: {
157
- succeeded: true,
158
- query_time: 0,
159
- },
160
- },
161
- });
162
- export const mockSuccessMultipleResults = {
163
- success: {
164
- request: {
165
- clientParameters: {
166
- user_query: 'collection:foo',
167
- sort: [],
168
- },
169
- finalizedParameters: {
170
- user_query: 'collection:foo',
171
- sort: [],
172
- },
173
- },
174
- rawResponse: {},
175
- response: {
176
- totalResults: 2,
177
- returnedCount: 2,
178
- results: [
179
- new ItemHit({
180
- fields: {
181
- identifier: 'foo',
182
- collection: ['foo', 'bar'],
183
- },
184
- }),
185
- new ItemHit({
186
- fields: {
187
- identifier: 'bar',
188
- collection: ['baz', 'boop'],
189
- },
190
- }),
191
- ],
192
- },
193
- responseHeader: {
194
- succeeded: true,
195
- query_time: 0,
196
- },
197
- },
198
- };
1
+ import { 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 mockSuccessLoggedInResult = {
34
+ success: {
35
+ request: {
36
+ clientParameters: {
37
+ user_query: 'loggedin',
38
+ sort: [],
39
+ },
40
+ finalizedParameters: {
41
+ user_query: 'loggedin',
42
+ sort: [],
43
+ },
44
+ },
45
+ rawResponse: {},
46
+ response: {
47
+ totalResults: 1,
48
+ returnedCount: 1,
49
+ results: [
50
+ new ItemHit({
51
+ fields: {
52
+ identifier: 'foo',
53
+ collection: ['foo', 'loggedin', 'bar'],
54
+ title: 'foo',
55
+ mediatype: 'data',
56
+ },
57
+ }),
58
+ ],
59
+ },
60
+ responseHeader: {
61
+ succeeded: true,
62
+ query_time: 0,
63
+ },
64
+ },
65
+ };
66
+ export const mockSuccessNoPreviewResult = {
67
+ success: {
68
+ request: {
69
+ clientParameters: {
70
+ user_query: 'no-preview',
71
+ sort: [],
72
+ },
73
+ finalizedParameters: {
74
+ user_query: 'no-preview',
75
+ sort: [],
76
+ },
77
+ },
78
+ rawResponse: {},
79
+ response: {
80
+ totalResults: 1,
81
+ returnedCount: 1,
82
+ results: [
83
+ new ItemHit({
84
+ fields: {
85
+ identifier: 'foo',
86
+ collection: ['foo', 'no-preview', 'bar'],
87
+ },
88
+ }),
89
+ ],
90
+ },
91
+ responseHeader: {
92
+ succeeded: true,
93
+ query_time: 0,
94
+ },
95
+ },
96
+ };
97
+ export const mockSuccessLoggedInAndNoPreviewResult = {
98
+ success: {
99
+ request: {
100
+ clientParameters: {
101
+ user_query: 'loggedin-no-preview',
102
+ sort: [],
103
+ },
104
+ finalizedParameters: {
105
+ user_query: 'loggedin-no-preview',
106
+ sort: [],
107
+ },
108
+ },
109
+ rawResponse: {},
110
+ response: {
111
+ totalResults: 1,
112
+ returnedCount: 1,
113
+ results: [
114
+ new ItemHit({
115
+ fields: {
116
+ identifier: 'foo',
117
+ collection: ['foo', 'loggedin', 'no-preview', 'bar'],
118
+ },
119
+ }),
120
+ ],
121
+ },
122
+ responseHeader: {
123
+ succeeded: true,
124
+ query_time: 0,
125
+ },
126
+ },
127
+ };
128
+ export const getMockSuccessSingleResultWithSort = (resultsSpy) => ({
129
+ success: {
130
+ request: {
131
+ clientParameters: {
132
+ user_query: 'with-sort',
133
+ sort: ['foo:asc'],
134
+ },
135
+ finalizedParameters: {
136
+ user_query: 'with-sort',
137
+ sort: ['foo:asc'],
138
+ },
139
+ },
140
+ rawResponse: {},
141
+ response: {
142
+ totalResults: 1,
143
+ returnedCount: 1,
144
+ get results() {
145
+ resultsSpy();
146
+ return [
147
+ new ItemHit({
148
+ fields: {
149
+ identifier: 'foo',
150
+ collection: ['foo', 'bar'],
151
+ },
152
+ }),
153
+ ];
154
+ },
155
+ },
156
+ responseHeader: {
157
+ succeeded: true,
158
+ query_time: 0,
159
+ },
160
+ },
161
+ });
162
+ export const mockSuccessMultipleResults = {
163
+ success: {
164
+ request: {
165
+ clientParameters: {
166
+ user_query: 'collection:foo',
167
+ sort: [],
168
+ },
169
+ finalizedParameters: {
170
+ user_query: 'collection:foo',
171
+ sort: [],
172
+ },
173
+ },
174
+ rawResponse: {},
175
+ response: {
176
+ totalResults: 2,
177
+ returnedCount: 2,
178
+ results: [
179
+ new ItemHit({
180
+ fields: {
181
+ identifier: 'foo',
182
+ collection: ['foo', 'bar'],
183
+ },
184
+ }),
185
+ new ItemHit({
186
+ fields: {
187
+ identifier: 'bar',
188
+ collection: ['baz', 'boop'],
189
+ },
190
+ }),
191
+ ],
192
+ },
193
+ responseHeader: {
194
+ succeeded: true,
195
+ query_time: 0,
196
+ },
197
+ },
198
+ };
199
199
  //# 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,33 +1,33 @@
1
- import { mockSuccessSingleResult, mockSuccessMultipleResults, getMockSuccessSingleResultWithSort, mockSuccessLoggedInResult, mockSuccessNoPreviewResult, mockSuccessLoggedInAndNoPreviewResult, } 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 'loggedin':
21
- return mockSuccessLoggedInResult;
22
- case 'no-preview':
23
- return mockSuccessNoPreviewResult;
24
- case 'loggedin-no-preview':
25
- return mockSuccessLoggedInAndNoPreviewResult;
26
- case 'with-sort':
27
- return getMockSuccessSingleResultWithSort(this.resultsSpy);
28
- default:
29
- return mockSuccessMultipleResults;
30
- }
31
- }
32
- }
1
+ import { mockSuccessSingleResult, mockSuccessMultipleResults, getMockSuccessSingleResultWithSort, mockSuccessLoggedInResult, mockSuccessNoPreviewResult, mockSuccessLoggedInAndNoPreviewResult, } 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 'loggedin':
21
+ return mockSuccessLoggedInResult;
22
+ case 'no-preview':
23
+ return mockSuccessNoPreviewResult;
24
+ case 'loggedin-no-preview':
25
+ return mockSuccessLoggedInAndNoPreviewResult;
26
+ case 'with-sort':
27
+ return getMockSuccessSingleResultWithSort(this.resultsSpy);
28
+ default:
29
+ return mockSuccessMultipleResults;
30
+ }
31
+ }
32
+ }
33
33
  //# sourceMappingURL=mock-search-service.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};