@ormoshe/js-video-url-parser 0.5.37 → 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.
@@ -200,7 +200,7 @@
200
200
  };
201
201
  base.bind(new Allocine());
202
202
 
203
- var combineParams$t = util.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$t(params);
236
+ url += combineParams$u(params);
237
237
  return url;
238
238
  };
239
239
  base.bind(new CanalPlus());
240
240
 
241
- var combineParams$s = util.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$s(params);
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$r = util.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$r(params);
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$q = util.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$q(params);
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$p = util.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$p(params);
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$o = util.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$o(params);
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$o(params);
548
+ url += combineParams$p(params);
549
549
  return url;
550
550
  };
551
551
  base.bind(new Twitch());
552
552
 
553
- var combineParams$n = util.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$n(params);
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$m = util.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$m(params);
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$l = util.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$l(params);
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$l(params);
775
+ url += combineParams$m(params);
776
776
  return url;
777
777
  };
778
778
  base.bind(new Youku());
779
779
 
780
- var combineParams$k = util.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$k(params);
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$k(params);
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$j = util.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$j(params);
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$j(params);
1059
+ url += combineParams$k(params);
1060
1060
  return url;
1061
1061
  };
1062
1062
  base.bind(new SoundCloud());
1063
1063
 
1064
- var combineParams$i = util.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$i(params);
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$i(params);
1145
+ url += combineParams$j(params);
1146
1146
  return url;
1147
1147
  };
1148
1148
  base.bind(new TeacherTube());
1149
1149
 
1150
- var combineParams$h = util.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$h(params);
1181
+ url += combineParams$i(params);
1182
1182
  return url;
1183
1183
  };
1184
1184
  base.bind(new TikTok());
1185
1185
 
1186
- var combineParams$g = util.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$g(params);
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$f = util.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$f(params);
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$e = util.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$e(params);
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$d = util.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$d(params);
1325
+ url += combineParams$e(params);
1326
1326
  return url;
1327
1327
  };
1328
1328
  Canva.prototype.createLongUrl = function (vi, params) {
@@ -1330,6 +1330,57 @@
1330
1330
  };
1331
1331
  base.bind(new Canva());
1332
1332
 
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
+
1333
1384
  var combineParams$c = util.combineParams;
1334
1385
  function Descript() {
1335
1386
  this.provider = 'descript';
@@ -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="screenpal",this.defaultFormat="long",this.formats={long:this.createLongUrl,embed:this.createEmbedUrl},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://go.screenpal.com/watch/",e,t)},he.prototype.createEmbedUrl=function(e,t){return this.createUrl("https://go.screenpal.com/watch/embed/",e,t)},s.bind(new he);var ue=i.combineParams;function ye(){this.provider="searchie",this.defaultFormat="long",this.formats={long:this.createLongUrl},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 i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},ye.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=ue(i)}},ye.prototype.createLongUrl=function(e,t){return this.createUrl("https://app.searchie.io/watch/",e,t)},s.bind(new ye);var fe=i.combineParams;function ve(){this.provider="tevello",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}ve.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}},ve.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.library+"/"+t.id;return r+=fe(i)}},ve.prototype.createLongUrl=function(e,t){return this.createUrl("https://video.tevello.com/",e,t)},s.bind(new ve);var Te=i.combineParams;function Ue(){this.provider="veed",this.defaultFormat="long",this.formats={long:this.createLongUrl},this.mediaTypes={VIDEO:"video"}}return Ue.prototype.parseUrl=function(e){var t=e.match(/view\/([\w-]+)/i);return t?t[1]:void 0},Ue.prototype.parse=function(e,t){var i={mediaType:this.mediaTypes.VIDEO,params:t,id:this.parseUrl(e)};return i.id?i:void 0},Ue.prototype.createUrl=function(e,t,i){if(t.id&&t.mediaType===this.mediaTypes.VIDEO){var r=e+t.id;return r+=Te(i)}},Ue.prototype.createLongUrl=function(e,t){return this.createUrl("https://veed.io/view/",e,t)},s.bind(new Ue),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');
@@ -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());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ormoshe/js-video-url-parser",
3
- "version": "0.5.37",
3
+ "version": "0.5.38",
4
4
  "description": "A parser to extract provider, video id, starttime and others from YouTube, Vimeo, ... urls",
5
5
  "main": "lib/index.js",
6
6
  "browser": "dist/jsVideoUrlParser.js",