@playkit-js/playkit-js-providers 2.39.1 → 2.39.2

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 (130) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/playkit-analytics-service.js +2 -0
  3. package/dist/playkit-analytics-service.js.map +1 -0
  4. package/dist/playkit-bookmark-service.js +2 -0
  5. package/dist/playkit-bookmark-service.js.map +1 -0
  6. package/dist/playkit-ott-provider.js +2 -0
  7. package/dist/playkit-ott-provider.js.map +1 -0
  8. package/dist/playkit-ovp-provider.js +2 -0
  9. package/dist/playkit-ovp-provider.js.map +1 -0
  10. package/dist/playkit-stats-service.js +2 -0
  11. package/dist/playkit-stats-service.js.map +1 -0
  12. package/package.json +1 -1
  13. package/.babelrc +0 -22
  14. package/.editorconfig +0 -10
  15. package/.eslintignore +0 -3
  16. package/.eslintrc.json +0 -26
  17. package/.flowconfig +0 -5
  18. package/.github/ISSUE_TEMPLATE.md +0 -28
  19. package/.github/PULL_REQUEST_TEMPLATE.md +0 -12
  20. package/.github/workflows/run_canary_full_flow.yaml +0 -28
  21. package/.github/workflows/run_prod.yaml +0 -24
  22. package/.github/workflows/run_tests.yaml +0 -24
  23. package/.prettierignore +0 -7
  24. package/.prettierrc +0 -12
  25. package/docs/configuration.md +0 -225
  26. package/karma.conf.js +0 -42
  27. package/src/entities/bumper.js +0 -23
  28. package/src/entities/drm.js +0 -46
  29. package/src/entities/entry-list.js +0 -15
  30. package/src/entities/image-source.js +0 -37
  31. package/src/entities/media-entry.js +0 -96
  32. package/src/entities/media-format.js +0 -46
  33. package/src/entities/media-source.js +0 -70
  34. package/src/entities/media-sources.js +0 -79
  35. package/src/entities/playlist.js +0 -37
  36. package/src/index.html +0 -11
  37. package/src/k-provider/common/base-provider-parser.js +0 -0
  38. package/src/k-provider/common/base-provider.js +0 -110
  39. package/src/k-provider/common/base-service-result.js +0 -57
  40. package/src/k-provider/common/data-loader-manager.js +0 -115
  41. package/src/k-provider/common/multi-request-builder.js +0 -112
  42. package/src/k-provider/common/response-types/kaltura-access-control-message.js +0 -22
  43. package/src/k-provider/common/response-types/kaltura-drm-playback-plugin-data.js +0 -39
  44. package/src/k-provider/ott/config.js +0 -22
  45. package/src/k-provider/ott/index.js +0 -15
  46. package/src/k-provider/ott/loaders/asset-list-loader.js +0 -68
  47. package/src/k-provider/ott/loaders/asset-loader.js +0 -69
  48. package/src/k-provider/ott/loaders/data-loader-manager.js +0 -15
  49. package/src/k-provider/ott/loaders/session-loader.js +0 -62
  50. package/src/k-provider/ott/provider-parser.js +0 -282
  51. package/src/k-provider/ott/provider.js +0 -242
  52. package/src/k-provider/ott/response-types/kaltura-asset.js +0 -79
  53. package/src/k-provider/ott/response-types/kaltura-bumper-playback-plugin-data.js +0 -28
  54. package/src/k-provider/ott/response-types/kaltura-playback-context.js +0 -74
  55. package/src/k-provider/ott/response-types/kaltura-playback-source.js +0 -63
  56. package/src/k-provider/ott/response-types/kaltura-rule-action.js +0 -26
  57. package/src/k-provider/ott/services/asset-service.js +0 -50
  58. package/src/k-provider/ott/services/bookmark/bookmark-service.js +0 -49
  59. package/src/k-provider/ott/services/bookmark/index.js +0 -12
  60. package/src/k-provider/ott/services/ott-service.js +0 -34
  61. package/src/k-provider/ott/services/user-service.js +0 -32
  62. package/src/k-provider/ovp/config.js +0 -28
  63. package/src/k-provider/ovp/external-captions-builder.js +0 -38
  64. package/src/k-provider/ovp/index.js +0 -13
  65. package/src/k-provider/ovp/loaders/data-loader-manager.js +0 -17
  66. package/src/k-provider/ovp/loaders/entry-list-loader.js +0 -69
  67. package/src/k-provider/ovp/loaders/media-entry-loader.js +0 -84
  68. package/src/k-provider/ovp/loaders/playlist-loader.js +0 -66
  69. package/src/k-provider/ovp/loaders/session-loader.js +0 -62
  70. package/src/k-provider/ovp/loaders/ui-config-loader.js +0 -71
  71. package/src/k-provider/ovp/play-source-url-builder.js +0 -60
  72. package/src/k-provider/ovp/provider-parser.js +0 -451
  73. package/src/k-provider/ovp/provider.js +0 -344
  74. package/src/k-provider/ovp/regex-action-handler.js +0 -147
  75. package/src/k-provider/ovp/request-params/base-entry-response-profile.js +0 -29
  76. package/src/k-provider/ovp/response-types/index.js +0 -18
  77. package/src/k-provider/ovp/response-types/kaltura-access-control-modify-request-host-regex-action.js +0 -36
  78. package/src/k-provider/ovp/response-types/kaltura-base-entry-list-response.js +0 -31
  79. package/src/k-provider/ovp/response-types/kaltura-bumper.js +0 -26
  80. package/src/k-provider/ovp/response-types/kaltura-flavor-asset.js +0 -109
  81. package/src/k-provider/ovp/response-types/kaltura-media-entries.js +0 -23
  82. package/src/k-provider/ovp/response-types/kaltura-media-entry.js +0 -141
  83. package/src/k-provider/ovp/response-types/kaltura-metadata-list-response.js +0 -23
  84. package/src/k-provider/ovp/response-types/kaltura-metadata.js +0 -51
  85. package/src/k-provider/ovp/response-types/kaltura-playback-context.js +0 -96
  86. package/src/k-provider/ovp/response-types/kaltura-playback-source.js +0 -90
  87. package/src/k-provider/ovp/response-types/kaltura-playlist.js +0 -35
  88. package/src/k-provider/ovp/response-types/kaltura-rule-action.js +0 -28
  89. package/src/k-provider/ovp/response-types/kaltura-ui-conf-response.js +0 -90
  90. package/src/k-provider/ovp/services/analytics/analytics-service.js +0 -57
  91. package/src/k-provider/ovp/services/analytics/index.js +0 -12
  92. package/src/k-provider/ovp/services/base-entry-service.js +0 -76
  93. package/src/k-provider/ovp/services/meta-data-service.js +0 -30
  94. package/src/k-provider/ovp/services/ovp-service.js +0 -33
  95. package/src/k-provider/ovp/services/playlist-service.js +0 -63
  96. package/src/k-provider/ovp/services/session-service.js +0 -28
  97. package/src/k-provider/ovp/services/stats/index.js +0 -12
  98. package/src/k-provider/ovp/services/stats/stats-service.js +0 -33
  99. package/src/k-provider/ovp/services/ui-conf-service.js +0 -33
  100. package/src/util/clone.js +0 -23
  101. package/src/util/error/category.js +0 -12
  102. package/src/util/error/code.js +0 -79
  103. package/src/util/error/error.js +0 -48
  104. package/src/util/error/severity.js +0 -23
  105. package/src/util/logger.js +0 -108
  106. package/src/util/param.js +0 -45
  107. package/src/util/request-builder.js +0 -187
  108. package/src/util/xml-parser.js +0 -40
  109. package/test/.eslintrc.json +0 -9
  110. package/test/setup/karma.js +0 -5
  111. package/test/setup/load-specs.js +0 -13
  112. package/test/setup/prepare-test-environment.js +0 -17
  113. package/test/src/k-provider/ott/be-data.js +0 -3306
  114. package/test/src/k-provider/ott/media-config-data.js +0 -793
  115. package/test/src/k-provider/ott/provider-parser.spec.js +0 -30
  116. package/test/src/k-provider/ott/provider.spec.js +0 -384
  117. package/test/src/k-provider/ott/services/bookmark-service.spec.js +0 -38
  118. package/test/src/k-provider/ovp/be-data.js +0 -3932
  119. package/test/src/k-provider/ovp/external-captions-builder.spec.js +0 -59
  120. package/test/src/k-provider/ovp/media-config-data.js +0 -1509
  121. package/test/src/k-provider/ovp/playback-sources-data.js +0 -229
  122. package/test/src/k-provider/ovp/provider-parser-data.js +0 -142
  123. package/test/src/k-provider/ovp/provider-parser.spec.js +0 -96
  124. package/test/src/k-provider/ovp/provider.spec.js +0 -1075
  125. package/test/src/k-provider/ovp/regex-action-handler-data.js +0 -794
  126. package/test/src/k-provider/ovp/regex-action-handler.spec.js +0 -93
  127. package/test/src/k-provider/ovp/services/analytics-service.spec.js +0 -62
  128. package/test/src/k-provider/ovp/services/stats-service.spec.js +0 -37
  129. package/test/src/util/param.spec.js +0 -23
  130. package/webpack.config.js +0 -85
package/.babelrc DELETED
@@ -1,22 +0,0 @@
1
- {
2
- "env": {
3
- "test": {
4
- "plugins": ["istanbul"]
5
- }
6
- },
7
- "ignore": ["node_modules/**/*"],
8
- "plugins": ["@babel/plugin-transform-flow-strip-types", "@babel/plugin-proposal-class-properties"],
9
- "presets": [
10
- [
11
- "@babel/preset-env",
12
- {
13
- "loose": true,
14
- "bugfixes": true,
15
- "targets": {
16
- "browsers": ["chrome >= 47", "firefox >= 51", "ie >= 11", "safari >= 8", "ios >= 8", "android >= 4"]
17
- }
18
- }
19
- ],
20
- "@babel/preset-flow"
21
- ]
22
- }
package/.editorconfig DELETED
@@ -1,10 +0,0 @@
1
- # http://editorconfig.org
2
- root = true
3
-
4
- [*]
5
- charset = utf-8
6
- indent_size = 2
7
- end_of_line = lf
8
- indent_style = space
9
- insert_final_newline = true
10
- trim_trailing_whitespace = true
package/.eslintignore DELETED
@@ -1,3 +0,0 @@
1
- /flow-typed/**/*.js
2
- /coverage
3
- /dist
package/.eslintrc.json DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "parser": "babel-eslint",
3
- "extends": ["eslint:recommended", "plugin:flowtype/recommended"],
4
- "plugins": ["prettier", "import", "flowtype", "mocha-no-only"],
5
- "env": {
6
- "browser": true,
7
- "es6": true,
8
- "mocha": true,
9
- "amd": true,
10
- "commonjs": true
11
- },
12
- "globals": {
13
- "should": true,
14
- "sinon": true,
15
- "__VERSION__": true,
16
- "__NAME__": true,
17
- "process": true,
18
- "__dirname": true
19
- },
20
- "rules": {
21
- "prettier/prettier": "error",
22
- "mocha-no-only/mocha-no-only": "off",
23
- "require-jsdoc": ["error"],
24
- "valid-jsdoc": ["error"]
25
- }
26
- }
package/.flowconfig DELETED
@@ -1,5 +0,0 @@
1
- [ignore]
2
- .*/node_modules/.*
3
- [include]
4
- [options]
5
- esproposal.optional_chaining=enable
@@ -1,28 +0,0 @@
1
- <!-- If you are raising a bug playing a stream, you must fill out the following or your issue may not be responded to. For features or improvements, you may delete this. -->
2
-
3
- ##### Prerequisites
4
-
5
- - [ ] Have you checked for duplicate [issues](https://github.com/kaltura/playkit-js-providers/issues): **\_\_**
6
- - [ ] Which Plugin [version](https://github.com/kaltura/playkit-js-providers/releases) are you using: **\_\_**
7
- - [ ] Can you reproduce the issue with our latest release version: **\_\_**
8
- - [ ] Can you reproduce the issue with the latest code from master: **\_\_**
9
- - [ ] What browser and OS names and versions are you using: **\_\_**
10
- - [ ] If applicable, add test code or test page to reproduce:
11
-
12
- ```
13
- Paste test code here
14
- ```
15
-
16
- ##### Expected behavior
17
-
18
- What you expected to happen
19
-
20
- ##### Actual behavior
21
-
22
- What actually happened
23
-
24
- ##### Console output
25
-
26
- ```
27
- Paste the contents of the browser console here.
28
- ```
@@ -1,12 +0,0 @@
1
- ### Description of the Changes
2
-
3
- Please add a detailed description of the change, whether it's an enhancement or a bugfix.
4
- If the PR is related to an open issue please link to it.
5
-
6
- ### CheckLists
7
-
8
- - [ ] changes have been done against master branch, and PR does not conflict
9
- - [ ] new unit / functional tests have been added (whenever applicable)
10
- - [ ] test are passing in local environment
11
- - [ ] Travis tests are passing (or test results are not worse than on master branch :))
12
- - [ ] Docs have been updated
@@ -1,28 +0,0 @@
1
- ## Canary CI/CD
2
- name: Canary Full Flow
3
- run-name: Canary Full Flow
4
-
5
- on:
6
- push:
7
- branches:
8
- - master
9
-
10
- jobs:
11
- canary-full-flow:
12
- if: ${{ github.actor != 'PlaykitJs-Bot' }}
13
- uses: kaltura/ovp-pipelines-pub/.github/workflows/player_cicd.yaml@v1.0.0
14
- secrets:
15
- PLAYER_CENTRAL_ACCOUNT_ID: ${{ secrets.PLAYER_CENTRAL_ACCOUNT_ID }}
16
- PLAYER_SERVICES_ACCOUNT_ID: ${{ secrets.PLAYER_SERVICES_ACCOUNT_ID }}
17
- PLAYER_S3_BUCKET_DEPLOYMENT: ${{ secrets.PLAYER_S3_BUCKET_DEPLOYMENT }}
18
- PLAYER_S3_BUCKET_APPS: ${{ secrets.PLAYER_S3_BUCKET_APPS }}
19
- PLAYER_NPM_TOKEN: ${{ secrets.PLAYER_NPM_TOKEN }}
20
- PLAYER_LAMBDA_NAME: ${{ secrets.PLAYER_LAMBDA_NAME }}
21
- PLAYER_MSTEAMS_WEBHOOK: ${{ secrets.PLAYER_MSTEAMS_WEBHOOK }}
22
- PLAYER_GITHUB_BOT_TOKEN: ${{ secrets.PLAYER_GITHUB_BOT_TOKEN }}
23
- with:
24
- type: "dependency"
25
- stage: "canary"
26
- schema-type: "playerV3Versions"
27
- tests-yarn-run-to-execute: 'eslint flow test'
28
-
@@ -1,24 +0,0 @@
1
- ## Prod CI
2
- name: Prod
3
- run-name: Prod
4
-
5
- on:
6
- workflow_dispatch:
7
-
8
- jobs:
9
- prod:
10
- uses: kaltura/ovp-pipelines-pub/.github/workflows/player_cicd.yaml@v1.0.0
11
- secrets:
12
- PLAYER_CENTRAL_ACCOUNT_ID: ${{ secrets.PLAYER_CENTRAL_ACCOUNT_ID }}
13
- PLAYER_SERVICES_ACCOUNT_ID: ${{ secrets.PLAYER_SERVICES_ACCOUNT_ID }}
14
- PLAYER_S3_BUCKET_DEPLOYMENT: ${{ secrets.PLAYER_S3_BUCKET_DEPLOYMENT }}
15
- PLAYER_S3_BUCKET_APPS: ${{ secrets.PLAYER_S3_BUCKET_APPS }}
16
- PLAYER_NPM_TOKEN: ${{ secrets.PLAYER_NPM_TOKEN }}
17
- PLAYER_LAMBDA_NAME: ${{ secrets.PLAYER_LAMBDA_NAME }}
18
- PLAYER_MSTEAMS_WEBHOOK: ${{ secrets.PLAYER_MSTEAMS_WEBHOOK }}
19
- PLAYER_GITHUB_BOT_TOKEN: ${{ secrets.PLAYER_GITHUB_BOT_TOKEN }}
20
- with:
21
- type: "dependency"
22
- env: "prod"
23
- schema-type: "playerV3Versions"
24
- tests-yarn-run-to-execute: 'eslint flow test'
@@ -1,24 +0,0 @@
1
- ## CI - Player And Plugin Tests
2
- name: Player And Plugin Tests
3
- run-name: Player And Plugin Tests
4
-
5
- on:
6
- pull_request:
7
- branches:
8
- - "*"
9
-
10
- jobs:
11
- running-tests:
12
- uses: kaltura/ovp-pipelines-pub/.github/workflows/player_tests.yaml@v1.0.0
13
- with:
14
- yarn-run-to-execute: 'eslint flow test'
15
- notification:
16
- if: always()
17
- uses: kaltura/ovp-pipelines-pub/.github/workflows/notification.yaml@v1.0.0
18
- needs: running-tests
19
- secrets:
20
- PLAYER_MSTEAMS_WEBHOOK: ${{ secrets.PLAYER_MSTEAMS_WEBHOOK }}
21
- with:
22
- failure-status: ${{ contains(needs.*.result, 'failure') }}
23
- cancelled-status: ${{ contains(needs.*.result, 'cancelled') }}
24
- is-test: 'true'
package/.prettierignore DELETED
@@ -1,7 +0,0 @@
1
- /dist
2
- /src/index.html
3
- CHANGELOG.md
4
- yarn.lock
5
- yarn-error.log
6
- LICENSE
7
- coverage
package/.prettierrc DELETED
@@ -1,12 +0,0 @@
1
- {
2
- "printWidth": 150,
3
- "tabWidth": 2,
4
- "useTabs": false,
5
- "semi": true,
6
- "singleQuote": true,
7
- "trailingComma": "none",
8
- "bracketSpacing": false,
9
- "jsxBracketSameLine": true,
10
- "arrowParens": "avoid",
11
- "proseWrap": "preserve"
12
- }
@@ -1,225 +0,0 @@
1
- ## Configuration
2
-
3
- Configuration parameters are provided upon instantiation of the provider instance.
4
-
5
- #### OVP
6
-
7
- ```js
8
- var config = {
9
- // Configuration here
10
- };
11
- var provider = new playkit.providers.ovp.Provider(config);
12
- ```
13
-
14
- #### Cloud TV
15
-
16
- ```js
17
- var config = {
18
- // Configuration here
19
- };
20
- var provider = new playkit.providers.ott.Provider(config);
21
- ```
22
-
23
- ### Configuration Structure
24
-
25
- ```js
26
- {
27
- partnerId: number,
28
- logger?: LoggerType, // optional
29
- ks: string, // optional
30
- uiConfId: number, // optional
31
- env: ProviderEnvConfigObject, // optional
32
- networkRetryParameters: ProviderNetworkRetryParameters, // optional
33
- filterOptions: ProviderFilterOptionsObject, // optional
34
- ignoreServerConfig: boolean, // optional
35
- loadThumbnailWithKs: boolean // optional
36
- }
37
- ```
38
-
39
- ##
40
-
41
- > ### config.log
42
- >
43
- > ##### Type: `Object`
44
- >
45
- > ### config.log.level
46
- >
47
- > ##### Type: `string`
48
- >
49
- > ##### Default: `"ERROR"`
50
- >
51
- > ##### Description: Defines the provider log level.
52
- >
53
- > Possible values: `"DEBUG", "INFO", "TIME", "WARN", "ERROR", "OFF"`
54
- >
55
- > ### config.log.handler
56
- >
57
- > ##### Type: `function`
58
- >
59
- > ##### Description: Defines the log handler function by default will write to console.
60
-
61
- ##
62
-
63
- > ### config.partnerId
64
- >
65
- > ##### Type: `number`
66
- >
67
- > ##### Default: `-`
68
- >
69
- > ##### Description: Defines the customer's partner ID.
70
-
71
- ##
72
-
73
- > ### config.ks
74
- >
75
- > ##### Type: `string`
76
- >
77
- > ##### Default: `''`
78
- >
79
- > ##### Description: Defines the customer's unique KS.
80
-
81
- ##
82
-
83
- > ### config.uiConfId
84
- >
85
- > ##### Type: `number`
86
- >
87
- > ##### Default: `-`
88
- >
89
- > ##### Description: Defines the customer's UI config ID.
90
-
91
- ##
92
-
93
- > ### config.env
94
- >
95
- > ##### Type: `ProviderEnvConfigObject`
96
- >
97
- > ```js
98
- > {
99
- > serviceUrl: string,
100
- > cdnUrl: string,
101
- > useApiCaptions: boolean,
102
- > replaceHostOnlyManifestUrls: boolean // optional
103
- > }
104
- > ```
105
- >
106
- > ##### Default:
107
- >
108
- > **OVP**
109
- >
110
- > ```js
111
- > {
112
- > serviceUrl: "//www.kaltura.com/api_v3",
113
- > cdnUrl: "//cdnapisec.kaltura.com",
114
- > useApiCaptions: true,
115
- > replaceHostOnlyManifestUrls: false
116
- > }
117
- > ```
118
- >
119
- > **Cloud TV**
120
- >
121
- > ```js
122
- > {
123
- > serviceUrl: "//api-preprod.ott.kaltura.com/v4_6/api_v3",
124
- > cdnUrl: "//api-preprod.ott.kaltura.com/v4_7"
125
- > }
126
- > ```
127
- >
128
- > ##### Description: Defines the server environment to run against.
129
- >
130
- > > ### config.env.useApiCaptions
131
- > >
132
- > > ##### Type: `boolean`
133
- > >
134
- > > ##### Default: true
135
- > >
136
- > > ##### Description: Show captions on platforms that don't support inband captions (for example: playing using Flash). This flag is for the OVP provider, and can be turned off by setting its value to `false`.
137
- >
138
- > > ### config.env.replaceHostOnlyManifestUrls
139
- > >
140
- > > ##### Type: `boolean`
141
- > >
142
- > > ##### Default: false
143
- > >
144
- > > ##### Description: Defines whether to replace host only for play manifest URLs or to replace also for captions and poster URLs. This flag is for OVP provider, and can be turned on by setting its value to `true`.
145
-
146
- ##
147
-
148
- > ### config.networkRetryParameters
149
- >
150
- > ##### Type: `ProviderNetworkRetryParameters`
151
- >
152
- > ```js
153
- > {
154
- > async?: boolean,
155
- > timeout?: number,
156
- > maxAttempts?: number
157
- > }
158
- > ```
159
- >
160
- > > ### config.networkRetryParameters.async
161
- > >
162
- > > ##### Type: `boolean`
163
- > >
164
- > > ##### Default: `true`
165
- > >
166
- > > ##### Description: Defines whether or not to perform the request operation asynchronously.
167
- >
168
- > ##
169
- >
170
- > > ### config.networkRetryParameters.timeout
171
- > >
172
- > > ##### Type: `number`
173
- > >
174
- > > ##### Default: `0` - This means it will use the browser default timeout.
175
- > >
176
- > > ##### Description: Defines the timeout for provider requests in milliseconds.
177
- >
178
- > ##
179
- >
180
- > > ### config.networkRetryParameters.maxAttempts
181
- > >
182
- > > ##### Type: `number`
183
- > >
184
- > > ##### Default: `4`
185
- > >
186
- > > ##### Description: Defines the number of attemps the provider should try make a request before the request fails.
187
-
188
- > ### config.filterOptions
189
- >
190
- > ##### Type: `ProviderFilterOptionsObject`
191
- >
192
- > ```js
193
- > {
194
- > redirectFromEntryId: boolean;
195
- > }
196
- > ```
197
- >
198
- > ##### Default:
199
- >
200
- > ```js
201
- > {
202
- > redirectFromEntryId: true;
203
- > }
204
- > ```
205
- >
206
- > ##### Description: Defines whether after a livestream ends there should be a redirect to the VOD entry or not.
207
-
208
- > ##
209
- >
210
- > ### config.ignoreServerConfig
211
- >
212
- > ##### Type: `boolean`
213
- >
214
- >
215
- > ##### Description: Instructs the player to ignore the server configuration.
216
-
217
- > ##
218
- >
219
- > ### config.loadThumbnailWithKs
220
- >
221
- > ##### Type: `boolean`
222
- >
223
- > ##### Default: `false`
224
- >
225
- > ##### Description: Defines whether to add KS to OVP thumbnail API request or not.>
package/karma.conf.js DELETED
@@ -1,42 +0,0 @@
1
- // Create custom launcher in case running with Travis
2
- const launchers = {
3
- Chrome_browser: {
4
- base: 'ChromeHeadless',
5
- flags: ['--no-sandbox']
6
- }
7
- };
8
-
9
- module.exports = function (config) {
10
- let karmaConf = {
11
- logLevel: config.LOG_INFO,
12
- browsers: [],
13
- concurrency: 1,
14
- singleRun: true,
15
- colors: true,
16
- frameworks: ['mocha'],
17
- files: ['node_modules/regenerator-runtime/runtime.js', 'test/setup/karma.js'],
18
- preprocessors: {
19
- 'src/**/*.js': ['webpack', 'sourcemap'],
20
- 'test/setup/karma.js': ['webpack', 'sourcemap']
21
- },
22
- reporters: ['mocha', 'coverage'],
23
- webpack: {
24
- ...require('./webpack.config.js')[0],
25
- externals: {}, //Need to remove externals otherwise they won't be included in test
26
- devtool: 'inline-source-map', // Need to define inline source maps when using karma
27
- mode: config.mode || 'development' // run in development mode by default to avoid minifying -> faster
28
- },
29
- webpackServer: {
30
- noInfo: true
31
- },
32
- client: {
33
- mocha: {
34
- reporter: 'html'
35
- }
36
- }
37
- };
38
-
39
- karmaConf.customLaunchers = launchers;
40
- karmaConf.browsers = ['Chrome_browser'];
41
- config.set(karmaConf);
42
- };
@@ -1,23 +0,0 @@
1
- //@flow
2
-
3
- export default class Bumper {
4
- /**
5
- * @member - bumper url
6
- * @type {string}
7
- */
8
- url: string;
9
- /**
10
- * @member - bumper click through url
11
- * @type {string}
12
- */
13
- clickThroughUrl: string;
14
-
15
- /**
16
- * @constructor
17
- * @param {Object} data - The bumper response
18
- */
19
- constructor(data: Object) {
20
- this.url = data.url;
21
- this.clickThroughUrl = data.clickThroughUrl;
22
- }
23
- }
@@ -1,46 +0,0 @@
1
- //@flow
2
- export default class Drm {
3
- /**
4
- * @member - license url
5
- * @type {string}
6
- */
7
- licenseUrl: string;
8
- /**
9
- * @member - drm scheme
10
- * @type {string}
11
- */
12
- scheme: string;
13
-
14
- /**
15
- * @member - drm certificate
16
- * @type {string}
17
- */
18
- certificate: string;
19
-
20
- /**
21
- * @constructor
22
- * @param {string} licenseUrl - the license url
23
- * @param {string} scheme - the drm scheme
24
- * @param {?string} certificate - the drm certificate
25
- */
26
- constructor(licenseUrl: string, scheme: string, certificate: ?string) {
27
- this.licenseUrl = licenseUrl;
28
- this.scheme = scheme;
29
- if (certificate) {
30
- this.certificate = certificate;
31
- }
32
- }
33
-
34
- /**
35
- * Convert class to native js object.
36
- * @returns {ProviderDrmDataObject} - The json class object.
37
- */
38
- toJSON(): ProviderDrmDataObject {
39
- const response: ProviderDrmDataObject = {
40
- licenseUrl: this.licenseUrl,
41
- scheme: this.scheme
42
- };
43
- if (this.certificate) response.certificate = this.certificate;
44
- return response;
45
- }
46
- }
@@ -1,15 +0,0 @@
1
- //@flow
2
-
3
- import MediaEntry from '../entities/media-entry';
4
-
5
- export default class EntryList {
6
- /**
7
- * @member - entry list items
8
- * @type {Array<MediaEntry>}
9
- */
10
- items: Array<MediaEntry>;
11
-
12
- constructor() {
13
- this.items = [];
14
- }
15
- }
@@ -1,37 +0,0 @@
1
- //@flow
2
-
3
- const BASE_THUMBNAIL_URL_TEMPLATE = '.+entry_id/[a-zA-Z0-9_]+/';
4
-
5
- export default class ImageSource {
6
- /**
7
- * @member - media source id
8
- * @type {string}
9
- */
10
- id: string;
11
- /**
12
- * @member - media source url
13
- * @type {string}
14
- */
15
- url: string;
16
- /**
17
- * @member - media source mimetype
18
- * @type {string}
19
- */
20
- mimetype: string;
21
-
22
- constructor(entry: Object) {
23
- this.id = entry.id;
24
- this.url = ImageSource.extractBaseThumbnailUrl(entry.dataUrl);
25
- this.mimetype = '';
26
- }
27
-
28
- /**
29
- * Extract the base thumbnail url.
30
- * @param {string} url - dataUrl.
31
- * @returns {string} - The base thumbnail url.
32
- */
33
- static extractBaseThumbnailUrl(url: string): string {
34
- // $FlowFixMe
35
- return url.match(BASE_THUMBNAIL_URL_TEMPLATE)[0].slice(0, -1);
36
- }
37
- }