@playkit-js/playkit-js-providers 2.41.0-canary.0-2452bbc → 2.41.0-canary.0-3d6d02a

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 (44) hide show
  1. package/analytics-service/package.json +6 -0
  2. package/bookmark-service/package.json +6 -0
  3. package/dist/analytics-service.d.ts +160 -0
  4. package/dist/bookmark-service.d.ts +157 -0
  5. package/dist/ott-provider.d.ts +545 -0
  6. package/dist/{index.d.ts → ovp-provider.d.ts} +102 -120
  7. package/dist/playkit-analytics-service.js +1 -1
  8. package/dist/playkit-analytics-service.js.map +1 -1
  9. package/dist/playkit-bookmark-service.js +1 -1
  10. package/dist/playkit-bookmark-service.js.map +1 -1
  11. package/dist/playkit-ott-provider.js +1 -1
  12. package/dist/playkit-ott-provider.js.map +1 -1
  13. package/dist/playkit-ovp-provider.js +1 -1
  14. package/dist/playkit-ovp-provider.js.map +1 -1
  15. package/dist/playkit-stats-service.js +1 -1
  16. package/dist/playkit-stats-service.js.map +1 -1
  17. package/dist/stats-service.d.ts +159 -0
  18. package/dist/tsdoc-metadata.json +1 -1
  19. package/dist/types.d.ts +391 -0
  20. package/ott-provider/package.json +6 -0
  21. package/ovp-provider/package.json +6 -0
  22. package/package.json +29 -21
  23. package/src/entities/document-source.ts +31 -0
  24. package/src/entities/media-entry.ts +2 -1
  25. package/src/entities/media-sources.ts +6 -1
  26. package/src/k-provider/common/base-provider.ts +14 -3
  27. package/src/k-provider/ott/provider.ts +1 -0
  28. package/src/k-provider/ovp/loaders/media-entry-loader.ts +4 -4
  29. package/src/k-provider/ovp/provider-parser.ts +22 -2
  30. package/src/k-provider/ovp/provider.ts +9 -5
  31. package/src/k-provider/ovp/regex-action-handler.ts +51 -44
  32. package/src/k-provider/ovp/response-types/kaltura-media-entries.ts +1 -7
  33. package/src/k-provider/ovp/services/base-entry-service.ts +2 -2
  34. package/src/types/index.ts +0 -8
  35. package/src/types/media-config-sources.ts +2 -0
  36. package/src/types/media-sources.ts +2 -0
  37. package/src/types/provider-options.ts +1 -0
  38. package/stats-service/package.json +6 -0
  39. package/types/package.json +5 -0
  40. package/playkit-analytics-service/package.json +0 -5
  41. package/playkit-bookmark-service/package.json +0 -5
  42. package/playkit-ott-provider/package.json +0 -5
  43. package/playkit-ovp-provider/package.json +0 -5
  44. package/playkit-stats-service/package.json +0 -5
@@ -0,0 +1,545 @@
1
+ declare type AdapterDataConfig = {
2
+ [key: string]: {
3
+ value: string;
4
+ objectType?: string;
5
+ };
6
+ };
7
+
8
+ declare class BaseProvider<MI> {
9
+ private _partnerId;
10
+ private _widgetId?;
11
+ private _ks;
12
+ private _uiConfId?;
13
+ _dataLoader: DataLoaderManager;
14
+ private _playerVersion;
15
+ _logger: any;
16
+ _referrer?: string;
17
+ protected _isAnonymous: boolean;
18
+ _networkRetryConfig: ProviderNetworkRetryParameters;
19
+ get partnerId(): number;
20
+ get widgetId(): string;
21
+ get defaultWidgetId(): string;
22
+ get uiConfId(): number | undefined;
23
+ get ks(): string;
24
+ set ks(value: string);
25
+ get playerVersion(): string;
26
+ get isAnonymous(): boolean;
27
+ constructor(options: ProviderOptionsObject, playerVersion: string);
28
+ getMediaConfig(mediaInfo: MI): Promise<ProviderMediaConfigObject>;
29
+ getPlaylistConfig(playlistInfo: ProviderPlaylistInfoObject): Promise<ProviderPlaylistObject>;
30
+ getEntryListConfig(entryListInfo: ProviderEntryListObject): Promise<ProviderPlaylistObject>;
31
+ protected _verifyHasSources(sources: ProviderMediaConfigSourcesObject): void;
32
+ get LogLevel(): LogLevelType;
33
+ getLogLevel(name?: string): any;
34
+ setLogLevel(level: any, name?: string): void;
35
+ }
36
+
37
+ export declare const ContextType: {
38
+ [type: string]: string;
39
+ };
40
+
41
+ declare class DataLoaderManager {
42
+ /**
43
+ * @member - Loaders response map index
44
+ * @type {Map<string,Array<number>>}
45
+ * @private
46
+ */
47
+ private _loadersResponseMap;
48
+ /**
49
+ * @member - Loaders multi request
50
+ * @type {MultiRequestBuilder}
51
+ * @protected
52
+ */
53
+ protected _multiRequest: MultiRequestBuilder;
54
+ /**
55
+ * @member - Loaders multi response
56
+ * @type {MultiRequestResult}
57
+ * @private
58
+ */
59
+ private _multiResponse;
60
+ /**
61
+ * @member - Loaders to execute
62
+ * @type {Map<string,Function>}
63
+ * @private
64
+ */
65
+ private _loaders;
66
+ private _networkRetryConfig;
67
+ constructor(networkRetryConfig: ProviderNetworkRetryParameters);
68
+ /**
69
+ * Add loader to execution loaders map
70
+ * @function
71
+ * @param {Function} loader Loader to add
72
+ * @param {Object} params Loader params
73
+ * @param {string} ks ks
74
+ * @returns {void}
75
+ */
76
+ add(loader: {
77
+ new (...params: any[]): ILoader;
78
+ id: string;
79
+ }, params: any, ks?: string): void;
80
+ /**
81
+ * Get data from all loaders using multi request
82
+ * @param {boolean} requestsMustSucceed whether all of the requests must succeed or not
83
+ * @function
84
+ * @returns {Promise} Promise
85
+ */
86
+ fetchData(requestsMustSucceed?: boolean): Promise<any>;
87
+ /**
88
+ * Prepare fetched data
89
+ * @function
90
+ * @param {MultiRequestResult} response - The multi request result
91
+ * @returns {Object} - The prepared data
92
+ */
93
+ prepareData(response: MultiRequestResult): any;
94
+ }
95
+
96
+ declare class DocumentSource {
97
+ /**
98
+ * @member - media source id
99
+ * @type {string}
100
+ */
101
+ id: string;
102
+ /**
103
+ * @member - media source url
104
+ * @type {string}
105
+ */
106
+ url: string;
107
+ /**
108
+ * @member - thumbnail url
109
+ * @type {string}
110
+ */
111
+ thumbnailUrl: string;
112
+ /**
113
+ * @member - media source mimetype
114
+ * @type {string}
115
+ */
116
+ mimetype: string;
117
+ constructor(entry: any);
118
+ }
119
+
120
+ declare interface ILoader {
121
+ requests: Array<RequestBuilder>;
122
+ response: any;
123
+ isValid(): boolean;
124
+ }
125
+
126
+ declare class ImageSource {
127
+ /**
128
+ * @member - media source id
129
+ * @type {string}
130
+ */
131
+ id: string;
132
+ /**
133
+ * @member - media source url
134
+ * @type {string}
135
+ */
136
+ url: string;
137
+ /**
138
+ * @member - media source mimetype
139
+ * @type {string}
140
+ */
141
+ mimetype: string;
142
+ constructor(entry: any);
143
+ /**
144
+ * Extract the base thumbnail url.
145
+ * @param {string} url - dataUrl.
146
+ * @returns {string} - The base thumbnail url.
147
+ */
148
+ static extractBaseThumbnailUrl(url: string): string;
149
+ }
150
+
151
+ declare type loggerFunctionType = {
152
+ VERSION: string;
153
+ DEBUG: LogLevelObject;
154
+ ERROR: LogLevelObject;
155
+ INFO: LogLevelObject;
156
+ OFF: LogLevelObject;
157
+ TIME: LogLevelObject;
158
+ TRACE: LogLevelObject;
159
+ WARN: LogLevelObject;
160
+ createDefaultHandler: () => any;
161
+ debug: () => any;
162
+ enabledFor: () => any;
163
+ error: () => any;
164
+ get: () => any;
165
+ getLevel: () => any;
166
+ info: () => any;
167
+ log: () => any;
168
+ setHandler: () => any;
169
+ setLevel: () => any;
170
+ time: () => any;
171
+ timeEnd: () => any;
172
+ trace: () => any;
173
+ useDefaults: () => any;
174
+ warn: () => any;
175
+ };
176
+
177
+ declare type LoggerType = {
178
+ getLogger: loggerFunctionType;
179
+ LogLevel: LogLevelType;
180
+ };
181
+
182
+ declare type LogLevelObject = {
183
+ value: number;
184
+ name: string;
185
+ };
186
+
187
+ declare type LogLevelType = {
188
+ [level: string]: LogLevelObject;
189
+ };
190
+
191
+ export declare const MediaType: {
192
+ [type: string]: string;
193
+ };
194
+
195
+ declare class MultiRequestBuilder extends RequestBuilder {
196
+ private static _logger;
197
+ /**
198
+ * @memberof - MultiRequestBuilder
199
+ * @type {Array<RequestBuilder>}
200
+ */
201
+ requests: Array<RequestBuilder>;
202
+ /**
203
+ * Adds request to requests array
204
+ * @function add
205
+ * @param {RequestBuilder} request The request
206
+ * @returns {MultiRequestBuilder} The multiRequest
207
+ */
208
+ add(request: RequestBuilder): MultiRequestBuilder;
209
+ /**
210
+ * Executes a multi request
211
+ * @function execute
212
+ * @param {boolean} requestsMustSucceed whether all of the requests must succeed or not
213
+ * @returns {Promise} The multirequest execution promise
214
+ */
215
+ execute(requestsMustSucceed?: boolean): Promise<any>;
216
+ }
217
+
218
+ declare class MultiRequestResult {
219
+ private static _logger;
220
+ /**
221
+ * @memberof MultiRequestResult
222
+ * @type {boolean}
223
+ */
224
+ success: boolean;
225
+ /**
226
+ * @memberof MultiRequestResult
227
+ * @type {Object}
228
+ */
229
+ results: Array<ServiceResult>;
230
+ /**
231
+ * @constructor
232
+ * @param {Object} response data
233
+ * @param {boolean} requestsMustSucceed whether all of the requests must succeed
234
+ */
235
+ constructor(response: any, requestsMustSucceed?: boolean);
236
+ }
237
+
238
+ export declare const NAME: string;
239
+
240
+ declare type OTTProviderMediaInfoObject = OVPProviderMediaInfoObject & {
241
+ mediaType: string;
242
+ contextType: string;
243
+ protocol?: string;
244
+ fileIds?: string;
245
+ streamerType?: string;
246
+ urlType?: string;
247
+ adapterData?: AdapterDataConfig;
248
+ assetReferenceType?: string;
249
+ formats?: Array<string>;
250
+ };
251
+
252
+ declare type OVPProviderMediaInfoObject = {
253
+ entryId?: string;
254
+ referenceId?: string;
255
+ ks?: string;
256
+ };
257
+
258
+ declare type PKExternalCaptionObject = {
259
+ url: string;
260
+ label: string;
261
+ language: string;
262
+ default?: boolean;
263
+ type?: string;
264
+ };
265
+
266
+ export declare class Provider extends BaseProvider<OTTProviderMediaInfoObject> {
267
+ /**
268
+ * @constructor
269
+ * @param {ProviderOptionsObject} options - provider options
270
+ * @param {string} playerVersion - player version
271
+ */
272
+ constructor(options: ProviderOptionsObject, playerVersion: string);
273
+ get env(): any;
274
+ /**
275
+ * Gets the backend media config.
276
+ * @param {OTTProviderMediaInfoObject} mediaInfo - ott media info
277
+ * @returns {Promise<ProviderMediaConfigObject>} - The provider media config
278
+ */
279
+ getMediaConfig(mediaInfo: OTTProviderMediaInfoObject): Promise<ProviderMediaConfigObject>;
280
+ private _parseDataFromResponse;
281
+ /**
282
+ * Gets the playlist config from entry list.
283
+ * @param {ProviderEntryListObject} entryListInfo - ott entry list info
284
+ * @returns {Promise<ProviderPlaylistObject>} - The provider playlist config
285
+ */
286
+ getEntryListConfig(entryListInfo: ProviderEntryListObject): Promise<ProviderPlaylistObject>;
287
+ private _parseEntryListDataFromResponse;
288
+ private _getDefaultSourcesObject;
289
+ private _getSourcesObject;
290
+ }
291
+
292
+ declare type ProviderDrmDataObject = {
293
+ licenseUrl: string;
294
+ scheme: string;
295
+ certificate?: string;
296
+ };
297
+
298
+ declare type ProviderEntryListObject = {
299
+ entries: Array<ProviderMediaInfoObject>;
300
+ ks?: string;
301
+ };
302
+
303
+ declare type ProviderEnvConfigObject = {
304
+ serviceUrl: string;
305
+ cdnUrl?: string;
306
+ analyticsServiceUrl?: string;
307
+ useApiCaptions?: boolean;
308
+ replaceHostOnlyManifestUrls?: boolean;
309
+ };
310
+
311
+ declare type ProviderFilterOptionsObject = {
312
+ redirectFromEntryId?: boolean;
313
+ };
314
+
315
+ declare type ProviderMediaConfigMetadataObject = {
316
+ name: string;
317
+ description?: string;
318
+ mediaType?: string;
319
+ contextType?: string;
320
+ metas?: any;
321
+ tags?: any;
322
+ epgId?: string;
323
+ recordingId?: string;
324
+ updatedAt?: number;
325
+ creatorId?: string;
326
+ views?: number;
327
+ };
328
+
329
+ declare type ProviderMediaConfigObject = {
330
+ session: ProviderMediaConfigSessionObject;
331
+ sources: ProviderMediaConfigSourcesObject;
332
+ plugins: {
333
+ [plugin: string]: any;
334
+ };
335
+ };
336
+
337
+ declare type ProviderMediaConfigSessionObject = {
338
+ partnerId: number;
339
+ uiConfId?: number;
340
+ ks?: string;
341
+ isAnonymous?: boolean;
342
+ };
343
+
344
+ declare type ProviderMediaConfigSourcesObject = {
345
+ dash: Array<ProviderMediaSourceObject>;
346
+ hls: Array<ProviderMediaSourceObject>;
347
+ progressive: Array<ProviderMediaSourceObject>;
348
+ image: Array<ImageSource>;
349
+ document: Array<DocumentSource>;
350
+ duration?: number;
351
+ type: string;
352
+ id?: string;
353
+ poster?: string | Array<any>;
354
+ dvr: boolean;
355
+ vr?: any;
356
+ metadata: ProviderMediaConfigMetadataObject;
357
+ captions?: Array<PKExternalCaptionObject>;
358
+ downloadUrl?: string;
359
+ };
360
+
361
+ declare type ProviderMediaInfoObject = OVPProviderMediaInfoObject | OTTProviderMediaInfoObject;
362
+
363
+ declare type ProviderMediaSourceObject = {
364
+ id: string;
365
+ url: string;
366
+ mimetype: string;
367
+ bandwidth?: number;
368
+ width?: number;
369
+ height?: number;
370
+ label?: string;
371
+ drmData?: Array<ProviderDrmDataObject>;
372
+ };
373
+
374
+ declare type ProviderNetworkRetryParameters = {
375
+ async: boolean;
376
+ timeout?: number;
377
+ maxAttempts?: number;
378
+ };
379
+
380
+ declare type ProviderOptionsObject = {
381
+ partnerId: number;
382
+ widgetId?: string;
383
+ logger?: LoggerType;
384
+ ks?: string;
385
+ uiConfId?: number;
386
+ env?: ProviderEnvConfigObject;
387
+ networkRetryParameters?: ProviderNetworkRetryParameters;
388
+ filterOptions?: ProviderFilterOptionsObject;
389
+ ignoreServerConfig?: boolean;
390
+ loadThumbnailWithKs?: boolean;
391
+ referrer?: string;
392
+ };
393
+
394
+ declare type ProviderPlaylistInfoObject = {
395
+ playlistId: string;
396
+ ks?: string;
397
+ };
398
+
399
+ declare type ProviderPlaylistItemObject = {
400
+ sources: ProviderMediaConfigSourcesObject;
401
+ };
402
+
403
+ declare type ProviderPlaylistMetadataObject = {
404
+ name: string;
405
+ description: string;
406
+ };
407
+
408
+ declare type ProviderPlaylistObject = {
409
+ id: string;
410
+ metadata: ProviderPlaylistMetadataObject;
411
+ poster: string;
412
+ items: Array<ProviderPlaylistItemObject>;
413
+ playlistLastEntryId?: string;
414
+ };
415
+
416
+ declare class RequestBuilder {
417
+ /**
418
+ * @member - Service name
419
+ * @type {string}
420
+ */
421
+ service: string;
422
+ /**
423
+ * @member - Service action
424
+ * @type {string}
425
+ */
426
+ action: string;
427
+ /**
428
+ * @member - Service params
429
+ * @type {any}
430
+ */
431
+ params: any;
432
+ /**
433
+ * @memberof - Service headers
434
+ * @type {Map<string, string>}
435
+ */
436
+ headers: Map<string, string>;
437
+ /**
438
+ * @memberof - Service URL
439
+ * @type {string}
440
+ */
441
+ url: string;
442
+ /**
443
+ * @memberof - Service method (POST,GET,DELETE etc..)
444
+ * @type {string}
445
+ */
446
+ method: string;
447
+ /**
448
+ * @memberof - Service tag
449
+ * @type {string}
450
+ */
451
+ tag: string;
452
+ /**
453
+ * @memberof - the response headers of the arra
454
+ * @type {Array<string>}
455
+ */
456
+ responseHeaders: Array<string>;
457
+ /**
458
+ * @description network retry configuration
459
+ * @memberof RequestBuilder
460
+ * @type {ProviderNetworkRetryParameters}
461
+ */
462
+ retryConfig: ProviderNetworkRetryParameters;
463
+ /**
464
+ * @description number of xhr attempts for the same multi - request.
465
+ * @memberof RequestBuilder
466
+ * @type {number}
467
+ * @private
468
+ */
469
+ private _attemptCounter;
470
+ /**
471
+ * @description hold the promise result of the XHR request(s) - if all tries fails, it rejects with the error.
472
+ * @memberof RequestBuilder
473
+ * @type {Object}
474
+ * @private
475
+ */
476
+ private _requestPromise;
477
+ /**
478
+ * @constructor
479
+ * @param {Map<string, string>} headers The request headers
480
+ */
481
+ constructor(headers?: Map<string, string>);
482
+ /**
483
+ * Builds restful service URL
484
+ * @function getUrl
485
+ * @param {string} serviceUrl - The service base URL
486
+ * @returns {string} The service URL
487
+ */
488
+ getUrl(serviceUrl: string): string;
489
+ /**
490
+ * Executes service
491
+ * @function doHttpRequest
492
+ * @returns {Promise.<any>} Service response as promise
493
+ */
494
+ doHttpRequest(): Promise<any>;
495
+ private _createXHR;
496
+ private _getResponseHeaders;
497
+ private _handleError;
498
+ private _createError;
499
+ }
500
+
501
+ declare class ServiceError {
502
+ /**
503
+ * @member - The error code
504
+ * @type {string}
505
+ */
506
+ code: string;
507
+ /**
508
+ * @member - The error message
509
+ * @type {string}
510
+ */
511
+ message: string;
512
+ /**
513
+ * @constructor
514
+ * @param {string} code - The result code
515
+ * @param {string} message - The result message
516
+ */
517
+ constructor(code: string, message: string);
518
+ }
519
+
520
+ declare class ServiceResult {
521
+ /**
522
+ * @member - Is service returned an error
523
+ * @type {boolean}
524
+ */
525
+ hasError: boolean;
526
+ /**
527
+ * @member - The service error
528
+ * @type {ServiceError}
529
+ */
530
+ error: ServiceError;
531
+ /**
532
+ * @member - The service result data
533
+ * @type {Object}
534
+ */
535
+ data: any;
536
+ /**
537
+ * @constructor
538
+ * @param {Object} response - Service response
539
+ */
540
+ constructor(response: any);
541
+ }
542
+
543
+ export declare const VERSION: string;
544
+
545
+ export { }