@gumlet/player.js 2.0.5 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/player.min.js +1 -1
- package/dist/player.min.js.map +3 -3
- package/package.json +4 -3
package/dist/player.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var o={EVENTS:{READY:"ready",PLAY:"play",PAUSE:"pause",ENDED:"ended",TIMEUPDATE:"timeupdate",PROGRESS:"progress",SEEKED:"seeked",ERROR:"error",FULLSCREEN_CHANGE:"fullscreenChange",PIP_CHANGE:"pipChange",PLAYBACK_RATE_CHANGE:"playbackRateChange",AUDIO_CHANGE:"audioChange",QUALITY_CHANGE:"qualityChange",VOLUME_CHANGE:"volumeChange"},POST_MESSAGE:!!window.postMessage,METHODS:{PLAY:"play",PAUSE:"pause",GETPAUSED:"getPaused",MUTE:"mute",UNMUTE:"unmute",GETMUTED:"getMuted",SETVOLUME:"setVolume",GETVOLUME:"getVolume",GETDURATION:"getDuration",SETCURRENTTIME:"setCurrentTime",GETCURRENTTIME:"getCurrentTime",SETLOOP:"setLoop",GETLOOP:"getLoop",SETPLAYBACKRATE:"setPlaybackRate",GETPLAYBACKRATE:"getPlaybackRate",REMOVEEVENTLISTENER:"removeEventListener",ADDEVENTLISTENER:"addEventListener"},DEBUG:!1,VERSION:"2.0",CONTEXT:"player.js",isString:function(s){return Object.prototype.toString.call(s)==="[object String]"},has:function(s,e){return Object.prototype.hasOwnProperty.call(s,e)}};o.METHODS.all=function(){var s=[];for(var e in o.METHODS)o.has(o.METHODS,e)&&o.isString(o.METHODS[e])&&s.push(o.METHODS[e]);return s},o.EVENTS.all=function(){var s=[];for(var e in o.EVENTS)o.has(o.EVENTS,e)&&o.isString(o.EVENTS[e])&&s.push(o.EVENTS[e]);return s},o.addEvent=function(s,e,t){s&&(s.addEventListener?s.addEventListener(e,t,!1):s.attachEvent?s.attachEvent("on"+e,t):s["on"+e]=t)},o.isNone=function(s){return s==null},o.assert=function(s,e){if(!s)throw e||"Player.js Assert Failed"},o.generateUUID=function(){if(crypto&&crypto.randomUUID)return crypto.randomUUID();{let s=URL.createObjectURL(new Blob);return s.substring(s.lastIndexOf("/")+1)}},o.isArray=function(s){return Object.prototype.toString.call(s)==="[object Array]"};var i=o;var m=class{constructor(){this.data={}}has(e,t){if(!this.data.hasOwnProperty(e))return!1;if(i.isNone(t))return!0;for(var n=this.data[e],r=0;r<n.length;r++)if(n[r].id===t)return!0;return!1}add(e,t,n,r,a){var u={id:e,event:t,cb:n,ctx:r,one:a};this.has(t)?this.data[t].push(u):this.data[t]=[u]}execute(e,t,n,r){if(!this.has(e,t))return!1;for(var a=[],u=[],f=0;f<this.data[e].length;f++){var c=this.data[e][f];i.isNone(t)||!i.isNone(t)&&c.id===t?(u.push({cb:c.cb,ctx:c.ctx?c.ctx:r,data:n}),c.one===!1&&a.push(c)):a.push(c)}a.length===0?delete this.data[e]:this.data[e]=a;for(var h=0;h<u.length;h++){var p=u[h];p.cb.call(p.ctx,p.data)}}on(e,t,n,r){this.add(e,t,n,r,!1)}one(e,t,n,r){this.add(e,t,n,r,!0)}off(e,t){var n=[];if(!this.data.hasOwnProperty(e))return n;for(var r=[],a=0;a<this.data[e].length;a++){var u=this.data[e][a];!i.isNone(t)&&u.cb!==t?r.push(u):i.isNone(u.id)||n.push(u.id)}return r.length===0?delete this.data[e]:this.data[e]=r,n}},S=m;var E=[],d=class{constructor(e){var t=this;this.READIED=E,i.isString(e)&&(e=document.getElementById(e)),this.elem=e,i.assert(e.nodeName==="IFRAME",'playerjs.Player constructor requires an Iframe, got "'+e.nodeName+'"'),i.assert(e.src,"playerjs.Player constructor requires a Iframe with a 'src' attribute."),this.origin=new URL(e.src).origin,this.keeper=new S,this.isReady=!1,this.queue=[],this.events=i.EVENTS.all(),this.methods=i.METHODS.all(),i.POST_MESSAGE?i.addEvent(window,"message",function(n){t.receive(n)}):console.error("Post Message is not Available."),E.includes(e.src)?t.loaded=!0:this.elem.onload=function(){t.loaded=!0}}send(e,t,n){if(e.context=i.CONTEXT,e.version=i.VERSION,t){let r=i.generateUUID();e.listener=r,this.keeper.one(r,e.method,t,n)}return!this.isReady&&e.value!=="ready"?(console.debug("Player.queue",e),this.queue.push(e),!1):(console.debug("Player.send",e,this.origin),this.loaded===!0&&this.elem.contentWindow.postMessage(JSON.stringify(e),this.origin),!0)}receive(e){if(console.debug("Player.receive",e),e.origin!==this.origin)return!1;let t;try{t=JSON.parse(e.data)}catch(n){return!1}if(t.context!==i.CONTEXT)return!1;t.event==="ready"&&t.value&&t.value.src===this.elem.src&&this.ready(t),this.keeper.has(t.event,t.listener)&&this.keeper.execute(t.event,t.listener,t.value,this)}ready(e){if(this.isReady===!0)return!1;e.value.events&&(this.events=e.value.events),e.value.methods&&(this.methods=e.value.methods),this.isReady=!0,this.loaded=!0;for(var t=0;t<this.queue.length;t++){var n=this.queue[t];console.debug("Player.dequeue",n),e.event==="ready"&&this.keeper.execute(n.event,n.listener,!0,this),this.send(n)}this.queue=[]}on(e,t,n){let r=i.generateUUID();return e==="ready"?this.keeper.one(r,e,t,n):this.keeper.on(r,e,t,n),this.send({method:"addEventListener",value:e,listener:r}),!0}off(e,t){let n=this.keeper.off(e,t);if(console.debug("Player.off",n),n.length>0)for(var r in n)return this.send({method:"removeEventListener",value:e,listener:n[r]}),!0;return!1}supports(e,t){i.assert(["method","event"].includes(e),'evtOrMethod needs to be either "event" or "method" got '+e),t=i.isArray(t)?t:[t];for(var n=e==="event"?this.events:this.methods,r=0;r<t.length;r++)if(!n.includes(t[r]))return!1;return!0}};function w(s){return function(){var e={method:s},t=Array.prototype.slice.call(arguments);/^get/.test(s)?(i.assert(t.length>0,"Get methods require a callback."),t.unshift(e)):(/^set/.test(s)&&(i.assert(t.length!==0,"Set methods require a value."),e.value=t[0]),t=[e]),this.send.apply(this,t)}}for(let s of i.METHODS.all())d.prototype.hasOwnProperty(s)||(d.prototype[s]=w(s));i.addEvent(window,"message",function(s){var e;try{e=JSON.parse(s.data)}catch(t){return!1}if(e.context!==i.CONTEXT)return!1;e.event==="ready"&&e.value&&e.value.src&&E.push(e.value.src)});var R=d;var v=class{constructor(e,t){let n=this;this.isReady=!1,this.origin=new URL(document.referrer).origin,this.methods={},this.supported={events:e||i.EVENTS.all(),methods:t||i.METHODS.all()},this.eventListeners={},this.reject=!(window.self!==window.top&&i.POST_MESSAGE),this.reject||i.addEvent(window,"message",function(r){n.receive(r)})}receive(e){if(e.origin!==this.origin)return!1;let t={};if(typeof e.data=="object")t=e.data;else try{t=window.JSON.parse(e.data)}catch(r){console.error("JSON Parse Error",r)}if(console.debug("Receiver.receive",e,t),!t.method||t.context!==i.CONTEXT)return!1;if(!i.METHODS.all().includes(t.method))return this.emit("error",{code:2,msg:'Invalid Method "'+t.method+'"'}),!1;let n=i.isNone(t.listener)?null:t.listener;if(t.method==="addEventListener")this.eventListeners.hasOwnProperty(t.value)?this.eventListeners[t.value].includes(n)||this.eventListeners[t.value].push(n):this.eventListeners[t.value]=[n],t.value==="ready"&&this.isReady&&this.ready();else if(t.method==="removeEventListener"){if(this.eventListeners.hasOwnProperty(t.value)){let r=this.eventListeners[t.value].indexOf(n);r>-1&&this.eventListeners[t.value].splice(r,1),this.eventListeners[t.value].length===0&&delete this.eventListeners[t.value]}}else this.get(t.method,t.value,n)}get(e,t,n){var r=this;if(!this.methods.hasOwnProperty(e))return this.emit("error",{code:3,msg:'Method Not Supported"'+e+'"'}),!1;var a=this.methods[e];if(e.substr(0,3)==="get"){var u=function(f){r.send(e,f,n)};a.call(this,u)}else a.call(this,t)}on(e,t){this.methods[e]=t}send(e,t,n){if(console.debug("Receiver.send",e,t,n),this.reject)return console.error("Receiver.send.reject",e,t,n),!1;var r={context:i.CONTEXT,version:i.VERSION,event:e};i.isNone(t)||(r.value=t),i.isNone(n)||(r.listener=n);var a=JSON.stringify(r);window.parent.postMessage(a,this.origin===""?"*":this.origin)}emit(e,t){if(!this.eventListeners.hasOwnProperty(e))return!1;console.debug("Instance.emit",e,t,this.eventListeners[e]);for(var n=0;n<this.eventListeners[e].length;n++){var r=this.eventListeners[e][n];this.send(e,t,r)}return!0}ready(){console.debug("Receiver.ready"),this.isReady=!0;var e={src:window.location.toString(),events:this.supported.events,methods:this.supported.methods};this.emit("ready",e)||this.send("ready",e)}},l=v;var g=class{constructor(){this.init()}init(){var e={duration:20,currentTime:0,interval:null,timeupdate:function(){},volume:100,mute:!1,playing:!1,loop:!1,play:function(){e.interval=setInterval(function(){e.currentTime+=.25,e.timeupdate({seconds:e.currentTime,duration:e.duration})},250),e.playing=!0},pause:function(){clearInterval(e.interval),e.playing=!1}},t=this.receiver=new l;t.on("play",function(){var n=this;e.play(),this.emit("play"),e.timeupdate=function(r){n.emit("timeupdate",r)}}),t.on("pause",function(){e.pause(),this.emit("pause")}),t.on("getPaused",function(n){n(!e.playing)}),t.on("getCurrentTime",function(n){n(e.currentTime)}),t.on("setCurrentTime",function(n){e.currentTime=n}),t.on("getDuration",function(n){n(e.duration)}),t.on("getVolume",function(n){n(e.volume)}),t.on("setVolume",function(n){e.volume=n}),t.on("mute",function(){e.mute=!0}),t.on("unmute",function(){e.mute=!1}),t.on("getMuted",function(n){n(e.mute)}),t.on("getLoop",function(n){n(e.loop)}),t.on("setLoop",function(n){e.loop=n}),t.on("setPlaybackRate",function(n){e.playbackRate=n}),t.on("getPlaybackRate",function(n){n(e.playbackRate)})}ready(){this.receiver.ready()}},O=g;var T=class{constructor(e){this.init(e)}init(e){i.assert(e,"VideoJSReceiver requires a player object");var t=this.receiver=new l;e.on("pause",function(){t.emit("pause")}),e.on("play",function(){t.emit("play")}),e.on("timeupdate",function(n){var r=e.currentTime(),a=e.duration();if(!r||!a)return!1;var u={seconds:r,duration:a};t.emit("timeupdate",u)}),e.on("ended",function(){t.emit("ended")}),e.on("error",function(){t.emit("error")}),t.on("play",function(){e.play()}),t.on("pause",function(){e.pause()}),t.on("getPaused",function(n){n(e.paused())}),t.on("getCurrentTime",function(n){n(e.currentTime())}),t.on("setCurrentTime",function(n){e.currentTime(n)}),t.on("getDuration",function(n){n(e.duration())}),t.on("getVolume",function(n){n(e.volume()*100)}),t.on("setVolume",function(n){e.volume(n/100)}),t.on("mute",function(){e.volume(0)}),t.on("unmute",function(){e.volume(1)}),t.on("getMuted",function(n){n(e.volume()===0)}),t.on("getLoop",function(n){n(e.loop())}),t.on("setLoop",function(n){e.loop(n)}),t.on("setPlaybackRate",function(n){e.playbackRate(n)}),t.on("getPlaybackRate",function(n){n(e.playbackRate())})}ready(){this.receiver.ready()}},N=T;var y=class{constructor(e){this.init(e)}init(e){i.assert(e,"HTML5Adapter requires a video element");var t=this.receiver=new l;e.addEventListener("playing",function(){t.emit("play")}),e.addEventListener("pause",function(){t.emit("pause")}),e.addEventListener("ended",function(){t.emit("ended")}),e.addEventListener("timeupdate",function(){t.emit("timeupdate",{seconds:e.currentTime,duration:e.duration})}),e.addEventListener("progress",function(){t.emit("buffered",{percent:e.buffered.length})}),t.on("play",function(){e.play()}),t.on("pause",function(){e.pause()}),t.on("getPaused",function(n){n(e.paused)}),t.on("getCurrentTime",function(n){n(e.currentTime)}),t.on("setCurrentTime",function(n){e.currentTime=n}),t.on("getDuration",function(n){n(e.duration)}),t.on("getVolume",function(n){n(e.volume*100)}),t.on("setVolume",function(n){e.volume=n/100}),t.on("mute",function(){e.muted=!0}),t.on("unmute",function(){e.muted=!1}),t.on("getMuted",function(n){n(e.muted)}),t.on("getLoop",function(n){n(e.loop)}),t.on("setLoop",function(n){e.loop=n}),t.on("setPlaybackRate",function(n){e.playbackRate=n}),t.on("getPlaybackRate",function(n){n(e.playbackRate)})}ready(){this.receiver.ready()}},L=y;var P={Player:R,Receiver:l,MockAdapter:O,VideoJSAdapter:N,HTML5Adapter:L,CONTEXT:i.CONTEXT,VERSION:i.VERSION,METHODS:i.METHODS,addEvent:i.addEvent};typeof window<"u"&&(window.playerjs=P);var W=P;})();
|
|
1
|
+
var r={EVENTS:{READY:"ready",PLAY:"play",PAUSE:"pause",ENDED:"ended",TIMEUPDATE:"timeupdate",PROGRESS:"progress",SEEKED:"seeked",ERROR:"error",FULLSCREEN_CHANGE:"fullscreenChange",PIP_CHANGE:"pipChange",PLAYBACK_RATE_CHANGE:"playbackRateChange",AUDIO_CHANGE:"audioChange",QUALITY_CHANGE:"qualityChange",VOLUME_CHANGE:"volumeChange"},POST_MESSAGE:!!window.postMessage,METHODS:{PLAY:"play",PAUSE:"pause",GETPAUSED:"getPaused",MUTE:"mute",UNMUTE:"unmute",GETMUTED:"getMuted",SETVOLUME:"setVolume",GETVOLUME:"getVolume",GETDURATION:"getDuration",SETCURRENTTIME:"setCurrentTime",GETCURRENTTIME:"getCurrentTime",SETLOOP:"setLoop",GETLOOP:"getLoop",SETPLAYBACKRATE:"setPlaybackRate",GETPLAYBACKRATE:"getPlaybackRate",REMOVEEVENTLISTENER:"removeEventListener",ADDEVENTLISTENER:"addEventListener"},DEBUG:!1,VERSION:"2.0",CONTEXT:"player.js",isString:function(o){return Object.prototype.toString.call(o)==="[object String]"},has:function(o,e){return Object.prototype.hasOwnProperty.call(o,e)}};r.METHODS.all=function(){let o=[];for(let e in r.METHODS)r.has(r.METHODS,e)&&r.isString(r.METHODS[e])&&o.push(r.METHODS[e]);return o},r.EVENTS.all=function(){let o=[];for(let e in r.EVENTS)r.has(r.EVENTS,e)&&r.isString(r.EVENTS[e])&&o.push(r.EVENTS[e]);return o},r.addEvent=function(o,e,t){o&&(o.addEventListener?o.addEventListener(e,t,!1):o.attachEvent?o.attachEvent("on"+e,t):o["on"+e]=t)},r.isNone=function(o){return o==null},r.assert=function(o,e){if(!o)throw e||"Player.js Assert Failed"},r.generateUUID=function(){if(crypto&&crypto.randomUUID)return crypto.randomUUID();{let o=URL.createObjectURL(new Blob);return o.substring(o.lastIndexOf("/")+1)}},r.isArray=function(o){return Object.prototype.toString.call(o)==="[object Array]"};var i=r;var h=class{constructor(){this.data={}}has(e,t){if(!Object.hasOwn(this.data,e))return!1;if(i.isNone(t))return!0;let n=this.data[e];for(let s=0;s<n.length;s++)if(n[s].id===t)return!0;return!1}add(e,t,n,s,u){let a={id:e,event:t,cb:n,ctx:s,one:u};this.has(t)?this.data[t].push(a):this.data[t]=[a]}execute(e,t,n,s){if(!this.has(e,t))return!1;let u=[],a=[];for(let l=0;l<this.data[e].length;l++){let c=this.data[e][l];i.isNone(t)||!i.isNone(t)&&c.id===t?(a.push({cb:c.cb,ctx:c.ctx?c.ctx:s,data:n}),c.one===!1&&u.push(c)):u.push(c)}u.length===0?delete this.data[e]:this.data[e]=u;for(let l=0;l<a.length;l++){let c=a[l];c.cb.call(c.ctx,c.data)}}on(e,t,n,s){this.add(e,t,n,s,!1)}one(e,t,n,s){this.add(e,t,n,s,!0)}off(e,t){let n=[];if(!Object.hasOwn(this.data,e))return n;let s=[];for(let u=0;u<this.data[e].length;u++){let a=this.data[e][u];!i.isNone(t)&&a.cb!==t?s.push(a):i.isNone(a.id)||n.push(a.id)}return s.length===0?delete this.data[e]:this.data[e]=s,n}},v=h;var m=[],d=class{constructor(e){let t=this;this.READIED=m,i.isString(e)&&(e=document.getElementById(e)),this.elem=e,i.assert(e.nodeName==="IFRAME",'playerjs.Player constructor requires an Iframe, got "'+e.nodeName+'"'),i.assert(e.src,"playerjs.Player constructor requires a Iframe with a 'src' attribute."),this.origin=new URL(e.src).origin,this.keeper=new v,this.isReady=!1,this.queue=[],this.events=i.EVENTS.all(),this.methods=i.METHODS.all(),i.POST_MESSAGE?i.addEvent(window,"message",function(n){t.receive(n)}):console.error("Post Message is not Available."),m.includes(e.src)?t.loaded=!0:this.elem.onload=function(){t.loaded=!0}}send(e,t,n){if(e.context=i.CONTEXT,e.version=i.VERSION,t){let s=i.generateUUID();e.listener=s,this.keeper.one(s,e.method,t,n)}return!this.isReady&&e.value!=="ready"?(console.debug("Player.queue",e),this.queue.push(e),!1):(console.debug("Player.send",e,this.origin),this.loaded===!0&&this.elem.contentWindow.postMessage(JSON.stringify(e),this.origin),!0)}receive(e){if(console.debug("Player.receive",e),e.origin!==this.origin)return!1;let t;try{t=JSON.parse(e.data)}catch(n){return!1}if(t.context!==i.CONTEXT)return!1;t.event==="ready"&&t.value&&t.value.src===this.elem.src&&this.ready(t),this.keeper.has(t.event,t.listener)&&this.keeper.execute(t.event,t.listener,t.value,this)}ready(e){if(this.isReady===!0)return!1;e.value.events&&(this.events=e.value.events),e.value.methods&&(this.methods=e.value.methods),this.isReady=!0,this.loaded=!0;for(let t=0;t<this.queue.length;t++){let n=this.queue[t];console.debug("Player.dequeue",n),e.event==="ready"&&this.keeper.execute(n.event,n.listener,!0,this),this.send(n)}this.queue=[]}on(e,t,n){let s=i.generateUUID();return e==="ready"?this.keeper.one(s,e,t,n):this.keeper.on(s,e,t,n),this.send({method:"addEventListener",value:e,listener:s}),!0}off(e,t){let n=this.keeper.off(e,t);if(console.debug("Player.off",n),n.length>0){for(let s in n)this.send({method:"removeEventListener",value:e,listener:n[s]});return!0}return!1}supports(e,t){i.assert(["method","event"].includes(e),'evtOrMethod needs to be either "event" or "method" got '+e),t=i.isArray(t)?t:[t];let n=e==="event"?this.events:this.methods;for(let s=0;s<t.length;s++)if(!n.includes(t[s]))return!1;return!0}};function L(o){return function(){let e={method:o},t=Array.prototype.slice.call(arguments);/^get/.test(o)?(i.assert(t.length>0,"Get methods require a callback."),t.unshift(e)):(/^set/.test(o)&&(i.assert(t.length!==0,"Set methods require a value."),e.value=t[0]),t=[e]),this.send.apply(this,t)}}for(let o of i.METHODS.all())Object.hasOwn(d.prototype,o)||(d.prototype[o]=L(o));i.addEvent(window,"message",function(o){let e;try{e=JSON.parse(o.data)}catch(t){return!1}if(e.context!==i.CONTEXT)return!1;e.event==="ready"&&e.value&&e.value.src&&m.push(e.value.src)});var y=d;var p=class{constructor(e,t){let n=this;this.isReady=!1,this.origin=new URL(document.referrer).origin,this.methods={},this.supported={events:e||i.EVENTS.all(),methods:t||i.METHODS.all()},this.eventListeners={},this.reject=!(window.self!==window.top&&i.POST_MESSAGE),this.reject||i.addEvent(window,"message",function(s){n.receive(s)})}receive(e){if(e.origin!==this.origin)return!1;let t={};if(typeof e.data=="object")t=e.data;else try{t=window.JSON.parse(e.data)}catch(s){console.error("JSON Parse Error",s)}if(console.debug("Receiver.receive",e,t),!t.method||t.context!==i.CONTEXT)return!1;if(!i.METHODS.all().includes(t.method))return this.emit("error",{code:2,msg:'Invalid Method "'+t.method+'"'}),!1;let n=i.isNone(t.listener)?null:t.listener;if(t.method==="addEventListener")Object.hasOwn(this.eventListeners,t.value)?this.eventListeners[t.value].includes(n)||this.eventListeners[t.value].push(n):this.eventListeners[t.value]=[n],t.value==="ready"&&this.isReady&&this.ready();else if(t.method==="removeEventListener"){if(Object.hasOwn(this.eventListeners,t.value)){let s=this.eventListeners[t.value].indexOf(n);s>-1&&this.eventListeners[t.value].splice(s,1),this.eventListeners[t.value].length===0&&delete this.eventListeners[t.value]}}else this.get(t.method,t.value,n)}get(e,t,n){let s=this;if(!Object.hasOwn(this.methods,e))return this.emit("error",{code:3,msg:'Method Not Supported"'+e+'"'}),!1;let u=this.methods[e];if(e.substr(0,3)==="get"){let a=function(l){s.send(e,l,n)};u.call(this,a)}else u.call(this,t)}on(e,t){this.methods[e]=t}send(e,t,n){if(console.debug("Receiver.send",e,t,n),this.reject)return console.error("Receiver.send.reject",e,t,n),!1;let s={context:i.CONTEXT,version:i.VERSION,event:e};i.isNone(t)||(s.value=t),i.isNone(n)||(s.listener=n);let u=JSON.stringify(s);window.parent.postMessage(u,this.origin===""?"*":this.origin)}emit(e,t){if(!Object.hasOwn(this.eventListeners,e))return!1;console.debug("Instance.emit",e,t,this.eventListeners[e]);for(let n=0;n<this.eventListeners[e].length;n++){let s=this.eventListeners[e][n];this.send(e,t,s)}return!0}ready(){console.debug("Receiver.ready"),this.isReady=!0;let e={src:window.location.toString(),events:this.supported.events,methods:this.supported.methods};this.emit("ready",e)||this.send("ready",e)}},f=p;var E=class{constructor(){this.init()}init(){let e={duration:20,currentTime:0,interval:null,timeupdate:function(){},volume:100,mute:!1,playing:!1,loop:!1,play:function(){e.interval=setInterval(function(){e.currentTime+=.25,e.timeupdate({seconds:e.currentTime,duration:e.duration})},250),e.playing=!0},pause:function(){clearInterval(e.interval),e.playing=!1}},t=this.receiver=new f;t.on("play",function(){let n=this;e.play(),this.emit("play"),e.timeupdate=function(s){n.emit("timeupdate",s)}}),t.on("pause",function(){e.pause(),this.emit("pause")}),t.on("getPaused",function(n){let s=!e.playing;n(s)}),t.on("getCurrentTime",function(n){n(e.currentTime)}),t.on("setCurrentTime",function(n){e.currentTime=n}),t.on("getDuration",function(n){n(e.duration)}),t.on("getVolume",function(n){n(e.volume)}),t.on("setVolume",function(n){e.volume=n}),t.on("mute",function(){e.mute=!0}),t.on("unmute",function(){e.mute=!1}),t.on("getMuted",function(n){n(e.mute)}),t.on("getLoop",function(n){n(e.loop)}),t.on("setLoop",function(n){e.loop=n}),t.on("setPlaybackRate",function(n){e.playbackRate=n}),t.on("getPlaybackRate",function(n){n(e.playbackRate)})}ready(){this.receiver.ready()}},O=E;var g=class{constructor(e){this.init(e)}init(e){i.assert(e,"VideoJSReceiver requires a player object");let t=this.receiver=new f;e.on("pause",function(){t.emit("pause")}),e.on("play",function(){t.emit("play")}),e.on("timeupdate",function(n){let s=e.currentTime(),u=e.duration();if(!s||!u)return!1;let a={seconds:s,duration:u};t.emit("timeupdate",a)}),e.on("ended",function(){t.emit("ended")}),e.on("error",function(){t.emit("error")}),t.on("play",function(){e.play()}),t.on("pause",function(){e.pause()}),t.on("getPaused",function(n){n(e.paused())}),t.on("getCurrentTime",function(n){n(e.currentTime())}),t.on("setCurrentTime",function(n){e.currentTime(n)}),t.on("getDuration",function(n){n(e.duration())}),t.on("getVolume",function(n){let s=e.volume()*100;n(s)}),t.on("setVolume",function(n){e.volume(n/100)}),t.on("mute",function(){e.volume(0)}),t.on("unmute",function(){e.volume(1)}),t.on("getMuted",function(n){let s=e.volume()===0;n(s)}),t.on("getLoop",function(n){n(e.loop())}),t.on("setLoop",function(n){e.loop(n)}),t.on("setPlaybackRate",function(n){e.playbackRate(n)}),t.on("getPlaybackRate",function(n){n(e.playbackRate())})}ready(){this.receiver.ready()}},S=g;var T=class{constructor(e){this.init(e)}init(e){i.assert(e,"HTML5Adapter requires a video element");let t=this.receiver=new f;e.addEventListener("playing",function(){t.emit("play")}),e.addEventListener("pause",function(){t.emit("pause")}),e.addEventListener("ended",function(){t.emit("ended")}),e.addEventListener("timeupdate",function(){t.emit("timeupdate",{seconds:e.currentTime,duration:e.duration})}),e.addEventListener("progress",function(){t.emit("buffered",{percent:e.buffered.length})}),t.on("play",function(){e.play()}),t.on("pause",function(){e.pause()}),t.on("getPaused",function(n){n(e.paused)}),t.on("getCurrentTime",function(n){n(e.currentTime)}),t.on("setCurrentTime",function(n){e.currentTime=n}),t.on("getDuration",function(n){n(e.duration)}),t.on("getVolume",function(n){let s=e.volume*100;n(s)}),t.on("setVolume",function(n){e.volume=n/100}),t.on("mute",function(){e.muted=!0}),t.on("unmute",function(){e.muted=!1}),t.on("getMuted",function(n){n(e.muted)}),t.on("getLoop",function(n){n(e.loop)}),t.on("setLoop",function(n){e.loop=n}),t.on("setPlaybackRate",function(n){e.playbackRate=n}),t.on("getPlaybackRate",function(n){n(e.playbackRate)})}ready(){this.receiver.ready()}},R=T;var N={Player:y,Receiver:f,MockAdapter:O,VideoJSAdapter:S,HTML5Adapter:R,CONTEXT:i.CONTEXT,VERSION:i.VERSION,METHODS:i.METHODS,addEvent:i.addEvent};typeof window<"u"&&(window.playerjs=N);var K=N;export{K as default};
|
|
2
2
|
//# sourceMappingURL=player.min.js.map
|
package/dist/player.min.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/core.js", "../src/keeper.js", "../src/player.js", "../src/receiver.js", "../src/adapters/mock.js", "../src/adapters/video.js", "../src/adapters/html.js", "../src/main.js"],
|
|
4
|
-
"sourcesContent": ["const core = {\n EVENTS: {\n READY: 'ready',\n PLAY: 'play',\n PAUSE: 'pause',\n ENDED: 'ended',\n TIMEUPDATE: 'timeupdate',\n PROGRESS: 'progress',\n SEEKED: 'seeked',\n ERROR: 'error',\n FULLSCREEN_CHANGE: 'fullscreenChange',\n PIP_CHANGE: 'pipChange',\n PLAYBACK_RATE_CHANGE: 'playbackRateChange',\n AUDIO_CHANGE: 'audioChange',\n QUALITY_CHANGE: 'qualityChange',\n VOLUME_CHANGE: 'volumeChange'\n },\n\n POST_MESSAGE : !!window.postMessage,\n\n METHODS: {\n PLAY: 'play',\n PAUSE: 'pause',\n GETPAUSED: 'getPaused',\n MUTE: 'mute',\n UNMUTE: 'unmute',\n GETMUTED: 'getMuted',\n SETVOLUME: 'setVolume',\n GETVOLUME: 'getVolume',\n GETDURATION: 'getDuration',\n SETCURRENTTIME: 'setCurrentTime',\n GETCURRENTTIME:'getCurrentTime',\n SETLOOP: 'setLoop',\n GETLOOP: 'getLoop',\n SETPLAYBACKRATE: 'setPlaybackRate',\n GETPLAYBACKRATE: 'getPlaybackRate',\n REMOVEEVENTLISTENER: 'removeEventListener',\n ADDEVENTLISTENER: 'addEventListener'\n },\n\n DEBUG : false,\n VERSION :'2.0',\n CONTEXT : 'player.js',\n\n isString : function (obj) {\n return Object.prototype.toString.call(obj) === '[object String]';\n },\n\n has: function(obj, key){\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n};\n\ncore.METHODS.all = function(){\n var all = [];\n for (var key in core.METHODS) {\n if (core.has(core.METHODS, key) && core.isString(core.METHODS[key])) {\n all.push(core.METHODS[key]);\n }\n }\n return all;\n};\n\ncore.EVENTS.all = function(){\n var all = [];\n for (var key in core.EVENTS) {\n if (core.has(core.EVENTS, key) && core.isString(core.EVENTS[key])) {\n all.push(core.EVENTS[key]);\n }\n }\n return all;\n};\n\ncore.addEvent = function(elem, type, eventHandle) {\n if (!elem) { return; }\n if ( elem.addEventListener ) {\n elem.addEventListener( type, eventHandle, false );\n } else if ( elem.attachEvent ) {\n elem.attachEvent( \"on\" + type, eventHandle );\n } else {\n elem[\"on\"+type]=eventHandle;\n }\n};\n\ncore.isNone = function(obj){\n return (obj === null || obj === undefined);\n};\n\ncore.assert = function(test, msg) {\n if (!test) {\n throw msg || \"Player.js Assert Failed\";\n }\n}\n\ncore.generateUUID = function() {\n if(crypto && crypto.randomUUID) {\n return crypto.randomUUID();\n } else {\n const url = URL.createObjectURL(new Blob())\n return url.substring(url.lastIndexOf('/') + 1)\n }\n}\n\ncore.isArray = function(obj){\n return Object.prototype.toString.call(obj) === \"[object Array]\";\n};\n\nexport default core;", "/*globals playerjs:true*/\n/*\n* Keeper is just a method for keeping track of all the callbacks.\n*/\nimport core from \"./core\";\n\nclass Keeper {\n constructor() {\n this.data = {};\n }\n\n has(event, id){\n if (!this.data.hasOwnProperty(event)){\n return false;\n }\n \n if (core.isNone(id)){\n return true;\n }\n \n // Figure out if we have the event.\n var events = this.data[event];\n \n for (var i = 0; i < events.length; i++){\n if (events[i].id === id){\n return true;\n }\n }\n \n return false;\n }\n\n add(id, event, cb, ctx, one){\n var d = {\n id: id,\n event: event,\n cb: cb,\n ctx: ctx,\n one: one\n };\n \n if (this.has(event)){\n this.data[event].push(d);\n } else {\n this.data[event] = [d];\n }\n }\n\n execute(event, id, data, ctx){\n if (!this.has(event, id)){\n return false;\n }\n \n var keep = [],\n execute = [];\n \n for (var i=0; i< this.data[event].length; i++){\n var d = this.data[event][i];\n \n // There are omni events, in that they do not have an id. i.e \"ready\".\n // Or there is an ID and we only want to execute the right id'd method.\n if (core.isNone(id) || (!core.isNone(id) && d.id === id )){\n \n execute.push({\n cb: d.cb,\n ctx: d.ctx? d.ctx: ctx,\n data: data\n });\n \n // If we only wanted to execute this once.\n if (d.one === false){\n keep.push(d);\n }\n } else {\n keep.push(d);\n }\n }\n \n if (keep.length === 0){\n delete this.data[event];\n } else {\n this.data[event] = keep;\n }\n \n // We need to execute everything after we deal with the one stuff. otherwise\n // we have issues to order of operations.\n for (var n=0; n < execute.length; n++){\n var e = execute[n];\n e.cb.call(e.ctx, e.data);\n }\n }\n\n on(id, event, cb, ctx){\n this.add(id, event, cb, ctx, false);\n }\n\n one(id, event, cb, ctx){\n this.add(id, event, cb, ctx, true);\n }\n\n off(event, cb){\n // We should probably restructure so this is a bit less of a pain.\n var listeners = [];\n \n if (!this.data.hasOwnProperty(event)){\n return listeners;\n }\n \n var keep = [];\n \n // Loop through everything.\n for (var i=0; i< this.data[event].length; i++){\n var data = this.data[event][i];\n // If we only keep if there was a CB and the CB is there.\n if (!core.isNone(cb) && data.cb !== cb) {\n keep.push(data);\n } else if (!core.isNone(data.id)) {\n listeners.push(data.id);\n }\n }\n \n if (keep.length === 0){\n delete this.data[event];\n } else {\n this.data[event] = keep;\n }\n \n return listeners;\n }\n}\n\nexport default Keeper;", "/*globals playerjs:true*/\n/*\n* Player.js is a javascript library for interacting with iframes via\n* postMessage that use an Open Player Spec\n*\n*/\nimport core from './core';\nimport Keeper from './keeper';\n\nlet READIED = [];\n\nclass Player {\n constructor(elem) { \n var self = this;\n this.READIED = READIED;\n\n if (core.isString(elem)){\n elem = document.getElementById(elem);\n }\n\n this.elem = elem;\n\n // make sure we have an iframe\n core.assert(elem.nodeName === 'IFRAME',\n 'playerjs.Player constructor requires an Iframe, got \"'+elem.nodeName+'\"');\n core.assert(elem.src,\n 'playerjs.Player constructor requires a Iframe with a \\'src\\' attribute.');\n\n // Figure out the origin of where we are sending messages.\n this.origin = (new URL(elem.src)).origin;\n\n // Event handling.\n this.keeper = new Keeper();\n\n // Queuing before ready.\n this.isReady = false;\n this.queue = [];\n\n // Assume that everything is supported, unless we know otherwise.\n this.events = core.EVENTS.all();\n this.methods = core.METHODS.all();\n\n if (core.POST_MESSAGE){\n // Set up the reciever.\n core.addEvent(window, 'message', function(e){\n self.receive(e);\n });\n } else {\n console.error('Post Message is not Available.');\n }\n\n // See if we caught the src event first, otherwise assume we haven't loaded\n if (READIED.includes(elem.src)){\n self.loaded = true;\n } else {\n // Try the onload event, just lets us give another test.\n this.elem.onload = function(){\n self.loaded = true;\n };\n }\n }\n\n send(data, callback, ctx){\n // Add the context and version to the data.\n data.context = core.CONTEXT;\n data.version = core.VERSION;\n \n // We are expecting a response.\n if (callback) {\n // Create a UUID\n let id = core.generateUUID();\n \n // Set the listener.\n data.listener = id;\n \n // Only hang on to this listener once.\n this.keeper.one(id, data.method, callback, ctx);\n }\n \n if (!this.isReady && data.value !== 'ready'){\n console.debug('Player.queue', data);\n this.queue.push(data);\n return false;\n }\n \n console.debug('Player.send', data, this.origin);\n \n if (this.loaded === true){\n this.elem.contentWindow.postMessage(JSON.stringify(data), this.origin);\n }\n \n return true;\n }\n\n receive (e){\n console.debug('Player.receive', e);\n \n if (e.origin !== this.origin){\n return false;\n }\n \n let data;\n try {\n data = JSON.parse(e.data);\n } catch (err){\n // Not a valid response.\n return false;\n }\n \n // abort if this message wasn't a player.js message\n if (data.context !== core.CONTEXT) {\n return false;\n }\n \n // We need to determine if we are ready.\n if (data.event === 'ready' && data.value && data.value.src === this.elem.src){\n this.ready(data);\n }\n \n if (this.keeper.has(data.event, data.listener)){\n this.keeper.execute(data.event, data.listener, data.value, this);\n }\n }\n\n ready(data){\n\n if (this.isReady === true){\n return false;\n }\n \n // If we got a list of supported methods, we should set them.\n if (data.value.events){\n this.events = data.value.events;\n }\n if (data.value.methods){\n this.methods = data.value.methods;\n }\n \n // set ready.\n this.isReady = true;\n this.loaded = true;\n \n // Clear the queue\n for (var i=0; i<this.queue.length; i++){\n var obj = this.queue[i];\n \n console.debug('Player.dequeue', obj);\n \n if (data.event === 'ready'){\n this.keeper.execute(obj.event, obj.listener, true, this);\n }\n this.send(obj);\n }\n this.queue = [];\n }\n\n on(event, callback, ctx){\n let id = core.generateUUID();\n \n if (event === 'ready'){\n // We only want to call ready once.\n this.keeper.one(id, event, callback, ctx);\n } else {\n this.keeper.on(id, event, callback, ctx);\n }\n \n this.send({\n method: 'addEventListener',\n value: event,\n listener: id\n });\n \n return true;\n }\n\n off(event, callback) {\n\n let listeners = this.keeper.off(event, callback);\n console.debug('Player.off', listeners);\n \n if (listeners.length > 0) {\n for (var i in listeners){\n this.send({\n method: 'removeEventListener',\n value: event,\n listener: listeners[i]\n });\n return true;\n }\n }\n \n return false;\n }\n\n // Based on what ready passed back, we can determine if the events/method are\n // supported by the player. \n supports(evtOrMethod, names){\n\n core.assert(['method', 'event'].includes(evtOrMethod),\n 'evtOrMethod needs to be either \"event\" or \"method\" got ' + evtOrMethod);\n \n // Make everything an array.\n names = core.isArray(names) ? names : [names];\n \n var all = evtOrMethod === 'event' ? this.events : this.methods;\n \n for (var i=0; i < names.length; i++){\n if (!all.includes(names[i])){\n return false;\n }\n }\n \n return true;\n }\n}\n\n//create function to add to the Player prototype\nfunction createPrototypeFunction(name) {\n\n return function() {\n\n var data = {\n method: name\n };\n\n var args = Array.prototype.slice.call(arguments);\n\n //for getters add the passed parameters to the arguments for the send call\n if (/^get/.test(name)) {\n core.assert(args.length > 0, 'Get methods require a callback.');\n args.unshift(data);\n } else {\n //for setter add the first arg to the value field\n if (/^set/.test(name)) {\n core.assert(args.length !== 0, 'Set methods require a value.');\n data.value = args[0];\n }\n args = [data];\n }\n\n this.send.apply(this, args);\n };\n}\n\n// Loop through the methods to add them to the prototype.\nfor (let methodName of core.METHODS.all()) {\n if (!Player.prototype.hasOwnProperty(methodName)){\n Player.prototype[methodName] = createPrototypeFunction(methodName);\n }\n}\n\ncore.addEvent(window, 'message', function(e){\n var data;\n try {\n data = JSON.parse(e.data);\n } catch (err){\n return false;\n }\n\n // abort if this message wasn't a player.js message\n if (data.context !== core.CONTEXT) {\n return false;\n }\n\n // We need to determine if we are ready.\n if (data.event === 'ready' && data.value && data.value.src){\n READIED.push(data.value.src);\n }\n})\n\nexport default Player;", "/*globals playerjs:true*/\n/*\n* Does all the wiring up for the backend.\n*\n* var receiver = new playerjs.Receiver();\n* receiver.on('play', function(){ video.play() });\n* receiver.on('getDuration', function(callback){ callback(video.duration) });\n* receiver.emit('timeupdate', {});\n*/\n\nimport core from './core';\n\nclass Receiver {\n constructor(events, methods) {\n let self = this;\n\n // Deal with the ready crap.\n this.isReady = false;\n\n // Bind the window message.\n this.origin =(new URL(document.referrer)).origin;\n\n //Create a holder for all the methods.\n this.methods = {};\n\n // holds all the information about what's supported\n this.supported = {\n events: events ? events : core.EVENTS.all(),\n methods: methods ? methods : core.METHODS.all()\n };\n\n // Deals with the adding and removing of event listeners.\n this.eventListeners = {};\n\n // We can't send any messages.\n this.reject = !(window.self !== window.top && core.POST_MESSAGE);\n\n // We aren't in an iframe, don't listen.\n if (!this.reject) {\n core.addEvent(window, 'message', function (e) {\n self.receive(e);\n });\n }\n }\n\n receive(e) {\n // Only want to listen to events that came from our origin.\n if (e.origin !== this.origin) {\n return false;\n }\n\n // Browsers that support postMessage also support JSON.\n let data = {};\n if (typeof e.data === \"object\") {\n data = e.data;\n } else {\n try {\n data = window.JSON.parse(e.data);\n } catch (err) {\n console.error('JSON Parse Error', err);\n }\n }\n\n console.debug('Receiver.receive', e, data);\n\n // Nothing for us to do.\n if (!data.method) {\n return false;\n }\n\n // make sure the context is correct.\n if (data.context !== core.CONTEXT) {\n return false;\n }\n\n // Make sure we have a valid method.\n if (!core.METHODS.all().includes(data.method)) {\n this.emit('error', {\n code: 2,\n msg: 'Invalid Method \"' + data.method + '\"'\n });\n return false;\n }\n\n // See if we added a listener\n let listener = !core.isNone(data.listener) ? data.listener : null;\n\n // Add Event Listener.\n if (data.method === 'addEventListener') {\n if (this.eventListeners.hasOwnProperty(data.value)) {\n //If the listener is the same, i.e. null only add it once.\n if(!this.eventListeners[data.value].includes(listener)) {\n this.eventListeners[data.value].push(listener);\n }\n } else {\n this.eventListeners[data.value] = [listener];\n }\n\n if (data.value === 'ready' && this.isReady) {\n this.ready();\n }\n }\n // Remove the event listener.\n else if (data.method === 'removeEventListener') {\n if (this.eventListeners.hasOwnProperty(data.value)) {\n let index = this.eventListeners[data.value].indexOf(listener);\n\n // if we find the element, remove it.\n if (index > -1) {\n this.eventListeners[data.value].splice(index, 1);\n }\n\n if (this.eventListeners[data.value].length === 0) {\n delete this.eventListeners[data.value];\n }\n }\n }\n // Go get it.\n else {\n this.get(data.method, data.value, listener);\n }\n }\n\n get(method, value, listener) {\n var self = this;\n\n // Now lets do it.\n if (!this.methods.hasOwnProperty(method)) {\n this.emit('error', {\n code: 3,\n msg: 'Method Not Supported\"' + method + '\"'\n });\n return false;\n }\n\n var func = this.methods[method];\n\n if (method.substr(0, 3) === 'get') {\n var callback = function (val) {\n self.send(method, val, listener);\n };\n func.call(this, callback);\n } else {\n func.call(this, value);\n }\n }\n\n on(event, callback) {\n this.methods[event] = callback;\n }\n\n send(event, value, listener) {\n\n console.debug('Receiver.send', event, value, listener);\n\n if (this.reject) {\n // We are not in a frame, or we don't support POST_MESSAGE\n console.error('Receiver.send.reject', event, value, listener);\n return false;\n }\n\n var data = {\n context: core.CONTEXT,\n version: core.VERSION,\n event: event\n };\n\n if (!core.isNone(value)) {\n data.value = value;\n }\n\n if (!core.isNone(listener)) {\n data.listener = listener;\n }\n\n var msg = JSON.stringify(data);\n window.parent.postMessage(msg, this.origin === \"\" ? '*' : this.origin);\n }\n\n emit(event, value) {\n\n if (!this.eventListeners.hasOwnProperty(event)) {\n return false;\n }\n\n console.debug('Instance.emit', event, value, this.eventListeners[event]);\n\n for (var i = 0; i < this.eventListeners[event].length; i++) {\n var listener = this.eventListeners[event][i];\n this.send(event, value, listener);\n }\n\n return true;\n }\n\n ready() {\n console.debug('Receiver.ready');\n this.isReady = true;\n\n var data = {\n src: window.location.toString(),\n events: this.supported.events,\n methods: this.supported.methods\n };\n\n if (!this.emit('ready', data)) {\n this.send('ready', data);\n }\n\n }\n}\n\nexport default Receiver;\n", "import Receiver from \"../receiver\";\n\nclass MockAdapter {\n constructor() {\n this.init();\n }\n\n init(){\n\n // Our mock video\n var video = {\n duration: 20,\n currentTime: 0,\n interval: null,\n timeupdate: function(){},\n volume: 100,\n mute: false,\n playing: false,\n loop : false,\n play: function(){\n video.interval = setInterval(function(){\n video.currentTime += 0.25;\n video.timeupdate({\n seconds: video.currentTime,\n duration: video.duration\n });\n }, 250);\n video.playing = true;\n },\n pause: function(){\n clearInterval(video.interval);\n video.playing = false;\n }\n };\n \n // Set up the actual receiver\n var receiver = this.receiver = new Receiver();\n \n receiver.on('play', function(){\n var self = this;\n video.play();\n this.emit('play');\n video.timeupdate = function(data){\n self.emit('timeupdate', data);\n };\n });\n \n receiver.on('pause', function(){\n video.pause();\n this.emit('pause');\n });\n \n receiver.on('getPaused', function(callback){\n callback(!video.playing);\n });\n \n receiver.on('getCurrentTime', function(callback){\n callback(video.currentTime);\n });\n \n receiver.on('setCurrentTime', function(value){\n video.currentTime = value;\n });\n \n receiver.on('getDuration', function(callback){\n callback(video.duration);\n });\n \n receiver.on('getVolume', function(callback){\n callback(video.volume);\n });\n \n receiver.on('setVolume', function(value){\n video.volume = value;\n });\n \n receiver.on('mute', function(){\n video.mute = true;\n });\n \n receiver.on('unmute', function(){\n video.mute = false;\n });\n \n receiver.on('getMuted', function(callback){\n callback(video.mute);\n });\n \n receiver.on('getLoop', function(callback){\n callback(video.loop);\n });\n \n receiver.on('setLoop', function(value){\n video.loop = value;\n });\n \n receiver.on('setPlaybackRate', function(value){\n video.playbackRate = value;\n });\n \n receiver.on('getPlaybackRate', function(callback){\n callback(video.playbackRate);\n });\n }\n\n ready(){\n this.receiver.ready();\n }\n}\n\nexport default MockAdapter;", "import core from \"../core\";\nimport Receiver from \"../receiver\"\n\nclass VideoJSAdapter {\n constructor(player) {\n this.init(player);\n }\n\n init(player){\n\n core.assert(player, 'VideoJSReceiver requires a player object');\n \n // Set up the actual receiver\n var receiver = this.receiver = new Receiver();\n \n /* EVENTS */\n player.on(\"pause\", function(){\n receiver.emit('pause');\n });\n \n player.on(\"play\", function(){\n receiver.emit('play');\n });\n \n player.on(\"timeupdate\", function(e){\n var seconds = player.currentTime(),\n duration = player.duration();\n \n if (!seconds || !duration){\n return false;\n }\n \n var value = {\n seconds: seconds,\n duration: duration\n };\n receiver.emit('timeupdate', value);\n });\n \n player.on(\"ended\", function(){\n receiver.emit('ended');\n });\n \n player.on(\"error\", function(){\n receiver.emit('error');\n });\n \n \n /* METHODS */\n receiver.on('play', function(){\n player.play();\n });\n \n receiver.on('pause', function(){\n player.pause();\n });\n \n receiver.on('getPaused', function(callback){\n callback(player.paused());\n });\n \n receiver.on('getCurrentTime', function(callback){\n callback(player.currentTime());\n });\n \n receiver.on('setCurrentTime', function(value){\n player.currentTime(value);\n });\n \n receiver.on('getDuration', function(callback){\n callback(player.duration());\n });\n \n receiver.on('getVolume', function(callback){\n callback(player.volume() * 100);\n });\n \n receiver.on('setVolume', function(value){\n player.volume(value/100);\n });\n \n receiver.on('mute', function(){\n player.volume(0);\n });\n \n receiver.on('unmute', function(){\n player.volume(1);\n });\n \n receiver.on('getMuted', function(callback){\n callback(player.volume() === 0);\n });\n \n receiver.on('getLoop', function(callback){\n callback(player.loop());\n });\n \n receiver.on('setLoop', function(value){\n player.loop(value);\n });\n \n receiver.on('setPlaybackRate', function(value){\n player.playbackRate(value);\n });\n \n receiver.on('getPlaybackRate', function(callback){\n callback(player.playbackRate());\n });\n }\n\n ready(){\n this.receiver.ready();\n }\n}\n\nexport default VideoJSAdapter;", "import core from \"../core\";\nimport Receiver from \"../receiver\";\n\nclass HTML5Adapter {\n constructor(video) {\n this.init(video);\n }\n\n init(video){\n\n core.assert(video, 'HTML5Adapter requires a video element');\n \n // Set up the actual receiver\n var receiver = this.receiver = new Receiver();\n \n /* EVENTS */\n video.addEventListener('playing', function(){\n receiver.emit('play');\n });\n \n video.addEventListener('pause', function(){\n receiver.emit('pause');\n });\n \n video.addEventListener('ended', function(){\n receiver.emit('ended');\n });\n \n video.addEventListener('timeupdate', function(){\n receiver.emit('timeupdate', {\n seconds: video.currentTime,\n duration: video.duration\n });\n });\n \n video.addEventListener('progress', function(){\n receiver.emit('buffered', {\n percent: video.buffered.length\n });\n });\n \n /* Methods */\n receiver.on('play', function(){\n video.play();\n });\n \n receiver.on('pause', function(){\n video.pause();\n });\n \n receiver.on('getPaused', function(callback){\n callback(video.paused);\n });\n \n receiver.on('getCurrentTime', function(callback){\n callback(video.currentTime);\n });\n \n receiver.on('setCurrentTime', function(value){\n video.currentTime = value;\n });\n \n receiver.on('getDuration', function(callback){\n callback(video.duration);\n });\n \n receiver.on('getVolume', function(callback){\n callback(video.volume * 100);\n });\n \n receiver.on('setVolume', function(value){\n video.volume = value/100;\n });\n \n receiver.on('mute', function(){\n video.muted = true;\n });\n \n receiver.on('unmute', function(){\n video.muted = false;\n });\n \n receiver.on('getMuted', function(callback){\n callback(video.muted);\n });\n \n receiver.on('getLoop', function(callback){\n callback(video.loop);\n });\n \n receiver.on('setLoop', function(value){\n video.loop = value;\n });\n \n receiver.on('setPlaybackRate', function(value){\n video.playbackRate = value;\n });\n \n receiver.on('getPlaybackRate', function(callback){\n callback(video.playbackRate);\n });\n }\n\n ready(){\n this.receiver.ready();\n }\n}\n\nexport default HTML5Adapter;\n", "import core from \"./core\";\nimport Player from \"./player\";\nimport Receiver from \"./receiver\";\nimport MockAdapter from \"./adapters/mock\";\nimport VideoJSAdapter from \"./adapters/video\";\nimport HTML5Adapter from \"./adapters/html\";\n\nconst playerjs = {\n Player,\n Receiver,\n MockAdapter,\n VideoJSAdapter,\n HTML5Adapter,\n CONTEXT: core.CONTEXT,\n VERSION: core.VERSION,\n METHODS: core.METHODS,\n addEvent: core.addEvent,\n};\n\n// Attach to the window object explicitly\nif (typeof window !== \"undefined\") {\n window.playerjs = playerjs;\n}\n\nexport default playerjs;"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["core", "obj", "key", "all", "elem", "type", "eventHandle", "test", "msg", "url", "core_default", "Keeper", "event", "id", "core_default", "events", "i", "cb", "ctx", "one", "d", "data", "keep", "execute", "n", "e", "listeners", "keeper_default", "READIED", "Player", "elem", "self", "core_default", "keeper_default", "e", "data", "callback", "ctx", "id", "err", "i", "obj", "event", "listeners", "evtOrMethod", "names", "all", "createPrototypeFunction", "name", "args", "methodName", "player_default", "Receiver", "events", "methods", "self", "core_default", "e", "data", "err", "listener", "index", "method", "value", "func", "callback", "val", "event", "msg", "i", "receiver_default", "MockAdapter", "video", "receiver", "receiver_default", "self", "data", "callback", "value", "mock_default", "VideoJSAdapter", "player", "core_default", "receiver", "receiver_default", "e", "seconds", "duration", "value", "callback", "video_default", "HTML5Adapter", "video", "core_default", "receiver", "receiver_default", "callback", "value", "html_default", "playerjs", "player_default", "receiver_default", "mock_default", "video_default", "html_default", "core_default", "main_default"]
|
|
4
|
+
"sourcesContent": ["const core = {\n EVENTS: {\n READY: 'ready',\n PLAY: 'play',\n PAUSE: 'pause',\n ENDED: 'ended',\n TIMEUPDATE: 'timeupdate',\n PROGRESS: 'progress',\n SEEKED: 'seeked',\n ERROR: 'error',\n FULLSCREEN_CHANGE: 'fullscreenChange',\n PIP_CHANGE: 'pipChange',\n PLAYBACK_RATE_CHANGE: 'playbackRateChange',\n AUDIO_CHANGE: 'audioChange',\n QUALITY_CHANGE: 'qualityChange',\n VOLUME_CHANGE: 'volumeChange'\n },\n\n POST_MESSAGE: !!window.postMessage,\n\n METHODS: {\n PLAY: 'play',\n PAUSE: 'pause',\n GETPAUSED: 'getPaused',\n MUTE: 'mute',\n UNMUTE: 'unmute',\n GETMUTED: 'getMuted',\n SETVOLUME: 'setVolume',\n GETVOLUME: 'getVolume',\n GETDURATION: 'getDuration',\n SETCURRENTTIME: 'setCurrentTime',\n GETCURRENTTIME: 'getCurrentTime',\n SETLOOP: 'setLoop',\n GETLOOP: 'getLoop',\n SETPLAYBACKRATE: 'setPlaybackRate',\n GETPLAYBACKRATE: 'getPlaybackRate',\n REMOVEEVENTLISTENER: 'removeEventListener',\n ADDEVENTLISTENER: 'addEventListener'\n },\n\n DEBUG: false,\n VERSION: '2.0',\n CONTEXT: 'player.js',\n\n isString: function (obj) {\n return Object.prototype.toString.call(obj) === '[object String]'\n },\n\n has: function (obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key)\n }\n}\n\ncore.METHODS.all = function () {\n const all = []\n for (const key in core.METHODS) {\n if (core.has(core.METHODS, key) && core.isString(core.METHODS[key])) {\n all.push(core.METHODS[key])\n }\n }\n return all\n}\n\ncore.EVENTS.all = function () {\n const all = []\n for (const key in core.EVENTS) {\n if (core.has(core.EVENTS, key) && core.isString(core.EVENTS[key])) {\n all.push(core.EVENTS[key])\n }\n }\n return all\n}\n\ncore.addEvent = function (elem, type, eventHandle) {\n if (!elem) { return }\n if (elem.addEventListener) {\n elem.addEventListener(type, eventHandle, false)\n } else if (elem.attachEvent) {\n elem.attachEvent('on' + type, eventHandle)\n } else {\n elem['on' + type] = eventHandle\n }\n}\n\ncore.isNone = function (obj) {\n return (obj === null || obj === undefined)\n}\n\ncore.assert = function (test, msg) {\n if (!test) {\n throw msg || 'Player.js Assert Failed'\n }\n}\n\ncore.generateUUID = function () {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID()\n } else {\n const url = URL.createObjectURL(new Blob())\n return url.substring(url.lastIndexOf('/') + 1)\n }\n}\n\ncore.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport default core\n", "/*\n* Keeper is just a method for keeping track of all the callbacks.\n*/\nimport core from './core'\n\nclass Keeper {\n constructor () {\n this.data = {}\n }\n\n has (event, id) {\n if (!Object.hasOwn(this.data, event)) {\n return false\n }\n\n if (core.isNone(id)) {\n return true\n }\n\n // Figure out if we have the event.\n const events = this.data[event]\n\n for (let i = 0; i < events.length; i++) {\n if (events[i].id === id) {\n return true\n }\n }\n\n return false\n }\n\n add (id, event, cb, ctx, one) {\n const d = {\n id,\n event,\n cb,\n ctx,\n one\n }\n\n if (this.has(event)) {\n this.data[event].push(d)\n } else {\n this.data[event] = [d]\n }\n }\n\n execute (event, id, data, ctx) {\n if (!this.has(event, id)) {\n return false\n }\n\n const keep = []\n const execute = []\n\n for (let i = 0; i < this.data[event].length; i++) {\n const d = this.data[event][i]\n\n // There are omni events, in that they do not have an id. i.e \"ready\".\n // Or there is an ID and we only want to execute the right id'd method.\n if (core.isNone(id) || (!core.isNone(id) && d.id === id)) {\n execute.push({\n cb: d.cb,\n ctx: d.ctx ? d.ctx : ctx,\n data\n })\n\n // If we only wanted to execute this once.\n if (d.one === false) {\n keep.push(d)\n }\n } else {\n keep.push(d)\n }\n }\n\n if (keep.length === 0) {\n delete this.data[event]\n } else {\n this.data[event] = keep\n }\n\n // We need to execute everything after we deal with the one stuff. otherwise\n // we have issues to order of operations.\n for (let n = 0; n < execute.length; n++) {\n const e = execute[n]\n e.cb.call(e.ctx, e.data)\n }\n }\n\n on (id, event, cb, ctx) {\n this.add(id, event, cb, ctx, false)\n }\n\n one (id, event, cb, ctx) {\n this.add(id, event, cb, ctx, true)\n }\n\n off (event, cb) {\n // We should probably restructure so this is a bit less of a pain.\n const listeners = []\n\n if (!Object.hasOwn(this.data, event)) {\n return listeners\n }\n\n const keep = []\n\n // Loop through everything.\n for (let i = 0; i < this.data[event].length; i++) {\n const data = this.data[event][i]\n // If we only keep if there was a CB and the CB is there.\n if (!core.isNone(cb) && data.cb !== cb) {\n keep.push(data)\n } else if (!core.isNone(data.id)) {\n listeners.push(data.id)\n }\n }\n\n if (keep.length === 0) {\n delete this.data[event]\n } else {\n this.data[event] = keep\n }\n\n return listeners\n }\n}\n\nexport default Keeper\n", "/*\n* Player.js is a javascript library for interacting with iframes via\n* postMessage that use an Open Player Spec\n*\n*/\nimport core from './core'\nimport Keeper from './keeper'\n\nconst READIED = []\n\nclass Player {\n constructor (elem) {\n const self = this\n this.READIED = READIED\n\n if (core.isString(elem)) {\n elem = document.getElementById(elem)\n }\n\n this.elem = elem\n\n // make sure we have an iframe\n core.assert(elem.nodeName === 'IFRAME',\n 'playerjs.Player constructor requires an Iframe, got \"' + elem.nodeName + '\"')\n core.assert(elem.src,\n 'playerjs.Player constructor requires a Iframe with a \\'src\\' attribute.')\n\n // Figure out the origin of where we are sending messages.\n this.origin = (new URL(elem.src)).origin\n\n // Event handling.\n this.keeper = new Keeper()\n\n // Queuing before ready.\n this.isReady = false\n this.queue = []\n\n // Assume that everything is supported, unless we know otherwise.\n this.events = core.EVENTS.all()\n this.methods = core.METHODS.all()\n\n if (core.POST_MESSAGE) {\n // Set up the reciever.\n core.addEvent(window, 'message', function (e) {\n self.receive(e)\n })\n } else {\n console.error('Post Message is not Available.')\n }\n\n // See if we caught the src event first, otherwise assume we haven't loaded\n if (READIED.includes(elem.src)) {\n self.loaded = true\n } else {\n // Try the onload event, just lets us give another test.\n this.elem.onload = function () {\n self.loaded = true\n }\n }\n }\n\n send (data, callback, ctx) {\n // Add the context and version to the data.\n data.context = core.CONTEXT\n data.version = core.VERSION\n\n // We are expecting a response.\n if (callback) {\n // Create a UUID\n const id = core.generateUUID()\n\n // Set the listener.\n data.listener = id\n\n // Only hang on to this listener once.\n this.keeper.one(id, data.method, callback, ctx)\n }\n\n if (!this.isReady && data.value !== 'ready') {\n console.debug('Player.queue', data)\n this.queue.push(data)\n return false\n }\n\n console.debug('Player.send', data, this.origin)\n\n if (this.loaded === true) {\n this.elem.contentWindow.postMessage(JSON.stringify(data), this.origin)\n }\n\n return true\n }\n\n receive (e) {\n console.debug('Player.receive', e)\n\n if (e.origin !== this.origin) {\n return false\n }\n\n let data\n try {\n data = JSON.parse(e.data)\n } catch (err) {\n // Not a valid response.\n return false\n }\n\n // abort if this message wasn't a player.js message\n if (data.context !== core.CONTEXT) {\n return false\n }\n\n // We need to determine if we are ready.\n if (data.event === 'ready' && data.value && data.value.src === this.elem.src) {\n this.ready(data)\n }\n\n if (this.keeper.has(data.event, data.listener)) {\n this.keeper.execute(data.event, data.listener, data.value, this)\n }\n }\n\n ready (data) {\n if (this.isReady === true) {\n return false\n }\n\n // If we got a list of supported methods, we should set them.\n if (data.value.events) {\n this.events = data.value.events\n }\n if (data.value.methods) {\n this.methods = data.value.methods\n }\n\n // set ready.\n this.isReady = true\n this.loaded = true\n\n // Clear the queue\n for (let i = 0; i < this.queue.length; i++) {\n const obj = this.queue[i]\n\n console.debug('Player.dequeue', obj)\n\n if (data.event === 'ready') {\n this.keeper.execute(obj.event, obj.listener, true, this)\n }\n this.send(obj)\n }\n this.queue = []\n }\n\n on (event, callback, ctx) {\n const id = core.generateUUID()\n\n if (event === 'ready') {\n // We only want to call ready once.\n this.keeper.one(id, event, callback, ctx)\n } else {\n this.keeper.on(id, event, callback, ctx)\n }\n\n this.send({\n method: 'addEventListener',\n value: event,\n listener: id\n })\n\n return true\n }\n\n off (event, callback) {\n const listeners = this.keeper.off(event, callback)\n console.debug('Player.off', listeners)\n\n if (listeners.length > 0) {\n for (const i in listeners) {\n this.send({\n method: 'removeEventListener',\n value: event,\n listener: listeners[i]\n })\n }\n return true\n }\n\n return false\n }\n\n // Based on what ready passed back, we can determine if the events/method are\n // supported by the player.\n supports (evtOrMethod, names) {\n core.assert(['method', 'event'].includes(evtOrMethod),\n 'evtOrMethod needs to be either \"event\" or \"method\" got ' + evtOrMethod)\n\n // Make everything an array.\n names = core.isArray(names) ? names : [names]\n\n const all = evtOrMethod === 'event' ? this.events : this.methods\n\n for (let i = 0; i < names.length; i++) {\n if (!all.includes(names[i])) {\n return false\n }\n }\n\n return true\n }\n}\n\n// create function to add to the Player prototype\nfunction createPrototypeFunction (name) {\n return function () {\n const data = {\n method: name\n }\n\n let args = Array.prototype.slice.call(arguments)\n\n // for getters add the passed parameters to the arguments for the send call\n if (/^get/.test(name)) {\n core.assert(args.length > 0, 'Get methods require a callback.')\n args.unshift(data)\n } else {\n // for setter add the first arg to the value field\n if (/^set/.test(name)) {\n core.assert(args.length !== 0, 'Set methods require a value.')\n data.value = args[0]\n }\n args = [data]\n }\n\n this.send.apply(this, args)\n }\n}\n\n// Loop through the methods to add them to the prototype.\nfor (const methodName of core.METHODS.all()) {\n if (!Object.hasOwn(Player.prototype, methodName)) {\n Player.prototype[methodName] = createPrototypeFunction(methodName)\n }\n}\n\ncore.addEvent(window, 'message', function (e) {\n let data\n try {\n data = JSON.parse(e.data)\n } catch (err) {\n return false\n }\n\n // abort if this message wasn't a player.js message\n if (data.context !== core.CONTEXT) {\n return false\n }\n\n // We need to determine if we are ready.\n if (data.event === 'ready' && data.value && data.value.src) {\n READIED.push(data.value.src)\n }\n})\n\nexport default Player\n", "/*\n* Does all the wiring up for the backend.\n*\n* var receiver = new playerjs.Receiver();\n* receiver.on('play', function(){ video.play() });\n* receiver.on('getDuration', function(callback){ callback(video.duration) });\n* receiver.emit('timeupdate', {});\n*/\n\nimport core from './core'\n\nclass Receiver {\n constructor (events, methods) {\n const self = this\n\n // Deal with the ready crap.\n this.isReady = false\n\n // Bind the window message.\n this.origin = (new URL(document.referrer)).origin\n\n // Create a holder for all the methods.\n this.methods = {}\n\n // holds all the information about what's supported\n this.supported = {\n events: events || core.EVENTS.all(),\n methods: methods || core.METHODS.all()\n }\n\n // Deals with the adding and removing of event listeners.\n this.eventListeners = {}\n\n // We can't send any messages.\n this.reject = !(window.self !== window.top && core.POST_MESSAGE)\n\n // We aren't in an iframe, don't listen.\n if (!this.reject) {\n core.addEvent(window, 'message', function (e) {\n self.receive(e)\n })\n }\n }\n\n receive (e) {\n // Only want to listen to events that came from our origin.\n if (e.origin !== this.origin) {\n return false\n }\n\n // Browsers that support postMessage also support JSON.\n let data = {}\n if (typeof e.data === 'object') {\n data = e.data\n } else {\n try {\n data = window.JSON.parse(e.data)\n } catch (err) {\n console.error('JSON Parse Error', err)\n }\n }\n\n console.debug('Receiver.receive', e, data)\n\n // Nothing for us to do.\n if (!data.method) {\n return false\n }\n\n // make sure the context is correct.\n if (data.context !== core.CONTEXT) {\n return false\n }\n\n // Make sure we have a valid method.\n if (!core.METHODS.all().includes(data.method)) {\n this.emit('error', {\n code: 2,\n msg: 'Invalid Method \"' + data.method + '\"'\n })\n return false\n }\n\n // See if we added a listener\n const listener = !core.isNone(data.listener) ? data.listener : null\n\n // Add Event Listener.\n if (data.method === 'addEventListener') {\n if (Object.hasOwn(this.eventListeners, data.value)) {\n // If the listener is the same, i.e. null only add it once.\n if (!this.eventListeners[data.value].includes(listener)) {\n this.eventListeners[data.value].push(listener)\n }\n } else {\n this.eventListeners[data.value] = [listener]\n }\n\n if (data.value === 'ready' && this.isReady) {\n this.ready()\n }\n } else if (data.method === 'removeEventListener') { // Remove the event listener.\n if (Object.hasOwn(this.eventListeners, data.value)) {\n const index = this.eventListeners[data.value].indexOf(listener)\n\n // if we find the element, remove it.\n if (index > -1) {\n this.eventListeners[data.value].splice(index, 1)\n }\n\n if (this.eventListeners[data.value].length === 0) {\n delete this.eventListeners[data.value]\n }\n }\n } else { // Go get it.\n this.get(data.method, data.value, listener)\n }\n }\n\n get (method, value, listener) {\n const self = this\n\n // Now lets do it.\n if (!Object.hasOwn(this.methods, method)) {\n this.emit('error', {\n code: 3,\n msg: 'Method Not Supported\"' + method + '\"'\n })\n return false\n }\n\n const func = this.methods[method]\n\n if (method.substr(0, 3) === 'get') {\n const callback = function (val) {\n self.send(method, val, listener)\n }\n func.call(this, callback)\n } else {\n func.call(this, value)\n }\n }\n\n on (event, callback) {\n this.methods[event] = callback\n }\n\n send (event, value, listener) {\n console.debug('Receiver.send', event, value, listener)\n\n if (this.reject) {\n // We are not in a frame, or we don't support POST_MESSAGE\n console.error('Receiver.send.reject', event, value, listener)\n return false\n }\n\n const data = {\n context: core.CONTEXT,\n version: core.VERSION,\n event\n }\n\n if (!core.isNone(value)) {\n data.value = value\n }\n\n if (!core.isNone(listener)) {\n data.listener = listener\n }\n\n const msg = JSON.stringify(data)\n window.parent.postMessage(msg, this.origin === '' ? '*' : this.origin)\n }\n\n emit (event, value) {\n if (!Object.hasOwn(this.eventListeners, event)) {\n return false\n }\n\n console.debug('Instance.emit', event, value, this.eventListeners[event])\n\n for (let i = 0; i < this.eventListeners[event].length; i++) {\n const listener = this.eventListeners[event][i]\n this.send(event, value, listener)\n }\n\n return true\n }\n\n ready () {\n console.debug('Receiver.ready')\n this.isReady = true\n\n const data = {\n src: window.location.toString(),\n events: this.supported.events,\n methods: this.supported.methods\n }\n\n if (!this.emit('ready', data)) {\n this.send('ready', data)\n }\n }\n}\n\nexport default Receiver\n", "import Receiver from '../receiver'\n\nclass MockAdapter {\n constructor () {\n this.init()\n }\n\n init () {\n // Our mock video\n const video = {\n duration: 20,\n currentTime: 0,\n interval: null,\n timeupdate: function () {},\n volume: 100,\n mute: false,\n playing: false,\n loop: false,\n play: function () {\n video.interval = setInterval(function () {\n video.currentTime += 0.25\n video.timeupdate({\n seconds: video.currentTime,\n duration: video.duration\n })\n }, 250)\n video.playing = true\n },\n pause: function () {\n clearInterval(video.interval)\n video.playing = false\n }\n }\n\n // Set up the actual receiver\n const receiver = this.receiver = new Receiver()\n\n receiver.on('play', function () {\n const self = this\n video.play()\n this.emit('play')\n video.timeupdate = function (data) {\n self.emit('timeupdate', data)\n }\n })\n\n receiver.on('pause', function () {\n video.pause()\n this.emit('pause')\n })\n\n receiver.on('getPaused', function (callback) {\n const isPaused = !video.playing\n callback(isPaused)\n })\n\n receiver.on('getCurrentTime', function (callback) {\n callback(video.currentTime)\n })\n\n receiver.on('setCurrentTime', function (value) {\n video.currentTime = value\n })\n\n receiver.on('getDuration', function (callback) {\n callback(video.duration)\n })\n\n receiver.on('getVolume', function (callback) {\n callback(video.volume)\n })\n\n receiver.on('setVolume', function (value) {\n video.volume = value\n })\n\n receiver.on('mute', function () {\n video.mute = true\n })\n\n receiver.on('unmute', function () {\n video.mute = false\n })\n\n receiver.on('getMuted', function (callback) {\n callback(video.mute)\n })\n\n receiver.on('getLoop', function (callback) {\n callback(video.loop)\n })\n\n receiver.on('setLoop', function (value) {\n video.loop = value\n })\n\n receiver.on('setPlaybackRate', function (value) {\n video.playbackRate = value\n })\n\n receiver.on('getPlaybackRate', function (callback) {\n callback(video.playbackRate)\n })\n }\n\n ready () {\n this.receiver.ready()\n }\n}\n\nexport default MockAdapter\n", "import core from '../core'\nimport Receiver from '../receiver'\n\nclass VideoJSAdapter {\n constructor (player) {\n this.init(player)\n }\n\n init (player) {\n core.assert(player, 'VideoJSReceiver requires a player object')\n\n // Set up the actual receiver\n const receiver = this.receiver = new Receiver()\n\n /* EVENTS */\n player.on('pause', function () {\n receiver.emit('pause')\n })\n\n player.on('play', function () {\n receiver.emit('play')\n })\n\n player.on('timeupdate', function (e) {\n const seconds = player.currentTime()\n const duration = player.duration()\n\n if (!seconds || !duration) {\n return false\n }\n\n const value = {\n seconds,\n duration\n }\n receiver.emit('timeupdate', value)\n })\n\n player.on('ended', function () {\n receiver.emit('ended')\n })\n\n player.on('error', function () {\n receiver.emit('error')\n })\n\n /* METHODS */\n receiver.on('play', function () {\n player.play()\n })\n\n receiver.on('pause', function () {\n player.pause()\n })\n\n receiver.on('getPaused', function (callback) {\n callback(player.paused())\n })\n\n receiver.on('getCurrentTime', function (callback) {\n callback(player.currentTime())\n })\n\n receiver.on('setCurrentTime', function (value) {\n player.currentTime(value)\n })\n\n receiver.on('getDuration', function (callback) {\n callback(player.duration())\n })\n\n receiver.on('getVolume', function (callback) {\n const volume = player.volume() * 100\n callback(volume)\n })\n\n receiver.on('setVolume', function (value) {\n player.volume(value / 100)\n })\n\n receiver.on('mute', function () {\n player.volume(0)\n })\n\n receiver.on('unmute', function () {\n player.volume(1)\n })\n\n receiver.on('getMuted', function (callback) {\n const isMuted = player.volume() === 0\n callback(isMuted)\n })\n\n receiver.on('getLoop', function (callback) {\n callback(player.loop())\n })\n\n receiver.on('setLoop', function (value) {\n player.loop(value)\n })\n\n receiver.on('setPlaybackRate', function (value) {\n player.playbackRate(value)\n })\n\n receiver.on('getPlaybackRate', function (callback) {\n callback(player.playbackRate())\n })\n }\n\n ready () {\n this.receiver.ready()\n }\n}\n\nexport default VideoJSAdapter\n", "import core from '../core'\nimport Receiver from '../receiver'\n\nclass HTML5Adapter {\n constructor (video) {\n this.init(video)\n }\n\n init (video) {\n core.assert(video, 'HTML5Adapter requires a video element')\n\n // Set up the actual receiver\n const receiver = this.receiver = new Receiver()\n\n /* EVENTS */\n video.addEventListener('playing', function () {\n receiver.emit('play')\n })\n\n video.addEventListener('pause', function () {\n receiver.emit('pause')\n })\n\n video.addEventListener('ended', function () {\n receiver.emit('ended')\n })\n\n video.addEventListener('timeupdate', function () {\n receiver.emit('timeupdate', {\n seconds: video.currentTime,\n duration: video.duration\n })\n })\n\n video.addEventListener('progress', function () {\n receiver.emit('buffered', {\n percent: video.buffered.length\n })\n })\n\n /* Methods */\n receiver.on('play', function () {\n video.play()\n })\n\n receiver.on('pause', function () {\n video.pause()\n })\n\n receiver.on('getPaused', function (callback) {\n callback(video.paused)\n })\n\n receiver.on('getCurrentTime', function (callback) {\n callback(video.currentTime)\n })\n\n receiver.on('setCurrentTime', function (value) {\n video.currentTime = value\n })\n\n receiver.on('getDuration', function (callback) {\n callback(video.duration)\n })\n\n receiver.on('getVolume', function (callback) {\n const volume = video.volume * 100\n callback(volume)\n })\n\n receiver.on('setVolume', function (value) {\n video.volume = value / 100\n })\n\n receiver.on('mute', function () {\n video.muted = true\n })\n\n receiver.on('unmute', function () {\n video.muted = false\n })\n\n receiver.on('getMuted', function (callback) {\n callback(video.muted)\n })\n\n receiver.on('getLoop', function (callback) {\n callback(video.loop)\n })\n\n receiver.on('setLoop', function (value) {\n video.loop = value\n })\n\n receiver.on('setPlaybackRate', function (value) {\n video.playbackRate = value\n })\n\n receiver.on('getPlaybackRate', function (callback) {\n callback(video.playbackRate)\n })\n }\n\n ready () {\n this.receiver.ready()\n }\n}\n\nexport default HTML5Adapter\n", "import core from './core'\nimport Player from './player'\nimport Receiver from './receiver'\nimport MockAdapter from './adapters/mock'\nimport VideoJSAdapter from './adapters/video'\nimport HTML5Adapter from './adapters/html'\n\nconst playerjs = {\n Player,\n Receiver,\n MockAdapter,\n VideoJSAdapter,\n HTML5Adapter,\n CONTEXT: core.CONTEXT,\n VERSION: core.VERSION,\n METHODS: core.METHODS,\n addEvent: core.addEvent\n}\n\n// Attach to the window object explicitly\nif (typeof window !== 'undefined') {\n window.playerjs = playerjs\n}\n\nexport default playerjs\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["core", "obj", "key", "all", "elem", "type", "eventHandle", "test", "msg", "url", "core_default", "Keeper", "event", "id", "core_default", "events", "i", "cb", "ctx", "one", "d", "data", "keep", "execute", "n", "e", "listeners", "keeper_default", "READIED", "Player", "elem", "self", "core_default", "keeper_default", "e", "data", "callback", "ctx", "id", "err", "i", "obj", "event", "listeners", "evtOrMethod", "names", "all", "createPrototypeFunction", "name", "args", "methodName", "player_default", "Receiver", "events", "methods", "self", "core_default", "e", "data", "err", "listener", "index", "method", "value", "func", "callback", "val", "event", "msg", "i", "receiver_default", "MockAdapter", "video", "receiver", "receiver_default", "self", "data", "callback", "isPaused", "value", "mock_default", "VideoJSAdapter", "player", "core_default", "receiver", "receiver_default", "e", "seconds", "duration", "value", "callback", "volume", "isMuted", "video_default", "HTML5Adapter", "video", "core_default", "receiver", "receiver_default", "callback", "value", "volume", "html_default", "playerjs", "player_default", "receiver_default", "mock_default", "video_default", "html_default", "core_default", "main_default"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title": "Player.js",
|
|
3
3
|
"name": "@gumlet/player.js",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.7",
|
|
5
5
|
"homepage": "http://github.com/gumlet/player.js",
|
|
6
6
|
"main": "dist/player.min.js",
|
|
7
7
|
"module": "dist/player.min.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"name": "Gumlet"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
-
"prepublishOnly": "node esbuild.js"
|
|
17
|
+
"prepublishOnly": "standard && node esbuild.js"
|
|
18
18
|
},
|
|
19
19
|
"files": [
|
|
20
20
|
"dist/*"
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"browserslist": "defaults",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"esbuild": "^0.
|
|
28
|
+
"esbuild": "^0.24.0",
|
|
29
|
+
"standard": "^17.1.2"
|
|
29
30
|
}
|
|
30
31
|
}
|