@internetarchive/radio-player 0.0.3 → 0.0.4-alpha.1

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 (93) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +142 -142
  3. package/index.d.ts +15 -15
  4. package/index.js +28 -28
  5. package/lib/demo/full-text-search-service.d.ts +14 -14
  6. package/lib/demo/full-text-search-service.js +33 -33
  7. package/lib/demo/radio-player-controller.d.ts +41 -41
  8. package/lib/demo/radio-player-controller.js +199 -199
  9. package/lib/src/assets/img/left.d.ts +2 -2
  10. package/lib/src/assets/img/left.js +15 -15
  11. package/lib/src/assets/img/right.d.ts +2 -2
  12. package/lib/src/assets/img/right.js +15 -15
  13. package/lib/src/models/music-zone.d.ts +12 -12
  14. package/lib/src/models/music-zone.js +15 -15
  15. package/lib/src/models/radio-player-config.d.ts +26 -26
  16. package/lib/src/models/radio-player-config.js +27 -27
  17. package/lib/src/radio-player.d.ts +589 -589
  18. package/lib/src/radio-player.js +1338 -1338
  19. package/lib/src/search-handler/search-backends/full-text-search-backend/full-text-search-backend.d.ts +82 -82
  20. package/lib/src/search-handler/search-backends/full-text-search-backend/full-text-search-backend.js +107 -107
  21. package/lib/src/search-handler/search-backends/full-text-search-backend/full-text-search-response.d.ts +48 -48
  22. package/lib/src/search-handler/search-backends/full-text-search-backend/full-text-search-response.js +58 -58
  23. package/lib/src/search-handler/search-backends/full-text-search-backend/full-text-search-service-interface.d.ts +16 -16
  24. package/lib/src/search-handler/search-backends/full-text-search-backend/full-text-search-service-interface.js +1 -1
  25. package/lib/src/search-handler/search-backends/local-search-backend/local-search-backend.d.ts +27 -27
  26. package/lib/src/search-handler/search-backends/local-search-backend/local-search-backend.js +42 -42
  27. package/lib/src/search-handler/search-backends/search-backend-interface.d.ts +9 -9
  28. package/lib/src/search-handler/search-backends/search-backend-interface.js +1 -1
  29. package/lib/src/search-handler/search-handler-interface.d.ts +17 -17
  30. package/lib/src/search-handler/search-handler-interface.js +1 -1
  31. package/lib/src/search-handler/search-handler.d.ts +83 -83
  32. package/lib/src/search-handler/search-handler.js +177 -177
  33. package/lib/src/search-handler/search-helper.d.ts +12 -12
  34. package/lib/src/search-handler/search-helper.js +22 -22
  35. package/lib/src/search-handler/search-models.d.ts +45 -45
  36. package/lib/src/search-handler/search-models.js +49 -49
  37. package/lib/src/search-handler/transcript-index-interface.d.ts +38 -38
  38. package/lib/src/search-handler/transcript-index-interface.js +1 -1
  39. package/lib/src/search-handler/transcript-index.d.ts +53 -53
  40. package/lib/src/search-handler/transcript-index.js +80 -80
  41. package/lib/src/search-results-switcher.d.ts +58 -58
  42. package/lib/src/search-results-switcher.js +133 -133
  43. package/package.json +93 -93
  44. package/src/assets/img/left.ts +17 -17
  45. package/src/assets/img/right.ts +17 -17
  46. package/src/models/music-zone.ts +17 -17
  47. package/src/models/radio-player-config.ts +47 -47
  48. package/src/radio-player.ts +1402 -1402
  49. package/src/search-handler/search-backends/full-text-search-backend/full-text-search-backend.ts +140 -140
  50. package/src/search-handler/search-backends/full-text-search-backend/full-text-search-response.ts +110 -110
  51. package/src/search-handler/search-backends/full-text-search-backend/full-text-search-service-interface.ts +17 -17
  52. package/src/search-handler/search-backends/local-search-backend/local-search-backend.ts +50 -50
  53. package/src/search-handler/search-backends/search-backend-interface.ts +10 -10
  54. package/src/search-handler/search-handler-interface.ts +18 -18
  55. package/src/search-handler/search-handler.ts +217 -217
  56. package/src/search-handler/search-helper.ts +25 -25
  57. package/src/search-handler/search-models.ts +69 -69
  58. package/src/search-handler/transcript-index-interface.ts +42 -42
  59. package/src/search-handler/transcript-index.ts +93 -93
  60. package/src/search-results-switcher.ts +131 -131
  61. package/.eslintrc +0 -37
  62. package/.gitignore +0 -11
  63. package/.storybook/.babelrc +0 -15
  64. package/.storybook/addons.js +0 -7
  65. package/.storybook/config.js +0 -11
  66. package/.storybook/webpack.config.js +0 -5
  67. package/demo/full-text-search-service.ts +0 -32
  68. package/demo/index.html +0 -53
  69. package/demo/radio-player-controller.ts +0 -237
  70. package/karma.bs.config.js +0 -16
  71. package/karma.conf.js +0 -66
  72. package/package-lock.json +0 -51719
  73. package/stories/index.stories.js +0 -40
  74. package/stories/transcript.js +0 -683
  75. package/test/assets/arrow.mp3 +0 -0
  76. package/test/music-zone.test.js +0 -13
  77. package/test/promised-sleep.js +0 -3
  78. package/test/radio-player-config.test.js +0 -42
  79. package/test/radio-player.test.js +0 -1072
  80. package/test/sample_transcript.js +0 -1493
  81. package/test/search-handler/search-backends/full-text-sample-response-brackets.js +0 -60
  82. package/test/search-handler/search-backends/full-text-sample-response-em.js +0 -60
  83. package/test/search-handler/search-backends/full-text-search-backend.test.js +0 -74
  84. package/test/search-handler/search-backends/full-text-search-response.test.js +0 -14
  85. package/test/search-handler/search-backends/local-search-backend.test.js +0 -39
  86. package/test/search-handler/search-handler.test.js +0 -550
  87. package/test/search-handler/search-helper.test.js +0 -63
  88. package/test/search-handler/search-model.test.js +0 -56
  89. package/test/search-handler/transcript-index.test.js +0 -66
  90. package/test/search-results-switcher.test.js +0 -97
  91. package/tsconfig.build.json +0 -7
  92. package/tsconfig.json +0 -21
  93. package/yarn.lock +0 -14450
@@ -1,66 +0,0 @@
1
- import {
2
- html, fixture, expect, oneEvent, elementUpdated
3
- } from '@open-wc/testing';
4
-
5
- import { TranscriptConfig, TranscriptEntryConfig } from '@internetarchive/transcript-view';
6
- import { TranscriptIndex } from '../../lib/src/search-handler/transcript-index';
7
-
8
- describe('Transcript Index', () => {
9
- it('correctly calculates entry start and end index offsets of the source transcript', async () => {
10
- const entry1 = new TranscriptEntryConfig(1, 0, 4, 'foo bar baz', false);
11
- const entry2 = new TranscriptEntryConfig(2, 5, 9, 'boop blop', false);
12
- const entry3 = new TranscriptEntryConfig(3, 10, 13, 'bang boing', false);
13
- const transcriptConfig = new TranscriptConfig([entry1, entry2, entry3]);
14
- const transcriptIndex = new TranscriptIndex(transcriptConfig);
15
-
16
- const entryStartEndIndices = transcriptIndex.transcriptEntryRanges;
17
-
18
- // note a space is added between each transcript entry so it increases each
19
- // subsequent index by 1
20
- expect(entryStartEndIndices[0].entry).to.equal(entry1);
21
- expect(entryStartEndIndices[0].range.startIndex).to.equal(0);
22
- expect(entryStartEndIndices[0].range.endIndex).to.equal(11);
23
-
24
- expect(entryStartEndIndices[1].entry).to.equal(entry2);
25
- expect(entryStartEndIndices[1].range.startIndex).to.equal(12);
26
- expect(entryStartEndIndices[1].range.endIndex).to.equal(21);
27
-
28
- expect(entryStartEndIndices[2].entry).to.equal(entry3);
29
- expect(entryStartEndIndices[2].range.startIndex).to.equal(22);
30
- expect(entryStartEndIndices[2].range.endIndex).to.equal(32);
31
- });
32
-
33
- it('correctly builds the full text blob', async () => {
34
- const entry1 = new TranscriptEntryConfig(1, 0, 4, 'foo bar baz', false);
35
- const entry2 = new TranscriptEntryConfig(2, 5, 9, 'boop blop', false);
36
- const entry3 = new TranscriptEntryConfig(3, 10, 13, 'bang boing', false);
37
- const transcriptConfig = new TranscriptConfig([entry1, entry2, entry3]);
38
- const transcriptIndex = new TranscriptIndex(transcriptConfig);
39
-
40
- expect(transcriptIndex.mergedTranscript).to.equal('foo bar baz boop blop bang boing');
41
- });
42
-
43
- it('correctly finds the correct entry range for a given index', async () => {
44
- const entry1 = new TranscriptEntryConfig(1, 0, 4, 'foo bar baz', false);
45
- const entry2 = new TranscriptEntryConfig(2, 5, 9, 'boop blop', false);
46
- const entry3 = new TranscriptEntryConfig(3, 10, 13, 'bump baz boing', false);
47
- const transcriptConfig = new TranscriptConfig([entry1, entry2, entry3]);
48
- const transcriptIndex = new TranscriptIndex(transcriptConfig);
49
-
50
- // in second entry
51
- const transcriptEntryRange = transcriptIndex.getTranscriptEntryAt(14);
52
- expect(transcriptEntryRange.entry).to.equal(entry2);
53
-
54
- // in third entry
55
- const transcriptEntryRange2 = transcriptIndex.getTranscriptEntryAt(23);
56
- expect(transcriptEntryRange2.entry).to.equal(entry3);
57
-
58
- // in-between the first and second entry
59
- const transcriptEntryRange3 = transcriptIndex.getTranscriptEntryAt(11);
60
- expect(transcriptEntryRange3).to.equal(undefined);
61
-
62
- // outside of range
63
- const transcriptEntryRange4 = transcriptIndex.getTranscriptEntryAt(45);
64
- expect(transcriptEntryRange4).to.equal(undefined);
65
- });
66
- });
@@ -1,97 +0,0 @@
1
- import {
2
- html, fixture, expect, oneEvent, elementUpdated
3
- } from '@open-wc/testing';
4
-
5
- import promisedSleep from './promised-sleep';
6
-
7
- import '../lib/src/radio-player';
8
-
9
- describe('Search Results Switcher', () => {
10
- it('defaults to 0 results', async () => {
11
- const el = await fixture(html`
12
- <search-results-switcher></search-results-switcher>
13
- `);
14
-
15
- expect(el.numberOfResults).to.equal(0);
16
- expect(el.currentResultIndex).to.equal(0);
17
- });
18
-
19
- it('renders the number of results correctly', async () => {
20
- const el = await fixture(html`
21
- <search-results-switcher numberOfResults='7'></search-results-switcher>
22
- `);
23
-
24
- const { shadowRoot } = el;
25
-
26
- expect(shadowRoot.getElementById('current-result').innerText).to.equal('1');
27
- expect(shadowRoot.getElementById('number-of-results').innerText).to.equal('7');
28
- });
29
-
30
- it('increments the values properly and emits event when changed', async () => {
31
- const el = await fixture(html`
32
- <search-results-switcher numberOfResults='7'></search-results-switcher>
33
- `);
34
-
35
- const { shadowRoot } = el;
36
-
37
- const clickEvent = new MouseEvent('click');
38
- const nextButton = shadowRoot.getElementById('next-button');
39
-
40
- setTimeout(() => { nextButton.dispatchEvent(clickEvent); });
41
- const response = await oneEvent(el, 'searchResultIndexChanged');
42
- expect(response.detail.searchResultIndex).to.equal(1);
43
- expect(el.currentResultIndex).to.equal(1);
44
- });
45
-
46
- it('wraps around to the beginning if it reaches the end', async () => {
47
- const el = await fixture(html`
48
- <search-results-switcher numberOfResults='7'></search-results-switcher>
49
- `);
50
-
51
- el.currentResultIndex = 6;
52
-
53
- const { shadowRoot } = el;
54
-
55
- const clickEvent = new MouseEvent('click');
56
- const nextButton = shadowRoot.getElementById('next-button');
57
-
58
- setTimeout(() => { nextButton.dispatchEvent(clickEvent); });
59
- const response = await oneEvent(el, 'searchResultIndexChanged');
60
- expect(response.detail.searchResultIndex).to.equal(0);
61
- expect(el.currentResultIndex).to.equal(0);
62
- });
63
-
64
- it('decrements the values properly and emits event when changed', async () => {
65
- const el = await fixture(html`
66
- <search-results-switcher numberOfResults='7'></search-results-switcher>
67
- `);
68
-
69
- el.currentResultIndex = 4;
70
-
71
- const { shadowRoot } = el;
72
-
73
- const clickEvent = new MouseEvent('click');
74
- const nextButton = shadowRoot.getElementById('previous-button');
75
-
76
- setTimeout(() => { nextButton.dispatchEvent(clickEvent); });
77
- const response = await oneEvent(el, 'searchResultIndexChanged');
78
- expect(response.detail.searchResultIndex).to.equal(3);
79
- expect(el.currentResultIndex).to.equal(3);
80
- });
81
-
82
- it('wraps around to the end if it reaches the beginning', async () => {
83
- const el = await fixture(html`
84
- <search-results-switcher numberOfResults='7'></search-results-switcher>
85
- `);
86
-
87
- const { shadowRoot } = el;
88
-
89
- const clickEvent = new MouseEvent('click');
90
- const nextButton = shadowRoot.getElementById('previous-button');
91
-
92
- setTimeout(() => { nextButton.dispatchEvent(clickEvent); });
93
- const response = await oneEvent(el, 'searchResultIndexChanged');
94
- expect(response.detail.searchResultIndex).to.equal(6);
95
- expect(el.currentResultIndex).to.equal(6);
96
- });
97
- });
@@ -1,7 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "allowJs": false,
5
- "checkJs": false,
6
- }
7
- }
package/tsconfig.json DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es6", // define the target version of js
4
- "lib": ["es2016", "dom"], // define the minimum set of libraries needed to build
5
- "experimentalDecorators": true, // needed for using decorators
6
- "moduleResolution": "node", // needed to correctly resolve node_modules like `lit-element`
7
- "sourceMap": true,
8
- "outDir": "./lib",
9
- "declaration": true,
10
- "strict": true
11
- },
12
- "include": [
13
- "src/**/*.ts",
14
- "dev_tools/**/*.ts",
15
- "demo/**/*.ts"
16
- ],
17
- "exclude": [
18
- "node_modules/!(@open-wc)",
19
- "node_modules/!(@types)"
20
- ]
21
- }