PageSourceSearch

https://app.opus1.io/releases/20260925T143842Z-e1befdfb692b/async/reactPlayerYouTube.1ce9d9d6.js

js opus1.io collected 2026-09-25 18:52:56 UTC 4,543 bytes, 2 lines download raw bytes

1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="57d845a4-66c7-4bd7-a35f-c3542c5a16be",e._sentryDebugIdIdentifier="sentry-dbid-57d845a4-66c7-4bd7-a35f-c3542c5a16be")}catch(e){}}();var _global="u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{};_global.SENTRY_RELEASE={id:"e1befdfb692b28496829f71c2490b06d48ba02c9"},(self.webpackChunkopus1io=self.webpackChunkopus1io||[]).push([["74659"],{82910:function(e,t,a){let l,s,o;var r=Object.create,i=Object.defineProperty,n=Object.getOwnPropertyDescriptor,y=Object.getOwnPropertyNames,u=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,p=(e,t,a,l)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of y(t))c.call(e,s)||s===a||i(e,s,{get:()=>t[s],enumerable:!(l=n(t,s))||l.enumerable});return e},h=(e,t,a)=>{let l;return(l="symbol"!=typeof t?t+"":t)in e?i(e,l,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[l]=a,a},d={},b={default:()=>_};for(var f in b)i(d,f,{get:b[f],enumerable:!0});e.exports=p(i({},"__esModule",{value:!0}),d);var g=(o=null!=(l=a(96540))?r(u(l)):{},p(!s&&l&&l.__esModule?o:i(o,"default",{value:l,enumerable:!0}),l)),P=a(75635),m=a(50327);let w=/[?&](?:list|channel)=([a-zA-Z0-9_-]+)/,k=/user\/([a-zA-Z0-9_-]+)\/?/,T=/youtube-nocookie\.com/;class _ extends g.Component{constructor(){super(...arguments),h(this,"callPlayer",P.callPlayer),h(this,"parsePlaylist",e=>{if(e instanceof Array)return{listType:"playlist",playlist:e.map(this.getID).join(",")};if(w.test(e)){let[,t]=e.match(w);return{listType:"playlist",list:t.replace(/^UC/,"UU")}}if(k.test(e)){let[,t]=e.match(k);return{listType:"user_uploads",list:t}}return{}}),h(this,"onStateChange",e=>{let{data:t}=e,{onPlay:a,onPause:l,onBuffer:s,onBufferEnd:o,onEnded:r,onReady:i,loop:n,config:{playerVars:y,onUnstarted:u}}=this.props,{UNSTARTED:c,PLAYING:p,PAUSED:h,BUFFERING:d,ENDED:b,CUED:f}=window.YT.PlayerState;if(t===c&&u(),t===p&&(a(),o()),t===h&&l(),t===d&&s(),t===b){let e=!!this.callPlayer("getPlaylist");n&&!e&&(y.start?this.seekTo(y.start):this.play()),r()}t===f&&i()}),h(this,"mute",()=>{this.callPlayer("mute")}),h(this,"unmute",()=>{this.callPlayer("unMute")}),h(this,"ref",e=>{this.container=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}getID(e){return!e||e instanceof Array||w.test(e)?null:e.match(m.MATCH_URL_YOUTUBE)[1]}load(e,t){let{playing:a,muted:l,playsinline:s,controls:o,loop:r,config:i,onError:n}=this.props,{playerVars:y,embedOptions:u}=i,c=this.getID(e);t?w.test(e)||k.test(e)||e instanceof Array?this.player.loadPlaylist(this.parsePlaylist(e)):this.player.cueVideoById({videoId:c,startSeconds:(0,P.parseStartTime)(e)||y.start,endSeconds:(0,P.parseEndTime)(e)||y.end}):((0,P.getSDK)("https://www.youtube.com/iframe_api","YT","onYouTubeIframeAPIReady",e=>e.loaded).then(t=>{this.container&&(this.player=new t.Player(this.container,{width:"100%",height:"100%",videoId:c,playerVars:{autoplay:+!!a,mute:+!!l,controls:+!!o,start:(0,P.parseStartTime)(e),end:(0,P.parseEndTime)(e),origin:window.location.origin,playsinline:+!!s,...this.parsePlaylist(e),...y},events:{onReady:()=>{r&&this.player.setLoop(!0),this.props.onReady()},onPlaybackRateChange:e=>this.props.onPlaybackRateChange(e.data),onPlaybackQualityChange:e=>this.props.onPlaybackQualityChange(e),onStateChange:this.onStateChange,onError:e=>n(e.data)},host:T.test(e)?"https://www.youtube-nocookie.com":void 0,...u}))},n),u.events&&console.warn("Using `embedOptions.events` will likely break things. Use ReactPlayer’s callback props instead, eg onReady, onPlay, onPause"))}play(){this.callPlayer("playVideo")}pause(){this.callPlayer("pauseVideo")}stop(){document.body.contains(this.callPlayer("getIframe"))&&this.callPlayer("stopVideo")}seekTo(e,t=!1){this.callPlayer("seekTo",e),t||this.props.playing||this.pause()}setVolume(e){this.callPlayer("setVolume",100*e)}setPlaybackRate(e){this.callPlayer("setPlaybackRate",e)}setLoop(e){this.callPlayer("setLoop",e)}getDuration(){return this.callPlayer("getDuration")}getCurrentTime(){return this.callPlayer("getCurrentTime")}getSecondsLoaded(){return this.callPlayer("getVideoLoadedFraction")*this.getDuration()}render(){let{display:e}=this.props;return g.default.createElement("div",{style:{width:"100%",height:"100%",display:e}},g.default.createElement("div",{ref:this.ref}))}}h(_,"displayName","YouTube"),h(_,"canPlay",m.canPlay.youtube)}}]);
2//# sourceMappingURL=reactPlayerYouTube.1ce9d9d6.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.