UNPKG

@ormoshe/js-video-url-parser

Version:

A parser to extract provider, video id, starttime and others from YouTube, Vimeo, ... urls

2 lines (1 loc) 32.2 kB
!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)}));