@internetarchive/collection-browser 2.17.1-alpha-webdev7667.0 → 2.18.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.
@@ -193,5 +193,26 @@ describe('Image block component', () => {
193
193
  const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
194
194
  expect(textOverlay).not.to.exist;
195
195
  });
196
+ it('should render no overlay if blurring is suppressed', async () => {
197
+ var _a;
198
+ const el = await fixture(html `
199
+ <image-block
200
+ .model=${{
201
+ loginRequired: true,
202
+ contentWarning: true,
203
+ identifier: 'goody',
204
+ }}
205
+ .baseImageUrl=${'https://archive.org'}
206
+ .isCompactTile=${false}
207
+ .isListTile=${false}
208
+ .viewSize=${'desktop'}
209
+ .loggedIn=${true}
210
+ suppressBlurring
211
+ >
212
+ </image-block>
213
+ `);
214
+ const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
215
+ expect(textOverlay).not.to.exist;
216
+ });
196
217
  });
197
218
  //# sourceMappingURL=image-block.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-block.test.js","sourceRoot":"","sources":["../../test/image-block.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { ImageBlock } from '../src/tiles/image-block';\nimport type { TextOverlay } from '../src/tiles/overlay/text-overlay';\n\nimport '../src/tiles/image-block';\n\ndescribe('Image block component', () => {\n it('should render component grid display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'grid'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.grid');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const textOverlay = el.shadowRoot?.querySelector('text-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(textOverlay).to.exist;\n });\n\n it('should render component list display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render component compact display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${true}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list-compact.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render a login-required overlay if model requires it and not logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should render no overlay if logged in and model only requires login', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n\n it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should show content-warning overlay if both types required and logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n});\n"]}
1
+ {"version":3,"file":"image-block.test.js","sourceRoot":"","sources":["../../test/image-block.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { ImageBlock } from '../src/tiles/image-block';\nimport type { TextOverlay } from '../src/tiles/overlay/text-overlay';\n\nimport '../src/tiles/image-block';\n\ndescribe('Image block component', () => {\n it('should render component grid display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'grid'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.grid');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const textOverlay = el.shadowRoot?.querySelector('text-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(textOverlay).to.exist;\n });\n\n it('should render component list display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render component compact display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${true}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list-compact.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render a login-required overlay if model requires it and not logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should render no overlay if logged in and model only requires login', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n\n it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should show content-warning overlay if both types required and logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n\n it('should render no overlay if blurring is suppressed', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n suppressBlurring\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n});\n"]}
@@ -119,5 +119,78 @@ describe('ItemImage component', () => {
119
119
  expect(img).to.exist;
120
120
  expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
121
121
  });
122
+ it('should blur image if login required flag set', async () => {
123
+ var _a, _b;
124
+ const model = new TileModel({ identifier: 'foo' });
125
+ model.loginRequired = true;
126
+ const el = await fixture(html `
127
+ <item-image
128
+ .isListTile=${false}
129
+ .isCompactTile=${false}
130
+ .model=${model}
131
+ .baseImageUrl=${baseImageUrl}
132
+ >
133
+ </item-image>
134
+ `);
135
+ const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
136
+ expect(dropShadow).to.exist;
137
+ const imgClasses = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.classList;
138
+ expect(imgClasses === null || imgClasses === void 0 ? void 0 : imgClasses.contains('blur')).to.be.true;
139
+ });
140
+ it('should blur image if content warning flag set', async () => {
141
+ var _a, _b;
142
+ const model = new TileModel({ identifier: 'foo' });
143
+ model.contentWarning = true;
144
+ const el = await fixture(html `
145
+ <item-image
146
+ .isListTile=${false}
147
+ .isCompactTile=${false}
148
+ .model=${model}
149
+ .baseImageUrl=${baseImageUrl}
150
+ >
151
+ </item-image>
152
+ `);
153
+ const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
154
+ expect(dropShadow).to.exist;
155
+ const imgClasses = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.classList;
156
+ expect(imgClasses === null || imgClasses === void 0 ? void 0 : imgClasses.contains('blur')).to.be.true;
157
+ });
158
+ it('should not blur image if no login required nor content warning', async () => {
159
+ var _a, _b;
160
+ const model = new TileModel({ identifier: 'foo' });
161
+ const el = await fixture(html `
162
+ <item-image
163
+ .isListTile=${false}
164
+ .isCompactTile=${false}
165
+ .model=${model}
166
+ .baseImageUrl=${baseImageUrl}
167
+ >
168
+ </item-image>
169
+ `);
170
+ const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
171
+ expect(dropShadow).to.exist;
172
+ const imgClasses = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.classList;
173
+ expect(imgClasses === null || imgClasses === void 0 ? void 0 : imgClasses.contains('blur')).to.be.false;
174
+ });
175
+ it('should not blur image if blurring is suppressed, regardless of content flags', async () => {
176
+ var _a, _b;
177
+ const model = new TileModel({ identifier: 'foo' });
178
+ model.loginRequired = true;
179
+ model.contentWarning = true;
180
+ const el = await fixture(html `
181
+ <item-image
182
+ .isListTile=${false}
183
+ .isCompactTile=${false}
184
+ .model=${model}
185
+ .baseImageUrl=${baseImageUrl}
186
+ suppressBlurring
187
+ >
188
+ </item-image>
189
+ `);
190
+ const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
191
+ expect(dropShadow).to.exist;
192
+ const imgClasses = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.classList;
193
+ expect(imgClasses === null || imgClasses === void 0 ? void 0 : imgClasses.contains('blur')).to.be.false;
194
+ });
122
195
  });
123
196
  //# sourceMappingURL=item-image.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-image.test.js","sourceRoot":"","sources":["../../test/item-image.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\n\nimport { TileModel } from '../src/models';\nimport type { ItemImage } from '../src/tiles/item-image';\n\nimport '../src/tiles/item-image';\n\nconst baseImageUrl = 'https://archive.org';\nconst testBookModel: TileModel = new TileModel({});\ntestBookModel.checked = false;\ntestBookModel.collections = [];\ntestBookModel.commentCount = 0;\ntestBookModel.creators = [];\ntestBookModel.favCount = 0;\ntestBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';\ntestBookModel.itemCount = 0;\ntestBookModel.mediatype = 'texts';\ntestBookModel.subjects = [];\ntestBookModel.title = 'Sample Waveform';\ntestBookModel.viewCount = 0;\ntestBookModel.loginRequired = false;\ntestBookModel.contentWarning = false;\ntestBookModel.collectionFilesCount = 0;\ntestBookModel.collectionSize = 0;\n\nconst testAudioModel: TileModel = new TileModel({});\ntestAudioModel.checked = false;\ntestAudioModel.collections = [];\ntestAudioModel.commentCount = 0;\ntestAudioModel.creators = [];\ntestAudioModel.favCount = 0;\ntestAudioModel.identifier = 'dwd2015-01-24';\ntestAudioModel.itemCount = 0;\ntestAudioModel.mediatype = 'audio';\ntestAudioModel.subjects = [];\ntestAudioModel.title = 'Sample Waveform';\ntestAudioModel.viewCount = 0;\ntestAudioModel.loginRequired = false;\ntestAudioModel.contentWarning = false;\ntestAudioModel.collectionFilesCount = 0;\ntestAudioModel.collectionSize = 0;\n\ndescribe('ItemImage component', () => {\n it('should render initial component', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const imgClassName = dropShadow?.querySelector('img')?.className;\n\n expect(dropShadow).to.exist;\n expect(imgClassName).to.eql(' contain ');\n });\n\n it('should render component if mediatype is waveform', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testAudioModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const image = dropShadow?.querySelector('img');\n expect(dropShadow).to.exist;\n expect(image).to.exist;\n\n // simulate image onLoad event check if image className is waveform\n setTimeout(() => {\n const imgClassName = image?.className;\n expect(imgClassName).to.eql(' waveform ');\n }, 1000);\n });\n\n it('should not fetch image with undefined base url', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if base url is undefined\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined model', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if model is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined identifier', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${{}}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if identifier is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n});\n"]}
1
+ {"version":3,"file":"item-image.test.js","sourceRoot":"","sources":["../../test/item-image.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\n\nimport { TileModel } from '../src/models';\nimport type { ItemImage } from '../src/tiles/item-image';\n\nimport '../src/tiles/item-image';\nimport { MediaType } from '@internetarchive/field-parsers';\n\nconst baseImageUrl = 'https://archive.org';\nconst testBookModel: TileModel = new TileModel({});\ntestBookModel.checked = false;\ntestBookModel.collections = [];\ntestBookModel.commentCount = 0;\ntestBookModel.creators = [];\ntestBookModel.favCount = 0;\ntestBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';\ntestBookModel.itemCount = 0;\ntestBookModel.mediatype = 'texts';\ntestBookModel.subjects = [];\ntestBookModel.title = 'Sample Waveform';\ntestBookModel.viewCount = 0;\ntestBookModel.loginRequired = false;\ntestBookModel.contentWarning = false;\ntestBookModel.collectionFilesCount = 0;\ntestBookModel.collectionSize = 0;\n\nconst testAudioModel: TileModel = new TileModel({});\ntestAudioModel.checked = false;\ntestAudioModel.collections = [];\ntestAudioModel.commentCount = 0;\ntestAudioModel.creators = [];\ntestAudioModel.favCount = 0;\ntestAudioModel.identifier = 'dwd2015-01-24';\ntestAudioModel.itemCount = 0;\ntestAudioModel.mediatype = 'audio';\ntestAudioModel.subjects = [];\ntestAudioModel.title = 'Sample Waveform';\ntestAudioModel.viewCount = 0;\ntestAudioModel.loginRequired = false;\ntestAudioModel.contentWarning = false;\ntestAudioModel.collectionFilesCount = 0;\ntestAudioModel.collectionSize = 0;\n\ndescribe('ItemImage component', () => {\n it('should render initial component', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const imgClassName = dropShadow?.querySelector('img')?.className;\n\n expect(dropShadow).to.exist;\n expect(imgClassName).to.eql(' contain ');\n });\n\n it('should render component if mediatype is waveform', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testAudioModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const image = dropShadow?.querySelector('img');\n expect(dropShadow).to.exist;\n expect(image).to.exist;\n\n // simulate image onLoad event check if image className is waveform\n setTimeout(() => {\n const imgClassName = image?.className;\n expect(imgClassName).to.eql(' waveform ');\n }, 1000);\n });\n\n it('should not fetch image with undefined base url', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if base url is undefined\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined model', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if model is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined identifier', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${{}}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if identifier is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should blur image if login required flag set', async () => {\n const model = new TileModel({ identifier: 'foo' });\n model.loginRequired = true;\n\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${model}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n expect(dropShadow).to.exist;\n\n const imgClasses = dropShadow?.querySelector('img')?.classList;\n expect(imgClasses?.contains('blur')).to.be.true;\n });\n\n it('should blur image if content warning flag set', async () => {\n const model = new TileModel({ identifier: 'foo' });\n model.contentWarning = true;\n\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${model}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n expect(dropShadow).to.exist;\n\n const imgClasses = dropShadow?.querySelector('img')?.classList;\n expect(imgClasses?.contains('blur')).to.be.true;\n });\n\n it('should not blur image if no login required nor content warning', async () => {\n const model = new TileModel({ identifier: 'foo' });\n\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${model}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n expect(dropShadow).to.exist;\n\n const imgClasses = dropShadow?.querySelector('img')?.classList;\n expect(imgClasses?.contains('blur')).to.be.false;\n });\n\n it('should not blur image if blurring is suppressed, regardless of content flags', async () => {\n const model = new TileModel({ identifier: 'foo' });\n model.loginRequired = true;\n model.contentWarning = true;\n\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${model}\n .baseImageUrl=${baseImageUrl}\n suppressBlurring\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n expect(dropShadow).to.exist;\n\n const imgClasses = dropShadow?.querySelector('img')?.classList;\n expect(imgClasses?.contains('blur')).to.be.false;\n });\n});\n"]}
@@ -5,6 +5,8 @@ export declare const getMockSuccessManyFields: () => Result<SearchResponse, Sear
5
5
  export declare const getMockSuccessTvFields: () => Result<SearchResponse, SearchServiceError>;
6
6
  export declare const getMockSuccessWithYearHistogramAggs: () => Result<SearchResponse, SearchServiceError>;
7
7
  export declare const getMockSuccessWithDateHistogramAggs: () => Result<SearchResponse, SearchServiceError>;
8
+ export declare const getMockSuccessArchiveOrgUserResult: () => Result<SearchResponse, SearchServiceError>;
9
+ export declare const getMockSuccessArchiveOrgUserNoBlurResult: () => Result<SearchResponse, SearchServiceError>;
8
10
  export declare const getMockSuccessLoggedInResult: () => Result<SearchResponse, SearchServiceError>;
9
11
  export declare const getMockSuccessNoPreviewResult: () => Result<SearchResponse, SearchServiceError>;
10
12
  export declare const getMockSuccessLoggedInAndNoPreviewResult: () => Result<SearchResponse, SearchServiceError>;
@@ -262,6 +262,102 @@ export const getMockSuccessWithDateHistogramAggs = () => ({
262
262
  },
263
263
  },
264
264
  });
265
+ export const getMockSuccessArchiveOrgUserResult = () => ({
266
+ success: {
267
+ request: {
268
+ kind: 'hits',
269
+ clientParameters: {
270
+ user_query: 'archive-org-user-loggedin',
271
+ sort: [],
272
+ },
273
+ backendRequests: {
274
+ primary: {
275
+ kind: 'hits',
276
+ finalized_parameters: {
277
+ user_query: 'archive-org-user-loggedin',
278
+ sort: [],
279
+ },
280
+ },
281
+ },
282
+ },
283
+ rawResponse: {},
284
+ sessionContext: {
285
+ is_archive_user: true,
286
+ pps_relevant_user_preferences: {
287
+ display__blur_moderated_content: 'on',
288
+ },
289
+ },
290
+ response: {
291
+ totalResults: 2,
292
+ returnedCount: 2,
293
+ results: [
294
+ new ItemHit({
295
+ fields: {
296
+ identifier: 'foo',
297
+ collection: ['foo', 'loggedin', 'bar'],
298
+ __href__: '/foo',
299
+ },
300
+ }),
301
+ new ItemHit({
302
+ fields: {
303
+ identifier: 'bar',
304
+ collection: ['baz', 'boop'],
305
+ __href__: '/bar',
306
+ },
307
+ }),
308
+ ],
309
+ },
310
+ responseHeader: {
311
+ succeeded: true,
312
+ query_time: 0,
313
+ },
314
+ },
315
+ });
316
+ export const getMockSuccessArchiveOrgUserNoBlurResult = () => ({
317
+ success: {
318
+ request: {
319
+ kind: 'hits',
320
+ clientParameters: {
321
+ user_query: 'archive-org-user-loggedin-noblur',
322
+ sort: [],
323
+ },
324
+ backendRequests: {
325
+ primary: {
326
+ kind: 'hits',
327
+ finalized_parameters: {
328
+ user_query: 'archive-org-user-loggedin-noblur',
329
+ sort: [],
330
+ },
331
+ },
332
+ },
333
+ },
334
+ rawResponse: {},
335
+ sessionContext: {
336
+ is_archive_user: true,
337
+ pps_relevant_user_preferences: {
338
+ display__blur_moderated_content: 'off',
339
+ },
340
+ },
341
+ response: {
342
+ totalResults: 1,
343
+ returnedCount: 1,
344
+ results: [
345
+ new ItemHit({
346
+ fields: {
347
+ identifier: 'foo',
348
+ collection: ['loggedin'],
349
+ title: 'foo',
350
+ mediatype: 'texts',
351
+ },
352
+ }),
353
+ ],
354
+ },
355
+ responseHeader: {
356
+ succeeded: true,
357
+ query_time: 0,
358
+ },
359
+ },
360
+ });
265
361
  export const getMockSuccessLoggedInResult = () => ({
266
362
  success: {
267
363
  request: {
@@ -1 +1 @@
1
- {"version":3,"file":"mock-search-responses.js","sourceRoot":"","sources":["../../../test/mocks/mock-search-responses.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,OAAO,EAEP,kBAAkB,EAClB,OAAO,GACR,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,2EAA2E,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,+DAA+D,CAAC;AAEvG,MAAM,CAAC,MAAM,0BAA0B,GAGnC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,gBAAgB;gBAC5B,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,gBAAgB;wBAC5B,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBAC3B;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAGjC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,aAAa;wBACzB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,GAAG;wBACf,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC;wBACpD,sBAAsB,EAAE,GAAG;wBAC3B,eAAe,EAAE,GAAG;wBACpB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;wBACxB,IAAI,EAAE,sBAAsB;wBAC5B,SAAS,EAAE,sBAAsB;wBACjC,UAAU,EAAE,sBAAsB;wBAClC,UAAU,EAAE,sBAAsB;wBAClC,WAAW,EAAE,aAAa;wBAC1B,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC;wBACR,UAAU,EAAE,EAAE;wBACd,SAAS,EAAE,OAAO;wBAClB,aAAa,EAAE,EAAE;wBACjB,WAAW,EAAE,EAAE;wBACf,SAAS,EAAE,EAAE;wBACb,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;wBACxB,KAAK,EAAE,SAAS;wBAChB,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,EAAE;wBACR,QAAQ,EAAE,iCAAiC;wBAC3C,OAAO,EAAE,oBAAoB;qBAC9B;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAG/B,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,WAAW;wBACvB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,SAAS,CAAC;oBACZ,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,CAAC,QAAQ,CAAC;wBACjB,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;wBACpC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;wBACxB,IAAI,EAAE,sBAAsB;wBAC5B,SAAS,EAAE,sBAAsB;wBACjC,UAAU,EAAE,sBAAsB;wBAClC,UAAU,EAAE,sBAAsB;wBAClC,WAAW,EAAE,aAAa;wBAC1B,SAAS,EAAE,GAAG;wBACd,SAAS,EAAE,CAAC,iBAAiB,CAAC;wBAC9B,WAAW,EAAE,EAAE;wBACf,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;wBACjC,SAAS,EAAE,MAAM;wBACjB,QAAQ,EAAE,KAAK;wBACf,SAAS,EAAE,QAAQ;wBACnB,aAAa,EAAE,EAAE;wBACjB,MAAM,EAAE,EAAE;wBACV,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;wBACxB,KAAK,EAAE,SAAS;wBAChB,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,iCAAiC;wBAC3C,OAAO,EAAE,oBAAoB;qBAC9B;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAG5C,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,OAAO;gBACnB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,OAAO;wBACnB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE;gBACZ,OAAO,EAAE,IAAI,WAAW,CAAC;oBACvB,OAAO,EAAE;wBACP;4BACE,GAAG,EAAE,KAAK;4BACV,SAAS,EAAE,CAAC;yBACb;qBACF;iBACF,CAAC;gBACF,cAAc,EAAE,IAAI,WAAW,CAAC;oBAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC3B,gBAAgB,EAAE,IAAI;oBACtB,eAAe,EAAE,IAAI;oBACrB,QAAQ,EAAE,EAAE;oBACZ,cAAc,EAAE,CAAC;iBAClB,CAAC;aACH;YACD,OAAO,EAAE,EAAE;SACZ;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAG5C,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,QAAQ;wBACpB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE;gBACZ,OAAO,EAAE,IAAI,WAAW,CAAC;oBACvB,OAAO,EAAE;wBACP;4BACE,GAAG,EAAE,KAAK;4BACV,SAAS,EAAE,CAAC;yBACb;qBACF;iBACF,CAAC;gBACF,cAAc,EAAE,IAAI,WAAW,CAAC;oBAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC3B,iBAAiB,EAAE,IAAI;oBACvB,kBAAkB,EAAE,CAAC;oBACrB,gBAAgB,EAAE,IAAI;oBACtB,iBAAiB,EAAE,CAAC;oBACpB,kBAAkB,EAAE,CAAC;oBACrB,cAAc,EAAE,CAAC;iBAClB,CAAC;aACH;YACD,OAAO,EAAE,EAAE;SACZ;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAGrC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,UAAU;wBACtB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;wBACtC,KAAK,EAAE,KAAK;wBACZ,SAAS,EAAE,MAAM;qBAClB;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAGtC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,YAAY;wBACxB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;qBACzC;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wCAAwC,GAGjD,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,qBAAqB;gBACjC,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,qBAAqB;wBACjC,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC;qBACrD;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAGvC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;aACvB;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,aAAa;wBACzB,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;qBACvB;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE;gBACZ,UAAU,EAAE,IAAI,WAAW,CAAC;oBAC1B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;iBACtC,CAAC;aACH;YACD,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;qBAClB;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAGzC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,eAAe;gBAC3B,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;aACzB;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,eAAe;wBAC3B,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;qBACzB;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE;gBACZ,YAAY,EAAE,IAAI,WAAW,CAAC;oBAC5B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;iBACtC,CAAC;aACH;YACD,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;qBAClB;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAG3C,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,gBAAgB;gBAC5B,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,gBAAgB;wBAC5B,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBAC3B;iBACF,CAAC;gBACF,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;qBAC5B;iBACF,CAAC;aACH;YACD,gBAAgB,EAAE;gBAChB,GAAG,EAAE,gBAAgB;gBACrB,GAAG,EAAE,gBAAgB;gBACrB,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,iBAAiB;aACxB;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAGzC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,gBAAgB;gBAC5B,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,gBAAgB;wBAC5B,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,SAAS,CAAC;oBACZ,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACxB;iBACF,CAAC;aACH;YACD,gBAAgB,EAAE;gBAChB,GAAG,EAAE,aAAa;gBAClB,GAAG,EAAE,aAAa;aACnB;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wCAAwC,GAGjD,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,gBAAgB;gBAC5B,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,gBAAgB;wBAC5B,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,EAAE;YACX,YAAY,EAAE;gBACZ,UAAU,EAAE,IAAI,WAAW,CAAC;oBAC1B,OAAO,EAAE;wBACP;4BACE,GAAG,EAAE,KAAK;4BACV,SAAS,EAAE,EAAE;yBACd;wBACD;4BACE,GAAG,EAAE,KAAK;4BACV,SAAS,EAAE,EAAE;yBACd;qBACF;iBACF,CAAC;aACH;YACD,gBAAgB,EAAE;gBAChB,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;aACX;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAEG,CAAC,UAAoB,EAAE,EAAE,CAAC,CAAC;IAC3E,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,CAAC,SAAS,CAAC;aAClB;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,WAAW;wBACvB,IAAI,EAAE,CAAC,SAAS,CAAC;qBAClB;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,IAAI,OAAO;gBACT,UAAU,EAAE,CAAC;gBACb,OAAO;oBACL,IAAI,OAAO,CAAC;wBACV,MAAM,EAAE;4BACN,UAAU,EAAE,KAAK;4BACjB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBAC3B;qBACF,CAAC;iBACH,CAAC;YACJ,CAAC;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAGtC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,gBAAgB;gBAC5B,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,gBAAgB;wBAC5B,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;wBAC1B,QAAQ,EAAE,MAAM;qBACjB;iBACF,CAAC;gBACF,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;wBAC3B,QAAQ,EAAE,MAAM;qBACjB;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAGhC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,YAAY;wBACxB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,EAAE;SACZ;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAG3C,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,wBAAwB;gBACpC,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,wBAAwB;wBACpC,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;wBAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;qBAChC;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAGtC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,mBAAmB;gBAC/B,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,mBAAmB;wBAC/B,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,KAAK;wBACZ,QAAQ,EAAE,yCAAyC;qBACpD;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAGtC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,cAAc;gBAC1B,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,cAAc;wBAC1B,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;qBACpC;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,KAAK;qBACb;iBACF,CAAC;aACH;YACD,mBAAmB,EAAE;gBACnB,eAAe,EAAE;oBACf,SAAS,EAAE,aAAa;iBACzB;aACF;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAG7C,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,sBAAsB;gBAClC,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,sBAAsB;wBAClC,IAAI,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;qBACvC;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,KAAK;qBACb;iBACF,CAAC;aACH;YACD,mBAAmB,EAAE;gBACnB,eAAe,EAAE;oBACf,SAAS,EAAE,YAAY;iBACxB;aACF;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAGzC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,UAAU;wBACtB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,KAAK;qBACb;iBACF,CAAC;aACH;YACD,mBAAmB,EAAE;gBACnB,eAAe,EAAE;oBACf,UAAU,EAAE,SAAS;iBACtB;aACF;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAG5C,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,oBAAoB;gBAChC,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,oBAAoB;wBAChC,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,KAAK;qBACb;iBACF,CAAC;aACH;YACD,mBAAmB,EAAE;gBACnB,eAAe,EAAE;oBACf,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;iBAC3B;aACF;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAGtC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,eAAe;gBAC3B,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,eAAe;wBAC3B,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,OAAO,CAAC;oBACV,MAAM,EAAE;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,KAAK;qBACb;iBACF,CAAC;aACH;YACD,mBAAmB,EAAE;gBACnB,eAAe,EAAE;oBACf,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,CAAC,WAAW,CAAC;iBAC1B;aACF;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAGzC,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE;gBAChB,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,oBAAoB,EAAE;wBACpB,UAAU,EAAE,aAAa;wBACzB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE;gBACP,IAAI,aAAa,CAAC;oBAChB,MAAM,EAAE;wBACN,GAAG,EAAE,qBAAqB;wBAC1B,aAAa,EAAE,CAAC,sBAAsB,CAAC;wBACvC,QAAQ,EACN,sEAAsE;qBACzE;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAG3C,GAAG,EAAE,CAAC,CAAC;IACT,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,gBAAgB,EAAE;gBAChB,UAAU,EAAE,aAAa;gBACzB,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,cAAc;oBACpB,oBAAoB,EAAE;wBACpB,UAAU,EAAE,aAAa;wBACzB,IAAI,EAAE,EAAE;qBACT;iBACF;aACF;SACF;QACD,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE;YACR,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,EAAE;YACX,YAAY,EAAE;gBACZ,IAAI,EAAE,IAAI,WAAW,CAAC;oBACpB,OAAO,EAAE;wBACP,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;qBAC9B;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAG3B,GAAG,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,YAAY,EAAE,KAAK,EAAE;QACxE,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAG/B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC","sourcesContent":["// eslint-disable @typescript-eslint/no-unsafe-function-type\nimport type { Result } from '@internetarchive/result-type';\nimport {\n Aggregation,\n ItemHit,\n SearchResponse,\n SearchServiceError,\n TextHit,\n} from '@internetarchive/search-service';\nimport { TvClipHit } from '@internetarchive/search-service/dist/src/models/hit-types/tv-clip-hit';\nimport { WebArchiveHit } from '@internetarchive/search-service/dist/src/models/hit-types/web-archive-hit';\nimport { SearchServiceErrorType } from '@internetarchive/search-service/dist/src/search-service-error';\n\nexport const getMockSuccessSingleResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessManyFields: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'many-fields',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'many-fields',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n avg_rating: 3.5,\n collection: ['foo', 'bar', 'no-preview', 'loggedin'],\n collection_files_count: 123,\n collection_size: 234,\n creator: ['baz', 'boop'],\n date: '2010-01-03T01:23:45Z',\n addeddate: '2010-01-01T01:23:45Z',\n publicdate: '2010-01-02T01:23:45Z',\n reviewdate: '2010-01-04T01:23:45Z',\n description: 'foo bar baz',\n downloads: 246,\n issue: 1,\n item_count: 20,\n mediatype: 'texts',\n num_favorites: 12,\n num_reviews: 23,\n num_clips: 34,\n source: 'foo bar',\n subject: ['baz', 'quux'],\n title: 'Foo Bar',\n volume: 2,\n week: 50,\n __href__: 'https://archive.org/details/foo',\n __img__: '//services/img/foo',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessTvFields: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'tv-fields',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'tv-fields',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new TvClipHit({\n fields: {\n identifier: 'foo',\n ad_id: ['foo-ad'],\n clip: true,\n collection: ['foo', 'bar', 'tvnews'],\n creator: ['baz', 'boop'],\n date: '2010-01-03T01:23:45Z',\n addeddate: '2010-01-01T01:23:45Z',\n publicdate: '2010-01-02T01:23:45Z',\n reviewdate: '2010-01-04T01:23:45Z',\n description: 'foo bar baz',\n downloads: 246,\n factcheck: ['https://foo.bar'],\n files_count: 75,\n indexflag: ['index', 'nonoindex'],\n item_size: 123456,\n language: 'eng',\n mediatype: 'movies',\n num_favorites: 12,\n nclips: 34,\n source: 'foo bar',\n start: '1234',\n subject: ['baz', 'quux'],\n title: 'Foo Bar',\n week: 50,\n year: 2010,\n __href__: 'https://archive.org/details/foo',\n __img__: '//services/img/foo',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithYearHistogramAggs: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'years',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'years',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n aggregations: {\n subject: new Aggregation({\n buckets: [\n {\n key: 'foo',\n doc_count: 3,\n },\n ],\n }),\n year_histogram: new Aggregation({\n buckets: [1, 2, 3, 3, 2, 1],\n first_bucket_key: 1950,\n last_bucket_key: 2000,\n interval: 10,\n number_buckets: 6,\n }),\n },\n results: [],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithDateHistogramAggs: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'months',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'months',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n aggregations: {\n subject: new Aggregation({\n buckets: [\n {\n key: 'foo',\n doc_count: 3,\n },\n ],\n }),\n date_histogram: new Aggregation({\n buckets: [1, 2, 3, 3, 2, 1],\n first_bucket_year: 2000,\n first_bucket_month: 1,\n last_bucket_year: 2002,\n last_bucket_month: 7,\n interval_in_months: 6,\n number_buckets: 6,\n }),\n },\n results: [],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessLoggedInResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'loggedin',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'loggedin',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'loggedin', 'bar'],\n title: 'foo',\n mediatype: 'data',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessNoPreviewResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'no-preview',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'no-preview',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'no-preview', 'bar'],\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessLoggedInAndNoPreviewResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'loggedin-no-preview',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'loggedin-no-preview',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'loggedin', 'no-preview', 'bar'],\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessFirstTitleResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'first-title',\n sort: ['title', 'asc'],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'first-title',\n sort: ['title', 'asc'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n aggregations: {\n firstTitle: new Aggregation({\n buckets: [{ key: 'X', doc_count: 1 }],\n }),\n },\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessFirstCreatorResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'first-creator',\n sort: ['creator', 'asc'],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'first-creator',\n sort: ['creator', 'asc'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n aggregations: {\n firstCreator: new Aggregation({\n buckets: [{ key: 'X', doc_count: 1 }],\n }),\n },\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithCollectionTitles: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 2,\n returnedCount: 2,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n },\n }),\n new ItemHit({\n fields: {\n identifier: 'bar',\n collection: ['baz', 'boop'],\n },\n }),\n ],\n collectionTitles: {\n foo: 'Foo Collection',\n bar: 'Bar Collection',\n baz: 'Baz Collection',\n boop: 'Boop Collection',\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithChannelAliases: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new TvClipHit({\n fields: {\n identifier: 'foo',\n creator: ['foo', 'bar'],\n },\n }),\n ],\n tvChannelAliases: {\n foo: 'Foo Network',\n bar: 'Bar Network',\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithCollectionAggregations: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 0,\n returnedCount: 0,\n results: [],\n aggregations: {\n collection: new Aggregation({\n buckets: [\n {\n key: 'foo',\n doc_count: 10,\n },\n {\n key: 'bar',\n doc_count: 10,\n },\n ],\n }),\n },\n collectionTitles: {\n foo: 'Foo',\n bar: 'Bar',\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessSingleResultWithSort: (\n resultsSpy: Function,\n) => Result<SearchResponse, SearchServiceError> = (resultsSpy: Function) => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'with-sort',\n sort: ['foo:asc'],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'with-sort',\n sort: ['foo:asc'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n get results() {\n resultsSpy();\n return [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n },\n }),\n ];\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessMultipleResults: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 2,\n returnedCount: 2,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n __href__: '/foo',\n },\n }),\n new ItemHit({\n fields: {\n identifier: 'bar',\n collection: ['baz', 'boop'],\n __href__: '/bar',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessNoResults: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'no-results',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'no-results',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 0,\n returnedCount: 0,\n results: [],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessMultiLineDescription: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'multi-line-description',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'multi-line-description',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n description: ['line1', 'line2'],\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessExtraQuotedHref: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'extra-quoted-href',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'extra-quoted-href',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new TextHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n __href__: '/details/foo?q=%22%22quoted+query%22%22',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithDefaultSort: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'default-sort',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'default-sort',\n sort: ['titleSorter', 'identifier'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n 'sort-by': 'titleSorter',\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithConciseDefaultSort: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'default-sort-concise',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'default-sort-concise',\n sort: ['addeddate:desc', 'identifier'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n 'sort-by': '-addeddate',\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithDefaultFavSort: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'fav-sort',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'fav-sort',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n identifier: 'fav-foo',\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithParentCollections: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'parent-collections',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'parent-collections',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n collection: ['foo', 'bar'],\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessForTvCollection: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'tv-collection',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'tv-collection',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n identifier: 'TV-FOO',\n collection: ['tvarchive'],\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithWebArchiveHits: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'web-archive',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'web-archive',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new WebArchiveHit({\n fields: {\n url: 'https://example.com',\n capture_dates: ['2010-01-02T03:04:05Z'],\n __href__:\n 'https://web.archive.org/web/20100102030405/https%3A%2F%2Fexample.com',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithManyAggregations: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'aggregations',\n clientParameters: {\n user_query: 'more-facets',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'aggregations',\n finalized_parameters: {\n user_query: 'more-facets',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 0,\n returnedCount: 0,\n results: [],\n aggregations: {\n year: new Aggregation({\n buckets: [\n { key: '1980', doc_count: 5 },\n { key: '1981', doc_count: 6 },\n { key: '1982', doc_count: 7 },\n { key: '1983', doc_count: 8 },\n { key: '1984', doc_count: 5 },\n { key: '1985', doc_count: 6 },\n { key: '1986', doc_count: 7 },\n { key: '1987', doc_count: 8 },\n { key: '1988', doc_count: 5 },\n { key: '1989', doc_count: 6 },\n { key: '1990', doc_count: 7 },\n { key: '1991', doc_count: 8 },\n { key: '1992', doc_count: 5 },\n { key: '1993', doc_count: 6 },\n { key: '1994', doc_count: 7 },\n { key: '1995', doc_count: 8 },\n { key: '1996', doc_count: 5 },\n { key: '1997', doc_count: 6 },\n { key: '1998', doc_count: 7 },\n { key: '1999', doc_count: 8 },\n { key: '2000', doc_count: 5 },\n { key: '2001', doc_count: 6 },\n { key: '2002', doc_count: 7 },\n { key: '2003', doc_count: 8 },\n { key: '2004', doc_count: 5 },\n { key: '2005', doc_count: 6 },\n { key: '2006', doc_count: 7 },\n { key: '2007', doc_count: 8 },\n { key: '2008', doc_count: 5 },\n { key: '2009', doc_count: 6 },\n { key: '2010', doc_count: 7 },\n { key: '2011', doc_count: 8 },\n { key: '2012', doc_count: 5 },\n { key: '2013', doc_count: 6 },\n { key: '2014', doc_count: 7 },\n { key: '2015', doc_count: 8 },\n { key: '2016', doc_count: 5 },\n { key: '2017', doc_count: 6 },\n { key: '2018', doc_count: 7 },\n { key: '2019', doc_count: 8 },\n { key: '2020', doc_count: 5 },\n { key: '2021', doc_count: 6 },\n { key: '2022', doc_count: 7 },\n { key: '2023', doc_count: 8 },\n { key: '2024', doc_count: 5 },\n ],\n }),\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockErrorResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n error: new SearchServiceError(SearchServiceErrorType.networkError, 'foo', {\n message: 'bar',\n }),\n});\n\nexport const getMockMalformedResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({});\n"]}
1
+ {"version":3,"file":"mock-search-responses.js","sourceRoot":"","sources":["../../../test/mocks/mock-search-responses.ts"],"names":[],"mappings":"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EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;wBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;qBAC9B;iBACF,CAAC;aACH;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACd;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAG3B,GAAG,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,YAAY,EAAE,KAAK,EAAE;QACxE,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAG/B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC","sourcesContent":["// eslint-disable @typescript-eslint/no-unsafe-function-type\nimport type { Result } from '@internetarchive/result-type';\nimport {\n Aggregation,\n ItemHit,\n SearchResponse,\n SearchServiceError,\n TextHit,\n} from '@internetarchive/search-service';\nimport { TvClipHit } from '@internetarchive/search-service/dist/src/models/hit-types/tv-clip-hit';\nimport { WebArchiveHit } from '@internetarchive/search-service/dist/src/models/hit-types/web-archive-hit';\nimport { SearchServiceErrorType } from '@internetarchive/search-service/dist/src/search-service-error';\n\nexport const getMockSuccessSingleResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessManyFields: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'many-fields',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'many-fields',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n avg_rating: 3.5,\n collection: ['foo', 'bar', 'no-preview', 'loggedin'],\n collection_files_count: 123,\n collection_size: 234,\n creator: ['baz', 'boop'],\n date: '2010-01-03T01:23:45Z',\n addeddate: '2010-01-01T01:23:45Z',\n publicdate: '2010-01-02T01:23:45Z',\n reviewdate: '2010-01-04T01:23:45Z',\n description: 'foo bar baz',\n downloads: 246,\n issue: 1,\n item_count: 20,\n mediatype: 'texts',\n num_favorites: 12,\n num_reviews: 23,\n num_clips: 34,\n source: 'foo bar',\n subject: ['baz', 'quux'],\n title: 'Foo Bar',\n volume: 2,\n week: 50,\n __href__: 'https://archive.org/details/foo',\n __img__: '//services/img/foo',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessTvFields: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'tv-fields',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'tv-fields',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new TvClipHit({\n fields: {\n identifier: 'foo',\n ad_id: ['foo-ad'],\n clip: true,\n collection: ['foo', 'bar', 'tvnews'],\n creator: ['baz', 'boop'],\n date: '2010-01-03T01:23:45Z',\n addeddate: '2010-01-01T01:23:45Z',\n publicdate: '2010-01-02T01:23:45Z',\n reviewdate: '2010-01-04T01:23:45Z',\n description: 'foo bar baz',\n downloads: 246,\n factcheck: ['https://foo.bar'],\n files_count: 75,\n indexflag: ['index', 'nonoindex'],\n item_size: 123456,\n language: 'eng',\n mediatype: 'movies',\n num_favorites: 12,\n nclips: 34,\n source: 'foo bar',\n start: '1234',\n subject: ['baz', 'quux'],\n title: 'Foo Bar',\n week: 50,\n year: 2010,\n __href__: 'https://archive.org/details/foo',\n __img__: '//services/img/foo',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithYearHistogramAggs: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'years',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'years',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n aggregations: {\n subject: new Aggregation({\n buckets: [\n {\n key: 'foo',\n doc_count: 3,\n },\n ],\n }),\n year_histogram: new Aggregation({\n buckets: [1, 2, 3, 3, 2, 1],\n first_bucket_key: 1950,\n last_bucket_key: 2000,\n interval: 10,\n number_buckets: 6,\n }),\n },\n results: [],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithDateHistogramAggs: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'months',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'months',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n aggregations: {\n subject: new Aggregation({\n buckets: [\n {\n key: 'foo',\n doc_count: 3,\n },\n ],\n }),\n date_histogram: new Aggregation({\n buckets: [1, 2, 3, 3, 2, 1],\n first_bucket_year: 2000,\n first_bucket_month: 1,\n last_bucket_year: 2002,\n last_bucket_month: 7,\n interval_in_months: 6,\n number_buckets: 6,\n }),\n },\n results: [],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessArchiveOrgUserResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'archive-org-user-loggedin',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'archive-org-user-loggedin',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {\n is_archive_user: true,\n pps_relevant_user_preferences: {\n display__blur_moderated_content: 'on',\n },\n },\n response: {\n totalResults: 2,\n returnedCount: 2,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'loggedin', 'bar'],\n __href__: '/foo',\n },\n }),\n new ItemHit({\n fields: {\n identifier: 'bar',\n collection: ['baz', 'boop'],\n __href__: '/bar',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessArchiveOrgUserNoBlurResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'archive-org-user-loggedin-noblur',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'archive-org-user-loggedin-noblur',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {\n is_archive_user: true,\n pps_relevant_user_preferences: {\n display__blur_moderated_content: 'off',\n },\n },\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['loggedin'],\n title: 'foo',\n mediatype: 'texts',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessLoggedInResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'loggedin',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'loggedin',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'loggedin', 'bar'],\n title: 'foo',\n mediatype: 'data',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessNoPreviewResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'no-preview',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'no-preview',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'no-preview', 'bar'],\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessLoggedInAndNoPreviewResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'loggedin-no-preview',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'loggedin-no-preview',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'loggedin', 'no-preview', 'bar'],\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessFirstTitleResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'first-title',\n sort: ['title', 'asc'],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'first-title',\n sort: ['title', 'asc'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n aggregations: {\n firstTitle: new Aggregation({\n buckets: [{ key: 'X', doc_count: 1 }],\n }),\n },\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessFirstCreatorResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'first-creator',\n sort: ['creator', 'asc'],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'first-creator',\n sort: ['creator', 'asc'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n aggregations: {\n firstCreator: new Aggregation({\n buckets: [{ key: 'X', doc_count: 1 }],\n }),\n },\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithCollectionTitles: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 2,\n returnedCount: 2,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n },\n }),\n new ItemHit({\n fields: {\n identifier: 'bar',\n collection: ['baz', 'boop'],\n },\n }),\n ],\n collectionTitles: {\n foo: 'Foo Collection',\n bar: 'Bar Collection',\n baz: 'Baz Collection',\n boop: 'Boop Collection',\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithChannelAliases: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new TvClipHit({\n fields: {\n identifier: 'foo',\n creator: ['foo', 'bar'],\n },\n }),\n ],\n tvChannelAliases: {\n foo: 'Foo Network',\n bar: 'Bar Network',\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithCollectionAggregations: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 0,\n returnedCount: 0,\n results: [],\n aggregations: {\n collection: new Aggregation({\n buckets: [\n {\n key: 'foo',\n doc_count: 10,\n },\n {\n key: 'bar',\n doc_count: 10,\n },\n ],\n }),\n },\n collectionTitles: {\n foo: 'Foo',\n bar: 'Bar',\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessSingleResultWithSort: (\n resultsSpy: Function,\n) => Result<SearchResponse, SearchServiceError> = (resultsSpy: Function) => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'with-sort',\n sort: ['foo:asc'],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'with-sort',\n sort: ['foo:asc'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n get results() {\n resultsSpy();\n return [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n },\n }),\n ];\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessMultipleResults: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'collection:foo',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 2,\n returnedCount: 2,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n __href__: '/foo',\n },\n }),\n new ItemHit({\n fields: {\n identifier: 'bar',\n collection: ['baz', 'boop'],\n __href__: '/bar',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessNoResults: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'no-results',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'no-results',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 0,\n returnedCount: 0,\n results: [],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessMultiLineDescription: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'multi-line-description',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'multi-line-description',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n collection: ['foo', 'bar'],\n description: ['line1', 'line2'],\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessExtraQuotedHref: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'extra-quoted-href',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'extra-quoted-href',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new TextHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n __href__: '/details/foo?q=%22%22quoted+query%22%22',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithDefaultSort: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'default-sort',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'default-sort',\n sort: ['titleSorter', 'identifier'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n 'sort-by': 'titleSorter',\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithConciseDefaultSort: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'default-sort-concise',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'default-sort-concise',\n sort: ['addeddate:desc', 'identifier'],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n 'sort-by': '-addeddate',\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithDefaultFavSort: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'fav-sort',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'fav-sort',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n identifier: 'fav-foo',\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithParentCollections: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'parent-collections',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'parent-collections',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n collection: ['foo', 'bar'],\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessForTvCollection: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'tv-collection',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'tv-collection',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new ItemHit({\n fields: {\n identifier: 'foo',\n title: 'Foo',\n },\n }),\n ],\n collectionExtraInfo: {\n public_metadata: {\n identifier: 'TV-FOO',\n collection: ['tvarchive'],\n },\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithWebArchiveHits: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'hits',\n clientParameters: {\n user_query: 'web-archive',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'hits',\n finalized_parameters: {\n user_query: 'web-archive',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 1,\n returnedCount: 1,\n results: [\n new WebArchiveHit({\n fields: {\n url: 'https://example.com',\n capture_dates: ['2010-01-02T03:04:05Z'],\n __href__:\n 'https://web.archive.org/web/20100102030405/https%3A%2F%2Fexample.com',\n },\n }),\n ],\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockSuccessWithManyAggregations: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n success: {\n request: {\n kind: 'aggregations',\n clientParameters: {\n user_query: 'more-facets',\n sort: [],\n },\n backendRequests: {\n primary: {\n kind: 'aggregations',\n finalized_parameters: {\n user_query: 'more-facets',\n sort: [],\n },\n },\n },\n },\n rawResponse: {},\n sessionContext: {},\n response: {\n totalResults: 0,\n returnedCount: 0,\n results: [],\n aggregations: {\n year: new Aggregation({\n buckets: [\n { key: '1980', doc_count: 5 },\n { key: '1981', doc_count: 6 },\n { key: '1982', doc_count: 7 },\n { key: '1983', doc_count: 8 },\n { key: '1984', doc_count: 5 },\n { key: '1985', doc_count: 6 },\n { key: '1986', doc_count: 7 },\n { key: '1987', doc_count: 8 },\n { key: '1988', doc_count: 5 },\n { key: '1989', doc_count: 6 },\n { key: '1990', doc_count: 7 },\n { key: '1991', doc_count: 8 },\n { key: '1992', doc_count: 5 },\n { key: '1993', doc_count: 6 },\n { key: '1994', doc_count: 7 },\n { key: '1995', doc_count: 8 },\n { key: '1996', doc_count: 5 },\n { key: '1997', doc_count: 6 },\n { key: '1998', doc_count: 7 },\n { key: '1999', doc_count: 8 },\n { key: '2000', doc_count: 5 },\n { key: '2001', doc_count: 6 },\n { key: '2002', doc_count: 7 },\n { key: '2003', doc_count: 8 },\n { key: '2004', doc_count: 5 },\n { key: '2005', doc_count: 6 },\n { key: '2006', doc_count: 7 },\n { key: '2007', doc_count: 8 },\n { key: '2008', doc_count: 5 },\n { key: '2009', doc_count: 6 },\n { key: '2010', doc_count: 7 },\n { key: '2011', doc_count: 8 },\n { key: '2012', doc_count: 5 },\n { key: '2013', doc_count: 6 },\n { key: '2014', doc_count: 7 },\n { key: '2015', doc_count: 8 },\n { key: '2016', doc_count: 5 },\n { key: '2017', doc_count: 6 },\n { key: '2018', doc_count: 7 },\n { key: '2019', doc_count: 8 },\n { key: '2020', doc_count: 5 },\n { key: '2021', doc_count: 6 },\n { key: '2022', doc_count: 7 },\n { key: '2023', doc_count: 8 },\n { key: '2024', doc_count: 5 },\n ],\n }),\n },\n },\n responseHeader: {\n succeeded: true,\n query_time: 0,\n },\n },\n});\n\nexport const getMockErrorResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({\n error: new SearchServiceError(SearchServiceErrorType.networkError, 'foo', {\n message: 'bar',\n }),\n});\n\nexport const getMockMalformedResult: () => Result<\n SearchResponse,\n SearchServiceError\n> = () => ({});\n"]}
@@ -12,4 +12,5 @@ export declare class MockSearchService implements SearchServiceInterface {
12
12
  resultsSpy?: (() => void) | undefined;
13
13
  });
14
14
  search(params: SearchParams, searchType: SearchType): Promise<Result<SearchResponse, SearchServiceError>>;
15
+ itemDetails(_: string): Promise<Result<SearchResponse, SearchServiceError>>;
15
16
  }