@internetarchive/collection-browser 0.4.10 → 0.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +50 -50
  12. package/dist/src/app-root.js +278 -278
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +2 -2
  29. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  55. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  56. package/dist/src/assets/img/icons/null-result.js +2 -2
  57. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  58. package/dist/src/assets/img/icons/restricted.js +2 -2
  59. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  60. package/dist/src/assets/img/icons/reviews.js +2 -2
  61. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  62. package/dist/src/assets/img/icons/upload.js +2 -2
  63. package/dist/src/assets/img/icons/views.d.ts +1 -1
  64. package/dist/src/assets/img/icons/views.js +2 -2
  65. package/dist/src/circular-activity-indicator.d.ts +5 -5
  66. package/dist/src/circular-activity-indicator.js +17 -17
  67. package/dist/src/collection-browser.d.ts +279 -279
  68. package/dist/src/collection-browser.js +1156 -1156
  69. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  70. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  71. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  72. package/dist/src/collection-facets/facets-template.js +125 -125
  73. package/dist/src/collection-facets/more-facets-content.d.ts +75 -75
  74. package/dist/src/collection-facets/more-facets-content.js +340 -340
  75. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  76. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  77. package/dist/src/collection-facets.d.ts +81 -81
  78. package/dist/src/collection-facets.js +375 -375
  79. package/dist/src/empty-placeholder.d.ts +11 -11
  80. package/dist/src/empty-placeholder.js +42 -42
  81. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  82. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  83. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  84. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  85. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  86. package/dist/src/mediatype/mediatype-config.js +85 -85
  87. package/dist/src/models.d.ts +115 -115
  88. package/dist/src/models.js +125 -125
  89. package/dist/src/restoration-state-handler.d.ts +45 -45
  90. package/dist/src/restoration-state-handler.js +230 -230
  91. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  92. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  93. package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -20
  94. package/dist/src/sort-filter-bar/alpha-bar.js +136 -128
  95. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  96. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  97. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  98. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  99. package/dist/src/sort-filter-bar/img/list.js +2 -2
  100. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  101. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  102. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  104. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -108
  105. package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
  106. package/dist/src/styles/item-image-styles.d.ts +8 -8
  107. package/dist/src/styles/item-image-styles.js +9 -9
  108. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  109. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  110. package/dist/src/tiles/grid/account-tile.d.ts +20 -20
  111. package/dist/src/tiles/grid/account-tile.js +64 -64
  112. package/dist/src/tiles/grid/collection-tile.d.ts +17 -17
  113. package/dist/src/tiles/grid/collection-tile.js +71 -71
  114. package/dist/src/tiles/grid/item-tile.d.ts +32 -32
  115. package/dist/src/tiles/grid/item-tile.js +122 -122
  116. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  117. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
  118. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  119. package/dist/src/tiles/grid/tile-stats.js +40 -40
  120. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  121. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  122. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  123. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  124. package/dist/src/tiles/image-block.d.ts +17 -17
  125. package/dist/src/tiles/image-block.js +72 -72
  126. package/dist/src/tiles/item-image.d.ts +35 -35
  127. package/dist/src/tiles/item-image.js +117 -117
  128. package/dist/src/tiles/list/account-label.d.ts +1 -1
  129. package/dist/src/tiles/list/account-label.js +6 -6
  130. package/dist/src/tiles/list/date-label.d.ts +1 -1
  131. package/dist/src/tiles/list/date-label.js +12 -12
  132. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  133. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  134. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  135. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  136. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  137. package/dist/src/tiles/list/tile-list.js +301 -301
  138. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  139. package/dist/src/tiles/mediatype-icon.js +47 -47
  140. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  141. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  142. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  143. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  144. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  145. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  146. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  147. package/dist/src/tiles/text-snippet-block.js +73 -73
  148. package/dist/src/tiles/tile-dispatcher.d.ts +58 -58
  149. package/dist/src/tiles/tile-dispatcher.js +194 -194
  150. package/dist/src/utils/analytics-events.d.ts +22 -22
  151. package/dist/src/utils/analytics-events.js +24 -24
  152. package/dist/src/utils/format-count.d.ts +7 -7
  153. package/dist/src/utils/format-count.js +76 -76
  154. package/dist/src/utils/format-date.d.ts +2 -2
  155. package/dist/src/utils/format-date.js +23 -23
  156. package/dist/src/utils/format-unit-size.d.ts +2 -2
  157. package/dist/src/utils/format-unit-size.js +33 -33
  158. package/dist/test/collection-browser.test.d.ts +1 -1
  159. package/dist/test/collection-browser.test.js +584 -584
  160. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  161. package/dist/test/collection-facets/facets-template.test.js +62 -62
  162. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  163. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  164. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  165. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  166. package/dist/test/collection-facets.test.d.ts +2 -2
  167. package/dist/test/collection-facets.test.js +460 -460
  168. package/dist/test/empty-placeholder.test.d.ts +1 -1
  169. package/dist/test/empty-placeholder.test.js +33 -33
  170. package/dist/test/icon-overlay.test.d.ts +1 -1
  171. package/dist/test/icon-overlay.test.js +24 -24
  172. package/dist/test/image-block.test.d.ts +1 -1
  173. package/dist/test/image-block.test.js +48 -48
  174. package/dist/test/item-image.test.d.ts +1 -1
  175. package/dist/test/item-image.test.js +84 -84
  176. package/dist/test/mediatype-config.test.d.ts +1 -1
  177. package/dist/test/mediatype-config.test.js +16 -16
  178. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  179. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  180. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  181. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  182. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  183. package/dist/test/mocks/mock-search-responses.js +341 -341
  184. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  185. package/dist/test/mocks/mock-search-service.js +40 -40
  186. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  187. package/dist/test/restoration-state-handler.test.js +125 -125
  188. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  189. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  190. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  191. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  192. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  193. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +197 -197
  194. package/dist/test/text-overlay.test.d.ts +1 -1
  195. package/dist/test/text-overlay.test.js +48 -48
  196. package/dist/test/text-snippet-block.test.d.ts +1 -1
  197. package/dist/test/text-snippet-block.test.js +57 -57
  198. package/dist/test/tile-stats.test.d.ts +1 -1
  199. package/dist/test/tile-stats.test.js +33 -33
  200. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  201. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  202. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  203. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  204. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  205. package/dist/test/tiles/grid/item-tile.test.js +158 -158
  206. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  207. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  208. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  209. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  210. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  211. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  212. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  213. package/dist/test/tiles/list/tile-list.test.js +163 -163
  214. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  215. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  216. package/dist/test/utils/format-count.test.d.ts +1 -1
  217. package/dist/test/utils/format-count.test.js +23 -23
  218. package/dist/test/utils/format-date.test.d.ts +1 -1
  219. package/dist/test/utils/format-date.test.js +17 -17
  220. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  221. package/dist/test/utils/format-unit-size.test.js +17 -17
  222. package/local.archive.org.cert +86 -86
  223. package/local.archive.org.key +27 -27
  224. package/package.json +1 -1
  225. package/renovate.json +6 -6
  226. package/src/sort-filter-bar/alpha-bar.ts +8 -0
  227. package/tsconfig.json +21 -21
  228. package/web-dev-server.config.mjs +30 -30
  229. package/web-test-runner.config.mjs +41 -41
@@ -1,11 +1,11 @@
1
- import { LitElement, CSSResultGroup, nothing } from 'lit';
2
- export declare type PlaceholderType = 'empty-query' | 'null-result' | null;
3
- export declare class EmptyPlaceholder extends LitElement {
4
- placeholderType: PlaceholderType;
5
- isMobileView?: false;
6
- render(): import("lit-html").TemplateResult<1> | typeof nothing;
7
- private get placeholderTemplate();
8
- private get emptyQueryTemplate();
9
- private get nullResultTemplate();
10
- static get styles(): CSSResultGroup;
11
- }
1
+ import { LitElement, CSSResultGroup, nothing } from 'lit';
2
+ export declare type PlaceholderType = 'empty-query' | 'null-result' | null;
3
+ export declare class EmptyPlaceholder extends LitElement {
4
+ placeholderType: PlaceholderType;
5
+ isMobileView?: false;
6
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
7
+ private get placeholderTemplate();
8
+ private get emptyQueryTemplate();
9
+ private get nullResultTemplate();
10
+ static get styles(): CSSResultGroup;
11
+ }
@@ -1,49 +1,49 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { choose } from 'lit/directives/choose.js';
5
- import emptyQueryIcon from './assets/img/icons/empty-query';
6
- import nullResultIcon from './assets/img/icons/null-result';
7
- let EmptyPlaceholder = class EmptyPlaceholder extends LitElement {
8
- constructor() {
9
- super(...arguments);
10
- this.placeholderType = null;
11
- }
12
- render() {
13
- return this.placeholderType ? html `${this.placeholderTemplate}` : nothing;
14
- }
15
- get placeholderTemplate() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, nothing } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { choose } from 'lit/directives/choose.js';
5
+ import emptyQueryIcon from './assets/img/icons/empty-query';
6
+ import nullResultIcon from './assets/img/icons/null-result';
7
+ let EmptyPlaceholder = class EmptyPlaceholder extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.placeholderType = null;
11
+ }
12
+ render() {
13
+ return this.placeholderType ? html `${this.placeholderTemplate}` : nothing;
14
+ }
15
+ get placeholderTemplate() {
16
16
  return html `
17
17
  <div
18
- class="placeholder ${this.placeholderType} ${this.isMobileView
19
- ? 'mobile'
18
+ class="placeholder ${this.placeholderType} ${this.isMobileView
19
+ ? 'mobile'
20
20
  : 'desktop'}"
21
21
  >
22
- ${choose(this.placeholderType, [
23
- ['empty-query', () => this.emptyQueryTemplate],
24
- ['null-result', () => this.nullResultTemplate],
22
+ ${choose(this.placeholderType, [
23
+ ['empty-query', () => this.emptyQueryTemplate],
24
+ ['null-result', () => this.nullResultTemplate],
25
25
  ])}
26
26
  </div>
27
- `;
28
- }
29
- get emptyQueryTemplate() {
27
+ `;
28
+ }
29
+ get emptyQueryTemplate() {
30
30
  return html `
31
31
  <h2 class="title">
32
32
  To begin searching, enter a search term in the box above and hit "Go".
33
33
  </h2>
34
34
  <div>${emptyQueryIcon}</div>
35
- `;
36
- }
37
- get nullResultTemplate() {
35
+ `;
36
+ }
37
+ get nullResultTemplate() {
38
38
  return html `
39
39
  <h2 class="title">
40
40
  Your search did not match any items in the Archive. Try different
41
41
  keywords or a more general search.
42
42
  </h2>
43
43
  <div>${nullResultIcon}</div>
44
- `;
45
- }
46
- static get styles() {
44
+ `;
45
+ }
46
+ static get styles() {
47
47
  return css `
48
48
  :host {
49
49
  text-align: center;
@@ -67,17 +67,17 @@ let EmptyPlaceholder = class EmptyPlaceholder extends LitElement {
67
67
  .mobile .title {
68
68
  margin: 2rem 0.5;
69
69
  }
70
- `;
71
- }
72
- };
73
- __decorate([
74
- property({ type: String })
75
- ], EmptyPlaceholder.prototype, "placeholderType", void 0);
76
- __decorate([
77
- property({ type: Boolean })
78
- ], EmptyPlaceholder.prototype, "isMobileView", void 0);
79
- EmptyPlaceholder = __decorate([
80
- customElement('empty-placeholder')
81
- ], EmptyPlaceholder);
82
- export { EmptyPlaceholder };
70
+ `;
71
+ }
72
+ };
73
+ __decorate([
74
+ property({ type: String })
75
+ ], EmptyPlaceholder.prototype, "placeholderType", void 0);
76
+ __decorate([
77
+ property({ type: Boolean })
78
+ ], EmptyPlaceholder.prototype, "isMobileView", void 0);
79
+ EmptyPlaceholder = __decorate([
80
+ customElement('empty-placeholder')
81
+ ], EmptyPlaceholder);
82
+ export { EmptyPlaceholder };
83
83
  //# sourceMappingURL=empty-placeholder.js.map
@@ -1,37 +1,37 @@
1
- export interface LanguageCodeHandlerInterface {
2
- /**
3
- * This takes a list of codes in the format `en-us|en|en-gb` and
4
- * returns the first language code in the list.
5
- *
6
- * The codes in the string should always represent the same language name.
7
- * eg `en-us`, `en-gb`, and `en` should always be "English"
8
- *
9
- * @param languageCodes
10
- */
11
- getLanguageNameFromCodeString(languageCodes: string): string;
12
- /**
13
- * This creates a serialized string of language codes for the given language.
14
- *
15
- * eg. `English` becomes `en-us|en|en-gb|.....`
16
- *
17
- * @param languageName
18
- */
19
- getCodeStringFromLanguageName(languageName: string): string;
20
- /**
21
- * Get an array of langauge codes from a serialized string.
22
- *
23
- * eg. `en-us|en|en-gb` becomes `['en-us', 'en', 'en-gb']`
24
- *
25
- * @param languageCodes
26
- */
27
- getCodeArrayFromCodeString(languageCodes: string): string[];
28
- }
29
- export declare class LanguageCodeHandler implements LanguageCodeHandlerInterface {
30
- private delimeter;
31
- /** @inheritdoc */
32
- getLanguageNameFromCodeString(languageCodes: string): string;
33
- /** @inheritdoc */
34
- getCodeStringFromLanguageName(languageName: string): string;
35
- /** @inheritdoc */
36
- getCodeArrayFromCodeString(languageCodes: string): string[];
37
- }
1
+ export interface LanguageCodeHandlerInterface {
2
+ /**
3
+ * This takes a list of codes in the format `en-us|en|en-gb` and
4
+ * returns the first language code in the list.
5
+ *
6
+ * The codes in the string should always represent the same language name.
7
+ * eg `en-us`, `en-gb`, and `en` should always be "English"
8
+ *
9
+ * @param languageCodes
10
+ */
11
+ getLanguageNameFromCodeString(languageCodes: string): string;
12
+ /**
13
+ * This creates a serialized string of language codes for the given language.
14
+ *
15
+ * eg. `English` becomes `en-us|en|en-gb|.....`
16
+ *
17
+ * @param languageName
18
+ */
19
+ getCodeStringFromLanguageName(languageName: string): string;
20
+ /**
21
+ * Get an array of langauge codes from a serialized string.
22
+ *
23
+ * eg. `en-us|en|en-gb` becomes `['en-us', 'en', 'en-gb']`
24
+ *
25
+ * @param languageCodes
26
+ */
27
+ getCodeArrayFromCodeString(languageCodes: string): string[];
28
+ }
29
+ export declare class LanguageCodeHandler implements LanguageCodeHandlerInterface {
30
+ private delimeter;
31
+ /** @inheritdoc */
32
+ getLanguageNameFromCodeString(languageCodes: string): string;
33
+ /** @inheritdoc */
34
+ getCodeStringFromLanguageName(languageName: string): string;
35
+ /** @inheritdoc */
36
+ getCodeArrayFromCodeString(languageCodes: string): string[];
37
+ }
@@ -1,27 +1,27 @@
1
- import { codeToLanguageMap } from './language-code-mapping';
2
- export class LanguageCodeHandler {
3
- constructor() {
4
- this.delimeter = '|';
5
- }
6
- /** @inheritdoc */
7
- getLanguageNameFromCodeString(languageCodes) {
8
- const split = this.getCodeArrayFromCodeString(languageCodes);
9
- if (split.length === 0)
10
- return '';
11
- const languageCode = split[0];
12
- const languageName = codeToLanguageMap[languageCode];
13
- return languageName !== null && languageName !== void 0 ? languageName : languageCodes;
14
- }
15
- /** @inheritdoc */
16
- getCodeStringFromLanguageName(languageName) {
17
- const languageCodes = Object.keys(codeToLanguageMap).filter(code => codeToLanguageMap[code] === languageName);
18
- const stringifiedCodes = languageCodes === null || languageCodes === void 0 ? void 0 : languageCodes.join(this.delimeter);
19
- return stringifiedCodes;
20
- }
21
- /** @inheritdoc */
22
- getCodeArrayFromCodeString(languageCodes) {
23
- const split = languageCodes.split(this.delimeter);
24
- return split;
25
- }
26
- }
1
+ import { codeToLanguageMap } from './language-code-mapping';
2
+ export class LanguageCodeHandler {
3
+ constructor() {
4
+ this.delimeter = '|';
5
+ }
6
+ /** @inheritdoc */
7
+ getLanguageNameFromCodeString(languageCodes) {
8
+ const split = this.getCodeArrayFromCodeString(languageCodes);
9
+ if (split.length === 0)
10
+ return '';
11
+ const languageCode = split[0];
12
+ const languageName = codeToLanguageMap[languageCode];
13
+ return languageName !== null && languageName !== void 0 ? languageName : languageCodes;
14
+ }
15
+ /** @inheritdoc */
16
+ getCodeStringFromLanguageName(languageName) {
17
+ const languageCodes = Object.keys(codeToLanguageMap).filter(code => codeToLanguageMap[code] === languageName);
18
+ const stringifiedCodes = languageCodes === null || languageCodes === void 0 ? void 0 : languageCodes.join(this.delimeter);
19
+ return stringifiedCodes;
20
+ }
21
+ /** @inheritdoc */
22
+ getCodeArrayFromCodeString(languageCodes) {
23
+ const split = languageCodes.split(this.delimeter);
24
+ return split;
25
+ }
26
+ }
27
27
  //# sourceMappingURL=language-code-handler.js.map
@@ -1 +1 @@
1
- export declare const codeToLanguageMap: Record<string, string>;
1
+ export declare const codeToLanguageMap: Record<string, string>;