ibm-video-streaming-web-player-api
Version:
IBM Video Streaming web player API for controlling embedded players created at video.ibm.com.
1 lines • 5.17 kB
JavaScript
var e={d:function(t,n){for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{Z:function(){return u}});function n(e){var t=e;if("string"==typeof e&&(t=function(e){var t=document.getElementById(e);if(!t)throw new TypeError("Reference found by id is null, it must a HTMLIFrameElement");return t}(e)),!(t instanceof HTMLIFrameElement))throw new TypeError("Reference is not an instance of HTMLIFrameElement");return t}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var o=new RegExp("^(http(?:s)?://[^/]+)","im");function i(e){0!==e.indexOf("http")&&(e=window.location.protocol+e);try{return(t=e.match(o),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],a=!0,c=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(c)throw o}}return i}}(t,n)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[1]}catch(e){throw new TypeError("Invalid iframe source")}var t,n}function a(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on".concat(t),n)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var u=function(){var e={};function t(t){return function(t){var f=n(t),l=function(t){var f,l,s,d,y=!1,p=!1,m=[],v={},h={},g=[];function w(e){for(var r=arguments.length,c=new Array(r>1?r-1:0),f=1;f<r;f++)c[f-1]=arguments[f];if("socialstream"!==e){if(!y)return m||(m=[]),m.push([e].concat(c)),void u(t,l,{cmd:"probe"});c[0]&&"function"==typeof c[0]&&(v[e]||(v[e]=[]),v[e].push(c[0])),u(t,l,{cmd:e,args:c})}else if(a(window,"message",b),d=n(c[0]),s=i(d.getAttribute("src")),p=!0,g.length)for(var h=0,w=g.length;h<w;h++)o(g[h])}function b(e){var t=d;(t&&t.contentWindow&&t.contentWindow===e.source||e.source===d.id)&&f.onmessage(e)}function E(e){var t,n=JSON.parse(e.data);n.cmd&&"ready"===n.cmd?u(d,s,{cmd:"ready"}):w.apply(this,[n.cmd].concat(function(e){if(Array.isArray(e))return c(e)}(t=n.args)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))}function A(){y||(y=!0,u(t,l,{cmd:"apihandshake",args:[]}),function(){if(m){for(;m.length;)w.apply(this,m.shift());m=null}}(),d&&u(d,s,{cmd:"viewer_ready"}))}function O(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];w.apply(this,t)}return l=i(t.getAttribute("src")).toLowerCase(),t.onload=function(){u(t,l,{cmd:"ready"})},f={host:l,callMethod:O,getProperty:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];O.apply(this,t)},addListener:function(e,t){h[e]||(h[e]=[]),h[e].push(t)},removeListener:function(e,t){if(t)for(var n=0,r=h[e].length;n<r;n++)h[e][n]===t&&h[e].splice(n,1);else h[e]=null},onmessage:function(e){var t;if(l||s||g.push({origin:e.origin,data:e.data}),e.origin.toLowerCase()===l){try{t=JSON.parse(e.data)}catch(e){return}if(t.sstream)return void E(e);if(t.event&&t.event.ready&&(A(),r(h,"ready")),t.event&&!0===t.event.live)return void r(h,"live");if(t.event&&!1===t.event.live)return void r(h,"offline");t.event&&!t.event.ready&&Object.keys(t.event).forEach((function(e){r(h,e,t.event[e])})),t.property&&Object.keys(t.property).forEach((function(e){!function(e,t,n){if(e[t]){var r=e[t];e[t]=null,delete e[t],r.forEach((function(e){e.call(window,n)}))}}(v,e,t.property[e])}))}else p&&e.origin===s&&E(e)},destroy:function(){y=!1,l="",p=!1,s="",d=null,m=[],v={},h={},g=[],e[t.id]&&(e[t.id]=null,delete e[t.id]),t=null}},f}(f);return f.id||(f.id="Embed".concat(Math.ceil(1e5*Math.random()))),l.id=f.id,e[f.id]=l,l}(t)}function r(e,t,n){e[t]&&e[t].forEach((function(e){e.call(window,t,n)}))}function o(t){Object.keys(e).forEach((function(n){var r=e[n],o=document.getElementById(n);o&&o.contentWindow?o.contentWindow===t.source&&r.onmessage(t):"string"==typeof t.source&&t.source===n&&r.onmessage(t)}))}function u(e,t,n){e.contentWindow.postMessage(JSON.stringify(n),t)}return a(window,"message",o),window.PlayerAPI=t,t}(),f=t.Z;export{f as default};