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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +48 -48
  12. package/dist/src/app-root.js +258 -258
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +5 -17
  29. package/dist/src/assets/img/icons/login-required.js.map +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  56. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  57. package/dist/src/assets/img/icons/null-result.js +2 -2
  58. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  59. package/dist/src/assets/img/icons/restricted.js +3 -19
  60. package/dist/src/assets/img/icons/restricted.js.map +1 -1
  61. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  62. package/dist/src/assets/img/icons/reviews.js +2 -2
  63. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  64. package/dist/src/assets/img/icons/upload.js +2 -2
  65. package/dist/src/assets/img/icons/views.d.ts +1 -1
  66. package/dist/src/assets/img/icons/views.js +2 -2
  67. package/dist/src/circular-activity-indicator.d.ts +5 -5
  68. package/dist/src/circular-activity-indicator.js +17 -17
  69. package/dist/src/collection-browser.d.ts +278 -278
  70. package/dist/src/collection-browser.js +1105 -1105
  71. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  72. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  73. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  74. package/dist/src/collection-facets/facets-template.js +125 -125
  75. package/dist/src/collection-facets/more-facets-content.d.ts +76 -76
  76. package/dist/src/collection-facets/more-facets-content.js +353 -353
  77. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  78. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  79. package/dist/src/collection-facets.d.ts +77 -77
  80. package/dist/src/collection-facets.js +388 -388
  81. package/dist/src/empty-placeholder.d.ts +11 -11
  82. package/dist/src/empty-placeholder.js +42 -42
  83. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  84. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  85. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  86. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  87. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  88. package/dist/src/mediatype/mediatype-config.js +85 -85
  89. package/dist/src/models.d.ts +103 -103
  90. package/dist/src/models.js +117 -117
  91. package/dist/src/restoration-state-handler.d.ts +46 -46
  92. package/dist/src/restoration-state-handler.js +230 -230
  93. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  94. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  95. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  96. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  97. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/list.js +2 -2
  99. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  101. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  102. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  103. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  104. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  105. package/dist/src/styles/item-image-styles.d.ts +8 -8
  106. package/dist/src/styles/item-image-styles.js +12 -15
  107. package/dist/src/styles/item-image-styles.js.map +1 -1
  108. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  109. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  110. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  111. package/dist/src/tiles/grid/account-tile.js +20 -20
  112. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  113. package/dist/src/tiles/grid/collection-tile.js +23 -23
  114. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  115. package/dist/src/tiles/grid/item-tile.js +89 -87
  116. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  117. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  118. package/dist/src/tiles/grid/tile-stats.js +40 -40
  119. package/dist/src/tiles/image-block.d.ts +17 -17
  120. package/dist/src/tiles/image-block.js +77 -69
  121. package/dist/src/tiles/image-block.js.map +1 -1
  122. package/dist/src/tiles/item-image.d.ts +31 -31
  123. package/dist/src/tiles/item-image.js +106 -106
  124. package/dist/src/tiles/list/account-label.d.ts +1 -1
  125. package/dist/src/tiles/list/account-label.js +6 -6
  126. package/dist/src/tiles/list/date-label.d.ts +1 -1
  127. package/dist/src/tiles/list/date-label.js +12 -12
  128. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  129. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  130. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  131. package/dist/src/tiles/list/tile-list-compact.js +93 -93
  132. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  133. package/dist/src/tiles/list/tile-list.js +276 -276
  134. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  135. package/dist/src/tiles/mediatype-icon.js +47 -47
  136. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -7
  137. package/dist/src/tiles/overlay/icon-overlay.js +63 -33
  138. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  139. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -0
  140. package/dist/src/tiles/overlay/icon-text-overlay.js +83 -0
  141. package/dist/src/tiles/overlay/icon-text-overlay.js.map +1 -0
  142. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -8
  143. package/dist/src/tiles/overlay/text-overlay.js +63 -35
  144. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  145. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  146. package/dist/src/tiles/text-snippet-block.js +81 -81
  147. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  148. package/dist/src/tiles/tile-dispatcher.js +128 -128
  149. package/dist/src/utils/analytics-events.d.ts +22 -22
  150. package/dist/src/utils/analytics-events.js +24 -24
  151. package/dist/src/utils/format-count.d.ts +7 -7
  152. package/dist/src/utils/format-count.js +76 -76
  153. package/dist/src/utils/format-date.d.ts +2 -2
  154. package/dist/src/utils/format-date.js +23 -23
  155. package/dist/test/collection-browser.test.d.ts +1 -1
  156. package/dist/test/collection-browser.test.js +575 -575
  157. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  158. package/dist/test/collection-facets/facets-template.test.js +62 -62
  159. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  160. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  161. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  162. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  163. package/dist/test/collection-facets.test.d.ts +2 -2
  164. package/dist/test/collection-facets.test.js +544 -544
  165. package/dist/test/empty-placeholder.test.d.ts +1 -1
  166. package/dist/test/empty-placeholder.test.js +33 -33
  167. package/dist/test/icon-overlay.test.d.ts +1 -1
  168. package/dist/test/icon-overlay.test.js +24 -24
  169. package/dist/test/image-block.test.d.ts +1 -1
  170. package/dist/test/image-block.test.js +48 -48
  171. package/dist/test/item-image.test.d.ts +1 -1
  172. package/dist/test/item-image.test.js +80 -80
  173. package/dist/test/item-image.test.js.map +1 -1
  174. package/dist/test/mediatype-config.test.d.ts +1 -1
  175. package/dist/test/mediatype-config.test.js +16 -16
  176. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  177. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  178. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  179. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  180. package/dist/test/mocks/mock-search-responses.d.ts +10 -10
  181. package/dist/test/mocks/mock-search-responses.js +271 -271
  182. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  183. package/dist/test/mocks/mock-search-service.js +36 -36
  184. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  185. package/dist/test/restoration-state-handler.test.js +126 -126
  186. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  187. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  188. package/dist/test/text-overlay.test.d.ts +1 -1
  189. package/dist/test/text-overlay.test.js +48 -41
  190. package/dist/test/text-overlay.test.js.map +1 -1
  191. package/dist/test/text-snippet-block.test.d.ts +1 -1
  192. package/dist/test/text-snippet-block.test.js +57 -57
  193. package/dist/test/tile-stats.test.d.ts +1 -1
  194. package/dist/test/tile-stats.test.js +33 -33
  195. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  196. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  197. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  198. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  199. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  200. package/dist/test/tiles/list/tile-list.test.js +123 -123
  201. package/dist/test/utils/format-count.test.d.ts +1 -1
  202. package/dist/test/utils/format-count.test.js +23 -23
  203. package/dist/test/utils/format-date.test.d.ts +1 -1
  204. package/dist/test/utils/format-date.test.js +17 -17
  205. package/index.html +24 -24
  206. package/local.archive.org.cert +86 -86
  207. package/local.archive.org.key +27 -27
  208. package/package.json +1 -1
  209. package/renovate.json +6 -6
  210. package/src/assets/img/icons/login-required.ts +3 -15
  211. package/src/assets/img/icons/restricted.ts +1 -17
  212. package/src/styles/item-image-styles.ts +3 -6
  213. package/src/tiles/grid/item-tile.ts +2 -0
  214. package/src/tiles/image-block.ts +8 -0
  215. package/src/tiles/overlay/icon-overlay.ts +33 -3
  216. package/src/tiles/overlay/icon-text-overlay.ts +75 -0
  217. package/src/tiles/overlay/text-overlay.ts +34 -7
  218. package/test/item-image.test.ts +2 -2
  219. package/test/text-overlay.test.ts +10 -3
  220. package/tsconfig.json +21 -21
  221. package/web-dev-server.config.mjs +30 -30
  222. package/web-test-runner.config.mjs +41 -41
@@ -1,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>;