@playkit-js/playkit-js-providers 2.41.0-canary.0-bb5f4a7 → 2.41.0-canary.0-fadaac0

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 (41) 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 +546 -0
  6. package/dist/{index.d.ts → ovp-provider.d.ts} +99 -120
  7. package/dist/playkit-analytics-service.js +1 -1
  8. package/dist/playkit-bookmark-service.js +1 -1
  9. package/dist/playkit-ott-provider.js +1 -1
  10. package/dist/playkit-ott-provider.js.map +1 -1
  11. package/dist/playkit-ovp-provider.js +1 -2
  12. package/dist/playkit-ovp-provider.js.map +1 -1
  13. package/dist/playkit-stats-service.js +1 -1
  14. package/dist/stats-service.d.ts +159 -0
  15. package/dist/tsdoc-metadata.json +1 -1
  16. package/dist/types.d.ts +393 -0
  17. package/ott-provider/package.json +6 -0
  18. package/ovp-provider/package.json +6 -0
  19. package/package.json +23 -15
  20. package/src/entities/media-entry.ts +8 -1
  21. package/src/k-provider/common/base-provider.ts +13 -2
  22. package/src/k-provider/ovp/loaders/media-entry-loader.ts +4 -4
  23. package/src/k-provider/ovp/provider-parser.ts +14 -2
  24. package/src/k-provider/ovp/provider.ts +9 -5
  25. package/src/k-provider/ovp/regex-action-handler.ts +51 -44
  26. package/src/k-provider/ovp/response-types/kaltura-flavor-asset.ts +17 -0
  27. package/src/k-provider/ovp/response-types/kaltura-media-entry.ts +7 -0
  28. package/src/k-provider/ovp/services/base-entry-service.ts +4 -1
  29. package/src/types/index.ts +0 -8
  30. package/src/types/media-config-sources.ts +1 -0
  31. package/src/types/media-entry.ts +1 -0
  32. package/src/types/provider-options.ts +1 -0
  33. package/src/util/object.ts +10 -0
  34. package/stats-service/package.json +6 -0
  35. package/types/package.json +5 -0
  36. package/dist/playkit-ovp-provider.js.LICENSE.txt +0 -1
  37. package/playkit-analytics-service/package.json +0 -5
  38. package/playkit-bookmark-service/package.json +0 -5
  39. package/playkit-ott-provider/package.json +0 -5
  40. package/playkit-ovp-provider/package.json +0 -5
  41. package/playkit-stats-service/package.json +0 -5
@@ -0,0 +1,546 @@
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
+ rawThumbnailUrl?: string;
360
+ };
361
+
362
+ declare type ProviderMediaInfoObject = OVPProviderMediaInfoObject | OTTProviderMediaInfoObject;
363
+
364
+ declare type ProviderMediaSourceObject = {
365
+ id: string;
366
+ url: string;
367
+ mimetype: string;
368
+ bandwidth?: number;
369
+ width?: number;
370
+ height?: number;
371
+ label?: string;
372
+ drmData?: Array<ProviderDrmDataObject>;
373
+ };
374
+
375
+ declare type ProviderNetworkRetryParameters = {
376
+ async: boolean;
377
+ timeout?: number;
378
+ maxAttempts?: number;
379
+ };
380
+
381
+ declare type ProviderOptionsObject = {
382
+ partnerId: number;
383
+ widgetId?: string;
384
+ logger?: LoggerType;
385
+ ks?: string;
386
+ uiConfId?: number;
387
+ env?: ProviderEnvConfigObject;
388
+ networkRetryParameters?: ProviderNetworkRetryParameters;
389
+ filterOptions?: ProviderFilterOptionsObject;
390
+ ignoreServerConfig?: boolean;
391
+ loadThumbnailWithKs?: boolean;
392
+ referrer?: string;
393
+ };
394
+
395
+ declare type ProviderPlaylistInfoObject = {
396
+ playlistId: string;
397
+ ks?: string;
398
+ };
399
+
400
+ declare type ProviderPlaylistItemObject = {
401
+ sources: ProviderMediaConfigSourcesObject;
402
+ };
403
+
404
+ declare type ProviderPlaylistMetadataObject = {
405
+ name: string;
406
+ description: string;
407
+ };
408
+
409
+ declare type ProviderPlaylistObject = {
410
+ id: string;
411
+ metadata: ProviderPlaylistMetadataObject;
412
+ poster: string;
413
+ items: Array<ProviderPlaylistItemObject>;
414
+ playlistLastEntryId?: string;
415
+ };
416
+
417
+ declare class RequestBuilder {
418
+ /**
419
+ * @member - Service name
420
+ * @type {string}
421
+ */
422
+ service: string;
423
+ /**
424
+ * @member - Service action
425
+ * @type {string}
426
+ */
427
+ action: string;
428
+ /**
429
+ * @member - Service params
430
+ * @type {any}
431
+ */
432
+ params: any;
433
+ /**
434
+ * @memberof - Service headers
435
+ * @type {Map<string, string>}
436
+ */
437
+ headers: Map<string, string>;
438
+ /**
439
+ * @memberof - Service URL
440
+ * @type {string}
441
+ */
442
+ url: string;
443
+ /**
444
+ * @memberof - Service method (POST,GET,DELETE etc..)
445
+ * @type {string}
446
+ */
447
+ method: string;
448
+ /**
449
+ * @memberof - Service tag
450
+ * @type {string}
451
+ */
452
+ tag: string;
453
+ /**
454
+ * @memberof - the response headers of the arra
455
+ * @type {Array<string>}
456
+ */
457
+ responseHeaders: Array<string>;
458
+ /**
459
+ * @description network retry configuration
460
+ * @memberof RequestBuilder
461
+ * @type {ProviderNetworkRetryParameters}
462
+ */
463
+ retryConfig: ProviderNetworkRetryParameters;
464
+ /**
465
+ * @description number of xhr attempts for the same multi - request.
466
+ * @memberof RequestBuilder
467
+ * @type {number}
468
+ * @private
469
+ */
470
+ private _attemptCounter;
471
+ /**
472
+ * @description hold the promise result of the XHR request(s) - if all tries fails, it rejects with the error.
473
+ * @memberof RequestBuilder
474
+ * @type {Object}
475
+ * @private
476
+ */
477
+ private _requestPromise;
478
+ /**
479
+ * @constructor
480
+ * @param {Map<string, string>} headers The request headers
481
+ */
482
+ constructor(headers?: Map<string, string>);
483
+ /**
484
+ * Builds restful service URL
485
+ * @function getUrl
486
+ * @param {string} serviceUrl - The service base URL
487
+ * @returns {string} The service URL
488
+ */
489
+ getUrl(serviceUrl: string): string;
490
+ /**
491
+ * Executes service
492
+ * @function doHttpRequest
493
+ * @returns {Promise.<any>} Service response as promise
494
+ */
495
+ doHttpRequest(): Promise<any>;
496
+ private _createXHR;
497
+ private _getResponseHeaders;
498
+ private _handleError;
499
+ private _createError;
500
+ }
501
+
502
+ declare class ServiceError {
503
+ /**
504
+ * @member - The error code
505
+ * @type {string}
506
+ */
507
+ code: string;
508
+ /**
509
+ * @member - The error message
510
+ * @type {string}
511
+ */
512
+ message: string;
513
+ /**
514
+ * @constructor
515
+ * @param {string} code - The result code
516
+ * @param {string} message - The result message
517
+ */
518
+ constructor(code: string, message: string);
519
+ }
520
+
521
+ declare class ServiceResult {
522
+ /**
523
+ * @member - Is service returned an error
524
+ * @type {boolean}
525
+ */
526
+ hasError: boolean;
527
+ /**
528
+ * @member - The service error
529
+ * @type {ServiceError}
530
+ */
531
+ error: ServiceError;
532
+ /**
533
+ * @member - The service result data
534
+ * @type {Object}
535
+ */
536
+ data: any;
537
+ /**
538
+ * @constructor
539
+ * @param {Object} response - Service response
540
+ */
541
+ constructor(response: any);
542
+ }
543
+
544
+ export declare const VERSION: string;
545
+
546
+ export { }