@ormoshe/js-video-url-parser 0.5.36 → 0.5.38
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.
- package/dist/jsVideoUrlParser.js +150 -59
- package/dist/jsVideoUrlParser.min.js +1 -1
- package/lib/index.js +2 -0
- package/lib/provider/cloudflarestream.d.ts +14 -0
- package/lib/provider/cloudflarestream.js +61 -0
- package/lib/provider/screenpal.d.ts +14 -0
- package/lib/provider/screenpal.js +52 -0
- package/package.json +1 -1
package/dist/jsVideoUrlParser.js
CHANGED
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
};
|
|
201
201
|
base.bind(new Allocine());
|
|
202
202
|
|
|
203
|
-
var combineParams$
|
|
203
|
+
var combineParams$u = util.combineParams;
|
|
204
204
|
function CanalPlus() {
|
|
205
205
|
this.provider = 'canalplus';
|
|
206
206
|
this.defaultFormat = 'embed';
|
|
@@ -233,12 +233,12 @@
|
|
|
233
233
|
}
|
|
234
234
|
var url = 'http://player.canalplus.fr/embed/';
|
|
235
235
|
params.vid = vi.id;
|
|
236
|
-
url += combineParams$
|
|
236
|
+
url += combineParams$u(params);
|
|
237
237
|
return url;
|
|
238
238
|
};
|
|
239
239
|
base.bind(new CanalPlus());
|
|
240
240
|
|
|
241
|
-
var combineParams$
|
|
241
|
+
var combineParams$t = util.combineParams;
|
|
242
242
|
function Coub() {
|
|
243
243
|
this.provider = 'coub';
|
|
244
244
|
this.defaultFormat = 'long';
|
|
@@ -270,7 +270,7 @@
|
|
|
270
270
|
return undefined;
|
|
271
271
|
}
|
|
272
272
|
var url = baseUrl + vi.id;
|
|
273
|
-
url += combineParams$
|
|
273
|
+
url += combineParams$t(params);
|
|
274
274
|
return url;
|
|
275
275
|
};
|
|
276
276
|
Coub.prototype.createLongUrl = function (vi, params) {
|
|
@@ -281,7 +281,7 @@
|
|
|
281
281
|
};
|
|
282
282
|
base.bind(new Coub());
|
|
283
283
|
|
|
284
|
-
var combineParams$
|
|
284
|
+
var combineParams$s = util.combineParams,
|
|
285
285
|
getTime$5 = util.getTime;
|
|
286
286
|
function Dailymotion() {
|
|
287
287
|
this.provider = 'dailymotion';
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
if (!vi.id || vi.mediaType !== this.mediaTypes.VIDEO) {
|
|
324
324
|
return undefined;
|
|
325
325
|
}
|
|
326
|
-
return base + vi.id + combineParams$
|
|
326
|
+
return base + vi.id + combineParams$s(params);
|
|
327
327
|
};
|
|
328
328
|
Dailymotion.prototype.createShortUrl = function (vi, params) {
|
|
329
329
|
return this.createUrl('https://dai.ly/', vi, params);
|
|
@@ -340,7 +340,7 @@
|
|
|
340
340
|
};
|
|
341
341
|
base.bind(new Dailymotion());
|
|
342
342
|
|
|
343
|
-
var combineParams$
|
|
343
|
+
var combineParams$r = util.combineParams;
|
|
344
344
|
function Loom() {
|
|
345
345
|
this.provider = 'loom';
|
|
346
346
|
this.defaultFormat = 'long';
|
|
@@ -369,7 +369,7 @@
|
|
|
369
369
|
return undefined;
|
|
370
370
|
}
|
|
371
371
|
var url = baseUrl + vi.id;
|
|
372
|
-
url += combineParams$
|
|
372
|
+
url += combineParams$r(params);
|
|
373
373
|
return url;
|
|
374
374
|
};
|
|
375
375
|
Loom.prototype.createLongUrl = function (vi, params) {
|
|
@@ -380,7 +380,7 @@
|
|
|
380
380
|
};
|
|
381
381
|
base.bind(new Loom());
|
|
382
382
|
|
|
383
|
-
var combineParams$
|
|
383
|
+
var combineParams$q = util.combineParams;
|
|
384
384
|
function Tella() {
|
|
385
385
|
this.provider = 'tella';
|
|
386
386
|
this.defaultFormat = 'long';
|
|
@@ -409,7 +409,7 @@
|
|
|
409
409
|
return undefined;
|
|
410
410
|
}
|
|
411
411
|
var url = baseUrl + vi.id;
|
|
412
|
-
url += combineParams$
|
|
412
|
+
url += combineParams$q(params);
|
|
413
413
|
return url;
|
|
414
414
|
};
|
|
415
415
|
Tella.prototype.createLongUrl = function (vi, params) {
|
|
@@ -420,7 +420,7 @@
|
|
|
420
420
|
};
|
|
421
421
|
base.bind(new Tella());
|
|
422
422
|
|
|
423
|
-
var combineParams$
|
|
423
|
+
var combineParams$p = util.combineParams,
|
|
424
424
|
getTime$4 = util.getTime;
|
|
425
425
|
function Twitch() {
|
|
426
426
|
this.provider = 'twitch';
|
|
@@ -526,7 +526,7 @@
|
|
|
526
526
|
} else {
|
|
527
527
|
return undefined;
|
|
528
528
|
}
|
|
529
|
-
url += combineParams$
|
|
529
|
+
url += combineParams$p(params);
|
|
530
530
|
return url;
|
|
531
531
|
};
|
|
532
532
|
Twitch.prototype.createEmbedUrl = function (vi, params) {
|
|
@@ -545,12 +545,12 @@
|
|
|
545
545
|
} else {
|
|
546
546
|
return undefined;
|
|
547
547
|
}
|
|
548
|
-
url += combineParams$
|
|
548
|
+
url += combineParams$p(params);
|
|
549
549
|
return url;
|
|
550
550
|
};
|
|
551
551
|
base.bind(new Twitch());
|
|
552
552
|
|
|
553
|
-
var combineParams$
|
|
553
|
+
var combineParams$o = util.combineParams,
|
|
554
554
|
getTime$3 = util.getTime;
|
|
555
555
|
function Vimeo() {
|
|
556
556
|
this.provider = 'vimeo';
|
|
@@ -610,7 +610,7 @@
|
|
|
610
610
|
}
|
|
611
611
|
delete params.hash;
|
|
612
612
|
}
|
|
613
|
-
url += combineParams$
|
|
613
|
+
url += combineParams$o(params);
|
|
614
614
|
if (startTime) {
|
|
615
615
|
url += '#t=' + startTime;
|
|
616
616
|
}
|
|
@@ -624,7 +624,7 @@
|
|
|
624
624
|
};
|
|
625
625
|
base.bind(new Vimeo());
|
|
626
626
|
|
|
627
|
-
var combineParams$
|
|
627
|
+
var combineParams$n = util.combineParams,
|
|
628
628
|
getTime$2 = util.getTime;
|
|
629
629
|
function Wistia() {
|
|
630
630
|
this.provider = 'wistia';
|
|
@@ -689,7 +689,7 @@
|
|
|
689
689
|
params.wtime = params.start;
|
|
690
690
|
delete params.start;
|
|
691
691
|
}
|
|
692
|
-
url += combineParams$
|
|
692
|
+
url += combineParams$n(params);
|
|
693
693
|
return url;
|
|
694
694
|
};
|
|
695
695
|
Wistia.prototype.createLongUrl = function (vi, params) {
|
|
@@ -714,7 +714,7 @@
|
|
|
714
714
|
};
|
|
715
715
|
base.bind(new Wistia());
|
|
716
716
|
|
|
717
|
-
var combineParams$
|
|
717
|
+
var combineParams$m = util.combineParams;
|
|
718
718
|
function Youku() {
|
|
719
719
|
this.provider = 'youku';
|
|
720
720
|
this.defaultFormat = 'long';
|
|
@@ -755,7 +755,7 @@
|
|
|
755
755
|
return undefined;
|
|
756
756
|
}
|
|
757
757
|
var url = baseUrl + vi.id;
|
|
758
|
-
url += combineParams$
|
|
758
|
+
url += combineParams$m(params);
|
|
759
759
|
return url;
|
|
760
760
|
};
|
|
761
761
|
Youku.prototype.createEmbedUrl = function (vi, params) {
|
|
@@ -772,12 +772,12 @@
|
|
|
772
772
|
return undefined;
|
|
773
773
|
}
|
|
774
774
|
var url = 'http://player.youku.com/player.php/sid/' + vi.id + '/v.swf';
|
|
775
|
-
url += combineParams$
|
|
775
|
+
url += combineParams$m(params);
|
|
776
776
|
return url;
|
|
777
777
|
};
|
|
778
778
|
base.bind(new Youku());
|
|
779
779
|
|
|
780
|
-
var combineParams$
|
|
780
|
+
var combineParams$l = util.combineParams,
|
|
781
781
|
getTime$1 = util.getTime;
|
|
782
782
|
function YouTube() {
|
|
783
783
|
this.provider = 'youtube';
|
|
@@ -915,7 +915,7 @@
|
|
|
915
915
|
if (vi.list) {
|
|
916
916
|
params.list = vi.list;
|
|
917
917
|
}
|
|
918
|
-
url += combineParams$
|
|
918
|
+
url += combineParams$l(params);
|
|
919
919
|
if (vi.mediaType !== this.mediaTypes.PLAYLIST && startTime) {
|
|
920
920
|
url += '#t=' + startTime;
|
|
921
921
|
}
|
|
@@ -937,7 +937,7 @@
|
|
|
937
937
|
if (vi.list) {
|
|
938
938
|
params.list = vi.list;
|
|
939
939
|
}
|
|
940
|
-
url += combineParams$
|
|
940
|
+
url += combineParams$l(params);
|
|
941
941
|
return url;
|
|
942
942
|
};
|
|
943
943
|
YouTube.prototype.createImageUrl = function (baseUrl, vi, params) {
|
|
@@ -956,7 +956,7 @@
|
|
|
956
956
|
};
|
|
957
957
|
base.bind(new YouTube());
|
|
958
958
|
|
|
959
|
-
var combineParams$
|
|
959
|
+
var combineParams$k = util.combineParams,
|
|
960
960
|
getTime = util.getTime;
|
|
961
961
|
function SoundCloud() {
|
|
962
962
|
this.provider = 'soundcloud';
|
|
@@ -1040,7 +1040,7 @@
|
|
|
1040
1040
|
} else {
|
|
1041
1041
|
return undefined;
|
|
1042
1042
|
}
|
|
1043
|
-
url += combineParams$
|
|
1043
|
+
url += combineParams$k(params);
|
|
1044
1044
|
if (startTime) {
|
|
1045
1045
|
url += '#t=' + startTime;
|
|
1046
1046
|
}
|
|
@@ -1056,12 +1056,12 @@
|
|
|
1056
1056
|
} else {
|
|
1057
1057
|
return undefined;
|
|
1058
1058
|
}
|
|
1059
|
-
url += combineParams$
|
|
1059
|
+
url += combineParams$k(params);
|
|
1060
1060
|
return url;
|
|
1061
1061
|
};
|
|
1062
1062
|
base.bind(new SoundCloud());
|
|
1063
1063
|
|
|
1064
|
-
var combineParams$
|
|
1064
|
+
var combineParams$j = util.combineParams;
|
|
1065
1065
|
function TeacherTube() {
|
|
1066
1066
|
this.provider = 'teachertube';
|
|
1067
1067
|
this.alternatives = [];
|
|
@@ -1129,7 +1129,7 @@
|
|
|
1129
1129
|
url += vi.mediaType + '/';
|
|
1130
1130
|
}
|
|
1131
1131
|
url += vi.id;
|
|
1132
|
-
url += combineParams$
|
|
1132
|
+
url += combineParams$j(params);
|
|
1133
1133
|
return url;
|
|
1134
1134
|
};
|
|
1135
1135
|
TeacherTube.prototype.createEmbedUrl = function (vi, params) {
|
|
@@ -1142,12 +1142,12 @@
|
|
|
1142
1142
|
} else {
|
|
1143
1143
|
return undefined;
|
|
1144
1144
|
}
|
|
1145
|
-
url += combineParams$
|
|
1145
|
+
url += combineParams$j(params);
|
|
1146
1146
|
return url;
|
|
1147
1147
|
};
|
|
1148
1148
|
base.bind(new TeacherTube());
|
|
1149
1149
|
|
|
1150
|
-
var combineParams$
|
|
1150
|
+
var combineParams$i = util.combineParams;
|
|
1151
1151
|
function TikTok() {
|
|
1152
1152
|
this.provider = 'tiktok';
|
|
1153
1153
|
this.defaultFormat = 'long';
|
|
@@ -1178,12 +1178,12 @@
|
|
|
1178
1178
|
} else {
|
|
1179
1179
|
return undefined;
|
|
1180
1180
|
}
|
|
1181
|
-
url += combineParams$
|
|
1181
|
+
url += combineParams$i(params);
|
|
1182
1182
|
return url;
|
|
1183
1183
|
};
|
|
1184
1184
|
base.bind(new TikTok());
|
|
1185
1185
|
|
|
1186
|
-
var combineParams$
|
|
1186
|
+
var combineParams$h = util.combineParams;
|
|
1187
1187
|
function Voomly() {
|
|
1188
1188
|
this.provider = 'voomly';
|
|
1189
1189
|
this.defaultFormat = 'long';
|
|
@@ -1211,7 +1211,7 @@
|
|
|
1211
1211
|
return undefined;
|
|
1212
1212
|
}
|
|
1213
1213
|
var url = baseUrl + vi.id;
|
|
1214
|
-
url += combineParams$
|
|
1214
|
+
url += combineParams$h(params);
|
|
1215
1215
|
return url;
|
|
1216
1216
|
};
|
|
1217
1217
|
Voomly.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1219,7 +1219,7 @@
|
|
|
1219
1219
|
};
|
|
1220
1220
|
base.bind(new Voomly());
|
|
1221
1221
|
|
|
1222
|
-
var combineParams$
|
|
1222
|
+
var combineParams$g = util.combineParams;
|
|
1223
1223
|
function Spotlightr() {
|
|
1224
1224
|
this.provider = 'spotlightr';
|
|
1225
1225
|
this.defaultFormat = 'long';
|
|
@@ -1248,7 +1248,7 @@
|
|
|
1248
1248
|
return undefined;
|
|
1249
1249
|
}
|
|
1250
1250
|
var url = baseUrl + vi.id;
|
|
1251
|
-
url += combineParams$
|
|
1251
|
+
url += combineParams$g(params);
|
|
1252
1252
|
return url;
|
|
1253
1253
|
};
|
|
1254
1254
|
Spotlightr.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1256,7 +1256,7 @@
|
|
|
1256
1256
|
};
|
|
1257
1257
|
base.bind(new Spotlightr());
|
|
1258
1258
|
|
|
1259
|
-
var combineParams$
|
|
1259
|
+
var combineParams$f = util.combineParams;
|
|
1260
1260
|
function Bunny() {
|
|
1261
1261
|
this.provider = 'bunny';
|
|
1262
1262
|
this.alternatives = ['bunnycdn', 'mediadelivery'];
|
|
@@ -1286,7 +1286,7 @@
|
|
|
1286
1286
|
return undefined;
|
|
1287
1287
|
}
|
|
1288
1288
|
var url = baseUrl + vi.library + '/' + vi.id;
|
|
1289
|
-
url += combineParams$
|
|
1289
|
+
url += combineParams$f(params);
|
|
1290
1290
|
return url;
|
|
1291
1291
|
};
|
|
1292
1292
|
Bunny.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1294,7 +1294,7 @@
|
|
|
1294
1294
|
};
|
|
1295
1295
|
base.bind(new Bunny());
|
|
1296
1296
|
|
|
1297
|
-
var combineParams$
|
|
1297
|
+
var combineParams$e = util.combineParams;
|
|
1298
1298
|
function Canva() {
|
|
1299
1299
|
this.provider = 'canva';
|
|
1300
1300
|
this.defaultFormat = 'long';
|
|
@@ -1322,7 +1322,7 @@
|
|
|
1322
1322
|
return undefined;
|
|
1323
1323
|
}
|
|
1324
1324
|
var url = baseUrl + vi.id + '/watch';
|
|
1325
|
-
url += combineParams$
|
|
1325
|
+
url += combineParams$e(params);
|
|
1326
1326
|
return url;
|
|
1327
1327
|
};
|
|
1328
1328
|
Canva.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1330,7 +1330,58 @@
|
|
|
1330
1330
|
};
|
|
1331
1331
|
base.bind(new Canva());
|
|
1332
1332
|
|
|
1333
|
-
var combineParams$
|
|
1333
|
+
var combineParams$d = util.combineParams;
|
|
1334
|
+
function CloudflareStream() {
|
|
1335
|
+
this.provider = 'cloudflarestream';
|
|
1336
|
+
this.defaultFormat = 'long';
|
|
1337
|
+
this.formats = {
|
|
1338
|
+
"long": this.createLongUrl,
|
|
1339
|
+
embed: this.createEmbedUrl
|
|
1340
|
+
};
|
|
1341
|
+
this.mediaTypes = {
|
|
1342
|
+
VIDEO: 'video'
|
|
1343
|
+
};
|
|
1344
|
+
}
|
|
1345
|
+
CloudflareStream.prototype.parseUrl = function (url) {
|
|
1346
|
+
// Match *.cloudflarestream.com/{32-char-hex-id} or .../id/iframe
|
|
1347
|
+
var match = url.match(/(?:https?:\/\/)?([^/]+\.cloudflarestream\.com)\/([a-f0-9]{32})(?:\/iframe)?/i);
|
|
1348
|
+
if (!match) {
|
|
1349
|
+
return undefined;
|
|
1350
|
+
}
|
|
1351
|
+
return {
|
|
1352
|
+
host: match[1],
|
|
1353
|
+
id: match[2]
|
|
1354
|
+
};
|
|
1355
|
+
};
|
|
1356
|
+
CloudflareStream.prototype.parse = function (url, params) {
|
|
1357
|
+
var parsed = this.parseUrl(url);
|
|
1358
|
+
if (!parsed) {
|
|
1359
|
+
return undefined;
|
|
1360
|
+
}
|
|
1361
|
+
return {
|
|
1362
|
+
mediaType: this.mediaTypes.VIDEO,
|
|
1363
|
+
params: params,
|
|
1364
|
+
id: parsed.id,
|
|
1365
|
+
host: parsed.host
|
|
1366
|
+
};
|
|
1367
|
+
};
|
|
1368
|
+
CloudflareStream.prototype.createUrl = function (pathSuffix, vi, params) {
|
|
1369
|
+
if (!vi.id || vi.mediaType !== this.mediaTypes.VIDEO || !vi.host) {
|
|
1370
|
+
return undefined;
|
|
1371
|
+
}
|
|
1372
|
+
var url = 'https://' + vi.host + '/' + vi.id + pathSuffix;
|
|
1373
|
+
url += combineParams$d(params);
|
|
1374
|
+
return url;
|
|
1375
|
+
};
|
|
1376
|
+
CloudflareStream.prototype.createLongUrl = function (vi, params) {
|
|
1377
|
+
return this.createUrl('', vi, params);
|
|
1378
|
+
};
|
|
1379
|
+
CloudflareStream.prototype.createEmbedUrl = function (vi, params) {
|
|
1380
|
+
return this.createUrl('/iframe', vi, params);
|
|
1381
|
+
};
|
|
1382
|
+
base.bind(new CloudflareStream());
|
|
1383
|
+
|
|
1384
|
+
var combineParams$c = util.combineParams;
|
|
1334
1385
|
function Descript() {
|
|
1335
1386
|
this.provider = 'descript';
|
|
1336
1387
|
this.defaultFormat = 'long';
|
|
@@ -1358,7 +1409,7 @@
|
|
|
1358
1409
|
return undefined;
|
|
1359
1410
|
}
|
|
1360
1411
|
var url = baseUrl + vi.id;
|
|
1361
|
-
url += combineParams$
|
|
1412
|
+
url += combineParams$c(params);
|
|
1362
1413
|
return url;
|
|
1363
1414
|
};
|
|
1364
1415
|
Descript.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1366,7 +1417,7 @@
|
|
|
1366
1417
|
};
|
|
1367
1418
|
base.bind(new Descript());
|
|
1368
1419
|
|
|
1369
|
-
var combineParams$
|
|
1420
|
+
var combineParams$b = util.combineParams;
|
|
1370
1421
|
function Ted() {
|
|
1371
1422
|
this.provider = 'ted';
|
|
1372
1423
|
this.formats = {
|
|
@@ -1422,7 +1473,7 @@
|
|
|
1422
1473
|
} else {
|
|
1423
1474
|
return undefined;
|
|
1424
1475
|
}
|
|
1425
|
-
url += combineParams$
|
|
1476
|
+
url += combineParams$b(params);
|
|
1426
1477
|
return url;
|
|
1427
1478
|
};
|
|
1428
1479
|
Ted.prototype.createEmbedUrl = function (vi, params) {
|
|
@@ -1434,12 +1485,12 @@
|
|
|
1434
1485
|
} else {
|
|
1435
1486
|
return undefined;
|
|
1436
1487
|
}
|
|
1437
|
-
url += combineParams$
|
|
1488
|
+
url += combineParams$b(params);
|
|
1438
1489
|
return url;
|
|
1439
1490
|
};
|
|
1440
1491
|
base.bind(new Ted());
|
|
1441
1492
|
|
|
1442
|
-
var combineParams$
|
|
1493
|
+
var combineParams$a = util.combineParams;
|
|
1443
1494
|
function Facebook() {
|
|
1444
1495
|
this.provider = 'facebook';
|
|
1445
1496
|
this.alternatives = [];
|
|
@@ -1482,7 +1533,7 @@
|
|
|
1482
1533
|
params = {
|
|
1483
1534
|
v: vi.id
|
|
1484
1535
|
};
|
|
1485
|
-
url += combineParams$
|
|
1536
|
+
url += combineParams$a(params);
|
|
1486
1537
|
return url;
|
|
1487
1538
|
};
|
|
1488
1539
|
Facebook.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1497,12 +1548,12 @@
|
|
|
1497
1548
|
} else {
|
|
1498
1549
|
return undefined;
|
|
1499
1550
|
}
|
|
1500
|
-
url += combineParams$
|
|
1551
|
+
url += combineParams$a(params);
|
|
1501
1552
|
return url;
|
|
1502
1553
|
};
|
|
1503
1554
|
base.bind(new Facebook());
|
|
1504
1555
|
|
|
1505
|
-
var combineParams$
|
|
1556
|
+
var combineParams$9 = util.combineParams;
|
|
1506
1557
|
function Bigcommand() {
|
|
1507
1558
|
this.provider = 'bigcommand';
|
|
1508
1559
|
this.defaultFormat = 'long';
|
|
@@ -1530,7 +1581,7 @@
|
|
|
1530
1581
|
return undefined;
|
|
1531
1582
|
}
|
|
1532
1583
|
var url = baseUrl + vi.id;
|
|
1533
|
-
url += combineParams$
|
|
1584
|
+
url += combineParams$9(params);
|
|
1534
1585
|
return url;
|
|
1535
1586
|
};
|
|
1536
1587
|
Bigcommand.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1538,7 +1589,7 @@
|
|
|
1538
1589
|
};
|
|
1539
1590
|
base.bind(new Bigcommand());
|
|
1540
1591
|
|
|
1541
|
-
var combineParams$
|
|
1592
|
+
var combineParams$8 = util.combineParams;
|
|
1542
1593
|
function Brightcove() {
|
|
1543
1594
|
this.provider = 'brightcove';
|
|
1544
1595
|
this.defaultFormat = 'long';
|
|
@@ -1569,7 +1620,7 @@
|
|
|
1569
1620
|
return undefined;
|
|
1570
1621
|
}
|
|
1571
1622
|
var url = baseUrl + vi.library + '/' + vi.player + '_' + vi.embed + '/index.html';
|
|
1572
|
-
url += combineParams$
|
|
1623
|
+
url += combineParams$8(params);
|
|
1573
1624
|
return url;
|
|
1574
1625
|
};
|
|
1575
1626
|
Brightcove.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1577,7 +1628,7 @@
|
|
|
1577
1628
|
};
|
|
1578
1629
|
base.bind(new Brightcove());
|
|
1579
1630
|
|
|
1580
|
-
var combineParams$
|
|
1631
|
+
var combineParams$7 = util.combineParams;
|
|
1581
1632
|
function GoogleDrive() {
|
|
1582
1633
|
this.provider = 'google';
|
|
1583
1634
|
this.defaultFormat = 'long';
|
|
@@ -1605,7 +1656,7 @@
|
|
|
1605
1656
|
return undefined;
|
|
1606
1657
|
}
|
|
1607
1658
|
var url = baseUrl + vi.id + '/preview';
|
|
1608
|
-
url += combineParams$
|
|
1659
|
+
url += combineParams$7(params);
|
|
1609
1660
|
return url;
|
|
1610
1661
|
};
|
|
1611
1662
|
GoogleDrive.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1613,7 +1664,7 @@
|
|
|
1613
1664
|
};
|
|
1614
1665
|
base.bind(new GoogleDrive());
|
|
1615
1666
|
|
|
1616
|
-
var combineParams$
|
|
1667
|
+
var combineParams$6 = util.combineParams;
|
|
1617
1668
|
function Groove() {
|
|
1618
1669
|
this.provider = 'groove';
|
|
1619
1670
|
this.defaultFormat = 'long';
|
|
@@ -1642,7 +1693,7 @@
|
|
|
1642
1693
|
return undefined;
|
|
1643
1694
|
}
|
|
1644
1695
|
var url = baseUrl + vi.library + '/' + vi.id;
|
|
1645
|
-
url += combineParams$
|
|
1696
|
+
url += combineParams$6(params);
|
|
1646
1697
|
return url;
|
|
1647
1698
|
};
|
|
1648
1699
|
Groove.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1650,7 +1701,7 @@
|
|
|
1650
1701
|
};
|
|
1651
1702
|
base.bind(new Groove());
|
|
1652
1703
|
|
|
1653
|
-
var combineParams$
|
|
1704
|
+
var combineParams$5 = util.combineParams;
|
|
1654
1705
|
function Gumlet() {
|
|
1655
1706
|
this.provider = 'gumlet';
|
|
1656
1707
|
this.defaultFormat = 'long';
|
|
@@ -1679,7 +1730,7 @@
|
|
|
1679
1730
|
return undefined;
|
|
1680
1731
|
}
|
|
1681
1732
|
var url = baseUrl + vi.id;
|
|
1682
|
-
url += combineParams$
|
|
1733
|
+
url += combineParams$5(params);
|
|
1683
1734
|
return url;
|
|
1684
1735
|
};
|
|
1685
1736
|
Gumlet.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1690,7 +1741,7 @@
|
|
|
1690
1741
|
};
|
|
1691
1742
|
base.bind(new Gumlet());
|
|
1692
1743
|
|
|
1693
|
-
var combineParams$
|
|
1744
|
+
var combineParams$4 = util.combineParams;
|
|
1694
1745
|
function Streamable() {
|
|
1695
1746
|
this.provider = 'streamable';
|
|
1696
1747
|
this.defaultFormat = 'long';
|
|
@@ -1719,7 +1770,7 @@
|
|
|
1719
1770
|
return undefined;
|
|
1720
1771
|
}
|
|
1721
1772
|
var url = baseUrl + vi.id;
|
|
1722
|
-
url += combineParams$
|
|
1773
|
+
url += combineParams$4(params);
|
|
1723
1774
|
return url;
|
|
1724
1775
|
};
|
|
1725
1776
|
Streamable.prototype.createLongUrl = function (vi, params) {
|
|
@@ -1727,6 +1778,46 @@
|
|
|
1727
1778
|
};
|
|
1728
1779
|
base.bind(new Streamable());
|
|
1729
1780
|
|
|
1781
|
+
var combineParams$3 = util.combineParams;
|
|
1782
|
+
function ScreenPal() {
|
|
1783
|
+
this.provider = 'screenpal';
|
|
1784
|
+
this.defaultFormat = 'long';
|
|
1785
|
+
this.formats = {
|
|
1786
|
+
"long": this.createLongUrl,
|
|
1787
|
+
embed: this.createEmbedUrl
|
|
1788
|
+
};
|
|
1789
|
+
this.mediaTypes = {
|
|
1790
|
+
VIDEO: 'video'
|
|
1791
|
+
};
|
|
1792
|
+
}
|
|
1793
|
+
ScreenPal.prototype.parseUrl = function (url) {
|
|
1794
|
+
var match = url.match(/watch\/([\w-]+)/i);
|
|
1795
|
+
return match ? match[1] : undefined;
|
|
1796
|
+
};
|
|
1797
|
+
ScreenPal.prototype.parse = function (url, params) {
|
|
1798
|
+
var result = {
|
|
1799
|
+
mediaType: this.mediaTypes.VIDEO,
|
|
1800
|
+
params: params,
|
|
1801
|
+
id: this.parseUrl(url)
|
|
1802
|
+
};
|
|
1803
|
+
return result.id ? result : undefined;
|
|
1804
|
+
};
|
|
1805
|
+
ScreenPal.prototype.createUrl = function (baseUrl, vi, params) {
|
|
1806
|
+
if (!vi.id || vi.mediaType !== this.mediaTypes.VIDEO) {
|
|
1807
|
+
return undefined;
|
|
1808
|
+
}
|
|
1809
|
+
var url = baseUrl + vi.id;
|
|
1810
|
+
url += combineParams$3(params);
|
|
1811
|
+
return url;
|
|
1812
|
+
};
|
|
1813
|
+
ScreenPal.prototype.createLongUrl = function (vi, params) {
|
|
1814
|
+
return this.createUrl('https://go.screenpal.com/watch/', vi, params);
|
|
1815
|
+
};
|
|
1816
|
+
ScreenPal.prototype.createEmbedUrl = function (vi, params) {
|
|
1817
|
+
return this.createUrl('https://go.screenpal.com/watch/embed/', vi, params);
|
|
1818
|
+
};
|
|
1819
|
+
base.bind(new ScreenPal());
|
|
1820
|
+
|
|
1730
1821
|
var combineParams$2 = util.combineParams;
|
|
1731
1822
|
function Searchie() {
|
|
1732
1823
|
this.provider = 'searchie';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).urlParser=t()}(this,(function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}var i={};i.getQueryParams=function(e){if("string"!=typeof e)return{};var t,i={},r=(e=e.split("+").join(" ")).match(/(?:[?](?:[^=]+)=(?:[^&#]*)(?:[&](?:[^=]+)=(?:[^&#]*))*(?:[#].*)?)|(?:[#].*)/);if(null===r)return{};t=r[0].substr(1).split(/[&#=]/);for(var a=0;a<t.length;a+=2)i[decodeURIComponent(t[a])]=decodeURIComponent(t[a+1]||"");return i},i.combineParams=function(e,i){if("object"!==t(e))return"";var r="",a=0,o=Object.keys(e);if(0===o.length)return"";for(o.sort(),i||(r+="?"+o[0]+"="+e[o[0]],a+=1);a<o.length;a+=1)r+="&"+o[a]+"="+e[o[a]];return r},i.getTime=function(e){return void 0===e?0:e.match(/^(\d+[smhdw]?)+$/)?function(e){var t,i=0,r={s:1,m:60,h:3600,d:86400,w:604800};t=(e=e.replace(/([smhdw])/g," $1 ").trim()).split(" ");for(var a=0;a<t.length;a+=2)i+=parseInt(t[a],10)*r[t[a+1]||"s"];return i}(e):e.match(/^(\d+:?)+$/)?function(e){for(var t=0,i=[1,60,3600,86400,604800],r=e.split(":"),a=0;a<r.length;a++)t+=parseInt(r[a],10)*i[r.length-a-1];return t}(e):0};var r=i.getQueryParams;function a(){for(var e=0,t=["parseProvider","parse","bind","create"];e<t.length;e++){var i=t[e];this[i]=this[i].bind(this)}this.plugins={}}var o=a;a.prototype.parseProvider=function(e){var t=e.match(/(?:(?:https?:)?\/\/)?(?:[^.]+\.)?(\w+)\./i);return t?t[1]:void 0},a.prototype.parse=function(e){if(void 0!==e){var t,i=this.parseProvider(e),a=this.plugins[i];if(i&&a&&a.parse)return(t=a.parse.call(a,e,r(e)))&&((t=function(e){e.params&&0===Object.keys(e.params).length&&delete e.params;return e}(t)).provider=a.provider),t}},a.prototype.bind=function(e){if(this.plugins[e.provider]=e,e.alternatives)for(var t=0;t<e.alternatives.length;t+=1)this.plugins[e.alternatives[t]]=e},a.prototype.create=function(e){if("object"===t(e)&&"object"===t(e.videoInfo)){var i=e.videoInfo,r=e.params,a=this.plugins[i.provider];return r="internal"===r?i.params:r||{},a&&(e.format=e.format||a.defaultFormat,a.formats.hasOwnProperty(e.format))?a.formats[e.format].apply(a,[i,Object.assign({},r)]):void 0}};var s=new o;function n(){this.provider="allocine",this.alternatives=[],this.defaultFormat="embed",this.formats={embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}n.prototype.parseUrl=function(e){var t=e.match(/(?:\/video\/player_gen_cmedia=)([A-Za-z0-9]+)/i);return t?t[1]:void 0},n.prototype.parse=function(e){var t={mediaType:this.mediaTypes.VIDEO,id:this.parseUrl(e)};return t.id?t:void 0},n.prototype.createEmbedUrl=function(e){if(e.id&&e.mediaType===this.mediaTypes.VIDEO)return"https://player.allocine.fr/"+e.id+".html"},s.bind(new n);var p=i.combineParams;function d(){this.provider="canalplus",this.defaultFormat="embed",this.formats={embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}d.prototype.parseParameters=function(e){return delete e.vid,e},d.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,id:t.vid};if(i.params=this.parseParameters(t),i.id)return i},d.prototype.createEmbedUrl=function(e,t){if(e.id&&e.mediaType===this.mediaTypes.VIDEO){var i="http://player.canalplus.fr/embed/";return t.vid=e.id,i+=p(t)}},s.bind(new d);var m=i.combineParams;function l(){this.provider="coub",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}l.prototype.parseUrl=function(e){var t=e.match(/(?:embed|view)\/([a-zA-Z\d]+)/i);return t?t[1]:void 0},l.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};if(i.id)return i},l.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=m(i)}},l.prototype.createLongUrl=function(e,t){return this.createUrl("https://coub.com/view/",e,t)},l.prototype.createEmbedUrl=function(e,t){return this.createUrl("//coub.com/embed/",e,t)},s.bind(new l);var c=i.combineParams,h=i.getTime;function u(){this.provider="dailymotion",this.alternatives=["dai"],this.defaultFormat="long",this.formats={short:this.createShortUrl,long:this.createLongUrl,embed:this.createEmbedUrl,image:this.createImageUrl},this.mediaTypes={VIDEO:"video"}}u.prototype.parseParameters=function(e){return this.parseTime(e)},u.prototype.parseTime=function(e){return e.start&&(e.start=h(e.start)),e},u.prototype.parseUrl=function(e){var t=e.match(/(?:\/video|ly)\/([A-Za-z0-9]+)/i);return t?t[1]:void 0},u.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:this.parseParameters(t),id:this.parseUrl(e)};return i.id?i:void 0},u.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO)return e+t.id+c(i)},u.prototype.createShortUrl=function(e,t){return this.createUrl("https://dai.ly/",e,t)},u.prototype.createLongUrl=function(e,t){return this.createUrl("https://dailymotion.com/video/",e,t)},u.prototype.createEmbedUrl=function(e,t){return this.createUrl("https://www.dailymotion.com/embed/video/",e,t)},u.prototype.createImageUrl=function(e,t){return delete t.start,this.createUrl("https://www.dailymotion.com/thumbnail/video/",e,t)},s.bind(new u);var y=i.combineParams;function f(){this.provider="loom",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}f.prototype.parseUrl=function(e){var t=e.match(/(?:share|embed)\/([a-zA-Z\d]+)/i);return t?t[1]:void 0},f.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},f.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=y(i)}},f.prototype.createLongUrl=function(e,t){return this.createUrl("https://loom.com/share/",e,t)},f.prototype.createEmbedUrl=function(e,t){return this.createUrl("//loom.com/embed/",e,t)},s.bind(new f);var v=i.combineParams;function T(){this.provider="tella",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}T.prototype.parseUrl=function(e){var t=e.match(/(?:video)\/([\w-]+)/i);return t?t[1]:void 0},T.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},T.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=v(i)}},T.prototype.createLongUrl=function(e,t){return this.createUrl("https://www.tella.tv/video/",e,t)},T.prototype.createEmbedUrl=function(e,t){return this.createUrl("https://www.tella.tv/video/",e,t)},s.bind(new T);var U=i.combineParams,b=i.getTime;function g(){this.provider="twitch",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video",STREAM:"stream",CLIP:"clip"}}g.prototype.seperateId=function(e){return{pre:e[0],id:e.substr(1)}},g.prototype.parseChannel=function(e,t){var i=t.channel||t.utm_content||e.channel;return delete t.utm_content,delete t.channel,i},g.prototype.parseUrl=function(e,t,i){var r;return(r=e.match(/(clips\.)?twitch\.tv\/(?:(?:videos\/(\d+))|(\w+(?:-[\w\d-]+)?)(?:\/clip\/(\w+))?)/i))&&r[2]?t.id="v"+r[2]:i.video?(t.id=i.video,delete i.video):i.clip?(t.id=i.clip,t.isClip=!0,delete i.clip):r&&r[1]&&r[3]?(t.id=r[3],t.isClip=!0):r&&r[3]&&r[4]?(t.channel=r[3],t.id=r[4],t.isClip=!0):r&&r[3]&&(t.channel=r[3]),t},g.prototype.parseMediaType=function(e){var t;return e.id?e.isClip?(t=this.mediaTypes.CLIP,delete e.isClip):t=this.mediaTypes.VIDEO:e.channel&&(t=this.mediaTypes.STREAM),t},g.prototype.parseParameters=function(e){return e.t&&(e.start=b(e.t),delete e.t),e},g.prototype.parse=function(e,t){var i=this,r={};return(r=i.parseUrl(e,r,t)).channel=i.parseChannel(r,t),r.mediaType=i.parseMediaType(r),r.params=i.parseParameters(t),r.channel||r.id?r:void 0},g.prototype.createLongUrl=function(e,t){var i="";if(e.mediaType===this.mediaTypes.STREAM&&e.channel)i="https://twitch.tv/"+e.channel;else if(e.mediaType===this.mediaTypes.VIDEO&&e.id){i="https://twitch.tv/videos/"+this.seperateId(e.id).id,t.start&&(t.t=t.start+"s",delete t.start)}else{if(e.mediaType!==this.mediaTypes.CLIP||!e.id)return;i=e.channel?"https://www.twitch.tv/"+e.channel+"/clip/"+e.id:"https://clips.twitch.tv/"+e.id}return i+=U(t)},g.prototype.createEmbedUrl=function(e,t){var i="https://player.twitch.tv/";if(e.mediaType===this.mediaTypes.STREAM&&e.channel)t.channel=e.channel;else if(e.mediaType===this.mediaTypes.VIDEO&&e.id)t.video=e.id,t.start&&(t.t=t.start+"s",delete t.start);else{if(e.mediaType!==this.mediaTypes.CLIP||!e.id)return;i="https://clips.twitch.tv/embed",t.clip=e.id}return i+=U(t)},s.bind(new g);var E=i.combineParams,I=i.getTime;function w(){this.provider="vimeo",this.alternatives=["vimeopro"],this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}w.prototype.parseUrl=function(e){var t=e.match(/(?:\/showcase\/\d+)?(?:\/(?:channels\/[\w]+|(?:(?:album\/\d+|groups\/[\w]+)\/)?videos?))?\/(\d+)/i);return t?t[1]:void 0},w.prototype.parseHash=function(e){var t=e.match(/\/\d+\/(\w+)$/i);return t?t[1]:void 0},w.prototype.parseParameters=function(e){return e.t&&(e.start=I(e.t),delete e.t),e.h&&(e.hash=e.h,delete e.h),e},w.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:this.parseParameters(t),id:this.parseUrl(e)},r=this.parseHash(e,t);return r&&(i.params.hash=r),i.id?i:void 0},w.prototype.createUrl=function(e,t,i,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var a=e+t.id,o=i.start;return delete i.start,i.hash&&("embed"===r?i.h=i.hash:"long"===r&&(a+="/"+i.hash),delete i.hash),a+=E(i),o&&(a+="#t="+o),a}},w.prototype.createLongUrl=function(e,t){return this.createUrl("https://vimeo.com/",e,t,"long")},w.prototype.createEmbedUrl=function(e,t){return this.createUrl("//player.vimeo.com/video/",e,t,"embed")},s.bind(new w);var D=i.combineParams,O=i.getTime;function L(){this.provider="wistia",this.alternatives=[],this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl,embedjsonp:this.createEmbedJsonpUrl},this.mediaTypes={VIDEO:"video",EMBEDVIDEO:"embedvideo"}}L.prototype.parseUrl=function(e){var t=e.match(/(?:(?:medias|iframe)\/|wvideo=)([\w-]+)/);return t?t[1]:void 0},L.prototype.parseChannel=function(e){var t=e.match(/(?:(?:https?:)?\/\/)?([^.]*)\.wistia\./),i=t?t[1]:void 0;if("fast"!==i&&"content"!==i)return i},L.prototype.parseParameters=function(e,t){return e.wtime&&(e.start=O(e.wtime),delete e.wtime),e.wvideo===t.id&&delete e.wvideo,e},L.prototype.parseMediaType=function(e){return e.id&&e.channel?this.mediaTypes.VIDEO:e.id?(delete e.channel,this.mediaTypes.EMBEDVIDEO):void 0},L.prototype.parse=function(e,t){var i={id:this.parseUrl(e),channel:this.parseChannel(e)};if(i.params=this.parseParameters(t,i),i.mediaType=this.parseMediaType(i),i.id)return i},L.prototype.createUrl=function(e,t,i){return t.start&&(t.wtime=t.start,delete t.start),i+=D(t)},L.prototype.createLongUrl=function(e,t){if(e.id&&e.mediaType===this.mediaTypes.VIDEO){var i="https://"+e.channel+".wistia.com/medias/"+e.id;return this.createUrl(e,t,i)}},L.prototype.createEmbedUrl=function(e,t){if(e.id&&(e.mediaType===this.mediaTypes.VIDEO||e.mediaType===this.mediaTypes.EMBEDVIDEO)){var i="https://fast.wistia.com/embed/iframe/"+e.id;return this.createUrl(e,t,i)}},L.prototype.createEmbedJsonpUrl=function(e){if(e.id&&(e.mediaType===this.mediaTypes.VIDEO||e.mediaType===this.mediaTypes.EMBEDVIDEO))return"https://fast.wistia.com/embed/medias/"+e.id+".jsonp"},s.bind(new L);var V=i.combineParams;function P(){this.provider="youku",this.defaultFormat="long",this.formats={embed:this.createEmbedUrl,long:this.createLongUrl,flash:this.createFlashUrl,static:this.createStaticUrl},this.mediaTypes={VIDEO:"video"}}P.prototype.parseUrl=function(e){var t=e.match(/(?:(?:embed|sid)\/|v_show\/id_|VideoIDS=)([a-zA-Z0-9]+)/);return t?t[1]:void 0},P.prototype.parseParameters=function(e){return e.VideoIDS&&delete e.VideoIDS,e},P.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,id:this.parseUrl(e),params:this.parseParameters(t)};if(i.id)return i},P.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=V(i)}},P.prototype.createEmbedUrl=function(e,t){return this.createUrl("http://player.youku.com/embed/",e,t)},P.prototype.createLongUrl=function(e,t){return this.createUrl("http://v.youku.com/v_show/id_",e,t)},P.prototype.createStaticUrl=function(e,t){return this.createUrl("http://static.youku.com/v1.0.0638/v/swf/loader.swf?VideoIDS=",e,t)},P.prototype.createFlashUrl=function(e,t){if(e.id&&e.mediaType===this.mediaTypes.VIDEO){var i="http://player.youku.com/player.php/sid/"+e.id+"/v.swf";return i+=V(t)}},s.bind(new P);var A=i.combineParams,S=i.getTime;function F(){this.provider="youtube",this.alternatives=["youtu","ytimg"],this.defaultFormat="long",this.formats={short:this.createShortUrl,long:this.createLongUrl,embed:this.createEmbedUrl,shortImage:this.createShortImageUrl,longImage:this.createLongImageUrl},this.imageQualities={0:"0",1:"1",2:"2",3:"3",DEFAULT:"default",HQDEFAULT:"hqdefault",SDDEFAULT:"sddefault",MQDEFAULT:"mqdefault",MAXRESDEFAULT:"maxresdefault"},this.defaultImageQuality=this.imageQualities.HQDEFAULT,this.mediaTypes={VIDEO:"video",PLAYLIST:"playlist",SHARE:"share",CHANNEL:"channel"}}F.prototype.parseVideoUrl=function(e){var t=e.match(/(?:(?:v|vi|be|videos|shorts|embed|live)\/(?!videoseries)|(?:v|ci)=)([\w-]{11})/i);return t?t[1]:void 0},F.prototype.parseChannelUrl=function(e){var t=e.match(/\/channel\/([\w-]+)/);return t?{id:t[1],mediaType:this.mediaTypes.CHANNEL}:(t=e.match(/\/(?:c|user)\/([\w-]+)/))?{name:t[1],mediaType:this.mediaTypes.CHANNEL}:void 0},F.prototype.parseParameters=function(e,t){return(e.start||e.t)&&(e.start=S(e.start||e.t),delete e.t),e.v===t.id&&delete e.v,e.list===t.id&&delete e.list,e},F.prototype.parseMediaType=function(e){if(e.params.list&&(e.list=e.params.list,delete e.params.list),e.id&&!e.params.ci)e.mediaType=this.mediaTypes.VIDEO;else if(e.list)delete e.id,e.mediaType=this.mediaTypes.PLAYLIST;else{if(!e.params.ci)return;delete e.params.ci,e.mediaType=this.mediaTypes.SHARE}return e},F.prototype.parse=function(e,t){var i=this.parseChannelUrl(e);if(i)return i;var r={params:t,id:this.parseVideoUrl(e)};return r.params=this.parseParameters(t,r),r=this.parseMediaType(r)},F.prototype.createShortUrl=function(e,t){if(e.id&&e.mediaType===this.mediaTypes.VIDEO){var i="https://youtu.be/"+e.id;return t.start&&(i+="#t="+t.start),i}},F.prototype.createLongUrl=function(e,t){var i="",r=t.start;if(delete t.start,e.mediaType===this.mediaTypes.CHANNEL)if(e.id)i+="https://www.youtube.com/channel/"+e.id;else{if(!e.name)return;i+="https://www.youtube.com/c/"+e.name}else if(e.mediaType===this.mediaTypes.PLAYLIST&&e.list)t.feature="share",i+="https://www.youtube.com/playlist";else if(e.mediaType===this.mediaTypes.VIDEO&&e.id)t.v=e.id,i+="https://www.youtube.com/watch";else{if(e.mediaType!==this.mediaTypes.SHARE||!e.id)return;t.ci=e.id,i+="https://www.youtube.com/shared"}return e.list&&(t.list=e.list),i+=A(t),e.mediaType!==this.mediaTypes.PLAYLIST&&r&&(i+="#t="+r),i},F.prototype.createEmbedUrl=function(e,t){var i="https://www.youtube.com/embed";if(e.mediaType===this.mediaTypes.PLAYLIST&&e.list)t.listType="playlist";else{if(e.mediaType!==this.mediaTypes.VIDEO||!e.id)return;i+="/"+e.id,"1"===t.loop&&(t.playlist=e.id)}return e.list&&(t.list=e.list),i+=A(t)},F.prototype.createImageUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO)return e+t.id+"/"+(i.imageQuality||this.defaultImageQuality)+".jpg"},F.prototype.createShortImageUrl=function(e,t){return this.createImageUrl("https://i.ytimg.com/vi/",e,t)},F.prototype.createLongImageUrl=function(e,t){return this.createImageUrl("https://img.youtube.com/vi/",e,t)},s.bind(new F);var C=i.combineParams,M=i.getTime;function k(){this.provider="soundcloud",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={TRACK:"track",PLAYLIST:"playlist",APITRACK:"apitrack",APIPLAYLIST:"apiplaylist"}}k.prototype.parseUrl=function(e,t){var i=e.match(/(?:m\.)?soundcloud\.com\/(?:([\w-]+)\/(sets\/)?)([\w-]+)/i);return i?(t.channel=i[1],"playlists"===i[1]||i[2]?t.list=i[3]:t.id=i[3],t):t},k.prototype.parseParameters=function(e){return e.t&&(e.start=M(e.t),delete e.t),e},k.prototype.parseMediaType=function(e){return e.id&&("tracks"===e.channel?(delete e.channel,delete e.params.url,e.mediaType=this.mediaTypes.APITRACK):e.mediaType=this.mediaTypes.TRACK),e.list&&("playlists"===e.channel?(delete e.channel,delete e.params.url,e.mediaType=this.mediaTypes.APIPLAYLIST):e.mediaType=this.mediaTypes.PLAYLIST),e},k.prototype.parse=function(e,t){var i={};if((i=this.parseUrl(e,i)).params=this.parseParameters(t),(i=this.parseMediaType(i)).id||i.list)return i},k.prototype.createLongUrl=function(e,t){var i="",r=t.start;if(delete t.start,e.mediaType===this.mediaTypes.TRACK&&e.id&&e.channel)i="https://soundcloud.com/"+e.channel+"/"+e.id;else if(e.mediaType===this.mediaTypes.PLAYLIST&&e.list&&e.channel)i="https://soundcloud.com/"+e.channel+"/sets/"+e.list;else if(e.mediaType===this.mediaTypes.APITRACK&&e.id)i="https://api.soundcloud.com/tracks/"+e.id;else{if(e.mediaType!==this.mediaTypes.APIPLAYLIST||!e.list)return;i="https://api.soundcloud.com/playlists/"+e.list}return i+=C(t),r&&(i+="#t="+r),i},k.prototype.createEmbedUrl=function(e,t){var i="https://w.soundcloud.com/player/";if(delete t.start,e.mediaType===this.mediaTypes.APITRACK&&e.id)t.url="https%3A//api.soundcloud.com/tracks/"+e.id;else{if(e.mediaType!==this.mediaTypes.APIPLAYLIST||!e.list)return;t.url="https%3A//api.soundcloud.com/playlists/"+e.list}return i+=C(t)},s.bind(new k);var R=i.combineParams;function N(){this.provider="teachertube",this.alternatives=[],this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video",AUDIO:"audio",DOCUMENT:"document",CHANNEL:"channel",COLLECTION:"collection",GROUP:"group"}}N.prototype.parse=function(e,t){var i={};i.list=this.parsePlaylist(t),i.params=t;var r=e.match(/\/(audio|video|document|user\/channel|collection|group)\/(?:[\w-]+-)?(\w+)/);if(r)return i.mediaType=this.parseMediaType(r[1]),i.id=r[2],i},N.prototype.parsePlaylist=function(e){if(e["playlist-id"]){var t=e["playlist-id"];return delete e["playlist-id"],t}},N.prototype.parseMediaType=function(e){switch(e){case"audio":return this.mediaTypes.AUDIO;case"video":return this.mediaTypes.VIDEO;case"document":return this.mediaTypes.DOCUMENT;case"user/channel":return this.mediaTypes.CHANNEL;case"collection":return this.mediaTypes.COLLECTION;case"group":return this.mediaTypes.GROUP}},N.prototype.createLongUrl=function(e,t){if(e.id){var i="https://www.teachertube.com/";return e.list&&(t["playlist-id"]=e.list),e.mediaType===this.mediaTypes.CHANNEL?i+="user/channel/":i+=e.mediaType+"/",i+=e.id,i+=R(t)}},N.prototype.createEmbedUrl=function(e,t){if(e.id){var i="https://www.teachertube.com/embed/";if(e.mediaType===this.mediaTypes.VIDEO||e.mediaType===this.mediaTypes.AUDIO)return i+=e.mediaType+"/"+e.id,i+=R(t)}},s.bind(new N);var Y=i.combineParams;function H(){this.provider="tiktok",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}H.prototype.parse=function(e,t){var i={params:t,mediaType:this.mediaTypes.VIDEO},r=e.match(/@([^/]+)\/video\/(\d{19})/);if(r)return i.channel=r[1],i.id=r[2],i},H.prototype.createLongUrl=function(e,t){var i="";if(e.mediaType===this.mediaTypes.VIDEO&&e.id&&e.channel)return i+="https://www.tiktok.com/@".concat(e.channel,"/video/").concat(e.id),i+=Y(t)},s.bind(new H);var j=i.combineParams;function _(){this.provider="voomly",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}_.prototype.parseUrl=function(e){var t=e.match(/(?:v|embed)\/([\w-]+)/i);return t?t[1]:void 0},_.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},_.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=j(i)}},_.prototype.createLongUrl=function(e,t){return this.createUrl("https://share.voomly.com/v/",e,t)},s.bind(new _);var Q=i.combineParams;function z(){this.provider="spotlightr",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}z.prototype.parseUrl=function(e){var t=e.match(/(?:watch|embed)\/([a-zA-Z\d]+)/i);return t?t[1]:void 0},z.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},z.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=Q(i)}},z.prototype.createLongUrl=function(e,t){return this.createUrl("https://videos.spotlightr.com/watch/",e,t)},s.bind(new z);var Z=i.combineParams;function K(){this.provider="bunny",this.alternatives=["bunnycdn","mediadelivery"],this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}K.prototype.parse=function(e,t){var i=e.match(/(?:play|embed)\/([a-zA-Z\d]+)\/([\w-]+)/i);if(i){var r={mediaType:this.mediaTypes.VIDEO,params:t,library:i[1],id:i[2]};return r.id?r:void 0}},K.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.library+"/"+t.id;return r+=Z(i)}},K.prototype.createLongUrl=function(e,t){return this.createUrl("https://iframe.mediadelivery.net/embed/",e,t)},s.bind(new K);var x=i.combineParams;function B(){this.provider="canva",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}B.prototype.parse=function(e,t){var i=e.match(/\/design\/(.+)\/watch/);if(i){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:i[1]};return r.id?r:void 0}},B.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id+"/watch";return r+=x(i)}},B.prototype.createLongUrl=function(e,t){return this.createUrl("https://www.canva.com/design/",e,t)},s.bind(new B);var $=i.combineParams;function q(){this.provider="descript",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}q.prototype.parse=function(e,t){var i=e.match(/(?:view|embed)\/([\w-]+)/i);if(i){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:i[1]};return r.id?r:void 0}},q.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=$(i)}},q.prototype.createLongUrl=function(e,t){return this.createUrl("https://share.descript.com/embed/",e,t)},s.bind(new q);var G=i.combineParams;function J(){this.provider="ted",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video",PLAYLIST:"playlist"}}J.prototype.parseUrl=function(e,t){var i=e.match(/\/(talks|playlists\/(\d+))\/([\w-]+)/i),r=i?i[1]:void 0;return r?(t.channel=r.split("/")[0],t.id=i[3],"playlists"===t.channel&&(t.list=i[2]),t):t},J.prototype.parseMediaType=function(e){return e.id&&"playlists"===e.channel&&(delete e.channel,e.mediaType=this.mediaTypes.PLAYLIST),e.id&&"talks"===e.channel&&(delete e.channel,e.mediaType=this.mediaTypes.VIDEO),e},J.prototype.parse=function(e,t){var i={params:t};if(i=this.parseUrl(e,i),(i=this.parseMediaType(i)).id)return i},J.prototype.createLongUrl=function(e,t){var i="";if(e.mediaType===this.mediaTypes.VIDEO&&e.id)i+="https://ted.com/talks/"+e.id;else{if(e.mediaType!==this.mediaTypes.PLAYLIST||!e.id)return;i+="https://ted.com/playlists/"+e.list+"/"+e.id}return i+=G(t)},J.prototype.createEmbedUrl=function(e,t){var i="https://embed.ted.com/";if(e.mediaType===this.mediaTypes.PLAYLIST&&e.id)i+="playlists/"+e.list+"/"+e.id;else{if(e.mediaType!==this.mediaTypes.VIDEO||!e.id)return;i+="talks/"+e.id}return i+=G(t)},s.bind(new J);var W=i.combineParams;function X(){this.provider="facebook",this.alternatives=[],this.defaultFormat="long",this.formats={long:this.createLongUrl,watch:this.createWatchUrl},this.mediaTypes={VIDEO:"video"}}X.prototype.parse=function(e,t){var i={params:t,mediaType:this.mediaTypes.VIDEO},r=e.match(/(?:\/(\d+))?\/videos(?:\/.*?)?\/(\d+)/i);if(r&&(r[1]&&(i.pageId=r[1]),i.id=r[2]),t.v&&!i.id&&(i.id=t.v,delete t.v,i.params=t),i.id)return i},X.prototype.createWatchUrl=function(e,t){var i="https://facebook.com/watch/";if(e.mediaType===this.mediaTypes.VIDEO&&e.id)return t={v:e.id},i+=W(t)},X.prototype.createLongUrl=function(e,t){var i="https://facebook.com/";if(e.pageId&&(i+=e.pageId,e.mediaType===this.mediaTypes.VIDEO&&e.id))return i+="/videos/"+e.id,i+=W(t)},s.bind(new X);var ee=i.combineParams;function te(){this.provider="bigcommand",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}te.prototype.parse=function(e,t){var i=e.match(/(?:watch)\/([\w-]+)/i);if(i){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:i[1]};return r.id?r:void 0}},te.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=ee(i)}},te.prototype.createLongUrl=function(e,t){return this.createUrl("https://adilo.bigcommand.com/watch/",e,t)},s.bind(new te);var ie=i.combineParams;function re(){this.provider="brightcove",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}re.prototype.parse=function(e,t){var i=e.match(/(\d+)\/(\w+)_(\w+)+\/index.html\?videoId=(\d+)/);if(i){var r={mediaType:this.mediaTypes.VIDEO,params:t,library:i[1],player:i[2],embed:i[3],id:i[4]};return r.id?r:void 0}},re.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.library+"/"+t.player+"_"+t.embed+"/index.html";return r+=ie(i)}},re.prototype.createLongUrl=function(e,t){return this.createUrl("https://players.brightcove.net/",e,t)},s.bind(new re);var ae=i.combineParams;function oe(){this.provider="google",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}oe.prototype.parseUrl=function(e){var t=e.match(/\/d\/([\w-]+)/);return t?t[1]:void 0},oe.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},oe.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id+"/preview";return r+=ae(i)}},oe.prototype.createLongUrl=function(e,t){return this.createUrl("https://drive.google.com/file/d/",e,t)},s.bind(new oe);var se=i.combineParams;function ne(){this.provider="groove",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}ne.prototype.parse=function(e,t){var i=e.match(/(?:videopage)\/([\w-]+)\/([\w-]+)/i);if(i){var r={mediaType:this.mediaTypes.VIDEO,params:t,library:i[1],id:i[2]};return r.id?r:void 0}},ne.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.library+"/"+t.id;return r+=se(i)}},ne.prototype.createLongUrl=function(e,t){return this.createUrl("https://app.groove.cm/groovevideo/videopage/",e,t)},s.bind(new ne);var pe=i.combineParams;function de(){this.provider="gumlet",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}de.prototype.parseUrl=function(e){var t=e.match(/(?:watch|embed)\/([\w]+)/i);return t?t[1]:void 0},de.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},de.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=pe(i)}},de.prototype.createLongUrl=function(e,t){return this.createUrl("https://gumlet.tv/watch/",e,t)},de.prototype.createEmbedUrl=function(e,t){return this.createUrl("https://play.gumlet.io/embed/",e,t)},s.bind(new de);var me=i.combineParams;function le(){this.provider="streamable",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}le.prototype.parseUrl=function(e){var t=e.match(/com\/(?:e\/|streamable\/)?([\w-]+)/);return t?t[1]:void 0},le.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},le.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=me(i)}},le.prototype.createLongUrl=function(e,t){return this.createUrl("https://streamable.com/",e,t)},s.bind(new le);var ce=i.combineParams;function he(){this.provider="searchie",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}he.prototype.parseUrl=function(e){var t=e.match(/(?:watch)\/([\w-]+)/i);return t?t[1]:void 0},he.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},he.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=ce(i)}},he.prototype.createLongUrl=function(e,t){return this.createUrl("https://app.searchie.io/watch/",e,t)},s.bind(new he);var ue=i.combineParams;function ye(){this.provider="tevello",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}ye.prototype.parse=function(e,t){var i=e.match(/\/([a-zA-Z\d]+)\/([\w-]+)/i);if(i){var r={mediaType:this.mediaTypes.VIDEO,params:t,library:i[1],id:i[2]};return r.id?r:void 0}},ye.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.library+"/"+t.id;return r+=ue(i)}},ye.prototype.createLongUrl=function(e,t){return this.createUrl("https://video.tevello.com/",e,t)},s.bind(new ye);var fe=i.combineParams;function ve(){this.provider="veed",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}return ve.prototype.parseUrl=function(e){var t=e.match(/view\/([\w-]+)/i);return t?t[1]:void 0},ve.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},ve.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=fe(i)}},ve.prototype.createLongUrl=function(e,t){return this.createUrl("https://veed.io/view/",e,t)},s.bind(new ve),e(s)}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).urlParser=t()}(this,(function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}var r={};r.getQueryParams=function(e){if("string"!=typeof e)return{};var t,r={},i=(e=e.split("+").join(" ")).match(/(?:[?](?:[^=]+)=(?:[^&#]*)(?:[&](?:[^=]+)=(?:[^&#]*))*(?:[#].*)?)|(?:[#].*)/);if(null===i)return{};t=i[0].substr(1).split(/[&#=]/);for(var a=0;a<t.length;a+=2)r[decodeURIComponent(t[a])]=decodeURIComponent(t[a+1]||"");return r},r.combineParams=function(e,r){if("object"!==t(e))return"";var i="",a=0,o=Object.keys(e);if(0===o.length)return"";for(o.sort(),r||(i+="?"+o[0]+"="+e[o[0]],a+=1);a<o.length;a+=1)i+="&"+o[a]+"="+e[o[a]];return i},r.getTime=function(e){return void 0===e?0:e.match(/^(\d+[smhdw]?)+$/)?function(e){var t,r=0,i={s:1,m:60,h:3600,d:86400,w:604800};t=(e=e.replace(/([smhdw])/g," $1 ").trim()).split(" ");for(var a=0;a<t.length;a+=2)r+=parseInt(t[a],10)*i[t[a+1]||"s"];return r}(e):e.match(/^(\d+:?)+$/)?function(e){for(var t=0,r=[1,60,3600,86400,604800],i=e.split(":"),a=0;a<i.length;a++)t+=parseInt(i[a],10)*r[i.length-a-1];return t}(e):0};var i=r.getQueryParams;function a(){for(var e=0,t=["parseProvider","parse","bind","create"];e<t.length;e++){var r=t[e];this[r]=this[r].bind(this)}this.plugins={}}var o=a;a.prototype.parseProvider=function(e){var t=e.match(/(?:(?:https?:)?\/\/)?(?:[^.]+\.)?(\w+)\./i);return t?t[1]:void 0},a.prototype.parse=function(e){if(void 0!==e){var t,r=this.parseProvider(e),a=this.plugins[r];if(r&&a&&a.parse)return(t=a.parse.call(a,e,i(e)))&&((t=function(e){e.params&&0===Object.keys(e.params).length&&delete e.params;return e}(t)).provider=a.provider),t}},a.prototype.bind=function(e){if(this.plugins[e.provider]=e,e.alternatives)for(var t=0;t<e.alternatives.length;t+=1)this.plugins[e.alternatives[t]]=e},a.prototype.create=function(e){if("object"===t(e)&&"object"===t(e.videoInfo)){var r=e.videoInfo,i=e.params,a=this.plugins[r.provider];return i="internal"===i?r.params:i||{},a&&(e.format=e.format||a.defaultFormat,a.formats.hasOwnProperty(e.format))?a.formats[e.format].apply(a,[r,Object.assign({},i)]):void 0}};var s=new o;function n(){this.provider="allocine",this.alternatives=[],this.defaultFormat="embed",this.formats={embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}n.prototype.parseUrl=function(e){var t=e.match(/(?:\/video\/player_gen_cmedia=)([A-Za-z0-9]+)/i);return t?t[1]:void 0},n.prototype.parse=function(e){var t={mediaType:this.mediaTypes.VIDEO,id:this.parseUrl(e)};return t.id?t:void 0},n.prototype.createEmbedUrl=function(e){if(e.id&&e.mediaType===this.mediaTypes.VIDEO)return"https://player.allocine.fr/"+e.id+".html"},s.bind(new n);var p=r.combineParams;function d(){this.provider="canalplus",this.defaultFormat="embed",this.formats={embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}d.prototype.parseParameters=function(e){return delete e.vid,e},d.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,id:t.vid};if(r.params=this.parseParameters(t),r.id)return r},d.prototype.createEmbedUrl=function(e,t){if(e.id&&e.mediaType===this.mediaTypes.VIDEO){var r="http://player.canalplus.fr/embed/";return t.vid=e.id,r+=p(t)}},s.bind(new d);var m=r.combineParams;function l(){this.provider="coub",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}l.prototype.parseUrl=function(e){var t=e.match(/(?:embed|view)\/([a-zA-Z\d]+)/i);return t?t[1]:void 0},l.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};if(r.id)return r},l.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=m(r)}},l.prototype.createLongUrl=function(e,t){return this.createUrl("https://coub.com/view/",e,t)},l.prototype.createEmbedUrl=function(e,t){return this.createUrl("//coub.com/embed/",e,t)},s.bind(new l);var c=r.combineParams,h=r.getTime;function u(){this.provider="dailymotion",this.alternatives=["dai"],this.defaultFormat="long",this.formats={short:this.createShortUrl,long:this.createLongUrl,embed:this.createEmbedUrl,image:this.createImageUrl},this.mediaTypes={VIDEO:"video"}}u.prototype.parseParameters=function(e){return this.parseTime(e)},u.prototype.parseTime=function(e){return e.start&&(e.start=h(e.start)),e},u.prototype.parseUrl=function(e){var t=e.match(/(?:\/video|ly)\/([A-Za-z0-9]+)/i);return t?t[1]:void 0},u.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:this.parseParameters(t),id:this.parseUrl(e)};return r.id?r:void 0},u.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO)return e+t.id+c(r)},u.prototype.createShortUrl=function(e,t){return this.createUrl("https://dai.ly/",e,t)},u.prototype.createLongUrl=function(e,t){return this.createUrl("https://dailymotion.com/video/",e,t)},u.prototype.createEmbedUrl=function(e,t){return this.createUrl("https://www.dailymotion.com/embed/video/",e,t)},u.prototype.createImageUrl=function(e,t){return delete t.start,this.createUrl("https://www.dailymotion.com/thumbnail/video/",e,t)},s.bind(new u);var y=r.combineParams;function f(){this.provider="loom",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}f.prototype.parseUrl=function(e){var t=e.match(/(?:share|embed)\/([a-zA-Z\d]+)/i);return t?t[1]:void 0},f.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},f.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=y(r)}},f.prototype.createLongUrl=function(e,t){return this.createUrl("https://loom.com/share/",e,t)},f.prototype.createEmbedUrl=function(e,t){return this.createUrl("//loom.com/embed/",e,t)},s.bind(new f);var v=r.combineParams;function T(){this.provider="tella",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}T.prototype.parseUrl=function(e){var t=e.match(/(?:video)\/([\w-]+)/i);return t?t[1]:void 0},T.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},T.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=v(r)}},T.prototype.createLongUrl=function(e,t){return this.createUrl("https://www.tella.tv/video/",e,t)},T.prototype.createEmbedUrl=function(e,t){return this.createUrl("https://www.tella.tv/video/",e,t)},s.bind(new T);var U=r.combineParams,b=r.getTime;function g(){this.provider="twitch",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video",STREAM:"stream",CLIP:"clip"}}g.prototype.seperateId=function(e){return{pre:e[0],id:e.substr(1)}},g.prototype.parseChannel=function(e,t){var r=t.channel||t.utm_content||e.channel;return delete t.utm_content,delete t.channel,r},g.prototype.parseUrl=function(e,t,r){var i;return(i=e.match(/(clips\.)?twitch\.tv\/(?:(?:videos\/(\d+))|(\w+(?:-[\w\d-]+)?)(?:\/clip\/(\w+))?)/i))&&i[2]?t.id="v"+i[2]:r.video?(t.id=r.video,delete r.video):r.clip?(t.id=r.clip,t.isClip=!0,delete r.clip):i&&i[1]&&i[3]?(t.id=i[3],t.isClip=!0):i&&i[3]&&i[4]?(t.channel=i[3],t.id=i[4],t.isClip=!0):i&&i[3]&&(t.channel=i[3]),t},g.prototype.parseMediaType=function(e){var t;return e.id?e.isClip?(t=this.mediaTypes.CLIP,delete e.isClip):t=this.mediaTypes.VIDEO:e.channel&&(t=this.mediaTypes.STREAM),t},g.prototype.parseParameters=function(e){return e.t&&(e.start=b(e.t),delete e.t),e},g.prototype.parse=function(e,t){var r=this,i={};return(i=r.parseUrl(e,i,t)).channel=r.parseChannel(i,t),i.mediaType=r.parseMediaType(i),i.params=r.parseParameters(t),i.channel||i.id?i:void 0},g.prototype.createLongUrl=function(e,t){var r="";if(e.mediaType===this.mediaTypes.STREAM&&e.channel)r="https://twitch.tv/"+e.channel;else if(e.mediaType===this.mediaTypes.VIDEO&&e.id){r="https://twitch.tv/videos/"+this.seperateId(e.id).id,t.start&&(t.t=t.start+"s",delete t.start)}else{if(e.mediaType!==this.mediaTypes.CLIP||!e.id)return;r=e.channel?"https://www.twitch.tv/"+e.channel+"/clip/"+e.id:"https://clips.twitch.tv/"+e.id}return r+=U(t)},g.prototype.createEmbedUrl=function(e,t){var r="https://player.twitch.tv/";if(e.mediaType===this.mediaTypes.STREAM&&e.channel)t.channel=e.channel;else if(e.mediaType===this.mediaTypes.VIDEO&&e.id)t.video=e.id,t.start&&(t.t=t.start+"s",delete t.start);else{if(e.mediaType!==this.mediaTypes.CLIP||!e.id)return;r="https://clips.twitch.tv/embed",t.clip=e.id}return r+=U(t)},s.bind(new g);var E=r.combineParams,I=r.getTime;function w(){this.provider="vimeo",this.alternatives=["vimeopro"],this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}w.prototype.parseUrl=function(e){var t=e.match(/(?:\/showcase\/\d+)?(?:\/(?:channels\/[\w]+|(?:(?:album\/\d+|groups\/[\w]+)\/)?videos?))?\/(\d+)/i);return t?t[1]:void 0},w.prototype.parseHash=function(e){var t=e.match(/\/\d+\/(\w+)$/i);return t?t[1]:void 0},w.prototype.parseParameters=function(e){return e.t&&(e.start=I(e.t),delete e.t),e.h&&(e.hash=e.h,delete e.h),e},w.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:this.parseParameters(t),id:this.parseUrl(e)},i=this.parseHash(e,t);return i&&(r.params.hash=i),r.id?r:void 0},w.prototype.createUrl=function(e,t,r,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var a=e+t.id,o=r.start;return delete r.start,r.hash&&("embed"===i?r.h=r.hash:"long"===i&&(a+="/"+r.hash),delete r.hash),a+=E(r),o&&(a+="#t="+o),a}},w.prototype.createLongUrl=function(e,t){return this.createUrl("https://vimeo.com/",e,t,"long")},w.prototype.createEmbedUrl=function(e,t){return this.createUrl("//player.vimeo.com/video/",e,t,"embed")},s.bind(new w);var D=r.combineParams,O=r.getTime;function L(){this.provider="wistia",this.alternatives=[],this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl,embedjsonp:this.createEmbedJsonpUrl},this.mediaTypes={VIDEO:"video",EMBEDVIDEO:"embedvideo"}}L.prototype.parseUrl=function(e){var t=e.match(/(?:(?:medias|iframe)\/|wvideo=)([\w-]+)/);return t?t[1]:void 0},L.prototype.parseChannel=function(e){var t=e.match(/(?:(?:https?:)?\/\/)?([^.]*)\.wistia\./),r=t?t[1]:void 0;if("fast"!==r&&"content"!==r)return r},L.prototype.parseParameters=function(e,t){return e.wtime&&(e.start=O(e.wtime),delete e.wtime),e.wvideo===t.id&&delete e.wvideo,e},L.prototype.parseMediaType=function(e){return e.id&&e.channel?this.mediaTypes.VIDEO:e.id?(delete e.channel,this.mediaTypes.EMBEDVIDEO):void 0},L.prototype.parse=function(e,t){var r={id:this.parseUrl(e),channel:this.parseChannel(e)};if(r.params=this.parseParameters(t,r),r.mediaType=this.parseMediaType(r),r.id)return r},L.prototype.createUrl=function(e,t,r){return t.start&&(t.wtime=t.start,delete t.start),r+=D(t)},L.prototype.createLongUrl=function(e,t){if(e.id&&e.mediaType===this.mediaTypes.VIDEO){var r="https://"+e.channel+".wistia.com/medias/"+e.id;return this.createUrl(e,t,r)}},L.prototype.createEmbedUrl=function(e,t){if(e.id&&(e.mediaType===this.mediaTypes.VIDEO||e.mediaType===this.mediaTypes.EMBEDVIDEO)){var r="https://fast.wistia.com/embed/iframe/"+e.id;return this.createUrl(e,t,r)}},L.prototype.createEmbedJsonpUrl=function(e){if(e.id&&(e.mediaType===this.mediaTypes.VIDEO||e.mediaType===this.mediaTypes.EMBEDVIDEO))return"https://fast.wistia.com/embed/medias/"+e.id+".jsonp"},s.bind(new L);var V=r.combineParams;function P(){this.provider="youku",this.defaultFormat="long",this.formats={embed:this.createEmbedUrl,long:this.createLongUrl,flash:this.createFlashUrl,static:this.createStaticUrl},this.mediaTypes={VIDEO:"video"}}P.prototype.parseUrl=function(e){var t=e.match(/(?:(?:embed|sid)\/|v_show\/id_|VideoIDS=)([a-zA-Z0-9]+)/);return t?t[1]:void 0},P.prototype.parseParameters=function(e){return e.VideoIDS&&delete e.VideoIDS,e},P.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,id:this.parseUrl(e),params:this.parseParameters(t)};if(r.id)return r},P.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=V(r)}},P.prototype.createEmbedUrl=function(e,t){return this.createUrl("http://player.youku.com/embed/",e,t)},P.prototype.createLongUrl=function(e,t){return this.createUrl("http://v.youku.com/v_show/id_",e,t)},P.prototype.createStaticUrl=function(e,t){return this.createUrl("http://static.youku.com/v1.0.0638/v/swf/loader.swf?VideoIDS=",e,t)},P.prototype.createFlashUrl=function(e,t){if(e.id&&e.mediaType===this.mediaTypes.VIDEO){var r="http://player.youku.com/player.php/sid/"+e.id+"/v.swf";return r+=V(t)}},s.bind(new P);var A=r.combineParams,S=r.getTime;function F(){this.provider="youtube",this.alternatives=["youtu","ytimg"],this.defaultFormat="long",this.formats={short:this.createShortUrl,long:this.createLongUrl,embed:this.createEmbedUrl,shortImage:this.createShortImageUrl,longImage:this.createLongImageUrl},this.imageQualities={0:"0",1:"1",2:"2",3:"3",DEFAULT:"default",HQDEFAULT:"hqdefault",SDDEFAULT:"sddefault",MQDEFAULT:"mqdefault",MAXRESDEFAULT:"maxresdefault"},this.defaultImageQuality=this.imageQualities.HQDEFAULT,this.mediaTypes={VIDEO:"video",PLAYLIST:"playlist",SHARE:"share",CHANNEL:"channel"}}F.prototype.parseVideoUrl=function(e){var t=e.match(/(?:(?:v|vi|be|videos|shorts|embed|live)\/(?!videoseries)|(?:v|ci)=)([\w-]{11})/i);return t?t[1]:void 0},F.prototype.parseChannelUrl=function(e){var t=e.match(/\/channel\/([\w-]+)/);return t?{id:t[1],mediaType:this.mediaTypes.CHANNEL}:(t=e.match(/\/(?:c|user)\/([\w-]+)/))?{name:t[1],mediaType:this.mediaTypes.CHANNEL}:void 0},F.prototype.parseParameters=function(e,t){return(e.start||e.t)&&(e.start=S(e.start||e.t),delete e.t),e.v===t.id&&delete e.v,e.list===t.id&&delete e.list,e},F.prototype.parseMediaType=function(e){if(e.params.list&&(e.list=e.params.list,delete e.params.list),e.id&&!e.params.ci)e.mediaType=this.mediaTypes.VIDEO;else if(e.list)delete e.id,e.mediaType=this.mediaTypes.PLAYLIST;else{if(!e.params.ci)return;delete e.params.ci,e.mediaType=this.mediaTypes.SHARE}return e},F.prototype.parse=function(e,t){var r=this.parseChannelUrl(e);if(r)return r;var i={params:t,id:this.parseVideoUrl(e)};return i.params=this.parseParameters(t,i),i=this.parseMediaType(i)},F.prototype.createShortUrl=function(e,t){if(e.id&&e.mediaType===this.mediaTypes.VIDEO){var r="https://youtu.be/"+e.id;return t.start&&(r+="#t="+t.start),r}},F.prototype.createLongUrl=function(e,t){var r="",i=t.start;if(delete t.start,e.mediaType===this.mediaTypes.CHANNEL)if(e.id)r+="https://www.youtube.com/channel/"+e.id;else{if(!e.name)return;r+="https://www.youtube.com/c/"+e.name}else if(e.mediaType===this.mediaTypes.PLAYLIST&&e.list)t.feature="share",r+="https://www.youtube.com/playlist";else if(e.mediaType===this.mediaTypes.VIDEO&&e.id)t.v=e.id,r+="https://www.youtube.com/watch";else{if(e.mediaType!==this.mediaTypes.SHARE||!e.id)return;t.ci=e.id,r+="https://www.youtube.com/shared"}return e.list&&(t.list=e.list),r+=A(t),e.mediaType!==this.mediaTypes.PLAYLIST&&i&&(r+="#t="+i),r},F.prototype.createEmbedUrl=function(e,t){var r="https://www.youtube.com/embed";if(e.mediaType===this.mediaTypes.PLAYLIST&&e.list)t.listType="playlist";else{if(e.mediaType!==this.mediaTypes.VIDEO||!e.id)return;r+="/"+e.id,"1"===t.loop&&(t.playlist=e.id)}return e.list&&(t.list=e.list),r+=A(t)},F.prototype.createImageUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO)return e+t.id+"/"+(r.imageQuality||this.defaultImageQuality)+".jpg"},F.prototype.createShortImageUrl=function(e,t){return this.createImageUrl("https://i.ytimg.com/vi/",e,t)},F.prototype.createLongImageUrl=function(e,t){return this.createImageUrl("https://img.youtube.com/vi/",e,t)},s.bind(new F);var C=r.combineParams,M=r.getTime;function k(){this.provider="soundcloud",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={TRACK:"track",PLAYLIST:"playlist",APITRACK:"apitrack",APIPLAYLIST:"apiplaylist"}}k.prototype.parseUrl=function(e,t){var r=e.match(/(?:m\.)?soundcloud\.com\/(?:([\w-]+)\/(sets\/)?)([\w-]+)/i);return r?(t.channel=r[1],"playlists"===r[1]||r[2]?t.list=r[3]:t.id=r[3],t):t},k.prototype.parseParameters=function(e){return e.t&&(e.start=M(e.t),delete e.t),e},k.prototype.parseMediaType=function(e){return e.id&&("tracks"===e.channel?(delete e.channel,delete e.params.url,e.mediaType=this.mediaTypes.APITRACK):e.mediaType=this.mediaTypes.TRACK),e.list&&("playlists"===e.channel?(delete e.channel,delete e.params.url,e.mediaType=this.mediaTypes.APIPLAYLIST):e.mediaType=this.mediaTypes.PLAYLIST),e},k.prototype.parse=function(e,t){var r={};if((r=this.parseUrl(e,r)).params=this.parseParameters(t),(r=this.parseMediaType(r)).id||r.list)return r},k.prototype.createLongUrl=function(e,t){var r="",i=t.start;if(delete t.start,e.mediaType===this.mediaTypes.TRACK&&e.id&&e.channel)r="https://soundcloud.com/"+e.channel+"/"+e.id;else if(e.mediaType===this.mediaTypes.PLAYLIST&&e.list&&e.channel)r="https://soundcloud.com/"+e.channel+"/sets/"+e.list;else if(e.mediaType===this.mediaTypes.APITRACK&&e.id)r="https://api.soundcloud.com/tracks/"+e.id;else{if(e.mediaType!==this.mediaTypes.APIPLAYLIST||!e.list)return;r="https://api.soundcloud.com/playlists/"+e.list}return r+=C(t),i&&(r+="#t="+i),r},k.prototype.createEmbedUrl=function(e,t){var r="https://w.soundcloud.com/player/";if(delete t.start,e.mediaType===this.mediaTypes.APITRACK&&e.id)t.url="https%3A//api.soundcloud.com/tracks/"+e.id;else{if(e.mediaType!==this.mediaTypes.APIPLAYLIST||!e.list)return;t.url="https%3A//api.soundcloud.com/playlists/"+e.list}return r+=C(t)},s.bind(new k);var R=r.combineParams;function N(){this.provider="teachertube",this.alternatives=[],this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video",AUDIO:"audio",DOCUMENT:"document",CHANNEL:"channel",COLLECTION:"collection",GROUP:"group"}}N.prototype.parse=function(e,t){var r={};r.list=this.parsePlaylist(t),r.params=t;var i=e.match(/\/(audio|video|document|user\/channel|collection|group)\/(?:[\w-]+-)?(\w+)/);if(i)return r.mediaType=this.parseMediaType(i[1]),r.id=i[2],r},N.prototype.parsePlaylist=function(e){if(e["playlist-id"]){var t=e["playlist-id"];return delete e["playlist-id"],t}},N.prototype.parseMediaType=function(e){switch(e){case"audio":return this.mediaTypes.AUDIO;case"video":return this.mediaTypes.VIDEO;case"document":return this.mediaTypes.DOCUMENT;case"user/channel":return this.mediaTypes.CHANNEL;case"collection":return this.mediaTypes.COLLECTION;case"group":return this.mediaTypes.GROUP}},N.prototype.createLongUrl=function(e,t){if(e.id){var r="https://www.teachertube.com/";return e.list&&(t["playlist-id"]=e.list),e.mediaType===this.mediaTypes.CHANNEL?r+="user/channel/":r+=e.mediaType+"/",r+=e.id,r+=R(t)}},N.prototype.createEmbedUrl=function(e,t){if(e.id){var r="https://www.teachertube.com/embed/";if(e.mediaType===this.mediaTypes.VIDEO||e.mediaType===this.mediaTypes.AUDIO)return r+=e.mediaType+"/"+e.id,r+=R(t)}},s.bind(new N);var Y=r.combineParams;function H(){this.provider="tiktok",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}H.prototype.parse=function(e,t){var r={params:t,mediaType:this.mediaTypes.VIDEO},i=e.match(/@([^/]+)\/video\/(\d{19})/);if(i)return r.channel=i[1],r.id=i[2],r},H.prototype.createLongUrl=function(e,t){var r="";if(e.mediaType===this.mediaTypes.VIDEO&&e.id&&e.channel)return r+="https://www.tiktok.com/@".concat(e.channel,"/video/").concat(e.id),r+=Y(t)},s.bind(new H);var j=r.combineParams;function _(){this.provider="voomly",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}_.prototype.parseUrl=function(e){var t=e.match(/(?:v|embed)\/([\w-]+)/i);return t?t[1]:void 0},_.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},_.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=j(r)}},_.prototype.createLongUrl=function(e,t){return this.createUrl("https://share.voomly.com/v/",e,t)},s.bind(new _);var Q=r.combineParams;function z(){this.provider="spotlightr",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}z.prototype.parseUrl=function(e){var t=e.match(/(?:watch|embed)\/([a-zA-Z\d]+)/i);return t?t[1]:void 0},z.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},z.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=Q(r)}},z.prototype.createLongUrl=function(e,t){return this.createUrl("https://videos.spotlightr.com/watch/",e,t)},s.bind(new z);var Z=r.combineParams;function K(){this.provider="bunny",this.alternatives=["bunnycdn","mediadelivery"],this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}K.prototype.parse=function(e,t){var r=e.match(/(?:play|embed)\/([a-zA-Z\d]+)\/([\w-]+)/i);if(r){var i={mediaType:this.mediaTypes.VIDEO,params:t,library:r[1],id:r[2]};return i.id?i:void 0}},K.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.library+"/"+t.id;return i+=Z(r)}},K.prototype.createLongUrl=function(e,t){return this.createUrl("https://iframe.mediadelivery.net/embed/",e,t)},s.bind(new K);var x=r.combineParams;function B(){this.provider="canva",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}B.prototype.parse=function(e,t){var r=e.match(/\/design\/(.+)\/watch/);if(r){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:r[1]};return i.id?i:void 0}},B.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id+"/watch";return i+=x(r)}},B.prototype.createLongUrl=function(e,t){return this.createUrl("https://www.canva.com/design/",e,t)},s.bind(new B);var $=r.combineParams;function q(){this.provider="cloudflarestream",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}q.prototype.parseUrl=function(e){var t=e.match(/(?:https?:\/\/)?([^/]+\.cloudflarestream\.com)\/([a-f0-9]{32})(?:\/iframe)?/i);if(t)return{host:t[1],id:t[2]}},q.prototype.parse=function(e,t){var r=this.parseUrl(e);if(r)return{mediaType:this.mediaTypes.VIDEO,params:t,id:r.id,host:r.host}},q.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO&&t.host){var i="https://"+t.host+"/"+t.id+e;return i+=$(r)}},q.prototype.createLongUrl=function(e,t){return this.createUrl("",e,t)},q.prototype.createEmbedUrl=function(e,t){return this.createUrl("/iframe",e,t)},s.bind(new q);var G=r.combineParams;function J(){this.provider="descript",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}J.prototype.parse=function(e,t){var r=e.match(/(?:view|embed)\/([\w-]+)/i);if(r){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:r[1]};return i.id?i:void 0}},J.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=G(r)}},J.prototype.createLongUrl=function(e,t){return this.createUrl("https://share.descript.com/embed/",e,t)},s.bind(new J);var W=r.combineParams;function X(){this.provider="ted",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video",PLAYLIST:"playlist"}}X.prototype.parseUrl=function(e,t){var r=e.match(/\/(talks|playlists\/(\d+))\/([\w-]+)/i),i=r?r[1]:void 0;return i?(t.channel=i.split("/")[0],t.id=r[3],"playlists"===t.channel&&(t.list=r[2]),t):t},X.prototype.parseMediaType=function(e){return e.id&&"playlists"===e.channel&&(delete e.channel,e.mediaType=this.mediaTypes.PLAYLIST),e.id&&"talks"===e.channel&&(delete e.channel,e.mediaType=this.mediaTypes.VIDEO),e},X.prototype.parse=function(e,t){var r={params:t};if(r=this.parseUrl(e,r),(r=this.parseMediaType(r)).id)return r},X.prototype.createLongUrl=function(e,t){var r="";if(e.mediaType===this.mediaTypes.VIDEO&&e.id)r+="https://ted.com/talks/"+e.id;else{if(e.mediaType!==this.mediaTypes.PLAYLIST||!e.id)return;r+="https://ted.com/playlists/"+e.list+"/"+e.id}return r+=W(t)},X.prototype.createEmbedUrl=function(e,t){var r="https://embed.ted.com/";if(e.mediaType===this.mediaTypes.PLAYLIST&&e.id)r+="playlists/"+e.list+"/"+e.id;else{if(e.mediaType!==this.mediaTypes.VIDEO||!e.id)return;r+="talks/"+e.id}return r+=W(t)},s.bind(new X);var ee=r.combineParams;function te(){this.provider="facebook",this.alternatives=[],this.defaultFormat="long",this.formats={long:this.createLongUrl,watch:this.createWatchUrl},this.mediaTypes={VIDEO:"video"}}te.prototype.parse=function(e,t){var r={params:t,mediaType:this.mediaTypes.VIDEO},i=e.match(/(?:\/(\d+))?\/videos(?:\/.*?)?\/(\d+)/i);if(i&&(i[1]&&(r.pageId=i[1]),r.id=i[2]),t.v&&!r.id&&(r.id=t.v,delete t.v,r.params=t),r.id)return r},te.prototype.createWatchUrl=function(e,t){var r="https://facebook.com/watch/";if(e.mediaType===this.mediaTypes.VIDEO&&e.id)return t={v:e.id},r+=ee(t)},te.prototype.createLongUrl=function(e,t){var r="https://facebook.com/";if(e.pageId&&(r+=e.pageId,e.mediaType===this.mediaTypes.VIDEO&&e.id))return r+="/videos/"+e.id,r+=ee(t)},s.bind(new te);var re=r.combineParams;function ie(){this.provider="bigcommand",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}ie.prototype.parse=function(e,t){var r=e.match(/(?:watch)\/([\w-]+)/i);if(r){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:r[1]};return i.id?i:void 0}},ie.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=re(r)}},ie.prototype.createLongUrl=function(e,t){return this.createUrl("https://adilo.bigcommand.com/watch/",e,t)},s.bind(new ie);var ae=r.combineParams;function oe(){this.provider="brightcove",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}oe.prototype.parse=function(e,t){var r=e.match(/(\d+)\/(\w+)_(\w+)+\/index.html\?videoId=(\d+)/);if(r){var i={mediaType:this.mediaTypes.VIDEO,params:t,library:r[1],player:r[2],embed:r[3],id:r[4]};return i.id?i:void 0}},oe.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.library+"/"+t.player+"_"+t.embed+"/index.html";return i+=ae(r)}},oe.prototype.createLongUrl=function(e,t){return this.createUrl("https://players.brightcove.net/",e,t)},s.bind(new oe);var se=r.combineParams;function ne(){this.provider="google",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}ne.prototype.parseUrl=function(e){var t=e.match(/\/d\/([\w-]+)/);return t?t[1]:void 0},ne.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},ne.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id+"/preview";return i+=se(r)}},ne.prototype.createLongUrl=function(e,t){return this.createUrl("https://drive.google.com/file/d/",e,t)},s.bind(new ne);var pe=r.combineParams;function de(){this.provider="groove",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}de.prototype.parse=function(e,t){var r=e.match(/(?:videopage)\/([\w-]+)\/([\w-]+)/i);if(r){var i={mediaType:this.mediaTypes.VIDEO,params:t,library:r[1],id:r[2]};return i.id?i:void 0}},de.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.library+"/"+t.id;return i+=pe(r)}},de.prototype.createLongUrl=function(e,t){return this.createUrl("https://app.groove.cm/groovevideo/videopage/",e,t)},s.bind(new de);var me=r.combineParams;function le(){this.provider="gumlet",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}le.prototype.parseUrl=function(e){var t=e.match(/(?:watch|embed)\/([\w]+)/i);return t?t[1]:void 0},le.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},le.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=me(r)}},le.prototype.createLongUrl=function(e,t){return this.createUrl("https://gumlet.tv/watch/",e,t)},le.prototype.createEmbedUrl=function(e,t){return this.createUrl("https://play.gumlet.io/embed/",e,t)},s.bind(new le);var ce=r.combineParams;function he(){this.provider="streamable",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}he.prototype.parseUrl=function(e){var t=e.match(/com\/(?:e\/|streamable\/)?([\w-]+)/);return t?t[1]:void 0},he.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},he.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=ce(r)}},he.prototype.createLongUrl=function(e,t){return this.createUrl("https://streamable.com/",e,t)},s.bind(new he);var ue=r.combineParams;function ye(){this.provider="screenpal",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},this.mediaTypes={VIDEO:"video"}}ye.prototype.parseUrl=function(e){var t=e.match(/watch\/([\w-]+)/i);return t?t[1]:void 0},ye.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},ye.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=ue(r)}},ye.prototype.createLongUrl=function(e,t){return this.createUrl("https://go.screenpal.com/watch/",e,t)},ye.prototype.createEmbedUrl=function(e,t){return this.createUrl("https://go.screenpal.com/watch/embed/",e,t)},s.bind(new ye);var fe=r.combineParams;function ve(){this.provider="searchie",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}ve.prototype.parseUrl=function(e){var t=e.match(/(?:watch)\/([\w-]+)/i);return t?t[1]:void 0},ve.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},ve.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=fe(r)}},ve.prototype.createLongUrl=function(e,t){return this.createUrl("https://app.searchie.io/watch/",e,t)},s.bind(new ve);var Te=r.combineParams;function Ue(){this.provider="tevello",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}Ue.prototype.parse=function(e,t){var r=e.match(/\/([a-zA-Z\d]+)\/([\w-]+)/i);if(r){var i={mediaType:this.mediaTypes.VIDEO,params:t,library:r[1],id:r[2]};return i.id?i:void 0}},Ue.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.library+"/"+t.id;return i+=Te(r)}},Ue.prototype.createLongUrl=function(e,t){return this.createUrl("https://video.tevello.com/",e,t)},s.bind(new Ue);var be=r.combineParams;function ge(){this.provider="veed",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}return ge.prototype.parseUrl=function(e){var t=e.match(/view\/([\w-]+)/i);return t?t[1]:void 0},ge.prototype.parse=function(e,t){var r={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return r.id?r:void 0},ge.prototype.createUrl=function(e,t,r){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var i=e+t.id;return i+=be(r)}},ge.prototype.createLongUrl=function(e,t){return this.createUrl("https://veed.io/view/",e,t)},s.bind(new ge),e(s)}));
|
package/lib/index.js
CHANGED
|
@@ -17,6 +17,7 @@ require('./provider/voomly');
|
|
|
17
17
|
require('./provider/spotlightr');
|
|
18
18
|
require('./provider/bunny');
|
|
19
19
|
require('./provider/canva');
|
|
20
|
+
require('./provider/cloudflarestream');
|
|
20
21
|
require('./provider/descript');
|
|
21
22
|
require('./provider/ted');
|
|
22
23
|
require('./provider/facebook');
|
|
@@ -26,6 +27,7 @@ require('./provider/googledrive');
|
|
|
26
27
|
require('./provider/groove');
|
|
27
28
|
require('./provider/gumlet');
|
|
28
29
|
require('./provider/streamable');
|
|
30
|
+
require('./provider/screenpal');
|
|
29
31
|
require('./provider/searchie');
|
|
30
32
|
require('./provider/tevello');
|
|
31
33
|
require('./provider/veed');
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { VideoInfo } from '../urlParser';
|
|
2
|
+
|
|
3
|
+
export interface CloudflareStreamUrlParameters {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type CloudflareStreamMediaTypes = 'video';
|
|
8
|
+
|
|
9
|
+
export interface CloudflareStreamVideoInfo extends VideoInfo<CloudflareStreamUrlParameters, CloudflareStreamMediaTypes> {
|
|
10
|
+
provider: 'cloudflarestream';
|
|
11
|
+
host: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type CloudflareStreamParseResult = CloudflareStreamVideoInfo | undefined;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const { combineParams } = require('../util');
|
|
2
|
+
|
|
3
|
+
function CloudflareStream() {
|
|
4
|
+
this.provider = 'cloudflarestream';
|
|
5
|
+
this.defaultFormat = 'long';
|
|
6
|
+
this.formats = {
|
|
7
|
+
long: this.createLongUrl,
|
|
8
|
+
embed: this.createEmbedUrl,
|
|
9
|
+
};
|
|
10
|
+
this.mediaTypes = {
|
|
11
|
+
VIDEO: 'video',
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
module.exports = CloudflareStream;
|
|
16
|
+
|
|
17
|
+
CloudflareStream.prototype.parseUrl = function(url) {
|
|
18
|
+
// Match *.cloudflarestream.com/{32-char-hex-id} or .../id/iframe
|
|
19
|
+
var match = url.match(
|
|
20
|
+
/(?:https?:\/\/)?([^/]+\.cloudflarestream\.com)\/([a-f0-9]{32})(?:\/iframe)?/i
|
|
21
|
+
);
|
|
22
|
+
if (!match) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
host: match[1],
|
|
27
|
+
id: match[2],
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
CloudflareStream.prototype.parse = function(url, params) {
|
|
32
|
+
var parsed = this.parseUrl(url);
|
|
33
|
+
if (!parsed) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
mediaType: this.mediaTypes.VIDEO,
|
|
38
|
+
params: params,
|
|
39
|
+
id: parsed.id,
|
|
40
|
+
host: parsed.host,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
CloudflareStream.prototype.createUrl = function(pathSuffix, vi, params) {
|
|
45
|
+
if (!vi.id || vi.mediaType !== this.mediaTypes.VIDEO || !vi.host) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
var url = 'https://' + vi.host + '/' + vi.id + pathSuffix;
|
|
49
|
+
url += combineParams(params);
|
|
50
|
+
return url;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
CloudflareStream.prototype.createLongUrl = function(vi, params) {
|
|
54
|
+
return this.createUrl('', vi, params);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
CloudflareStream.prototype.createEmbedUrl = function(vi, params) {
|
|
58
|
+
return this.createUrl('/iframe', vi, params);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
require('../base').bind(new CloudflareStream());
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { VideoInfo } from '../urlParser';
|
|
2
|
+
|
|
3
|
+
export interface ScreenPalUrlParameters {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type ScreenPalMediaTypes = 'video';
|
|
8
|
+
|
|
9
|
+
export interface ScreenPalVideoInfo extends VideoInfo<ScreenPalUrlParameters, ScreenPalMediaTypes> {
|
|
10
|
+
provider: 'screenpal';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type ScreenPalParseResult = ScreenPalVideoInfo | undefined;
|
|
14
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const { combineParams } = require('../util');
|
|
2
|
+
|
|
3
|
+
function ScreenPal() {
|
|
4
|
+
this.provider = 'screenpal';
|
|
5
|
+
this.defaultFormat = 'long';
|
|
6
|
+
this.formats = {
|
|
7
|
+
long: this.createLongUrl,
|
|
8
|
+
embed: this.createEmbedUrl,
|
|
9
|
+
};
|
|
10
|
+
this.mediaTypes = {
|
|
11
|
+
VIDEO: 'video',
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
module.exports = ScreenPal;
|
|
16
|
+
|
|
17
|
+
ScreenPal.prototype.parseUrl = function(url) {
|
|
18
|
+
var match = url.match(
|
|
19
|
+
/watch\/([\w-]+)/i
|
|
20
|
+
);
|
|
21
|
+
return match ? match[1] : undefined;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
ScreenPal.prototype.parse = function(url, params) {
|
|
25
|
+
var result = {
|
|
26
|
+
mediaType: this.mediaTypes.VIDEO,
|
|
27
|
+
params: params,
|
|
28
|
+
id: this.parseUrl(url),
|
|
29
|
+
};
|
|
30
|
+
return result.id ? result : undefined;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
ScreenPal.prototype.createUrl = function(baseUrl, vi, params) {
|
|
34
|
+
if (!vi.id || vi.mediaType !== this.mediaTypes.VIDEO) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
var url = baseUrl + vi.id;
|
|
39
|
+
url += combineParams(params);
|
|
40
|
+
return url;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
ScreenPal.prototype.createLongUrl = function(vi, params) {
|
|
44
|
+
return this.createUrl('https://go.screenpal.com/watch/', vi, params);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
ScreenPal.prototype.createEmbedUrl = function(vi, params) {
|
|
48
|
+
return this.createUrl('https://go.screenpal.com/watch/embed/', vi, params);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
require('../base').bind(new ScreenPal());
|
|
52
|
+
|
package/package.json
CHANGED