@vkontakte/videoplayer-shared 1.0.27-beta.0 → 1.0.27-beta.1
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/es2015.cjs.js +3 -3
- package/es2015.esm.js +3 -3
- package/es2018.cjs.js +3 -3
- package/es2018.esm.js +3 -3
- package/esnext.cjs.js +3 -3
- package/esnext.esm.js +3 -3
- package/evergreen.esm.js +3 -3
- package/index.d.ts +6 -1
- package/package.json +1 -1
package/es2015.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.27-beta.
|
|
3
|
-
* Mon,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.27-beta.1
|
|
3
|
+
* Mon, 14 Aug 2023 12:11:04 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-27/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";const C="1.0.27-beta.0";class E{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const v=t=>{throw new Error(`${t} is value of unexpected type`)},Q=t=>{},g=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){var n;let o;i?typeof i=="function"?o={next:i,error:g}:o={next:a=>i.next(a),error:a=>{var d;return(d=i.error)===null||d===void 0?void 0:d.call(i,a)}}:o={next:g,error:g};const s=typeof e=="function"?{next:a=>{try{e(a)}catch(d){o.next(d)}},error:a=>o.next(a)}:{next:a=>e.next(a),error:a=>e.error?e.error(a):o.next(a)};let r;try{r=this._subscribe(s)}catch(a){(n=s.error)===null||n===void 0||n.call(s,a)}return new E().add(()=>{switch(s.next=g,s.error=g,typeof r){case"function":r();return;case"object":r.unsubscribe();return;case"undefined":return;default:return v(r)}})}pipe(...e){return e.reduce((i,n)=>n(i),this)}_subscribe(e){}}class x extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,e)})}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new E().add(()=>this.subscribers.delete(i))}}class P{constructor(){this.log$=new x,this.logs=[],this.log=e=>{const i=Object.assign(Object.assign({},e),{timestamp:Date.now()});this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...i)=>{let n;try{n=e(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(i=>Object.assign({component:e},i))}}function M(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function V(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function I(t){return typeof t!="undefined"&&t!==null}function A(t){return t==null}const D=(t,e,i)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{a(),h.remove()});const s=()=>{a(),o()},r=()=>{a(),n()},a=()=>{d&&clearTimeout(d),h.removeEventListener("load",r),h.removeEventListener("error",s)};let d;i&&(d=window.setTimeout(s,i));const h=document.createElement("script");h.addEventListener("load",r),h.addEventListener("error",s),h.src=t,document.head.appendChild(h)});var _;const G=typeof((_=window.performance)===null||_===void 0?void 0:_.now)=="function"?()=>window.performance.now():()=>Date.now();function k(t,e,i,n){function o(s){return s instanceof i?s:new i(function(r){r(s)})}return new(i||(i=Promise))(function(s,r){function a(b){try{h(n.next(b))}catch(p){r(p)}}function d(b){try{h(n.throw(b))}catch(p){r(p)}}function h(b){b.done?s(b.value):o(b.value).then(a,d)}h((n=n.apply(t,e||[])).next())})}const U=(t,e)=>(...i)=>k(void 0,void 0,void 0,function*(){var n;const o=e(...i);let s=t.aborted,r;for(;!s&&!t.aborted;){const a=yield o.next(r);s=(n=a.done)!==null&&n!==void 0?n:!1,r=a.value}return r});exports.CurrentClientBrowser=void 0;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const j=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(t)?exports.CurrentClientBrowser.Chrome:void 0,n=/chromium/i.test(t)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(t)?exports.CurrentClientBrowser.Firefox:void 0,s=/webkit|safari|khtml/i.test(t)?exports.CurrentClientBrowser.Safari:void 0,r=/opr\//i.test(t)?exports.CurrentClientBrowser.Opera:void 0,a=/edg/i.test(t)?exports.CurrentClientBrowser.Edge:void 0,d=/android/i.test(t)?exports.CurrentClientDevice.Android:void 0,h=/iphone/i.test(t)?exports.CurrentClientDevice.iPhone:void 0,b=/ipad/i.test(t)?exports.CurrentClientDevice.iPad:void 0,p=/ipod/i.test(t)?exports.CurrentClientDevice.iPod:void 0,R=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:e||o||r||a||i||n||s||exports.CurrentClientBrowser.Rest,device:d||h||b||p||R||exports.CurrentClientDevice.Desktop}},F=(t,{start:e=0,factor:i=2,max:n=1/0,min:o=e,random:s=0}={})=>{let r=e;return r*=Math.pow(i,t),r*=1+(Math.random()*s*2-s),r=Math.round(r),r=Math.min(r,n),r=Math.max(r,o),r};var c;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(c||(c={}));let l,w;const S=`vk-videoplayer-dummy-key-${Math.random()}`,m=()=>{if(w!==void 0)return w;try{localStorage.setItem(S,"test"),localStorage.removeItem(S),w=c.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(S),w=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)w=c.RUNTIME;else throw e}else throw t}return w===c.RUNTIME&&(l=new Map),w},H=()=>m()===c.LOCAL_STORAGE,q=t=>{var e,i;const n=m();switch(n){case c.LOCAL_STORAGE:return(e=localStorage.getItem(t))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(t))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return l==null?void 0:l.get(t);default:v(n)}},B=(t,e)=>{const i=m();switch(i){case c.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.RUNTIME:return void(l==null?void 0:l.set(t,e));default:v(i)}},z=t=>{var e;const i=m();switch(i){case c.LOCAL_STORAGE:return t in localStorage;case c.SESSION_STORAGE:return t in sessionStorage;case c.RUNTIME:return(e=l==null?void 0:l.has(t))!==null&&e!==void 0?e:!1;default:return v(i),!1}},$=t=>{const e=m();switch(e){case c.LOCAL_STORAGE:return localStorage.removeItem(t);case c.SESSION_STORAGE:return sessionStorage.removeItem(t);case c.RUNTIME:return void(l==null?void 0:l.delete(t));default:v(e)}},Y=()=>{const t=m();switch(t){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return l==null?void 0:l.clear();default:v(t)}};var K=Object.freeze({__proto__:null,clear:Y,get:q,has:z,isPersistent:H,remove:$,set:B});exports.VideoQuality=void 0;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const f={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},W=(t,e)=>f[t].height>f[e].height,X=(t,e)=>f[t].height>=f[e].height,O=(t,e)=>f[t].height<f[e].height,J=(t,e)=>f[t].height<=f[e].height,Z=t=>t.sort((e,i)=>e===i?0:e===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:O(e,i)?1:-1)[0],L=Object.keys(f).sort((t,e)=>O(t,e)?-1:1),ee=(t,e=.02)=>[...L].find(n=>f[n].height*(1+e)>=t),te=({width:t,height:e})=>{const i=Math.min(t,e),n=Math.max(t,e);return L.find(o=>{const s=f[o];return s.width>=n&&s.height>=i})},ie=t=>f[t].height,y=t=>t===exports.VideoQuality.INVARIANT,ne=t=>t.every(e=>!y(e));function re(t){if(y(t))throw new Error("Expected exact quality")}class se extends x{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function oe(t){return new u(e=>{const i={};let n=Object.keys(t).length;const o=s=>r=>{s in i||n--,i[s]=r,n===0&&e.next(i)};return Object.entries(t).reduce((s,[r,a])=>s.add(a.subscribe(o(r))),new E)})}function ae(...t){return new u(e=>t.reduce((i,n)=>i.add(n.subscribe(e)),new E))}var ce=t=>new u(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(i)}),ue=t=>new u(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),le=t=>new u(e=>{t.forEach(i=>e.next(i))}),de=(t,e)=>new u(i=>{const n=o=>i.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function he(t){return e=>new u(i=>e.subscribe(new fe(i,t)))}class fe{constructor(e,i){this.destination=e,this.size=i,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const be={leading:!1,trailing:!0};function we(t,e=be){return i=>new u(n=>i.subscribe(new ve(n,t,e)))}class ve{constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,I(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const ge={leading:!0,trailing:!1};function me(t,e=ge){return i=>new u(n=>i.subscribe(new pe(n,t,e)))}class pe{constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,A(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Ee(t){return e=>new u(i=>e.subscribe(new _e(i,t)))}class _e{constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Se(t=(e,i)=>e===i){return e=>new u(i=>e.subscribe(new xe(i,t)))}const T={};class xe{constructor(e,i){this.destination=e,this.predicate=i,this.lastValue=T}next(e){let i;try{i=this.lastValue===T||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function N(t){return e=>new u(i=>e.subscribe(new Oe(i,t)))}let Oe=class{constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(i)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}};function ye(t){return N(()=>t)}function Te(){return t=>new u(e=>{let i=!1,n=!1;const o=t.subscribe(s=>{i||(i=!0,e.next(s)),n&&o.unsubscribe()},s=>{var r;i=!0,(r=e.error)===null||r===void 0||r.call(e,s),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Ie(){return t=>new u(e=>t.subscribe(new Ae(e)))}class Ae{constructor(e){this.destination=e,this.hasLast=!1}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Le(t){return e=>new u(i=>e.subscribe(new Ne(i,t)))}class Ne{constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}exports.ErrorCategory=void 0;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));exports.Logger=P;exports.Observable=u;exports.Subject=x;exports.Subscription=E;exports.VERSION=C;exports.ValueSubject=se;exports.abortable=U;exports.addScript=D;exports.areQualitiesExact=ne;exports.assertNever=v;exports.assertNonNullable=M;exports.assertNullable=V;exports.assertQualityIsExact=re;exports.buffer=he;exports.checkNever=Q;exports.combine=oe;exports.debounce=we;exports.filter=Ee;exports.filterChanged=Se;exports.fromEvent=de;exports.getCurrentBrowser=j;exports.getExponentialDelay=F;exports.getHighestQuality=Z;exports.interval=ue;exports.isHigher=W;exports.isHigherOrEqual=X;exports.isInvariantQuality=y;exports.isLower=O;exports.isLowerOrEqual=J;exports.isNonNullable=I;exports.isNullable=A;exports.map=N;exports.mapTo=ye;exports.merge=ae;exports.noop=g;exports.now=G;exports.observableFrom=le;exports.once=Te;exports.pairwise=Ie;exports.safeStorage=K;exports.tap=Le;exports.throttle=me;exports.timeout=ce;exports.videoHeightToQuality=ee;exports.videoQualityToHeight=ie;exports.videoSizeToQuality=te;
|
|
6
|
+
"use strict";const Q="1.0.27-beta.1";class E{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const w=t=>{throw new Error(`${t} is value of unexpected type`)},P=t=>{},g=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){var n;let o;i?typeof i=="function"?o={next:i,error:g}:o={next:a=>i.next(a),error:a=>{var d;return(d=i.error)===null||d===void 0?void 0:d.call(i,a)}}:o={next:g,error:g};const r=typeof e=="function"?{next:a=>{try{e(a)}catch(d){o.next(d)}},error:a=>o.next(a)}:{next:a=>e.next(a),error:a=>e.error?e.error(a):o.next(a)};let s;try{s=this._subscribe(r)}catch(a){(n=r.error)===null||n===void 0||n.call(r,a)}return new E().add(()=>{switch(r.next=g,r.error=g,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return w(s)}})}pipe(...e){return e.reduce((i,n)=>n(i),this)}_subscribe(e){}}class x extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,e)})}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new E().add(()=>this.subscribers.delete(i))}}class M{constructor(){this.log$=new x,this.logs=[],this.log=e=>{const i=Object.assign(Object.assign({},e),{timestamp:Date.now()});this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...i)=>{let n;try{n=e(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(i=>Object.assign({component:e},i))}}function V(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function D(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function T(t){return typeof t!="undefined"&&t!==null}function I(t){return t==null}const G=(t,e,i)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{a(),h.remove()});const r=()=>{a(),o()},s=()=>{a(),n()},a=()=>{d&&clearTimeout(d),h.removeEventListener("load",s),h.removeEventListener("error",r)};let d;i&&(d=window.setTimeout(r,i));const h=document.createElement("script");h.addEventListener("load",s),h.addEventListener("error",r),h.src=t,document.head.appendChild(h)});var _;const j=typeof((_=window.performance)===null||_===void 0?void 0:_.now)=="function"?()=>window.performance.now():()=>Date.now();function k(t,e,i,n){function o(r){return r instanceof i?r:new i(function(s){s(r)})}return new(i||(i=Promise))(function(r,s){function a(b){try{h(n.next(b))}catch(m){s(m)}}function d(b){try{h(n.throw(b))}catch(m){s(m)}}function h(b){b.done?r(b.value):o(b.value).then(a,d)}h((n=n.apply(t,e||[])).next())})}const U=(t,e)=>(...i)=>k(void 0,void 0,void 0,function*(){var n;const o=e(...i);let r=t.aborted,s;for(;!r&&!t.aborted;){const a=yield o.next(s);r=(n=a.done)!==null&&n!==void 0?n:!1,s=a.value}return s});exports.CurrentClientBrowser=void 0;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const F=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(t)?exports.CurrentClientBrowser.Chrome:void 0,n=/chromium/i.test(t)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(t)?exports.CurrentClientBrowser.Firefox:void 0,r=/webkit|safari|khtml/i.test(t)?exports.CurrentClientBrowser.Safari:void 0,s=/opr\//i.test(t)?exports.CurrentClientBrowser.Opera:void 0,a=/edg/i.test(t)?exports.CurrentClientBrowser.Edge:void 0,d=/android/i.test(t)?exports.CurrentClientDevice.Android:void 0,h=/iphone/i.test(t)?exports.CurrentClientDevice.iPhone:void 0,b=/ipad/i.test(t)?exports.CurrentClientDevice.iPad:void 0,m=/ipod/i.test(t)?exports.CurrentClientDevice.iPod:void 0,C=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:e||o||s||a||i||n||r||exports.CurrentClientBrowser.Rest,device:d||h||b||m||C||exports.CurrentClientDevice.Desktop}},H=(t,{start:e=0,factor:i=2,max:n=1/0,min:o=e,random:r=0}={})=>{let s=e;return s*=Math.pow(i,t),s*=1+(Math.random()*r*2-r),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,o),s};var c;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(c||(c={}));let l,v;const S=`vk-videoplayer-dummy-key-${Math.random()}`,p=()=>{if(v!==void 0)return v;try{localStorage.setItem(S,"test"),localStorage.removeItem(S),v=c.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(S),v=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)v=c.RUNTIME;else throw e}else throw t}return v===c.RUNTIME&&(l=new Map),v},q=()=>p()===c.LOCAL_STORAGE,B=t=>{var e,i;const n=p();switch(n){case c.LOCAL_STORAGE:return(e=localStorage.getItem(t))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(t))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return l==null?void 0:l.get(t);default:w(n)}},z=(t,e)=>{const i=p();switch(i){case c.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.RUNTIME:return void(l==null?void 0:l.set(t,e));default:w(i)}},$=t=>{var e;const i=p();switch(i){case c.LOCAL_STORAGE:return t in localStorage;case c.SESSION_STORAGE:return t in sessionStorage;case c.RUNTIME:return(e=l==null?void 0:l.has(t))!==null&&e!==void 0?e:!1;default:return w(i),!1}},W=t=>{const e=p();switch(e){case c.LOCAL_STORAGE:return localStorage.removeItem(t);case c.SESSION_STORAGE:return sessionStorage.removeItem(t);case c.RUNTIME:return void(l==null?void 0:l.delete(t));default:w(e)}},Y=()=>{const t=p();switch(t){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return l==null?void 0:l.clear();default:w(t)}};var K=Object.freeze({__proto__:null,clear:Y,get:B,has:$,isPersistent:q,remove:W,set:z});exports.VideoQuality=void 0;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const f={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},X=(t,e)=>f[t].height>f[e].height,J=(t,e)=>f[t].height>=f[e].height,O=(t,e)=>f[t].height<f[e].height,Z=(t,e)=>f[t].height<=f[e].height,ee=t=>t.sort((e,i)=>e===i?0:e===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:O(e,i)?1:-1)[0],L=Object.keys(f).sort((t,e)=>O(t,e)?-1:1),te=(t,e=.02)=>[...L].find(n=>f[n].height*(1+e)>=t),ie=({width:t,height:e})=>{const i=Math.min(t,e),n=Math.max(t,e);return L.find(o=>{const r=f[o];return r.width>=n&&r.height>=i})},ne=t=>f[t].height,y=t=>t===exports.VideoQuality.INVARIANT,re=t=>t.every(e=>!y(e));function se(t){if(y(t))throw new Error("Expected exact quality")}const N=(t,e)=>{const i={};for(const n of Object.keys(e)){const o=e[n],r=t[n];Array.isArray(o)&&Array.isArray(r)?i[n]=r:typeof o=="object"&&typeof r=="object"?i[n]=N(r,o):i[n]=n in t?r:o}return i};class oe extends x{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function ae(t){return new u(e=>{const i={};let n=Object.keys(t).length;const o=r=>s=>{r in i||n--,i[r]=s,n===0&&e.next(i)};return Object.entries(t).reduce((r,[s,a])=>r.add(a.subscribe(o(s))),new E)})}function ce(...t){return new u(e=>t.reduce((i,n)=>i.add(n.subscribe(e)),new E))}var ue=t=>new u(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(i)}),le=t=>new u(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),de=t=>new u(e=>{t.forEach(i=>e.next(i))}),he=(t,e)=>new u(i=>{const n=o=>i.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function fe(t){return e=>new u(i=>e.subscribe(new be(i,t)))}class be{constructor(e,i){this.destination=e,this.size=i,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const ve={leading:!1,trailing:!0};function we(t,e=ve){return i=>new u(n=>i.subscribe(new ge(n,t,e)))}class ge{constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,T(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const pe={leading:!0,trailing:!1};function me(t,e=pe){return i=>new u(n=>i.subscribe(new Ee(n,t,e)))}class Ee{constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,I(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function _e(t){return e=>new u(i=>e.subscribe(new Se(i,t)))}class Se{constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function xe(t=(e,i)=>e===i){return e=>new u(i=>e.subscribe(new Oe(i,t)))}const A={};class Oe{constructor(e,i){this.destination=e,this.predicate=i,this.lastValue=A}next(e){let i;try{i=this.lastValue===A||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function R(t){return e=>new u(i=>e.subscribe(new ye(i,t)))}let ye=class{constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(i)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}};function Ae(t){return R(()=>t)}function Te(){return t=>new u(e=>{let i=!1,n=!1;const o=t.subscribe(r=>{i||(i=!0,e.next(r)),n&&o.unsubscribe()},r=>{var s;i=!0,(s=e.error)===null||s===void 0||s.call(e,r),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Ie(){return t=>new u(e=>t.subscribe(new Le(e)))}class Le{constructor(e){this.destination=e,this.hasLast=!1}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Ne(t){return e=>new u(i=>e.subscribe(new Re(i,t)))}class Re{constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}exports.ErrorCategory=void 0;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));exports.Logger=M;exports.Observable=u;exports.Subject=x;exports.Subscription=E;exports.VERSION=Q;exports.ValueSubject=oe;exports.abortable=U;exports.addScript=G;exports.areQualitiesExact=re;exports.assertNever=w;exports.assertNonNullable=V;exports.assertNullable=D;exports.assertQualityIsExact=se;exports.buffer=fe;exports.checkNever=P;exports.combine=ae;exports.debounce=we;exports.fillWithDefault=N;exports.filter=_e;exports.filterChanged=xe;exports.fromEvent=he;exports.getCurrentBrowser=F;exports.getExponentialDelay=H;exports.getHighestQuality=ee;exports.interval=le;exports.isHigher=X;exports.isHigherOrEqual=J;exports.isInvariantQuality=y;exports.isLower=O;exports.isLowerOrEqual=Z;exports.isNonNullable=T;exports.isNullable=I;exports.map=R;exports.mapTo=Ae;exports.merge=ce;exports.noop=g;exports.now=j;exports.observableFrom=de;exports.once=Te;exports.pairwise=Ie;exports.safeStorage=K;exports.tap=Ne;exports.throttle=me;exports.timeout=ue;exports.videoHeightToQuality=te;exports.videoQualityToHeight=ne;exports.videoSizeToQuality=ie;
|
package/es2015.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.27-beta.
|
|
3
|
-
* Mon,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.27-beta.1
|
|
3
|
+
* Mon, 14 Aug 2023 12:11:04 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-27/doc/
|
|
5
5
|
*/
|
|
6
|
-
const B="1.0.27-beta.0";class S{constructor(){this.subscriptions=[]}unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const p=e=>{throw new Error(`${e} is value of unexpected type`)},tt=e=>{},x=()=>{};class l{constructor(t){t&&(this._subscribe=t)}subscribe(t,i){var n;let o;i?typeof i=="function"?o={next:i,error:x}:o={next:a=>i.next(a),error:a=>{var h;return(h=i.error)===null||h===void 0?void 0:h.call(i,a)}}:o={next:x,error:x};const r=typeof t=="function"?{next:a=>{try{t(a)}catch(h){o.next(h)}},error:a=>o.next(a)}:{next:a=>t.next(a),error:a=>t.error?t.error(a):o.next(a)};let s;try{s=this._subscribe(r)}catch(a){(n=r.error)===null||n===void 0||n.call(r,a)}return new S().add(()=>{switch(r.next=x,r.error=x,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return p(s)}})}pipe(...t){return t.reduce((i,n)=>n(i),this)}_subscribe(t){}}class L extends l{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(t){this.subscribers.forEach(i=>i.next(t))}error(t){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,t)})}_subscribe(t){const i=this.keyCounter++;return this.subscribers.set(i,t),new S().add(()=>this.subscribers.delete(i))}}class et{constructor(){this.log$=new L,this.logs=[],this.log=t=>{const i=Object.assign(Object.assign({},t),{timestamp:Date.now()});this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(t){return(...i)=>{let n;try{n=t(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(i=>Object.assign({component:t},i))}}function it(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function nt(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function y(e){return typeof e!="undefined"&&e!==null}function Q(e){return e==null}const st=(e,t,i)=>new Promise((n,o)=>{t.addEventListener("abort",()=>{a(),f.remove()});const r=()=>{a(),o()},s=()=>{a(),n()},a=()=>{h&&clearTimeout(h),f.removeEventListener("load",s),f.removeEventListener("error",r)};let h;i&&(h=window.setTimeout(r,i));const f=document.createElement("script");f.addEventListener("load",s),f.addEventListener("error",r),f.src=e,document.head.appendChild(f)});var O;const rt=typeof((O=window.performance)===null||O===void 0?void 0:O.now)=="function"?()=>window.performance.now():()=>Date.now();function G(e,t,i,n){function o(r){return r instanceof i?r:new i(function(s){s(r)})}return new(i||(i=Promise))(function(r,s){function a(v){try{f(n.next(v))}catch(_){s(_)}}function h(v){try{f(n.throw(v))}catch(_){s(_)}}function f(v){v.done?r(v.value):o(v.value).then(a,h)}f((n=n.apply(e,t||[])).next())})}const ot=(e,t)=>(...i)=>G(void 0,void 0,void 0,function*(){var n;const o=t(...i);let r=e.aborted,s;for(;!r&&!e.aborted;){const a=yield o.next(s);r=(n=a.done)!==null&&n!==void 0?n:!1,s=a.value}return s});var w;(function(e){e.Unknown="Unknown",e.Yandex="Yandex",e.Chrome="Chrome",e.Chromium="Chromium",e.Firefox="Firefox",e.Safari="Safari",e.Opera="Opera",e.Edge="Edge",e.Rest="Rest"})(w||(w={}));var g;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Desktop="Desktop"})(g||(g={}));const at=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?w.Yandex:void 0,i=/chrome|crios/i.test(e)?w.Chrome:void 0,n=/chromium/i.test(e)?w.Chromium:void 0,o=/firefox|fxios/i.test(e)?w.Firefox:void 0,r=/webkit|safari|khtml/i.test(e)?w.Safari:void 0,s=/opr\//i.test(e)?w.Opera:void 0,a=/edg/i.test(e)?w.Edge:void 0,h=/android/i.test(e)?g.Android:void 0,f=/iphone/i.test(e)?g.iPhone:void 0,v=/ipad/i.test(e)?g.iPad:void 0,_=/ipod/i.test(e)?g.iPod:void 0,M=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?g.RestMobile:void 0;return{browser:t||o||s||a||i||n||r||w.Rest,device:h||f||v||_||M||g.Desktop}},ct=(e,{start:t=0,factor:i=2,max:n=1/0,min:o=t,random:r=0}={})=>{let s=t;return s*=Math.pow(i,e),s*=1+(Math.random()*r*2-r),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,o),s};var c;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(c||(c={}));let u,m;const A=`vk-videoplayer-dummy-key-${Math.random()}`,E=()=>{if(m!==void 0)return m;try{localStorage.setItem(A,"test"),localStorage.removeItem(A),m=c.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(A),m=c.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)m=c.RUNTIME;else throw t}else throw e}return m===c.RUNTIME&&(u=new Map),m},V=()=>E()===c.LOCAL_STORAGE,U=e=>{var t,i;const n=E();switch(n){case c.LOCAL_STORAGE:return(t=localStorage.getItem(e))!==null&&t!==void 0?t:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(e))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return u==null?void 0:u.get(e);default:p(n)}},k=(e,t)=>{const i=E();switch(i){case c.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.RUNTIME:return void(u==null?void 0:u.set(e,t));default:p(i)}},j=e=>{var t;const i=E();switch(i){case c.LOCAL_STORAGE:return e in localStorage;case c.SESSION_STORAGE:return e in sessionStorage;case c.RUNTIME:return(t=u==null?void 0:u.has(e))!==null&&t!==void 0?t:!1;default:return p(i),!1}},F=e=>{const t=E();switch(t){case c.LOCAL_STORAGE:return localStorage.removeItem(e);case c.SESSION_STORAGE:return sessionStorage.removeItem(e);case c.RUNTIME:return void(u==null?void 0:u.delete(e));default:p(t)}},D=()=>{const e=E();switch(e){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return u==null?void 0:u.clear();default:p(e)}};var ut=Object.freeze({__proto__:null,clear:D,get:U,has:j,isPersistent:V,remove:F,set:k}),d;(function(e){e.INVARIANT="Invariant quality",e.Q_144P="144p",e.Q_240P="240p",e.Q_360P="360p",e.Q_480P="480p",e.Q_720P="720p",e.Q_1080P="1080p",e.Q_1440P="1440p",e.Q_2160P="2160p",e.Q_4320P="4320p"})(d||(d={}));const b={[d.Q_144P]:{width:256,height:144},[d.Q_240P]:{width:428,height:240},[d.Q_360P]:{width:640,height:360},[d.Q_480P]:{width:856,height:480},[d.Q_720P]:{width:1280,height:720},[d.Q_1080P]:{width:1920,height:1080},[d.Q_1440P]:{width:2560,height:1440},[d.Q_2160P]:{width:3840,height:2160},[d.Q_4320P]:{width:7680,height:4320}},lt=(e,t)=>b[e].height>b[t].height,dt=(e,t)=>b[e].height>=b[t].height,R=(e,t)=>b[e].height<b[t].height,ht=(e,t)=>b[e].height<=b[t].height,ft=e=>e.sort((t,i)=>t===i?0:t===d.INVARIANT?1:i===d.INVARIANT?-1:R(t,i)?1:-1)[0],N=Object.keys(b).sort((e,t)=>R(e,t)?-1:1),bt=(e,t=.02)=>[...N].find(n=>b[n].height*(1+t)>=e),wt=({width:e,height:t})=>{const i=Math.min(e,t),n=Math.max(e,t);return N.find(o=>{const r=b[o];return r.width>=n&&r.height>=i})},vt=e=>b[e].height,P=e=>e===d.INVARIANT,gt=e=>e.every(t=>!P(t));function mt(e){if(P(e))throw new Error("Expected exact quality")}class pt extends L{constructor(t){super(),this.value=t}next(t){super.next(this.value=t)}error(t){super.error(this.value=t)}getValue(){return this.value}_subscribe(t){const i=super._subscribe(t);return t.next(this.value),i}}function Et(e){return new l(t=>{const i={};let n=Object.keys(e).length;const o=r=>s=>{r in i||n--,i[r]=s,n===0&&t.next(i)};return Object.entries(e).reduce((r,[s,a])=>r.add(a.subscribe(o(s))),new S)})}function _t(...e){return new l(t=>e.reduce((i,n)=>i.add(n.subscribe(t)),new S))}var xt=e=>new l(t=>{const i=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(i)}),St=e=>new l(t=>{const i=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(i)}),Ot=e=>new l(t=>{e.forEach(i=>t.next(i))}),At=(e,t)=>new l(i=>{const n=o=>i.next(o);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function Tt(e){return t=>new l(i=>t.subscribe(new q(i,e)))}class q{constructor(t,i){this.destination=t,this.size=i,this.lastValues=[]}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}const z={leading:!1,trailing:!0};function It(e,t=z){return i=>new l(n=>i.subscribe(new $(n,e,t)))}class ${constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,y(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}const H={leading:!0,trailing:!1};function Lt(e,t=H){return i=>new l(n=>i.subscribe(new Y(n,e,t)))}class Y{constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,Q(this.timeout)&&(this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Rt(e){return t=>new l(i=>t.subscribe(new C(i,e)))}class C{constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.predicate(t)}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Nt(e=(t,i)=>t===i){return t=>new l(i=>t.subscribe(new K(i,e)))}const T={};class K{constructor(t,i){this.destination=t,this.predicate=i,this.lastValue=T}next(t){let i;try{i=this.lastValue===T||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function W(e){return t=>new l(i=>t.subscribe(new X(i,e)))}let X=class{constructor(t,i){this.destination=t,this.mapper=i}next(t){let i;try{i=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(i)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}};function Mt(e){return W(()=>e)}function yt(){return e=>new l(t=>{let i=!1,n=!1;const o=e.subscribe(r=>{i||(i=!0,t.next(r)),n&&o.unsubscribe()},r=>{var s;i=!0,(s=t.error)===null||s===void 0||s.call(t,r),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Qt(){return e=>new l(t=>e.subscribe(new J(t)))}class J{constructor(t){this.destination=t,this.hasLast=!1}next(t){const i=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,t])}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Gt(e){return t=>new l(i=>t.subscribe(new Z(i,e)))}class Z{constructor(t,i){this.destination=t,this.effect=i}next(t){try{this.effect(t)}catch(i){throw this.error(i),i}this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}var I;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(I||(I={}));export{w as CurrentClientBrowser,g as CurrentClientDevice,I as ErrorCategory,et as Logger,l as Observable,L as Subject,S as Subscription,B as VERSION,pt as ValueSubject,d as VideoQuality,ot as abortable,st as addScript,gt as areQualitiesExact,p as assertNever,it as assertNonNullable,nt as assertNullable,mt as assertQualityIsExact,Tt as buffer,tt as checkNever,Et as combine,It as debounce,Rt as filter,Nt as filterChanged,At as fromEvent,at as getCurrentBrowser,ct as getExponentialDelay,ft as getHighestQuality,St as interval,lt as isHigher,dt as isHigherOrEqual,P as isInvariantQuality,R as isLower,ht as isLowerOrEqual,y as isNonNullable,Q as isNullable,W as map,Mt as mapTo,_t as merge,x as noop,rt as now,Ot as observableFrom,yt as once,Qt as pairwise,ut as safeStorage,Gt as tap,Lt as throttle,xt as timeout,bt as videoHeightToQuality,vt as videoQualityToHeight,wt as videoSizeToQuality};
|
|
6
|
+
const tt="1.0.27-beta.1";class S{constructor(){this.subscriptions=[]}unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const m=e=>{throw new Error(`${e} is value of unexpected type`)},et=e=>{},x=()=>{};class l{constructor(t){t&&(this._subscribe=t)}subscribe(t,i){var n;let o;i?typeof i=="function"?o={next:i,error:x}:o={next:a=>i.next(a),error:a=>{var h;return(h=i.error)===null||h===void 0?void 0:h.call(i,a)}}:o={next:x,error:x};const s=typeof t=="function"?{next:a=>{try{t(a)}catch(h){o.next(h)}},error:a=>o.next(a)}:{next:a=>t.next(a),error:a=>t.error?t.error(a):o.next(a)};let r;try{r=this._subscribe(s)}catch(a){(n=s.error)===null||n===void 0||n.call(s,a)}return new S().add(()=>{switch(s.next=x,s.error=x,typeof r){case"function":r();return;case"object":r.unsubscribe();return;case"undefined":return;default:return m(r)}})}pipe(...t){return t.reduce((i,n)=>n(i),this)}_subscribe(t){}}class L extends l{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(t){this.subscribers.forEach(i=>i.next(t))}error(t){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,t)})}_subscribe(t){const i=this.keyCounter++;return this.subscribers.set(i,t),new S().add(()=>this.subscribers.delete(i))}}class it{constructor(){this.log$=new L,this.logs=[],this.log=t=>{const i=Object.assign(Object.assign({},t),{timestamp:Date.now()});this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(t){return(...i)=>{let n;try{n=t(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(i=>Object.assign({component:t},i))}}function nt(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function st(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function M(e){return typeof e!="undefined"&&e!==null}function Q(e){return e==null}const rt=(e,t,i)=>new Promise((n,o)=>{t.addEventListener("abort",()=>{a(),f.remove()});const s=()=>{a(),o()},r=()=>{a(),n()},a=()=>{h&&clearTimeout(h),f.removeEventListener("load",r),f.removeEventListener("error",s)};let h;i&&(h=window.setTimeout(s,i));const f=document.createElement("script");f.addEventListener("load",r),f.addEventListener("error",s),f.src=e,document.head.appendChild(f)});var O;const ot=typeof((O=window.performance)===null||O===void 0?void 0:O.now)=="function"?()=>window.performance.now():()=>Date.now();function G(e,t,i,n){function o(s){return s instanceof i?s:new i(function(r){r(s)})}return new(i||(i=Promise))(function(s,r){function a(v){try{f(n.next(v))}catch(_){r(_)}}function h(v){try{f(n.throw(v))}catch(_){r(_)}}function f(v){v.done?s(v.value):o(v.value).then(a,h)}f((n=n.apply(e,t||[])).next())})}const at=(e,t)=>(...i)=>G(void 0,void 0,void 0,function*(){var n;const o=t(...i);let s=e.aborted,r;for(;!s&&!e.aborted;){const a=yield o.next(r);s=(n=a.done)!==null&&n!==void 0?n:!1,r=a.value}return r});var w;(function(e){e.Unknown="Unknown",e.Yandex="Yandex",e.Chrome="Chrome",e.Chromium="Chromium",e.Firefox="Firefox",e.Safari="Safari",e.Opera="Opera",e.Edge="Edge",e.Rest="Rest"})(w||(w={}));var g;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Desktop="Desktop"})(g||(g={}));const ct=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?w.Yandex:void 0,i=/chrome|crios/i.test(e)?w.Chrome:void 0,n=/chromium/i.test(e)?w.Chromium:void 0,o=/firefox|fxios/i.test(e)?w.Firefox:void 0,s=/webkit|safari|khtml/i.test(e)?w.Safari:void 0,r=/opr\//i.test(e)?w.Opera:void 0,a=/edg/i.test(e)?w.Edge:void 0,h=/android/i.test(e)?g.Android:void 0,f=/iphone/i.test(e)?g.iPhone:void 0,v=/ipad/i.test(e)?g.iPad:void 0,_=/ipod/i.test(e)?g.iPod:void 0,P=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?g.RestMobile:void 0;return{browser:t||o||r||a||i||n||s||w.Rest,device:h||f||v||_||P||g.Desktop}},ut=(e,{start:t=0,factor:i=2,max:n=1/0,min:o=t,random:s=0}={})=>{let r=t;return r*=Math.pow(i,e),r*=1+(Math.random()*s*2-s),r=Math.round(r),r=Math.min(r,n),r=Math.max(r,o),r};var c;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(c||(c={}));let u,p;const A=`vk-videoplayer-dummy-key-${Math.random()}`,E=()=>{if(p!==void 0)return p;try{localStorage.setItem(A,"test"),localStorage.removeItem(A),p=c.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(A),p=c.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)p=c.RUNTIME;else throw t}else throw e}return p===c.RUNTIME&&(u=new Map),p},V=()=>E()===c.LOCAL_STORAGE,k=e=>{var t,i;const n=E();switch(n){case c.LOCAL_STORAGE:return(t=localStorage.getItem(e))!==null&&t!==void 0?t:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(e))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return u==null?void 0:u.get(e);default:m(n)}},U=(e,t)=>{const i=E();switch(i){case c.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.RUNTIME:return void(u==null?void 0:u.set(e,t));default:m(i)}},j=e=>{var t;const i=E();switch(i){case c.LOCAL_STORAGE:return e in localStorage;case c.SESSION_STORAGE:return e in sessionStorage;case c.RUNTIME:return(t=u==null?void 0:u.has(e))!==null&&t!==void 0?t:!1;default:return m(i),!1}},F=e=>{const t=E();switch(t){case c.LOCAL_STORAGE:return localStorage.removeItem(e);case c.SESSION_STORAGE:return sessionStorage.removeItem(e);case c.RUNTIME:return void(u==null?void 0:u.delete(e));default:m(t)}},D=()=>{const e=E();switch(e){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return u==null?void 0:u.clear();default:m(e)}};var lt=Object.freeze({__proto__:null,clear:D,get:k,has:j,isPersistent:V,remove:F,set:U}),d;(function(e){e.INVARIANT="Invariant quality",e.Q_144P="144p",e.Q_240P="240p",e.Q_360P="360p",e.Q_480P="480p",e.Q_720P="720p",e.Q_1080P="1080p",e.Q_1440P="1440p",e.Q_2160P="2160p",e.Q_4320P="4320p"})(d||(d={}));const b={[d.Q_144P]:{width:256,height:144},[d.Q_240P]:{width:428,height:240},[d.Q_360P]:{width:640,height:360},[d.Q_480P]:{width:856,height:480},[d.Q_720P]:{width:1280,height:720},[d.Q_1080P]:{width:1920,height:1080},[d.Q_1440P]:{width:2560,height:1440},[d.Q_2160P]:{width:3840,height:2160},[d.Q_4320P]:{width:7680,height:4320}},dt=(e,t)=>b[e].height>b[t].height,ht=(e,t)=>b[e].height>=b[t].height,R=(e,t)=>b[e].height<b[t].height,ft=(e,t)=>b[e].height<=b[t].height,bt=e=>e.sort((t,i)=>t===i?0:t===d.INVARIANT?1:i===d.INVARIANT?-1:R(t,i)?1:-1)[0],y=Object.keys(b).sort((e,t)=>R(e,t)?-1:1),wt=(e,t=.02)=>[...y].find(n=>b[n].height*(1+t)>=e),vt=({width:e,height:t})=>{const i=Math.min(e,t),n=Math.max(e,t);return y.find(o=>{const s=b[o];return s.width>=n&&s.height>=i})},gt=e=>b[e].height,N=e=>e===d.INVARIANT,pt=e=>e.every(t=>!N(t));function mt(e){if(N(e))throw new Error("Expected exact quality")}const q=(e,t)=>{const i={};for(const n of Object.keys(t)){const o=t[n],s=e[n];Array.isArray(o)&&Array.isArray(s)?i[n]=s:typeof o=="object"&&typeof s=="object"?i[n]=q(s,o):i[n]=n in e?s:o}return i};class Et extends L{constructor(t){super(),this.value=t}next(t){super.next(this.value=t)}error(t){super.error(this.value=t)}getValue(){return this.value}_subscribe(t){const i=super._subscribe(t);return t.next(this.value),i}}function _t(e){return new l(t=>{const i={};let n=Object.keys(e).length;const o=s=>r=>{s in i||n--,i[s]=r,n===0&&t.next(i)};return Object.entries(e).reduce((s,[r,a])=>s.add(a.subscribe(o(r))),new S)})}function xt(...e){return new l(t=>e.reduce((i,n)=>i.add(n.subscribe(t)),new S))}var St=e=>new l(t=>{const i=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(i)}),Ot=e=>new l(t=>{const i=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(i)}),At=e=>new l(t=>{e.forEach(i=>t.next(i))}),Tt=(e,t)=>new l(i=>{const n=o=>i.next(o);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function It(e){return t=>new l(i=>t.subscribe(new z(i,e)))}class z{constructor(t,i){this.destination=t,this.size=i,this.lastValues=[]}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}const $={leading:!1,trailing:!0};function Lt(e,t=$){return i=>new l(n=>i.subscribe(new H(n,e,t)))}class H{constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,M(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}const Y={leading:!0,trailing:!1};function Rt(e,t=Y){return i=>new l(n=>i.subscribe(new K(n,e,t)))}class K{constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,Q(this.timeout)&&(this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function yt(e){return t=>new l(i=>t.subscribe(new W(i,e)))}class W{constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.predicate(t)}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Nt(e=(t,i)=>t===i){return t=>new l(i=>t.subscribe(new C(i,e)))}const T={};class C{constructor(t,i){this.destination=t,this.predicate=i,this.lastValue=T}next(t){let i;try{i=this.lastValue===T||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function X(e){return t=>new l(i=>t.subscribe(new J(i,e)))}let J=class{constructor(t,i){this.destination=t,this.mapper=i}next(t){let i;try{i=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(i)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}};function Mt(e){return X(()=>e)}function Qt(){return e=>new l(t=>{let i=!1,n=!1;const o=e.subscribe(s=>{i||(i=!0,t.next(s)),n&&o.unsubscribe()},s=>{var r;i=!0,(r=t.error)===null||r===void 0||r.call(t,s),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Gt(){return e=>new l(t=>e.subscribe(new Z(t)))}class Z{constructor(t){this.destination=t,this.hasLast=!1}next(t){const i=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,t])}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Vt(e){return t=>new l(i=>t.subscribe(new B(i,e)))}class B{constructor(t,i){this.destination=t,this.effect=i}next(t){try{this.effect(t)}catch(i){throw this.error(i),i}this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}var I;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(I||(I={}));export{w as CurrentClientBrowser,g as CurrentClientDevice,I as ErrorCategory,it as Logger,l as Observable,L as Subject,S as Subscription,tt as VERSION,Et as ValueSubject,d as VideoQuality,at as abortable,rt as addScript,pt as areQualitiesExact,m as assertNever,nt as assertNonNullable,st as assertNullable,mt as assertQualityIsExact,It as buffer,et as checkNever,_t as combine,Lt as debounce,q as fillWithDefault,yt as filter,Nt as filterChanged,Tt as fromEvent,ct as getCurrentBrowser,ut as getExponentialDelay,bt as getHighestQuality,Ot as interval,dt as isHigher,ht as isHigherOrEqual,N as isInvariantQuality,R as isLower,ft as isLowerOrEqual,M as isNonNullable,Q as isNullable,X as map,Mt as mapTo,xt as merge,x as noop,ot as now,At as observableFrom,Qt as once,Gt as pairwise,lt as safeStorage,Vt as tap,Rt as throttle,St as timeout,wt as videoHeightToQuality,gt as videoQualityToHeight,vt as videoSizeToQuality};
|
package/es2018.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.27-beta.
|
|
3
|
-
* Mon,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.27-beta.1
|
|
3
|
+
* Mon, 14 Aug 2023 12:11:04 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-27/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";const C="1.0.27-beta.0";class m{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const v=t=>{throw new Error(`${t} is value of unexpected type`)},Q=t=>{},w=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){var r;let o;i?typeof i=="function"?o={next:i,error:w}:o={next:a=>i.next(a),error:a=>{var h;return(h=i.error)===null||h===void 0?void 0:h.call(i,a)}}:o={next:w,error:w};const s=typeof e=="function"?{next:a=>{try{e(a)}catch(h){o.next(h)}},error:a=>o.next(a)}:{next:a=>e.next(a),error:a=>e.error?e.error(a):o.next(a)};let n;try{n=this._subscribe(s)}catch(a){(r=s.error)===null||r===void 0||r.call(s,a)}return new m().add(()=>{switch(s.next=w,s.error=w,typeof n){case"function":n();return;case"object":n.unsubscribe();return;case"undefined":return;default:return v(n)}})}pipe(...e){return e.reduce((i,r)=>r(i),this)}_subscribe(e){}}class _ extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>{var r;return(r=i.error)===null||r===void 0?void 0:r.call(i,e)})}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new m().add(()=>this.subscribers.delete(i))}}class P{constructor(){this.log$=new _,this.logs=[],this.log=e=>{const i={...e,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...i)=>{let r;try{r=e(...i)}catch(o){r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(e){return this.createCustomLog(i=>({component:e,...i}))}}function M(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function V(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function y(t){return typeof t!="undefined"&&t!==null}function T(t){return t==null}const D=(t,e,i)=>new Promise((r,o)=>{e.addEventListener("abort",()=>{a(),f.remove()});const s=()=>{a(),o()},n=()=>{a(),r()},a=()=>{h&&clearTimeout(h),f.removeEventListener("load",n),f.removeEventListener("error",s)};let h;i&&(h=window.setTimeout(s,i));const f=document.createElement("script");f.addEventListener("load",n),f.addEventListener("error",s),f.src=t,document.head.appendChild(f)});var p;const G=typeof((p=window.performance)===null||p===void 0?void 0:p.now)=="function"?()=>window.performance.now():()=>Date.now(),k=(t,e)=>async(...i)=>{var r;const o=e(...i);let s=t.aborted,n;for(;!s&&!t.aborted;){const a=await o.next(n);s=(r=a.done)!==null&&r!==void 0?r:!1,n=a.value}return n};exports.CurrentClientBrowser=void 0;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const U=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(t)?exports.CurrentClientBrowser.Chrome:void 0,r=/chromium/i.test(t)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(t)?exports.CurrentClientBrowser.Firefox:void 0,s=/webkit|safari|khtml/i.test(t)?exports.CurrentClientBrowser.Safari:void 0,n=/opr\//i.test(t)?exports.CurrentClientBrowser.Opera:void 0,a=/edg/i.test(t)?exports.CurrentClientBrowser.Edge:void 0,h=/android/i.test(t)?exports.CurrentClientDevice.Android:void 0,f=/iphone/i.test(t)?exports.CurrentClientDevice.iPhone:void 0,L=/ipad/i.test(t)?exports.CurrentClientDevice.iPad:void 0,N=/ipod/i.test(t)?exports.CurrentClientDevice.iPod:void 0,R=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:e||o||n||a||i||r||s||exports.CurrentClientBrowser.Rest,device:h||f||L||N||R||exports.CurrentClientDevice.Desktop}},F=(t,{start:e=0,factor:i=2,max:r=1/0,min:o=e,random:s=0}={})=>{let n=e;return n*=i**t,n*=1+(Math.random()*s*2-s),n=Math.round(n),n=Math.min(n,r),n=Math.max(n,o),n};var c;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(c||(c={}));let l,b;const E=`vk-videoplayer-dummy-key-${Math.random()}`,g=()=>{if(b!==void 0)return b;try{localStorage.setItem(E,"test"),localStorage.removeItem(E),b=c.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(E),b=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)b=c.RUNTIME;else throw e}else throw t}return b===c.RUNTIME&&(l=new Map),b},H=()=>g()===c.LOCAL_STORAGE,j=t=>{var e,i;const r=g();switch(r){case c.LOCAL_STORAGE:return(e=localStorage.getItem(t))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(t))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return l==null?void 0:l.get(t);default:v(r)}},q=(t,e)=>{const i=g();switch(i){case c.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case c.RUNTIME:return void(l==null?void 0:l.set(t,e));default:v(i)}},B=t=>{var e;const i=g();switch(i){case c.LOCAL_STORAGE:return t in localStorage;case c.SESSION_STORAGE:return t in sessionStorage;case c.RUNTIME:return(e=l==null?void 0:l.has(t))!==null&&e!==void 0?e:!1;default:return v(i),!1}},z=t=>{const e=g();switch(e){case c.LOCAL_STORAGE:return localStorage.removeItem(t);case c.SESSION_STORAGE:return sessionStorage.removeItem(t);case c.RUNTIME:return void(l==null?void 0:l.delete(t));default:v(e)}},$=()=>{const t=g();switch(t){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return l==null?void 0:l.clear();default:v(t)}};var Y=Object.freeze({__proto__:null,clear:$,get:j,has:B,isPersistent:H,remove:z,set:q});exports.VideoQuality=void 0;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const d={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},K=(t,e)=>d[t].height>d[e].height,W=(t,e)=>d[t].height>=d[e].height,S=(t,e)=>d[t].height<d[e].height,X=(t,e)=>d[t].height<=d[e].height,J=t=>t.sort((e,i)=>e===i?0:e===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:S(e,i)?1:-1)[0],I=Object.keys(d).sort((t,e)=>S(t,e)?-1:1),Z=(t,e=.02)=>[...I].find(r=>d[r].height*(1+e)>=t),ee=({width:t,height:e})=>{const i=Math.min(t,e),r=Math.max(t,e);return I.find(o=>{const s=d[o];return s.width>=r&&s.height>=i})},te=t=>d[t].height,x=t=>t===exports.VideoQuality.INVARIANT,ie=t=>t.every(e=>!x(e));function re(t){if(x(t))throw new Error("Expected exact quality")}class ne extends _{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function se(t){return new u(e=>{const i={};let r=Object.keys(t).length;const o=s=>n=>{s in i||r--,i[s]=n,r===0&&e.next(i)};return Object.entries(t).reduce((s,[n,a])=>s.add(a.subscribe(o(n))),new m)})}function oe(...t){return new u(e=>t.reduce((i,r)=>i.add(r.subscribe(e)),new m))}var ae=t=>new u(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(r){if(e.error)e.error(r);else throw r}},t);return()=>window.clearTimeout(i)}),ce=t=>new u(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),ue=t=>new u(e=>{t.forEach(i=>e.next(i))}),le=(t,e)=>new u(i=>{const r=o=>i.next(o);return t.addEventListener(e,r),()=>t.removeEventListener(e,r)});function de(t){return e=>new u(i=>e.subscribe(new he(i,t)))}class he{constructor(e,i){this.destination=e,this.size=i,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}const fe={leading:!1,trailing:!0};function be(t,e=fe){return i=>new u(r=>i.subscribe(new ve(r,t,e)))}class ve{constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,y(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}const we={leading:!0,trailing:!1};function ge(t,e=we){return i=>new u(r=>i.subscribe(new me(r,t,e)))}class me{constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,T(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function pe(t){return e=>new u(i=>e.subscribe(new Ee(i,t)))}class Ee{constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function _e(t=(e,i)=>e===i){return e=>new u(i=>e.subscribe(new Se(i,t)))}const O={};class Se{constructor(e,i){this.destination=e,this.predicate=i,this.lastValue=O}next(e){let i;try{i=this.lastValue===O||!this.predicate(this.lastValue,e),this.lastValue=e}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function A(t){return e=>new u(i=>e.subscribe(new xe(i,t)))}let xe=class{constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(r){throw this.error(r),r}this.destination.next(i)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}};function Oe(t){return A(()=>t)}function ye(){return t=>new u(e=>{let i=!1,r=!1;const o=t.subscribe(s=>{i||(i=!0,e.next(s)),r&&o.unsubscribe()},s=>{var n;i=!0,(n=e.error)===null||n===void 0||n.call(e,s),r&&o.unsubscribe()});return r=!0,i&&o.unsubscribe(),o})}function Te(){return t=>new u(e=>t.subscribe(new Ie(e)))}class Ie{constructor(e){this.destination=e,this.hasLast=!1}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function Ae(t){return e=>new u(i=>e.subscribe(new Le(i,t)))}class Le{constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}exports.ErrorCategory=void 0;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));exports.Logger=P;exports.Observable=u;exports.Subject=_;exports.Subscription=m;exports.VERSION=C;exports.ValueSubject=ne;exports.abortable=k;exports.addScript=D;exports.areQualitiesExact=ie;exports.assertNever=v;exports.assertNonNullable=M;exports.assertNullable=V;exports.assertQualityIsExact=re;exports.buffer=de;exports.checkNever=Q;exports.combine=se;exports.debounce=be;exports.filter=pe;exports.filterChanged=_e;exports.fromEvent=le;exports.getCurrentBrowser=U;exports.getExponentialDelay=F;exports.getHighestQuality=J;exports.interval=ce;exports.isHigher=K;exports.isHigherOrEqual=W;exports.isInvariantQuality=x;exports.isLower=S;exports.isLowerOrEqual=X;exports.isNonNullable=y;exports.isNullable=T;exports.map=A;exports.mapTo=Oe;exports.merge=oe;exports.noop=w;exports.now=G;exports.observableFrom=ue;exports.once=ye;exports.pairwise=Te;exports.safeStorage=Y;exports.tap=Ae;exports.throttle=ge;exports.timeout=ae;exports.videoHeightToQuality=Z;exports.videoQualityToHeight=te;exports.videoSizeToQuality=ee;
|
|
6
|
+
"use strict";const Q="1.0.27-beta.1";class m{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const v=t=>{throw new Error(`${t} is value of unexpected type`)},P=t=>{},w=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){var r;let o;i?typeof i=="function"?o={next:i,error:w}:o={next:a=>i.next(a),error:a=>{var h;return(h=i.error)===null||h===void 0?void 0:h.call(i,a)}}:o={next:w,error:w};const n=typeof e=="function"?{next:a=>{try{e(a)}catch(h){o.next(h)}},error:a=>o.next(a)}:{next:a=>e.next(a),error:a=>e.error?e.error(a):o.next(a)};let s;try{s=this._subscribe(n)}catch(a){(r=n.error)===null||r===void 0||r.call(n,a)}return new m().add(()=>{switch(n.next=w,n.error=w,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return v(s)}})}pipe(...e){return e.reduce((i,r)=>r(i),this)}_subscribe(e){}}class _ extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>{var r;return(r=i.error)===null||r===void 0?void 0:r.call(i,e)})}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new m().add(()=>this.subscribers.delete(i))}}class V{constructor(){this.log$=new _,this.logs=[],this.log=e=>{const i={...e,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...i)=>{let r;try{r=e(...i)}catch(o){r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(e){return this.createCustomLog(i=>({component:e,...i}))}}function M(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function D(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function y(t){return typeof t!="undefined"&&t!==null}function A(t){return t==null}const G=(t,e,i)=>new Promise((r,o)=>{e.addEventListener("abort",()=>{a(),f.remove()});const n=()=>{a(),o()},s=()=>{a(),r()},a=()=>{h&&clearTimeout(h),f.removeEventListener("load",s),f.removeEventListener("error",n)};let h;i&&(h=window.setTimeout(n,i));const f=document.createElement("script");f.addEventListener("load",s),f.addEventListener("error",n),f.src=t,document.head.appendChild(f)});var p;const k=typeof((p=window.performance)===null||p===void 0?void 0:p.now)=="function"?()=>window.performance.now():()=>Date.now(),U=(t,e)=>async(...i)=>{var r;const o=e(...i);let n=t.aborted,s;for(;!n&&!t.aborted;){const a=await o.next(s);n=(r=a.done)!==null&&r!==void 0?r:!1,s=a.value}return s};exports.CurrentClientBrowser=void 0;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const j=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(t)?exports.CurrentClientBrowser.Chrome:void 0,r=/chromium/i.test(t)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(t)?exports.CurrentClientBrowser.Firefox:void 0,n=/webkit|safari|khtml/i.test(t)?exports.CurrentClientBrowser.Safari:void 0,s=/opr\//i.test(t)?exports.CurrentClientBrowser.Opera:void 0,a=/edg/i.test(t)?exports.CurrentClientBrowser.Edge:void 0,h=/android/i.test(t)?exports.CurrentClientDevice.Android:void 0,f=/iphone/i.test(t)?exports.CurrentClientDevice.iPhone:void 0,N=/ipad/i.test(t)?exports.CurrentClientDevice.iPad:void 0,R=/ipod/i.test(t)?exports.CurrentClientDevice.iPod:void 0,C=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:e||o||s||a||i||r||n||exports.CurrentClientBrowser.Rest,device:h||f||N||R||C||exports.CurrentClientDevice.Desktop}},F=(t,{start:e=0,factor:i=2,max:r=1/0,min:o=e,random:n=0}={})=>{let s=e;return s*=i**t,s*=1+(Math.random()*n*2-n),s=Math.round(s),s=Math.min(s,r),s=Math.max(s,o),s};var c;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(c||(c={}));let l,b;const E=`vk-videoplayer-dummy-key-${Math.random()}`,g=()=>{if(b!==void 0)return b;try{localStorage.setItem(E,"test"),localStorage.removeItem(E),b=c.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(E),b=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)b=c.RUNTIME;else throw e}else throw t}return b===c.RUNTIME&&(l=new Map),b},H=()=>g()===c.LOCAL_STORAGE,q=t=>{var e,i;const r=g();switch(r){case c.LOCAL_STORAGE:return(e=localStorage.getItem(t))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(t))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return l==null?void 0:l.get(t);default:v(r)}},B=(t,e)=>{const i=g();switch(i){case c.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case c.RUNTIME:return void(l==null?void 0:l.set(t,e));default:v(i)}},z=t=>{var e;const i=g();switch(i){case c.LOCAL_STORAGE:return t in localStorage;case c.SESSION_STORAGE:return t in sessionStorage;case c.RUNTIME:return(e=l==null?void 0:l.has(t))!==null&&e!==void 0?e:!1;default:return v(i),!1}},$=t=>{const e=g();switch(e){case c.LOCAL_STORAGE:return localStorage.removeItem(t);case c.SESSION_STORAGE:return sessionStorage.removeItem(t);case c.RUNTIME:return void(l==null?void 0:l.delete(t));default:v(e)}},W=()=>{const t=g();switch(t){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return l==null?void 0:l.clear();default:v(t)}};var Y=Object.freeze({__proto__:null,clear:W,get:q,has:z,isPersistent:H,remove:$,set:B});exports.VideoQuality=void 0;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const d={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},K=(t,e)=>d[t].height>d[e].height,X=(t,e)=>d[t].height>=d[e].height,S=(t,e)=>d[t].height<d[e].height,J=(t,e)=>d[t].height<=d[e].height,Z=t=>t.sort((e,i)=>e===i?0:e===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:S(e,i)?1:-1)[0],T=Object.keys(d).sort((t,e)=>S(t,e)?-1:1),ee=(t,e=.02)=>[...T].find(r=>d[r].height*(1+e)>=t),te=({width:t,height:e})=>{const i=Math.min(t,e),r=Math.max(t,e);return T.find(o=>{const n=d[o];return n.width>=r&&n.height>=i})},ie=t=>d[t].height,x=t=>t===exports.VideoQuality.INVARIANT,re=t=>t.every(e=>!x(e));function ne(t){if(x(t))throw new Error("Expected exact quality")}const I=(t,e)=>{const i={};for(const r of Object.keys(e)){const o=e[r],n=t[r];Array.isArray(o)&&Array.isArray(n)?i[r]=n:typeof o=="object"&&typeof n=="object"?i[r]=I(n,o):i[r]=r in t?n:o}return i};class se extends _{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function oe(t){return new u(e=>{const i={};let r=Object.keys(t).length;const o=n=>s=>{n in i||r--,i[n]=s,r===0&&e.next(i)};return Object.entries(t).reduce((n,[s,a])=>n.add(a.subscribe(o(s))),new m)})}function ae(...t){return new u(e=>t.reduce((i,r)=>i.add(r.subscribe(e)),new m))}var ce=t=>new u(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(r){if(e.error)e.error(r);else throw r}},t);return()=>window.clearTimeout(i)}),ue=t=>new u(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),le=t=>new u(e=>{t.forEach(i=>e.next(i))}),de=(t,e)=>new u(i=>{const r=o=>i.next(o);return t.addEventListener(e,r),()=>t.removeEventListener(e,r)});function he(t){return e=>new u(i=>e.subscribe(new fe(i,t)))}class fe{constructor(e,i){this.destination=e,this.size=i,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}const be={leading:!1,trailing:!0};function ve(t,e=be){return i=>new u(r=>i.subscribe(new we(r,t,e)))}class we{constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,y(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}const ge={leading:!0,trailing:!1};function me(t,e=ge){return i=>new u(r=>i.subscribe(new pe(r,t,e)))}class pe{constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,A(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function Ee(t){return e=>new u(i=>e.subscribe(new _e(i,t)))}class _e{constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function Se(t=(e,i)=>e===i){return e=>new u(i=>e.subscribe(new xe(i,t)))}const O={};class xe{constructor(e,i){this.destination=e,this.predicate=i,this.lastValue=O}next(e){let i;try{i=this.lastValue===O||!this.predicate(this.lastValue,e),this.lastValue=e}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function L(t){return e=>new u(i=>e.subscribe(new Oe(i,t)))}let Oe=class{constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(r){throw this.error(r),r}this.destination.next(i)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}};function ye(t){return L(()=>t)}function Ae(){return t=>new u(e=>{let i=!1,r=!1;const o=t.subscribe(n=>{i||(i=!0,e.next(n)),r&&o.unsubscribe()},n=>{var s;i=!0,(s=e.error)===null||s===void 0||s.call(e,n),r&&o.unsubscribe()});return r=!0,i&&o.unsubscribe(),o})}function Te(){return t=>new u(e=>t.subscribe(new Ie(e)))}class Ie{constructor(e){this.destination=e,this.hasLast=!1}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function Le(t){return e=>new u(i=>e.subscribe(new Ne(i,t)))}class Ne{constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}exports.ErrorCategory=void 0;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));exports.Logger=V;exports.Observable=u;exports.Subject=_;exports.Subscription=m;exports.VERSION=Q;exports.ValueSubject=se;exports.abortable=U;exports.addScript=G;exports.areQualitiesExact=re;exports.assertNever=v;exports.assertNonNullable=M;exports.assertNullable=D;exports.assertQualityIsExact=ne;exports.buffer=he;exports.checkNever=P;exports.combine=oe;exports.debounce=ve;exports.fillWithDefault=I;exports.filter=Ee;exports.filterChanged=Se;exports.fromEvent=de;exports.getCurrentBrowser=j;exports.getExponentialDelay=F;exports.getHighestQuality=Z;exports.interval=ue;exports.isHigher=K;exports.isHigherOrEqual=X;exports.isInvariantQuality=x;exports.isLower=S;exports.isLowerOrEqual=J;exports.isNonNullable=y;exports.isNullable=A;exports.map=L;exports.mapTo=ye;exports.merge=ae;exports.noop=w;exports.now=k;exports.observableFrom=le;exports.once=Ae;exports.pairwise=Te;exports.safeStorage=Y;exports.tap=Le;exports.throttle=me;exports.timeout=ce;exports.videoHeightToQuality=ee;exports.videoQualityToHeight=ie;exports.videoSizeToQuality=te;
|
package/es2018.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.27-beta.
|
|
3
|
-
* Mon,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.27-beta.1
|
|
3
|
+
* Mon, 14 Aug 2023 12:11:04 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-27/doc/
|
|
5
5
|
*/
|
|
6
|
-
const Z="1.0.27-beta.0";class _{constructor(){this.subscriptions=[]}unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const m=e=>{throw new Error(`${e} is value of unexpected type`)},B=e=>{},E=()=>{};class l{constructor(t){t&&(this._subscribe=t)}subscribe(t,i){var n;let o;i?typeof i=="function"?o={next:i,error:E}:o={next:a=>i.next(a),error:a=>{var f;return(f=i.error)===null||f===void 0?void 0:f.call(i,a)}}:o={next:E,error:E};const r=typeof t=="function"?{next:a=>{try{t(a)}catch(f){o.next(f)}},error:a=>o.next(a)}:{next:a=>t.next(a),error:a=>t.error?t.error(a):o.next(a)};let s;try{s=this._subscribe(r)}catch(a){(n=r.error)===null||n===void 0||n.call(r,a)}return new _().add(()=>{switch(r.next=E,r.error=E,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return m(s)}})}pipe(...t){return t.reduce((i,n)=>n(i),this)}_subscribe(t){}}class T extends l{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(t){this.subscribers.forEach(i=>i.next(t))}error(t){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,t)})}_subscribe(t){const i=this.keyCounter++;return this.subscribers.set(i,t),new _().add(()=>this.subscribers.delete(i))}}class tt{constructor(){this.log$=new T,this.logs=[],this.log=t=>{const i={...t,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(t){return(...i)=>{let n;try{n=t(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(i=>({component:t,...i}))}}function et(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function it(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function y(e){return typeof e!="undefined"&&e!==null}function Q(e){return e==null}const nt=(e,t,i)=>new Promise((n,o)=>{t.addEventListener("abort",()=>{a(),w.remove()});const r=()=>{a(),o()},s=()=>{a(),n()},a=()=>{f&&clearTimeout(f),w.removeEventListener("load",s),w.removeEventListener("error",r)};let f;i&&(f=window.setTimeout(r,i));const w=document.createElement("script");w.addEventListener("load",s),w.addEventListener("error",r),w.src=e,document.head.appendChild(w)});var x;const st=typeof((x=window.performance)===null||x===void 0?void 0:x.now)=="function"?()=>window.performance.now():()=>Date.now(),rt=(e,t)=>async(...i)=>{var n;const o=t(...i);let r=e.aborted,s;for(;!r&&!e.aborted;){const a=await o.next(s);r=(n=a.done)!==null&&n!==void 0?n:!1,s=a.value}return s};var b;(function(e){e.Unknown="Unknown",e.Yandex="Yandex",e.Chrome="Chrome",e.Chromium="Chromium",e.Firefox="Firefox",e.Safari="Safari",e.Opera="Opera",e.Edge="Edge",e.Rest="Rest"})(b||(b={}));var v;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Desktop="Desktop"})(v||(v={}));const ot=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?b.Yandex:void 0,i=/chrome|crios/i.test(e)?b.Chrome:void 0,n=/chromium/i.test(e)?b.Chromium:void 0,o=/firefox|fxios/i.test(e)?b.Firefox:void 0,r=/webkit|safari|khtml/i.test(e)?b.Safari:void 0,s=/opr\//i.test(e)?b.Opera:void 0,a=/edg/i.test(e)?b.Edge:void 0,f=/android/i.test(e)?v.Android:void 0,w=/iphone/i.test(e)?v.iPhone:void 0,P=/ipad/i.test(e)?v.iPad:void 0,N=/ipod/i.test(e)?v.iPod:void 0,M=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?v.RestMobile:void 0;return{browser:t||o||s||a||i||n||r||b.Rest,device:f||w||P||N||M||v.Desktop}},at=(e,{start:t=0,factor:i=2,max:n=1/0,min:o=t,random:r=0}={})=>{let s=t;return s*=i**e,s*=1+(Math.random()*r*2-r),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,o),s};var c;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(c||(c={}));let u,g;const S=`vk-videoplayer-dummy-key-${Math.random()}`,p=()=>{if(g!==void 0)return g;try{localStorage.setItem(S,"test"),localStorage.removeItem(S),g=c.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(S),g=c.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)g=c.RUNTIME;else throw t}else throw e}return g===c.RUNTIME&&(u=new Map),g},G=()=>p()===c.LOCAL_STORAGE,V=e=>{var t,i;const n=p();switch(n){case c.LOCAL_STORAGE:return(t=localStorage.getItem(e))!==null&&t!==void 0?t:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(e))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return u==null?void 0:u.get(e);default:m(n)}},U=(e,t)=>{const i=p();switch(i){case c.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.RUNTIME:return void(u==null?void 0:u.set(e,t));default:m(i)}},k=e=>{var t;const i=p();switch(i){case c.LOCAL_STORAGE:return e in localStorage;case c.SESSION_STORAGE:return e in sessionStorage;case c.RUNTIME:return(t=u==null?void 0:u.has(e))!==null&&t!==void 0?t:!1;default:return m(i),!1}},F=e=>{const t=p();switch(t){case c.LOCAL_STORAGE:return localStorage.removeItem(e);case c.SESSION_STORAGE:return sessionStorage.removeItem(e);case c.RUNTIME:return void(u==null?void 0:u.delete(e));default:m(t)}},D=()=>{const e=p();switch(e){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return u==null?void 0:u.clear();default:m(e)}};var ct=Object.freeze({__proto__:null,clear:D,get:V,has:k,isPersistent:G,remove:F,set:U}),d;(function(e){e.INVARIANT="Invariant quality",e.Q_144P="144p",e.Q_240P="240p",e.Q_360P="360p",e.Q_480P="480p",e.Q_720P="720p",e.Q_1080P="1080p",e.Q_1440P="1440p",e.Q_2160P="2160p",e.Q_4320P="4320p"})(d||(d={}));const h={[d.Q_144P]:{width:256,height:144},[d.Q_240P]:{width:428,height:240},[d.Q_360P]:{width:640,height:360},[d.Q_480P]:{width:856,height:480},[d.Q_720P]:{width:1280,height:720},[d.Q_1080P]:{width:1920,height:1080},[d.Q_1440P]:{width:2560,height:1440},[d.Q_2160P]:{width:3840,height:2160},[d.Q_4320P]:{width:7680,height:4320}},ut=(e,t)=>h[e].height>h[t].height,lt=(e,t)=>h[e].height>=h[t].height,I=(e,t)=>h[e].height<h[t].height,dt=(e,t)=>h[e].height<=h[t].height,ht=e=>e.sort((t,i)=>t===i?0:t===d.INVARIANT?1:i===d.INVARIANT?-1:I(t,i)?1:-1)[0],L=Object.keys(h).sort((e,t)=>I(e,t)?-1:1),ft=(e,t=.02)=>[...L].find(n=>h[n].height*(1+t)>=e),bt=({width:e,height:t})=>{const i=Math.min(e,t),n=Math.max(e,t);return L.find(o=>{const r=h[o];return r.width>=n&&r.height>=i})},wt=e=>h[e].height,R=e=>e===d.INVARIANT,vt=e=>e.every(t=>!R(t));function gt(e){if(R(e))throw new Error("Expected exact quality")}class mt extends T{constructor(t){super(),this.value=t}next(t){super.next(this.value=t)}error(t){super.error(this.value=t)}getValue(){return this.value}_subscribe(t){const i=super._subscribe(t);return t.next(this.value),i}}function pt(e){return new l(t=>{const i={};let n=Object.keys(e).length;const o=r=>s=>{r in i||n--,i[r]=s,n===0&&t.next(i)};return Object.entries(e).reduce((r,[s,a])=>r.add(a.subscribe(o(s))),new _)})}function Et(...e){return new l(t=>e.reduce((i,n)=>i.add(n.subscribe(t)),new _))}var _t=e=>new l(t=>{const i=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(i)}),xt=e=>new l(t=>{const i=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(i)}),St=e=>new l(t=>{e.forEach(i=>t.next(i))}),Ot=(e,t)=>new l(i=>{const n=o=>i.next(o);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function At(e){return t=>new l(i=>t.subscribe(new j(i,e)))}class j{constructor(t,i){this.destination=t,this.size=i,this.lastValues=[]}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}const q={leading:!1,trailing:!0};function Tt(e,t=q){return i=>new l(n=>i.subscribe(new z(n,e,t)))}class z{constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,y(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}const $={leading:!0,trailing:!1};function It(e,t=$){return i=>new l(n=>i.subscribe(new H(n,e,t)))}class H{constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,Q(this.timeout)&&(this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Lt(e){return t=>new l(i=>t.subscribe(new Y(i,e)))}class Y{constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.predicate(t)}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Rt(e=(t,i)=>t===i){return t=>new l(i=>t.subscribe(new C(i,e)))}const O={};class C{constructor(t,i){this.destination=t,this.predicate=i,this.lastValue=O}next(t){let i;try{i=this.lastValue===O||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function K(e){return t=>new l(i=>t.subscribe(new W(i,e)))}let W=class{constructor(t,i){this.destination=t,this.mapper=i}next(t){let i;try{i=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(i)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}};function Nt(e){return K(()=>e)}function Mt(){return e=>new l(t=>{let i=!1,n=!1;const o=e.subscribe(r=>{i||(i=!0,t.next(r)),n&&o.unsubscribe()},r=>{var s;i=!0,(s=t.error)===null||s===void 0||s.call(t,r),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function yt(){return e=>new l(t=>e.subscribe(new X(t)))}class X{constructor(t){this.destination=t,this.hasLast=!1}next(t){const i=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,t])}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Qt(e){return t=>new l(i=>t.subscribe(new J(i,e)))}class J{constructor(t,i){this.destination=t,this.effect=i}next(t){try{this.effect(t)}catch(i){throw this.error(i),i}this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}var A;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(A||(A={}));export{b as CurrentClientBrowser,v as CurrentClientDevice,A as ErrorCategory,tt as Logger,l as Observable,T as Subject,_ as Subscription,Z as VERSION,mt as ValueSubject,d as VideoQuality,rt as abortable,nt as addScript,vt as areQualitiesExact,m as assertNever,et as assertNonNullable,it as assertNullable,gt as assertQualityIsExact,At as buffer,B as checkNever,pt as combine,Tt as debounce,Lt as filter,Rt as filterChanged,Ot as fromEvent,ot as getCurrentBrowser,at as getExponentialDelay,ht as getHighestQuality,xt as interval,ut as isHigher,lt as isHigherOrEqual,R as isInvariantQuality,I as isLower,dt as isLowerOrEqual,y as isNonNullable,Q as isNullable,K as map,Nt as mapTo,Et as merge,E as noop,st as now,St as observableFrom,Mt as once,yt as pairwise,ct as safeStorage,Qt as tap,It as throttle,_t as timeout,ft as videoHeightToQuality,wt as videoQualityToHeight,bt as videoSizeToQuality};
|
|
6
|
+
const B="1.0.27-beta.1";class _{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const m=t=>{throw new Error(`${t} is value of unexpected type`)},ee=t=>{},E=()=>{};class l{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){var n;let o;i?typeof i=="function"?o={next:i,error:E}:o={next:a=>i.next(a),error:a=>{var f;return(f=i.error)===null||f===void 0?void 0:f.call(i,a)}}:o={next:E,error:E};const s=typeof e=="function"?{next:a=>{try{e(a)}catch(f){o.next(f)}},error:a=>o.next(a)}:{next:a=>e.next(a),error:a=>e.error?e.error(a):o.next(a)};let r;try{r=this._subscribe(s)}catch(a){(n=s.error)===null||n===void 0||n.call(s,a)}return new _().add(()=>{switch(s.next=E,s.error=E,typeof r){case"function":r();return;case"object":r.unsubscribe();return;case"undefined":return;default:return m(r)}})}pipe(...e){return e.reduce((i,n)=>n(i),this)}_subscribe(e){}}class T extends l{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,e)})}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new _().add(()=>this.subscribers.delete(i))}}class te{constructor(){this.log$=new T,this.logs=[],this.log=e=>{const i={...e,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...i)=>{let n;try{n=e(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(i=>({component:e,...i}))}}function ie(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function ne(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function M(t){return typeof t!="undefined"&&t!==null}function Q(t){return t==null}const se=(t,e,i)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{a(),w.remove()});const s=()=>{a(),o()},r=()=>{a(),n()},a=()=>{f&&clearTimeout(f),w.removeEventListener("load",r),w.removeEventListener("error",s)};let f;i&&(f=window.setTimeout(s,i));const w=document.createElement("script");w.addEventListener("load",r),w.addEventListener("error",s),w.src=t,document.head.appendChild(w)});var x;const re=typeof((x=window.performance)===null||x===void 0?void 0:x.now)=="function"?()=>window.performance.now():()=>Date.now(),oe=(t,e)=>async(...i)=>{var n;const o=e(...i);let s=t.aborted,r;for(;!s&&!t.aborted;){const a=await o.next(r);s=(n=a.done)!==null&&n!==void 0?n:!1,r=a.value}return r};var b;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(b||(b={}));var v;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(v||(v={}));const ae=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?b.Yandex:void 0,i=/chrome|crios/i.test(t)?b.Chrome:void 0,n=/chromium/i.test(t)?b.Chromium:void 0,o=/firefox|fxios/i.test(t)?b.Firefox:void 0,s=/webkit|safari|khtml/i.test(t)?b.Safari:void 0,r=/opr\//i.test(t)?b.Opera:void 0,a=/edg/i.test(t)?b.Edge:void 0,f=/android/i.test(t)?v.Android:void 0,w=/iphone/i.test(t)?v.iPhone:void 0,P=/ipad/i.test(t)?v.iPad:void 0,y=/ipod/i.test(t)?v.iPod:void 0,N=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?v.RestMobile:void 0;return{browser:e||o||r||a||i||n||s||b.Rest,device:f||w||P||y||N||v.Desktop}},ce=(t,{start:e=0,factor:i=2,max:n=1/0,min:o=e,random:s=0}={})=>{let r=e;return r*=i**t,r*=1+(Math.random()*s*2-s),r=Math.round(r),r=Math.min(r,n),r=Math.max(r,o),r};var c;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(c||(c={}));let u,g;const S=`vk-videoplayer-dummy-key-${Math.random()}`,p=()=>{if(g!==void 0)return g;try{localStorage.setItem(S,"test"),localStorage.removeItem(S),g=c.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(S),g=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)g=c.RUNTIME;else throw e}else throw t}return g===c.RUNTIME&&(u=new Map),g},G=()=>p()===c.LOCAL_STORAGE,V=t=>{var e,i;const n=p();switch(n){case c.LOCAL_STORAGE:return(e=localStorage.getItem(t))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(t))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return u==null?void 0:u.get(t);default:m(n)}},k=(t,e)=>{const i=p();switch(i){case c.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case c.RUNTIME:return void(u==null?void 0:u.set(t,e));default:m(i)}},U=t=>{var e;const i=p();switch(i){case c.LOCAL_STORAGE:return t in localStorage;case c.SESSION_STORAGE:return t in sessionStorage;case c.RUNTIME:return(e=u==null?void 0:u.has(t))!==null&&e!==void 0?e:!1;default:return m(i),!1}},j=t=>{const e=p();switch(e){case c.LOCAL_STORAGE:return localStorage.removeItem(t);case c.SESSION_STORAGE:return sessionStorage.removeItem(t);case c.RUNTIME:return void(u==null?void 0:u.delete(t));default:m(e)}},F=()=>{const t=p();switch(t){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return u==null?void 0:u.clear();default:m(t)}};var ue=Object.freeze({__proto__:null,clear:F,get:V,has:U,isPersistent:G,remove:j,set:k}),d;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(d||(d={}));const h={[d.Q_144P]:{width:256,height:144},[d.Q_240P]:{width:428,height:240},[d.Q_360P]:{width:640,height:360},[d.Q_480P]:{width:856,height:480},[d.Q_720P]:{width:1280,height:720},[d.Q_1080P]:{width:1920,height:1080},[d.Q_1440P]:{width:2560,height:1440},[d.Q_2160P]:{width:3840,height:2160},[d.Q_4320P]:{width:7680,height:4320}},le=(t,e)=>h[t].height>h[e].height,de=(t,e)=>h[t].height>=h[e].height,I=(t,e)=>h[t].height<h[e].height,he=(t,e)=>h[t].height<=h[e].height,fe=t=>t.sort((e,i)=>e===i?0:e===d.INVARIANT?1:i===d.INVARIANT?-1:I(e,i)?1:-1)[0],L=Object.keys(h).sort((t,e)=>I(t,e)?-1:1),be=(t,e=.02)=>[...L].find(n=>h[n].height*(1+e)>=t),we=({width:t,height:e})=>{const i=Math.min(t,e),n=Math.max(t,e);return L.find(o=>{const s=h[o];return s.width>=n&&s.height>=i})},ve=t=>h[t].height,R=t=>t===d.INVARIANT,ge=t=>t.every(e=>!R(e));function me(t){if(R(t))throw new Error("Expected exact quality")}const D=(t,e)=>{const i={};for(const n of Object.keys(e)){const o=e[n],s=t[n];Array.isArray(o)&&Array.isArray(s)?i[n]=s:typeof o=="object"&&typeof s=="object"?i[n]=D(s,o):i[n]=n in t?s:o}return i};class pe extends T{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function Ee(t){return new l(e=>{const i={};let n=Object.keys(t).length;const o=s=>r=>{s in i||n--,i[s]=r,n===0&&e.next(i)};return Object.entries(t).reduce((s,[r,a])=>s.add(a.subscribe(o(r))),new _)})}function _e(...t){return new l(e=>t.reduce((i,n)=>i.add(n.subscribe(e)),new _))}var xe=t=>new l(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(i)}),Se=t=>new l(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),Oe=t=>new l(e=>{t.forEach(i=>e.next(i))}),Ae=(t,e)=>new l(i=>{const n=o=>i.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function Te(t){return e=>new l(i=>e.subscribe(new q(i,t)))}class q{constructor(e,i){this.destination=e,this.size=i,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const z={leading:!1,trailing:!0};function Ie(t,e=z){return i=>new l(n=>i.subscribe(new $(n,t,e)))}class ${constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,M(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const H={leading:!0,trailing:!1};function Le(t,e=H){return i=>new l(n=>i.subscribe(new Y(n,t,e)))}class Y{constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,Q(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Re(t){return e=>new l(i=>e.subscribe(new K(i,t)))}class K{constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Pe(t=(e,i)=>e===i){return e=>new l(i=>e.subscribe(new W(i,t)))}const O={};class W{constructor(e,i){this.destination=e,this.predicate=i,this.lastValue=O}next(e){let i;try{i=this.lastValue===O||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function C(t){return e=>new l(i=>e.subscribe(new X(i,t)))}let X=class{constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(i)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}};function Ne(t){return C(()=>t)}function Me(){return t=>new l(e=>{let i=!1,n=!1;const o=t.subscribe(s=>{i||(i=!0,e.next(s)),n&&o.unsubscribe()},s=>{var r;i=!0,(r=e.error)===null||r===void 0||r.call(e,s),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Qe(){return t=>new l(e=>t.subscribe(new J(e)))}class J{constructor(e){this.destination=e,this.hasLast=!1}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Ge(t){return e=>new l(i=>e.subscribe(new Z(i,t)))}class Z{constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}var A;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(A||(A={}));export{b as CurrentClientBrowser,v as CurrentClientDevice,A as ErrorCategory,te as Logger,l as Observable,T as Subject,_ as Subscription,B as VERSION,pe as ValueSubject,d as VideoQuality,oe as abortable,se as addScript,ge as areQualitiesExact,m as assertNever,ie as assertNonNullable,ne as assertNullable,me as assertQualityIsExact,Te as buffer,ee as checkNever,Ee as combine,Ie as debounce,D as fillWithDefault,Re as filter,Pe as filterChanged,Ae as fromEvent,ae as getCurrentBrowser,ce as getExponentialDelay,fe as getHighestQuality,Se as interval,le as isHigher,de as isHigherOrEqual,R as isInvariantQuality,I as isLower,he as isLowerOrEqual,M as isNonNullable,Q as isNullable,C as map,Ne as mapTo,_e as merge,E as noop,re as now,Oe as observableFrom,Me as once,Qe as pairwise,ue as safeStorage,Ge as tap,Le as throttle,xe as timeout,be as videoHeightToQuality,ve as videoQualityToHeight,we as videoSizeToQuality};
|
package/esnext.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.27-beta.
|
|
3
|
-
* Mon,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.27-beta.1
|
|
3
|
+
* Mon, 14 Aug 2023 12:11:04 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-27/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";const R="1.0.27-beta.0";class p{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const f=t=>{throw new Error(`${t} is value of unexpected type`)},C=t=>{},b=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){let r;i?typeof i=="function"?r={next:i,error:b}:r={next:n=>i.next(n),error:n=>i.error?.(n)}:r={next:b,error:b};const o=typeof e=="function"?{next:n=>{try{e(n)}catch(l){r.next(l)}},error:n=>r.next(n)}:{next:n=>e.next(n),error:n=>e.error?e.error(n):r.next(n)};let s;try{s=this._subscribe(o)}catch(n){o.error?.(n)}return new p().add(()=>{switch(o.next=b,o.error=b,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return f(s)}})}pipe(...e){return e.reduce((i,r)=>r(i),this)}_subscribe(e){}}class S extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>i.error?.(e))}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new p().add(()=>this.subscribers.delete(i))}}class Q{log$=new S;logs=[];log=e=>{const i={...e,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)};createCustomLog(e){return(...i)=>{let r;try{r=e(...i)}catch{r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(e){return this.createCustomLog(i=>({component:e,...i}))}getAllLogs=()=>this.logs}function P(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function V(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function y(t){return typeof t<"u"&&t!==null}function T(t){return t==null}const M=(t,e,i)=>new Promise((r,o)=>{e.addEventListener("abort",()=>{l(),h.remove()});const s=()=>{l(),o()},n=()=>{l(),r()},l=()=>{m&&clearTimeout(m),h.removeEventListener("load",n),h.removeEventListener("error",s)};let m;i&&(m=window.setTimeout(s,i));const h=document.createElement("script");h.addEventListener("load",n),h.addEventListener("error",s),h.src=t,document.head.appendChild(h)}),D=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),G=(t,e)=>async(...i)=>{const r=e(...i);let o=t.aborted,s;for(;!o&&!t.aborted;){const n=await r.next(s);o=n.done??!1,s=n.value}return s};exports.CurrentClientBrowser=void 0;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const k=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(t)?exports.CurrentClientBrowser.Chrome:void 0,r=/chromium/i.test(t)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(t)?exports.CurrentClientBrowser.Firefox:void 0,s=/webkit|safari|khtml/i.test(t)?exports.CurrentClientBrowser.Safari:void 0,n=/opr\//i.test(t)?exports.CurrentClientBrowser.Opera:void 0,l=/edg/i.test(t)?exports.CurrentClientBrowser.Edge:void 0,m=/android/i.test(t)?exports.CurrentClientDevice.Android:void 0,h=/iphone/i.test(t)?exports.CurrentClientDevice.iPhone:void 0,A=/ipad/i.test(t)?exports.CurrentClientDevice.iPad:void 0,L=/ipod/i.test(t)?exports.CurrentClientDevice.iPod:void 0,N=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:e||o||n||l||i||r||s||exports.CurrentClientBrowser.Rest,device:m||h||A||L||N||exports.CurrentClientDevice.Desktop}},U=(t,{start:e=0,factor:i=2,max:r=1/0,min:o=e,random:s=0}={})=>{let n=e;return n*=i**t,n*=1+(Math.random()*s*2-s),n=Math.round(n),n=Math.min(n,r),n=Math.max(n,o),n};var a;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(a||(a={}));let w,d;const E=`vk-videoplayer-dummy-key-${Math.random()}`,g=()=>{if(d!==void 0)return d;try{localStorage.setItem(E,"test"),localStorage.removeItem(E),d=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(E),d=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)d=a.RUNTIME;else throw e}else throw t}return d===a.RUNTIME&&(w=new Map),d},F=()=>g()===a.LOCAL_STORAGE,H=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return localStorage.getItem(t)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(t)??void 0;case a.RUNTIME:return w?.get(t);default:f(e)}},j=(t,e)=>{const i=g();switch(i){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.RUNTIME:return void w?.set(t,e);default:f(i)}},q=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return t in localStorage;case a.SESSION_STORAGE:return t in sessionStorage;case a.RUNTIME:return w?.has(t)??!1;default:return f(e),!1}},z=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return localStorage.removeItem(t);case a.SESSION_STORAGE:return sessionStorage.removeItem(t);case a.RUNTIME:return void w?.delete(t);default:f(e)}},B=()=>{const t=g();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return w?.clear();default:f(t)}};var $=Object.freeze({__proto__:null,clear:B,get:H,has:q,isPersistent:F,remove:z,set:j});exports.VideoQuality=void 0;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const u={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},Y=(t,e)=>u[t].height>u[e].height,K=(t,e)=>u[t].height>=u[e].height,x=(t,e)=>u[t].height<u[e].height,W=(t,e)=>u[t].height<=u[e].height,X=t=>t.sort((e,i)=>e===i?0:e===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:x(e,i)?1:-1)[0],_=Object.keys(u).sort((t,e)=>x(t,e)?-1:1),J=(t,e=.02)=>[..._].find(r=>u[r].height*(1+e)>=t),Z=({width:t,height:e})=>{const i=Math.min(t,e),r=Math.max(t,e);return _.find(o=>{const s=u[o];return s.width>=r&&s.height>=i})},ee=t=>u[t].height,v=t=>t===exports.VideoQuality.INVARIANT,te=t=>t.every(e=>!v(e));function ie(t){if(v(t))throw new Error("Expected exact quality")}class re extends S{value;constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function ne(t){return new c(e=>{const i={};let r=Object.keys(t).length;const o=s=>n=>{s in i||r--,i[s]=n,r===0&&e.next(i)};return Object.entries(t).reduce((s,[n,l])=>s.add(l.subscribe(o(n))),new p)})}function se(...t){return new c(e=>t.reduce((i,r)=>i.add(r.subscribe(e)),new p))}var oe=t=>new c(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(r){if(e.error)e.error(r);else throw r}},t);return()=>window.clearTimeout(i)}),ae=t=>new c(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),ce=t=>new c(e=>{t.forEach(i=>e.next(i))}),ue=(t,e)=>new c(i=>{const r=o=>i.next(o);return t.addEventListener(e,r),()=>t.removeEventListener(e,r)});function le(t){return e=>new c(i=>e.subscribe(new he(i,t)))}class he{destination;size;lastValues=[];constructor(e,i){this.destination=e,this.size=i}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){this.destination.error?.(e)}}const de={leading:!1,trailing:!0};function fe(t,e=de){return i=>new c(r=>i.subscribe(new be(r,t,e)))}class be{destination;time;config;lastValue;timeout;constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,y(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const we={leading:!0,trailing:!1};function ge(t,e=we){return i=>new c(r=>i.subscribe(new me(r,t,e)))}class me{destination;time;config;lastValue;timeout;constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,T(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){this.destination.error?.(e)}}function pe(t){return e=>new c(i=>e.subscribe(new Ee(i,t)))}class Ee{destination;predicate;constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function Se(t=(e,i)=>e===i){return e=>new c(i=>e.subscribe(new xe(i,t)))}const O={};class xe{destination;predicate;lastValue=O;constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.lastValue===O||!this.predicate(this.lastValue,e),this.lastValue=e}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function I(t){return e=>new c(i=>e.subscribe(new ve(i,t)))}let ve=class{destination;mapper;constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(r){throw this.error(r),r}this.destination.next(i)}error(e){this.destination.error?.(e)}};function Oe(t){return I(()=>t)}function ye(){return t=>new c(e=>{let i=!1,r=!1;const o=t.subscribe(s=>{i||(i=!0,e.next(s)),r&&o.unsubscribe()},s=>{i=!0,e.error?.(s),r&&o.unsubscribe()});return r=!0,i&&o.unsubscribe(),o})}function Te(){return t=>new c(e=>t.subscribe(new _e(e)))}class _e{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){this.destination.error?.(e)}}function Ie(t){return e=>new c(i=>e.subscribe(new Ae(i,t)))}class Ae{destination;effect;constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){this.destination.error?.(e)}}exports.ErrorCategory=void 0;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));exports.Logger=Q;exports.Observable=c;exports.Subject=S;exports.Subscription=p;exports.VERSION=R;exports.ValueSubject=re;exports.abortable=G;exports.addScript=M;exports.areQualitiesExact=te;exports.assertNever=f;exports.assertNonNullable=P;exports.assertNullable=V;exports.assertQualityIsExact=ie;exports.buffer=le;exports.checkNever=C;exports.combine=ne;exports.debounce=fe;exports.filter=pe;exports.filterChanged=Se;exports.fromEvent=ue;exports.getCurrentBrowser=k;exports.getExponentialDelay=U;exports.getHighestQuality=X;exports.interval=ae;exports.isHigher=Y;exports.isHigherOrEqual=K;exports.isInvariantQuality=v;exports.isLower=x;exports.isLowerOrEqual=W;exports.isNonNullable=y;exports.isNullable=T;exports.map=I;exports.mapTo=Oe;exports.merge=se;exports.noop=b;exports.now=D;exports.observableFrom=ce;exports.once=ye;exports.pairwise=Te;exports.safeStorage=$;exports.tap=Ie;exports.throttle=ge;exports.timeout=oe;exports.videoHeightToQuality=J;exports.videoQualityToHeight=ee;exports.videoSizeToQuality=Z;
|
|
6
|
+
"use strict";const C="1.0.27-beta.1";class p{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const f=t=>{throw new Error(`${t} is value of unexpected type`)},Q=t=>{},b=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){let r;i?typeof i=="function"?r={next:i,error:b}:r={next:s=>i.next(s),error:s=>i.error?.(s)}:r={next:b,error:b};const o=typeof e=="function"?{next:s=>{try{e(s)}catch(l){r.next(l)}},error:s=>r.next(s)}:{next:s=>e.next(s),error:s=>e.error?e.error(s):r.next(s)};let n;try{n=this._subscribe(o)}catch(s){o.error?.(s)}return new p().add(()=>{switch(o.next=b,o.error=b,typeof n){case"function":n();return;case"object":n.unsubscribe();return;case"undefined":return;default:return f(n)}})}pipe(...e){return e.reduce((i,r)=>r(i),this)}_subscribe(e){}}class S extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>i.error?.(e))}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new p().add(()=>this.subscribers.delete(i))}}class P{log$=new S;logs=[];log=e=>{const i={...e,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)};createCustomLog(e){return(...i)=>{let r;try{r=e(...i)}catch{r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(e){return this.createCustomLog(i=>({component:e,...i}))}getAllLogs=()=>this.logs}function V(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function M(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function y(t){return typeof t<"u"&&t!==null}function A(t){return t==null}const D=(t,e,i)=>new Promise((r,o)=>{e.addEventListener("abort",()=>{l(),h.remove()});const n=()=>{l(),o()},s=()=>{l(),r()},l=()=>{m&&clearTimeout(m),h.removeEventListener("load",s),h.removeEventListener("error",n)};let m;i&&(m=window.setTimeout(n,i));const h=document.createElement("script");h.addEventListener("load",s),h.addEventListener("error",n),h.src=t,document.head.appendChild(h)}),G=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),k=(t,e)=>async(...i)=>{const r=e(...i);let o=t.aborted,n;for(;!o&&!t.aborted;){const s=await r.next(n);o=s.done??!1,n=s.value}return n};exports.CurrentClientBrowser=void 0;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const U=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(t)?exports.CurrentClientBrowser.Chrome:void 0,r=/chromium/i.test(t)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(t)?exports.CurrentClientBrowser.Firefox:void 0,n=/webkit|safari|khtml/i.test(t)?exports.CurrentClientBrowser.Safari:void 0,s=/opr\//i.test(t)?exports.CurrentClientBrowser.Opera:void 0,l=/edg/i.test(t)?exports.CurrentClientBrowser.Edge:void 0,m=/android/i.test(t)?exports.CurrentClientDevice.Android:void 0,h=/iphone/i.test(t)?exports.CurrentClientDevice.iPhone:void 0,L=/ipad/i.test(t)?exports.CurrentClientDevice.iPad:void 0,N=/ipod/i.test(t)?exports.CurrentClientDevice.iPod:void 0,R=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:e||o||s||l||i||r||n||exports.CurrentClientBrowser.Rest,device:m||h||L||N||R||exports.CurrentClientDevice.Desktop}},j=(t,{start:e=0,factor:i=2,max:r=1/0,min:o=e,random:n=0}={})=>{let s=e;return s*=i**t,s*=1+(Math.random()*n*2-n),s=Math.round(s),s=Math.min(s,r),s=Math.max(s,o),s};var a;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(a||(a={}));let w,d;const E=`vk-videoplayer-dummy-key-${Math.random()}`,g=()=>{if(d!==void 0)return d;try{localStorage.setItem(E,"test"),localStorage.removeItem(E),d=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(E),d=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)d=a.RUNTIME;else throw e}else throw t}return d===a.RUNTIME&&(w=new Map),d},F=()=>g()===a.LOCAL_STORAGE,H=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return localStorage.getItem(t)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(t)??void 0;case a.RUNTIME:return w?.get(t);default:f(e)}},q=(t,e)=>{const i=g();switch(i){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.RUNTIME:return void w?.set(t,e);default:f(i)}},z=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return t in localStorage;case a.SESSION_STORAGE:return t in sessionStorage;case a.RUNTIME:return w?.has(t)??!1;default:return f(e),!1}},B=t=>{const e=g();switch(e){case a.LOCAL_STORAGE:return localStorage.removeItem(t);case a.SESSION_STORAGE:return sessionStorage.removeItem(t);case a.RUNTIME:return void w?.delete(t);default:f(e)}},$=()=>{const t=g();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return w?.clear();default:f(t)}};var W=Object.freeze({__proto__:null,clear:$,get:H,has:z,isPersistent:F,remove:B,set:q});exports.VideoQuality=void 0;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const u={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},Y=(t,e)=>u[t].height>u[e].height,K=(t,e)=>u[t].height>=u[e].height,x=(t,e)=>u[t].height<u[e].height,X=(t,e)=>u[t].height<=u[e].height,J=t=>t.sort((e,i)=>e===i?0:e===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:x(e,i)?1:-1)[0],T=Object.keys(u).sort((t,e)=>x(t,e)?-1:1),Z=(t,e=.02)=>[...T].find(r=>u[r].height*(1+e)>=t),ee=({width:t,height:e})=>{const i=Math.min(t,e),r=Math.max(t,e);return T.find(o=>{const n=u[o];return n.width>=r&&n.height>=i})},te=t=>u[t].height,v=t=>t===exports.VideoQuality.INVARIANT,ie=t=>t.every(e=>!v(e));function re(t){if(v(t))throw new Error("Expected exact quality")}const _=(t,e)=>{const i={};for(const r of Object.keys(e)){const o=e[r],n=t[r];Array.isArray(o)&&Array.isArray(n)?i[r]=n:typeof o=="object"&&typeof n=="object"?i[r]=_(n,o):i[r]=r in t?n:o}return i};class ne extends S{value;constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function se(t){return new c(e=>{const i={};let r=Object.keys(t).length;const o=n=>s=>{n in i||r--,i[n]=s,r===0&&e.next(i)};return Object.entries(t).reduce((n,[s,l])=>n.add(l.subscribe(o(s))),new p)})}function oe(...t){return new c(e=>t.reduce((i,r)=>i.add(r.subscribe(e)),new p))}var ae=t=>new c(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(r){if(e.error)e.error(r);else throw r}},t);return()=>window.clearTimeout(i)}),ce=t=>new c(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),ue=t=>new c(e=>{t.forEach(i=>e.next(i))}),le=(t,e)=>new c(i=>{const r=o=>i.next(o);return t.addEventListener(e,r),()=>t.removeEventListener(e,r)});function he(t){return e=>new c(i=>e.subscribe(new de(i,t)))}class de{destination;size;lastValues=[];constructor(e,i){this.destination=e,this.size=i}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){this.destination.error?.(e)}}const fe={leading:!1,trailing:!0};function be(t,e=fe){return i=>new c(r=>i.subscribe(new we(r,t,e)))}class we{destination;time;config;lastValue;timeout;constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,y(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const ge={leading:!0,trailing:!1};function me(t,e=ge){return i=>new c(r=>i.subscribe(new pe(r,t,e)))}class pe{destination;time;config;lastValue;timeout;constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,A(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){this.destination.error?.(e)}}function Ee(t){return e=>new c(i=>e.subscribe(new Se(i,t)))}class Se{destination;predicate;constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function xe(t=(e,i)=>e===i){return e=>new c(i=>e.subscribe(new ve(i,t)))}const O={};class ve{destination;predicate;lastValue=O;constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.lastValue===O||!this.predicate(this.lastValue,e),this.lastValue=e}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function I(t){return e=>new c(i=>e.subscribe(new Oe(i,t)))}let Oe=class{destination;mapper;constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(r){throw this.error(r),r}this.destination.next(i)}error(e){this.destination.error?.(e)}};function ye(t){return I(()=>t)}function Ae(){return t=>new c(e=>{let i=!1,r=!1;const o=t.subscribe(n=>{i||(i=!0,e.next(n)),r&&o.unsubscribe()},n=>{i=!0,e.error?.(n),r&&o.unsubscribe()});return r=!0,i&&o.unsubscribe(),o})}function Te(){return t=>new c(e=>t.subscribe(new _e(e)))}class _e{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){this.destination.error?.(e)}}function Ie(t){return e=>new c(i=>e.subscribe(new Le(i,t)))}class Le{destination;effect;constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){this.destination.error?.(e)}}exports.ErrorCategory=void 0;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));exports.Logger=P;exports.Observable=c;exports.Subject=S;exports.Subscription=p;exports.VERSION=C;exports.ValueSubject=ne;exports.abortable=k;exports.addScript=D;exports.areQualitiesExact=ie;exports.assertNever=f;exports.assertNonNullable=V;exports.assertNullable=M;exports.assertQualityIsExact=re;exports.buffer=he;exports.checkNever=Q;exports.combine=se;exports.debounce=be;exports.fillWithDefault=_;exports.filter=Ee;exports.filterChanged=xe;exports.fromEvent=le;exports.getCurrentBrowser=U;exports.getExponentialDelay=j;exports.getHighestQuality=J;exports.interval=ce;exports.isHigher=Y;exports.isHigherOrEqual=K;exports.isInvariantQuality=v;exports.isLower=x;exports.isLowerOrEqual=X;exports.isNonNullable=y;exports.isNullable=A;exports.map=I;exports.mapTo=ye;exports.merge=oe;exports.noop=b;exports.now=G;exports.observableFrom=ue;exports.once=Ae;exports.pairwise=Te;exports.safeStorage=W;exports.tap=Ie;exports.throttle=me;exports.timeout=ae;exports.videoHeightToQuality=Z;exports.videoQualityToHeight=te;exports.videoSizeToQuality=ee;
|
package/esnext.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.27-beta.
|
|
3
|
-
* Mon,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.27-beta.1
|
|
3
|
+
* Mon, 14 Aug 2023 12:11:04 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-27/doc/
|
|
5
5
|
*/
|
|
6
|
-
const J="1.0.27-beta.0";class S{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(s=>typeof s=="function"?s():s.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const w=t=>{throw new Error(`${t} is value of unexpected type`)},Z=t=>{},x=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,s){let i;s?typeof s=="function"?i={next:s,error:x}:i={next:n=>s.next(n),error:n=>s.error?.(n)}:i={next:x,error:x};const o=typeof e=="function"?{next:n=>{try{e(n)}catch(l){i.next(l)}},error:n=>i.next(n)}:{next:n=>e.next(n),error:n=>e.error?e.error(n):i.next(n)};let r;try{r=this._subscribe(o)}catch(n){o.error?.(n)}return new S().add(()=>{switch(o.next=x,o.error=x,typeof r){case"function":r();return;case"object":r.unsubscribe();return;case"undefined":return;default:return w(r)}})}pipe(...e){return e.reduce((s,i)=>i(s),this)}_subscribe(e){}}class T extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(s=>s.next(e))}error(e){this.subscribers.forEach(s=>s.error?.(e))}_subscribe(e){const s=this.keyCounter++;return this.subscribers.set(s,e),new S().add(()=>this.subscribers.delete(s))}}class B{log$=new T;logs=[];log=e=>{const s={...e,timestamp:Date.now()};this.logs.push(s),this.log$.next(s)};createCustomLog(e){return(...s)=>{let i;try{i=e(...s)}catch{i={message:"error in `createCustomLog`",component:"Logger"}}this.log(i)}}createComponentLog(e){return this.createCustomLog(s=>({component:e,...s}))}getAllLogs=()=>this.logs}function ee(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function te(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function M(t){return typeof t<"u"&&t!==null}function y(t){return t==null}const se=(t,e,s)=>new Promise((i,o)=>{e.addEventListener("abort",()=>{l(),f.remove()});const r=()=>{l(),o()},n=()=>{l(),i()},l=()=>{E&&clearTimeout(E),f.removeEventListener("load",n),f.removeEventListener("error",r)};let E;s&&(E=window.setTimeout(r,s));const f=document.createElement("script");f.addEventListener("load",n),f.addEventListener("error",r),f.src=t,document.head.appendChild(f)}),ie=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),ne=(t,e)=>async(...s)=>{const i=e(...s);let o=t.aborted,r;for(;!o&&!t.aborted;){const n=await i.next(r);o=n.done??!1,r=n.value}return r};var d;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(d||(d={}));var b;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(b||(b={}));const re=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?d.Yandex:void 0,s=/chrome|crios/i.test(t)?d.Chrome:void 0,i=/chromium/i.test(t)?d.Chromium:void 0,o=/firefox|fxios/i.test(t)?d.Firefox:void 0,r=/webkit|safari|khtml/i.test(t)?d.Safari:void 0,n=/opr\//i.test(t)?d.Opera:void 0,l=/edg/i.test(t)?d.Edge:void 0,E=/android/i.test(t)?b.Android:void 0,f=/iphone/i.test(t)?b.iPhone:void 0,R=/ipad/i.test(t)?b.iPad:void 0,P=/ipod/i.test(t)?b.iPod:void 0,N=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?b.RestMobile:void 0;return{browser:e||o||n||l||s||i||r||d.Rest,device:E||f||R||P||N||b.Desktop}},oe=(t,{start:e=0,factor:s=2,max:i=1/0,min:o=e,random:r=0}={})=>{let n=e;return n*=s**t,n*=1+(Math.random()*r*2-r),n=Math.round(n),n=Math.min(n,i),n=Math.max(n,o),n};var a;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(a||(a={}));let g,m;const O=`vk-videoplayer-dummy-key-${Math.random()}`,p=()=>{if(m!==void 0)return m;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),m=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(O),m=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)m=a.RUNTIME;else throw e}else throw t}return m===a.RUNTIME&&(g=new Map),m},Q=()=>p()===a.LOCAL_STORAGE,G=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return localStorage.getItem(t)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(t)??void 0;case a.RUNTIME:return g?.get(t);default:w(e)}},V=(t,e)=>{const s=p();switch(s){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.RUNTIME:return void g?.set(t,e);default:w(s)}},U=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return t in localStorage;case a.SESSION_STORAGE:return t in sessionStorage;case a.RUNTIME:return g?.has(t)??!1;default:return w(e),!1}},k=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return localStorage.removeItem(t);case a.SESSION_STORAGE:return sessionStorage.removeItem(t);case a.RUNTIME:return void g?.delete(t);default:w(e)}},F=()=>{const t=p();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return g?.clear();default:w(t)}};var ae=Object.freeze({__proto__:null,clear:F,get:G,has:U,isPersistent:Q,remove:k,set:V}),u;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(u||(u={}));const h={[u.Q_144P]:{width:256,height:144},[u.Q_240P]:{width:428,height:240},[u.Q_360P]:{width:640,height:360},[u.Q_480P]:{width:856,height:480},[u.Q_720P]:{width:1280,height:720},[u.Q_1080P]:{width:1920,height:1080},[u.Q_1440P]:{width:2560,height:1440},[u.Q_2160P]:{width:3840,height:2160},[u.Q_4320P]:{width:7680,height:4320}},ce=(t,e)=>h[t].height>h[e].height,ue=(t,e)=>h[t].height>=h[e].height,I=(t,e)=>h[t].height<h[e].height,he=(t,e)=>h[t].height<=h[e].height,de=t=>t.sort((e,s)=>e===s?0:e===u.INVARIANT?1:s===u.INVARIANT?-1:I(e,s)?1:-1)[0],L=Object.keys(h).sort((t,e)=>I(t,e)?-1:1),le=(t,e=.02)=>[...L].find(i=>h[i].height*(1+e)>=t),fe=({width:t,height:e})=>{const s=Math.min(t,e),i=Math.max(t,e);return L.find(o=>{const r=h[o];return r.width>=i&&r.height>=s})},be=t=>h[t].height,v=t=>t===u.INVARIANT,me=t=>t.every(e=>!v(e));function we(t){if(v(t))throw new Error("Expected exact quality")}class ge extends T{value;constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const s=super._subscribe(e);return e.next(this.value),s}}function pe(t){return new c(e=>{const s={};let i=Object.keys(t).length;const o=r=>n=>{r in s||i--,s[r]=n,i===0&&e.next(s)};return Object.entries(t).reduce((r,[n,l])=>r.add(l.subscribe(o(n))),new S)})}function Ee(...t){return new c(e=>t.reduce((s,i)=>s.add(i.subscribe(e)),new S))}var xe=t=>new c(e=>{const s=window.setTimeout(()=>{try{e.next()}catch(i){if(e.error)e.error(i);else throw i}},t);return()=>window.clearTimeout(s)}),Se=t=>new c(e=>{const s=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(s)}),Oe=t=>new c(e=>{t.forEach(s=>e.next(s))}),_e=(t,e)=>new c(s=>{const i=o=>s.next(o);return t.addEventListener(e,i),()=>t.removeEventListener(e,i)});function Ae(t){return e=>new c(s=>e.subscribe(new D(s,t)))}class D{destination;size;lastValues=[];constructor(e,s){this.destination=e,this.size=s}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){this.destination.error?.(e)}}const j={leading:!1,trailing:!0};function Te(t,e=j){return s=>new c(i=>s.subscribe(new z(i,t,e)))}class z{destination;time;config;lastValue;timeout;constructor(e,s,i){this.destination=e,this.time=s,this.config=i}next(e){this.lastValue=e,M(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(s){if(this.destination.error)this.destination.error(s);else throw s}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const q={leading:!0,trailing:!1};function Ie(t,e=q){return s=>new c(i=>s.subscribe(new $(i,t,e)))}class ${destination;time;config;lastValue;timeout;constructor(e,s,i){this.destination=e,this.time=s,this.config=i}next(e){this.lastValue=e,y(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){this.destination.error?.(e)}}function Le(t){return e=>new c(s=>e.subscribe(new H(s,t)))}class H{destination;predicate;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.predicate(e)}catch(i){throw this.error(i),i}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function ve(t=(e,s)=>e===s){return e=>new c(s=>e.subscribe(new Y(s,t)))}const _={};class Y{destination;predicate;lastValue=_;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.lastValue===_||!this.predicate(this.lastValue,e),this.lastValue=e}catch(i){throw this.error(i),i}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function C(t){return e=>new c(s=>e.subscribe(new K(s,t)))}let K=class{destination;mapper;constructor(e,s){this.destination=e,this.mapper=s}next(e){let s;try{s=this.mapper(e)}catch(i){throw this.error(i),i}this.destination.next(s)}error(e){this.destination.error?.(e)}};function Pe(t){return C(()=>t)}function Ne(){return t=>new c(e=>{let s=!1,i=!1;const o=t.subscribe(r=>{s||(s=!0,e.next(r)),i&&o.unsubscribe()},r=>{s=!0,e.error?.(r),i&&o.unsubscribe()});return i=!0,s&&o.unsubscribe(),o})}function Me(){return t=>new c(e=>t.subscribe(new W(e)))}class W{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const s=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([s,e])}error(e){this.destination.error?.(e)}}function ye(t){return e=>new c(s=>e.subscribe(new X(s,t)))}class X{destination;effect;constructor(e,s){this.destination=e,this.effect=s}next(e){try{this.effect(e)}catch(s){throw this.error(s),s}this.destination.next(e)}error(e){this.destination.error?.(e)}}var A;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(A||(A={}));export{d as CurrentClientBrowser,b as CurrentClientDevice,A as ErrorCategory,B as Logger,c as Observable,T as Subject,S as Subscription,J as VERSION,ge as ValueSubject,u as VideoQuality,ne as abortable,se as addScript,me as areQualitiesExact,w as assertNever,ee as assertNonNullable,te as assertNullable,we as assertQualityIsExact,Ae as buffer,Z as checkNever,pe as combine,Te as debounce,Le as filter,ve as filterChanged,_e as fromEvent,re as getCurrentBrowser,oe as getExponentialDelay,de as getHighestQuality,Se as interval,ce as isHigher,ue as isHigherOrEqual,v as isInvariantQuality,I as isLower,he as isLowerOrEqual,M as isNonNullable,y as isNullable,C as map,Pe as mapTo,Ee as merge,x as noop,ie as now,Oe as observableFrom,Ne as once,Me as pairwise,ae as safeStorage,ye as tap,Ie as throttle,xe as timeout,le as videoHeightToQuality,be as videoQualityToHeight,fe as videoSizeToQuality};
|
|
6
|
+
const Z="1.0.27-beta.1";class S{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(s=>typeof s=="function"?s():s.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const w=t=>{throw new Error(`${t} is value of unexpected type`)},B=t=>{},x=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,s){let i;s?typeof s=="function"?i={next:s,error:x}:i={next:r=>s.next(r),error:r=>s.error?.(r)}:i={next:x,error:x};const o=typeof e=="function"?{next:r=>{try{e(r)}catch(l){i.next(l)}},error:r=>i.next(r)}:{next:r=>e.next(r),error:r=>e.error?e.error(r):i.next(r)};let n;try{n=this._subscribe(o)}catch(r){o.error?.(r)}return new S().add(()=>{switch(o.next=x,o.error=x,typeof n){case"function":n();return;case"object":n.unsubscribe();return;case"undefined":return;default:return w(n)}})}pipe(...e){return e.reduce((s,i)=>i(s),this)}_subscribe(e){}}class T extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(s=>s.next(e))}error(e){this.subscribers.forEach(s=>s.error?.(e))}_subscribe(e){const s=this.keyCounter++;return this.subscribers.set(s,e),new S().add(()=>this.subscribers.delete(s))}}class ee{log$=new T;logs=[];log=e=>{const s={...e,timestamp:Date.now()};this.logs.push(s),this.log$.next(s)};createCustomLog(e){return(...s)=>{let i;try{i=e(...s)}catch{i={message:"error in `createCustomLog`",component:"Logger"}}this.log(i)}}createComponentLog(e){return this.createCustomLog(s=>({component:e,...s}))}getAllLogs=()=>this.logs}function te(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function se(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function N(t){return typeof t<"u"&&t!==null}function M(t){return t==null}const ie=(t,e,s)=>new Promise((i,o)=>{e.addEventListener("abort",()=>{l(),f.remove()});const n=()=>{l(),o()},r=()=>{l(),i()},l=()=>{E&&clearTimeout(E),f.removeEventListener("load",r),f.removeEventListener("error",n)};let E;s&&(E=window.setTimeout(n,s));const f=document.createElement("script");f.addEventListener("load",r),f.addEventListener("error",n),f.src=t,document.head.appendChild(f)}),ne=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),re=(t,e)=>async(...s)=>{const i=e(...s);let o=t.aborted,n;for(;!o&&!t.aborted;){const r=await i.next(n);o=r.done??!1,n=r.value}return n};var d;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(d||(d={}));var b;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(b||(b={}));const oe=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?d.Yandex:void 0,s=/chrome|crios/i.test(t)?d.Chrome:void 0,i=/chromium/i.test(t)?d.Chromium:void 0,o=/firefox|fxios/i.test(t)?d.Firefox:void 0,n=/webkit|safari|khtml/i.test(t)?d.Safari:void 0,r=/opr\//i.test(t)?d.Opera:void 0,l=/edg/i.test(t)?d.Edge:void 0,E=/android/i.test(t)?b.Android:void 0,f=/iphone/i.test(t)?b.iPhone:void 0,R=/ipad/i.test(t)?b.iPad:void 0,P=/ipod/i.test(t)?b.iPod:void 0,y=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?b.RestMobile:void 0;return{browser:e||o||r||l||s||i||n||d.Rest,device:E||f||R||P||y||b.Desktop}},ae=(t,{start:e=0,factor:s=2,max:i=1/0,min:o=e,random:n=0}={})=>{let r=e;return r*=s**t,r*=1+(Math.random()*n*2-n),r=Math.round(r),r=Math.min(r,i),r=Math.max(r,o),r};var a;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(a||(a={}));let g,m;const O=`vk-videoplayer-dummy-key-${Math.random()}`,p=()=>{if(m!==void 0)return m;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),m=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(O),m=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)m=a.RUNTIME;else throw e}else throw t}return m===a.RUNTIME&&(g=new Map),m},V=()=>p()===a.LOCAL_STORAGE,Q=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return localStorage.getItem(t)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(t)??void 0;case a.RUNTIME:return g?.get(t);default:w(e)}},G=(t,e)=>{const s=p();switch(s){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.RUNTIME:return void g?.set(t,e);default:w(s)}},k=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return t in localStorage;case a.SESSION_STORAGE:return t in sessionStorage;case a.RUNTIME:return g?.has(t)??!1;default:return w(e),!1}},U=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return localStorage.removeItem(t);case a.SESSION_STORAGE:return sessionStorage.removeItem(t);case a.RUNTIME:return void g?.delete(t);default:w(e)}},j=()=>{const t=p();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return g?.clear();default:w(t)}};var ce=Object.freeze({__proto__:null,clear:j,get:Q,has:k,isPersistent:V,remove:U,set:G}),u;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(u||(u={}));const h={[u.Q_144P]:{width:256,height:144},[u.Q_240P]:{width:428,height:240},[u.Q_360P]:{width:640,height:360},[u.Q_480P]:{width:856,height:480},[u.Q_720P]:{width:1280,height:720},[u.Q_1080P]:{width:1920,height:1080},[u.Q_1440P]:{width:2560,height:1440},[u.Q_2160P]:{width:3840,height:2160},[u.Q_4320P]:{width:7680,height:4320}},ue=(t,e)=>h[t].height>h[e].height,he=(t,e)=>h[t].height>=h[e].height,I=(t,e)=>h[t].height<h[e].height,de=(t,e)=>h[t].height<=h[e].height,le=t=>t.sort((e,s)=>e===s?0:e===u.INVARIANT?1:s===u.INVARIANT?-1:I(e,s)?1:-1)[0],v=Object.keys(h).sort((t,e)=>I(t,e)?-1:1),fe=(t,e=.02)=>[...v].find(i=>h[i].height*(1+e)>=t),be=({width:t,height:e})=>{const s=Math.min(t,e),i=Math.max(t,e);return v.find(o=>{const n=h[o];return n.width>=i&&n.height>=s})},me=t=>h[t].height,L=t=>t===u.INVARIANT,we=t=>t.every(e=>!L(e));function ge(t){if(L(t))throw new Error("Expected exact quality")}const F=(t,e)=>{const s={};for(const i of Object.keys(e)){const o=e[i],n=t[i];Array.isArray(o)&&Array.isArray(n)?s[i]=n:typeof o=="object"&&typeof n=="object"?s[i]=F(n,o):s[i]=i in t?n:o}return s};class pe extends T{value;constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const s=super._subscribe(e);return e.next(this.value),s}}function Ee(t){return new c(e=>{const s={};let i=Object.keys(t).length;const o=n=>r=>{n in s||i--,s[n]=r,i===0&&e.next(s)};return Object.entries(t).reduce((n,[r,l])=>n.add(l.subscribe(o(r))),new S)})}function xe(...t){return new c(e=>t.reduce((s,i)=>s.add(i.subscribe(e)),new S))}var Se=t=>new c(e=>{const s=window.setTimeout(()=>{try{e.next()}catch(i){if(e.error)e.error(i);else throw i}},t);return()=>window.clearTimeout(s)}),Oe=t=>new c(e=>{const s=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(s)}),Ae=t=>new c(e=>{t.forEach(s=>e.next(s))}),_e=(t,e)=>new c(s=>{const i=o=>s.next(o);return t.addEventListener(e,i),()=>t.removeEventListener(e,i)});function Te(t){return e=>new c(s=>e.subscribe(new D(s,t)))}class D{destination;size;lastValues=[];constructor(e,s){this.destination=e,this.size=s}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){this.destination.error?.(e)}}const z={leading:!1,trailing:!0};function Ie(t,e=z){return s=>new c(i=>s.subscribe(new q(i,t,e)))}class q{destination;time;config;lastValue;timeout;constructor(e,s,i){this.destination=e,this.time=s,this.config=i}next(e){this.lastValue=e,N(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(s){if(this.destination.error)this.destination.error(s);else throw s}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const $={leading:!0,trailing:!1};function ve(t,e=$){return s=>new c(i=>s.subscribe(new H(i,t,e)))}class H{destination;time;config;lastValue;timeout;constructor(e,s,i){this.destination=e,this.time=s,this.config=i}next(e){this.lastValue=e,M(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){this.destination.error?.(e)}}function Le(t){return e=>new c(s=>e.subscribe(new Y(s,t)))}class Y{destination;predicate;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.predicate(e)}catch(i){throw this.error(i),i}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function Re(t=(e,s)=>e===s){return e=>new c(s=>e.subscribe(new K(s,t)))}const A={};class K{destination;predicate;lastValue=A;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.lastValue===A||!this.predicate(this.lastValue,e),this.lastValue=e}catch(i){throw this.error(i),i}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function W(t){return e=>new c(s=>e.subscribe(new C(s,t)))}let C=class{destination;mapper;constructor(e,s){this.destination=e,this.mapper=s}next(e){let s;try{s=this.mapper(e)}catch(i){throw this.error(i),i}this.destination.next(s)}error(e){this.destination.error?.(e)}};function ye(t){return W(()=>t)}function Ne(){return t=>new c(e=>{let s=!1,i=!1;const o=t.subscribe(n=>{s||(s=!0,e.next(n)),i&&o.unsubscribe()},n=>{s=!0,e.error?.(n),i&&o.unsubscribe()});return i=!0,s&&o.unsubscribe(),o})}function Me(){return t=>new c(e=>t.subscribe(new X(e)))}class X{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const s=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([s,e])}error(e){this.destination.error?.(e)}}function Ve(t){return e=>new c(s=>e.subscribe(new J(s,t)))}class J{destination;effect;constructor(e,s){this.destination=e,this.effect=s}next(e){try{this.effect(e)}catch(s){throw this.error(s),s}this.destination.next(e)}error(e){this.destination.error?.(e)}}var _;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(_||(_={}));export{d as CurrentClientBrowser,b as CurrentClientDevice,_ as ErrorCategory,ee as Logger,c as Observable,T as Subject,S as Subscription,Z as VERSION,pe as ValueSubject,u as VideoQuality,re as abortable,ie as addScript,we as areQualitiesExact,w as assertNever,te as assertNonNullable,se as assertNullable,ge as assertQualityIsExact,Te as buffer,B as checkNever,Ee as combine,Ie as debounce,F as fillWithDefault,Le as filter,Re as filterChanged,_e as fromEvent,oe as getCurrentBrowser,ae as getExponentialDelay,le as getHighestQuality,Oe as interval,ue as isHigher,he as isHigherOrEqual,L as isInvariantQuality,I as isLower,de as isLowerOrEqual,N as isNonNullable,M as isNullable,W as map,ye as mapTo,xe as merge,x as noop,ne as now,Ae as observableFrom,Ne as once,Me as pairwise,ce as safeStorage,Ve as tap,ve as throttle,Se as timeout,fe as videoHeightToQuality,me as videoQualityToHeight,be as videoSizeToQuality};
|
package/evergreen.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.27-beta.
|
|
3
|
-
* Mon,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.27-beta.1
|
|
3
|
+
* Mon, 14 Aug 2023 12:11:04 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-27/doc/
|
|
5
5
|
*/
|
|
6
|
-
const J="1.0.27-beta.0";class S{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(s=>typeof s=="function"?s():s.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const w=t=>{throw new Error(`${t} is value of unexpected type`)},Z=t=>{},x=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,s){let i;s?typeof s=="function"?i={next:s,error:x}:i={next:n=>s.next(n),error:n=>s.error?.(n)}:i={next:x,error:x};const o=typeof e=="function"?{next:n=>{try{e(n)}catch(l){i.next(l)}},error:n=>i.next(n)}:{next:n=>e.next(n),error:n=>e.error?e.error(n):i.next(n)};let r;try{r=this._subscribe(o)}catch(n){o.error?.(n)}return new S().add(()=>{switch(o.next=x,o.error=x,typeof r){case"function":r();return;case"object":r.unsubscribe();return;case"undefined":return;default:return w(r)}})}pipe(...e){return e.reduce((s,i)=>i(s),this)}_subscribe(e){}}class T extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(s=>s.next(e))}error(e){this.subscribers.forEach(s=>s.error?.(e))}_subscribe(e){const s=this.keyCounter++;return this.subscribers.set(s,e),new S().add(()=>this.subscribers.delete(s))}}class B{log$=new T;logs=[];log=e=>{const s={...e,timestamp:Date.now()};this.logs.push(s),this.log$.next(s)};createCustomLog(e){return(...s)=>{let i;try{i=e(...s)}catch{i={message:"error in `createCustomLog`",component:"Logger"}}this.log(i)}}createComponentLog(e){return this.createCustomLog(s=>({component:e,...s}))}getAllLogs=()=>this.logs}function ee(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function te(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function M(t){return typeof t<"u"&&t!==null}function y(t){return t==null}const se=(t,e,s)=>new Promise((i,o)=>{e.addEventListener("abort",()=>{l(),f.remove()});const r=()=>{l(),o()},n=()=>{l(),i()},l=()=>{E&&clearTimeout(E),f.removeEventListener("load",n),f.removeEventListener("error",r)};let E;s&&(E=window.setTimeout(r,s));const f=document.createElement("script");f.addEventListener("load",n),f.addEventListener("error",r),f.src=t,document.head.appendChild(f)}),ie=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),ne=(t,e)=>async(...s)=>{const i=e(...s);let o=t.aborted,r;for(;!o&&!t.aborted;){const n=await i.next(r);o=n.done??!1,r=n.value}return r};var d;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(d||(d={}));var b;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(b||(b={}));const re=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?d.Yandex:void 0,s=/chrome|crios/i.test(t)?d.Chrome:void 0,i=/chromium/i.test(t)?d.Chromium:void 0,o=/firefox|fxios/i.test(t)?d.Firefox:void 0,r=/webkit|safari|khtml/i.test(t)?d.Safari:void 0,n=/opr\//i.test(t)?d.Opera:void 0,l=/edg/i.test(t)?d.Edge:void 0,E=/android/i.test(t)?b.Android:void 0,f=/iphone/i.test(t)?b.iPhone:void 0,R=/ipad/i.test(t)?b.iPad:void 0,P=/ipod/i.test(t)?b.iPod:void 0,N=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?b.RestMobile:void 0;return{browser:e||o||n||l||s||i||r||d.Rest,device:E||f||R||P||N||b.Desktop}},oe=(t,{start:e=0,factor:s=2,max:i=1/0,min:o=e,random:r=0}={})=>{let n=e;return n*=s**t,n*=1+(Math.random()*r*2-r),n=Math.round(n),n=Math.min(n,i),n=Math.max(n,o),n};var a;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(a||(a={}));let g,m;const O=`vk-videoplayer-dummy-key-${Math.random()}`,p=()=>{if(m!==void 0)return m;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),m=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(O),m=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)m=a.RUNTIME;else throw e}else throw t}return m===a.RUNTIME&&(g=new Map),m},Q=()=>p()===a.LOCAL_STORAGE,G=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return localStorage.getItem(t)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(t)??void 0;case a.RUNTIME:return g?.get(t);default:w(e)}},V=(t,e)=>{const s=p();switch(s){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.RUNTIME:return void g?.set(t,e);default:w(s)}},U=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return t in localStorage;case a.SESSION_STORAGE:return t in sessionStorage;case a.RUNTIME:return g?.has(t)??!1;default:return w(e),!1}},k=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return localStorage.removeItem(t);case a.SESSION_STORAGE:return sessionStorage.removeItem(t);case a.RUNTIME:return void g?.delete(t);default:w(e)}},F=()=>{const t=p();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return g?.clear();default:w(t)}};var ae=Object.freeze({__proto__:null,clear:F,get:G,has:U,isPersistent:Q,remove:k,set:V}),u;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(u||(u={}));const h={[u.Q_144P]:{width:256,height:144},[u.Q_240P]:{width:428,height:240},[u.Q_360P]:{width:640,height:360},[u.Q_480P]:{width:856,height:480},[u.Q_720P]:{width:1280,height:720},[u.Q_1080P]:{width:1920,height:1080},[u.Q_1440P]:{width:2560,height:1440},[u.Q_2160P]:{width:3840,height:2160},[u.Q_4320P]:{width:7680,height:4320}},ce=(t,e)=>h[t].height>h[e].height,ue=(t,e)=>h[t].height>=h[e].height,I=(t,e)=>h[t].height<h[e].height,he=(t,e)=>h[t].height<=h[e].height,de=t=>t.sort((e,s)=>e===s?0:e===u.INVARIANT?1:s===u.INVARIANT?-1:I(e,s)?1:-1)[0],L=Object.keys(h).sort((t,e)=>I(t,e)?-1:1),le=(t,e=.02)=>[...L].find(i=>h[i].height*(1+e)>=t),fe=({width:t,height:e})=>{const s=Math.min(t,e),i=Math.max(t,e);return L.find(o=>{const r=h[o];return r.width>=i&&r.height>=s})},be=t=>h[t].height,v=t=>t===u.INVARIANT,me=t=>t.every(e=>!v(e));function we(t){if(v(t))throw new Error("Expected exact quality")}class ge extends T{value;constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const s=super._subscribe(e);return e.next(this.value),s}}function pe(t){return new c(e=>{const s={};let i=Object.keys(t).length;const o=r=>n=>{r in s||i--,s[r]=n,i===0&&e.next(s)};return Object.entries(t).reduce((r,[n,l])=>r.add(l.subscribe(o(n))),new S)})}function Ee(...t){return new c(e=>t.reduce((s,i)=>s.add(i.subscribe(e)),new S))}var xe=t=>new c(e=>{const s=window.setTimeout(()=>{try{e.next()}catch(i){if(e.error)e.error(i);else throw i}},t);return()=>window.clearTimeout(s)}),Se=t=>new c(e=>{const s=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(s)}),Oe=t=>new c(e=>{t.forEach(s=>e.next(s))}),_e=(t,e)=>new c(s=>{const i=o=>s.next(o);return t.addEventListener(e,i),()=>t.removeEventListener(e,i)});function Ae(t){return e=>new c(s=>e.subscribe(new D(s,t)))}class D{destination;size;lastValues=[];constructor(e,s){this.destination=e,this.size=s}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){this.destination.error?.(e)}}const j={leading:!1,trailing:!0};function Te(t,e=j){return s=>new c(i=>s.subscribe(new z(i,t,e)))}class z{destination;time;config;lastValue;timeout;constructor(e,s,i){this.destination=e,this.time=s,this.config=i}next(e){this.lastValue=e,M(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(s){if(this.destination.error)this.destination.error(s);else throw s}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const q={leading:!0,trailing:!1};function Ie(t,e=q){return s=>new c(i=>s.subscribe(new $(i,t,e)))}class ${destination;time;config;lastValue;timeout;constructor(e,s,i){this.destination=e,this.time=s,this.config=i}next(e){this.lastValue=e,y(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){this.destination.error?.(e)}}function Le(t){return e=>new c(s=>e.subscribe(new H(s,t)))}class H{destination;predicate;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.predicate(e)}catch(i){throw this.error(i),i}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function ve(t=(e,s)=>e===s){return e=>new c(s=>e.subscribe(new Y(s,t)))}const _={};class Y{destination;predicate;lastValue=_;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.lastValue===_||!this.predicate(this.lastValue,e),this.lastValue=e}catch(i){throw this.error(i),i}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function C(t){return e=>new c(s=>e.subscribe(new K(s,t)))}let K=class{destination;mapper;constructor(e,s){this.destination=e,this.mapper=s}next(e){let s;try{s=this.mapper(e)}catch(i){throw this.error(i),i}this.destination.next(s)}error(e){this.destination.error?.(e)}};function Pe(t){return C(()=>t)}function Ne(){return t=>new c(e=>{let s=!1,i=!1;const o=t.subscribe(r=>{s||(s=!0,e.next(r)),i&&o.unsubscribe()},r=>{s=!0,e.error?.(r),i&&o.unsubscribe()});return i=!0,s&&o.unsubscribe(),o})}function Me(){return t=>new c(e=>t.subscribe(new W(e)))}class W{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const s=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([s,e])}error(e){this.destination.error?.(e)}}function ye(t){return e=>new c(s=>e.subscribe(new X(s,t)))}class X{destination;effect;constructor(e,s){this.destination=e,this.effect=s}next(e){try{this.effect(e)}catch(s){throw this.error(s),s}this.destination.next(e)}error(e){this.destination.error?.(e)}}var A;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(A||(A={}));export{d as CurrentClientBrowser,b as CurrentClientDevice,A as ErrorCategory,B as Logger,c as Observable,T as Subject,S as Subscription,J as VERSION,ge as ValueSubject,u as VideoQuality,ne as abortable,se as addScript,me as areQualitiesExact,w as assertNever,ee as assertNonNullable,te as assertNullable,we as assertQualityIsExact,Ae as buffer,Z as checkNever,pe as combine,Te as debounce,Le as filter,ve as filterChanged,_e as fromEvent,re as getCurrentBrowser,oe as getExponentialDelay,de as getHighestQuality,Se as interval,ce as isHigher,ue as isHigherOrEqual,v as isInvariantQuality,I as isLower,he as isLowerOrEqual,M as isNonNullable,y as isNullable,C as map,Pe as mapTo,Ee as merge,x as noop,ie as now,Oe as observableFrom,Ne as once,Me as pairwise,ae as safeStorage,ye as tap,Ie as throttle,xe as timeout,le as videoHeightToQuality,be as videoQualityToHeight,fe as videoSizeToQuality};
|
|
6
|
+
const Z="1.0.27-beta.1";class S{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(s=>typeof s=="function"?s():s.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const w=t=>{throw new Error(`${t} is value of unexpected type`)},B=t=>{},x=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,s){let i;s?typeof s=="function"?i={next:s,error:x}:i={next:r=>s.next(r),error:r=>s.error?.(r)}:i={next:x,error:x};const o=typeof e=="function"?{next:r=>{try{e(r)}catch(l){i.next(l)}},error:r=>i.next(r)}:{next:r=>e.next(r),error:r=>e.error?e.error(r):i.next(r)};let n;try{n=this._subscribe(o)}catch(r){o.error?.(r)}return new S().add(()=>{switch(o.next=x,o.error=x,typeof n){case"function":n();return;case"object":n.unsubscribe();return;case"undefined":return;default:return w(n)}})}pipe(...e){return e.reduce((s,i)=>i(s),this)}_subscribe(e){}}class T extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(s=>s.next(e))}error(e){this.subscribers.forEach(s=>s.error?.(e))}_subscribe(e){const s=this.keyCounter++;return this.subscribers.set(s,e),new S().add(()=>this.subscribers.delete(s))}}class ee{log$=new T;logs=[];log=e=>{const s={...e,timestamp:Date.now()};this.logs.push(s),this.log$.next(s)};createCustomLog(e){return(...s)=>{let i;try{i=e(...s)}catch{i={message:"error in `createCustomLog`",component:"Logger"}}this.log(i)}}createComponentLog(e){return this.createCustomLog(s=>({component:e,...s}))}getAllLogs=()=>this.logs}function te(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function se(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function N(t){return typeof t<"u"&&t!==null}function M(t){return t==null}const ie=(t,e,s)=>new Promise((i,o)=>{e.addEventListener("abort",()=>{l(),f.remove()});const n=()=>{l(),o()},r=()=>{l(),i()},l=()=>{E&&clearTimeout(E),f.removeEventListener("load",r),f.removeEventListener("error",n)};let E;s&&(E=window.setTimeout(n,s));const f=document.createElement("script");f.addEventListener("load",r),f.addEventListener("error",n),f.src=t,document.head.appendChild(f)}),ne=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),re=(t,e)=>async(...s)=>{const i=e(...s);let o=t.aborted,n;for(;!o&&!t.aborted;){const r=await i.next(n);o=r.done??!1,n=r.value}return n};var d;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(d||(d={}));var b;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(b||(b={}));const oe=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?d.Yandex:void 0,s=/chrome|crios/i.test(t)?d.Chrome:void 0,i=/chromium/i.test(t)?d.Chromium:void 0,o=/firefox|fxios/i.test(t)?d.Firefox:void 0,n=/webkit|safari|khtml/i.test(t)?d.Safari:void 0,r=/opr\//i.test(t)?d.Opera:void 0,l=/edg/i.test(t)?d.Edge:void 0,E=/android/i.test(t)?b.Android:void 0,f=/iphone/i.test(t)?b.iPhone:void 0,R=/ipad/i.test(t)?b.iPad:void 0,P=/ipod/i.test(t)?b.iPod:void 0,y=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?b.RestMobile:void 0;return{browser:e||o||r||l||s||i||n||d.Rest,device:E||f||R||P||y||b.Desktop}},ae=(t,{start:e=0,factor:s=2,max:i=1/0,min:o=e,random:n=0}={})=>{let r=e;return r*=s**t,r*=1+(Math.random()*n*2-n),r=Math.round(r),r=Math.min(r,i),r=Math.max(r,o),r};var a;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(a||(a={}));let g,m;const O=`vk-videoplayer-dummy-key-${Math.random()}`,p=()=>{if(m!==void 0)return m;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),m=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(O),m=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)m=a.RUNTIME;else throw e}else throw t}return m===a.RUNTIME&&(g=new Map),m},V=()=>p()===a.LOCAL_STORAGE,Q=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return localStorage.getItem(t)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(t)??void 0;case a.RUNTIME:return g?.get(t);default:w(e)}},G=(t,e)=>{const s=p();switch(s){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.RUNTIME:return void g?.set(t,e);default:w(s)}},k=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return t in localStorage;case a.SESSION_STORAGE:return t in sessionStorage;case a.RUNTIME:return g?.has(t)??!1;default:return w(e),!1}},U=t=>{const e=p();switch(e){case a.LOCAL_STORAGE:return localStorage.removeItem(t);case a.SESSION_STORAGE:return sessionStorage.removeItem(t);case a.RUNTIME:return void g?.delete(t);default:w(e)}},j=()=>{const t=p();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return g?.clear();default:w(t)}};var ce=Object.freeze({__proto__:null,clear:j,get:Q,has:k,isPersistent:V,remove:U,set:G}),u;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(u||(u={}));const h={[u.Q_144P]:{width:256,height:144},[u.Q_240P]:{width:428,height:240},[u.Q_360P]:{width:640,height:360},[u.Q_480P]:{width:856,height:480},[u.Q_720P]:{width:1280,height:720},[u.Q_1080P]:{width:1920,height:1080},[u.Q_1440P]:{width:2560,height:1440},[u.Q_2160P]:{width:3840,height:2160},[u.Q_4320P]:{width:7680,height:4320}},ue=(t,e)=>h[t].height>h[e].height,he=(t,e)=>h[t].height>=h[e].height,I=(t,e)=>h[t].height<h[e].height,de=(t,e)=>h[t].height<=h[e].height,le=t=>t.sort((e,s)=>e===s?0:e===u.INVARIANT?1:s===u.INVARIANT?-1:I(e,s)?1:-1)[0],v=Object.keys(h).sort((t,e)=>I(t,e)?-1:1),fe=(t,e=.02)=>[...v].find(i=>h[i].height*(1+e)>=t),be=({width:t,height:e})=>{const s=Math.min(t,e),i=Math.max(t,e);return v.find(o=>{const n=h[o];return n.width>=i&&n.height>=s})},me=t=>h[t].height,L=t=>t===u.INVARIANT,we=t=>t.every(e=>!L(e));function ge(t){if(L(t))throw new Error("Expected exact quality")}const F=(t,e)=>{const s={};for(const i of Object.keys(e)){const o=e[i],n=t[i];Array.isArray(o)&&Array.isArray(n)?s[i]=n:typeof o=="object"&&typeof n=="object"?s[i]=F(n,o):s[i]=i in t?n:o}return s};class pe extends T{value;constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const s=super._subscribe(e);return e.next(this.value),s}}function Ee(t){return new c(e=>{const s={};let i=Object.keys(t).length;const o=n=>r=>{n in s||i--,s[n]=r,i===0&&e.next(s)};return Object.entries(t).reduce((n,[r,l])=>n.add(l.subscribe(o(r))),new S)})}function xe(...t){return new c(e=>t.reduce((s,i)=>s.add(i.subscribe(e)),new S))}var Se=t=>new c(e=>{const s=window.setTimeout(()=>{try{e.next()}catch(i){if(e.error)e.error(i);else throw i}},t);return()=>window.clearTimeout(s)}),Oe=t=>new c(e=>{const s=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(s)}),Ae=t=>new c(e=>{t.forEach(s=>e.next(s))}),_e=(t,e)=>new c(s=>{const i=o=>s.next(o);return t.addEventListener(e,i),()=>t.removeEventListener(e,i)});function Te(t){return e=>new c(s=>e.subscribe(new D(s,t)))}class D{destination;size;lastValues=[];constructor(e,s){this.destination=e,this.size=s}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){this.destination.error?.(e)}}const z={leading:!1,trailing:!0};function Ie(t,e=z){return s=>new c(i=>s.subscribe(new q(i,t,e)))}class q{destination;time;config;lastValue;timeout;constructor(e,s,i){this.destination=e,this.time=s,this.config=i}next(e){this.lastValue=e,N(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(s){if(this.destination.error)this.destination.error(s);else throw s}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const $={leading:!0,trailing:!1};function ve(t,e=$){return s=>new c(i=>s.subscribe(new H(i,t,e)))}class H{destination;time;config;lastValue;timeout;constructor(e,s,i){this.destination=e,this.time=s,this.config=i}next(e){this.lastValue=e,M(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){this.destination.error?.(e)}}function Le(t){return e=>new c(s=>e.subscribe(new Y(s,t)))}class Y{destination;predicate;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.predicate(e)}catch(i){throw this.error(i),i}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function Re(t=(e,s)=>e===s){return e=>new c(s=>e.subscribe(new K(s,t)))}const A={};class K{destination;predicate;lastValue=A;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.lastValue===A||!this.predicate(this.lastValue,e),this.lastValue=e}catch(i){throw this.error(i),i}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function W(t){return e=>new c(s=>e.subscribe(new C(s,t)))}let C=class{destination;mapper;constructor(e,s){this.destination=e,this.mapper=s}next(e){let s;try{s=this.mapper(e)}catch(i){throw this.error(i),i}this.destination.next(s)}error(e){this.destination.error?.(e)}};function ye(t){return W(()=>t)}function Ne(){return t=>new c(e=>{let s=!1,i=!1;const o=t.subscribe(n=>{s||(s=!0,e.next(n)),i&&o.unsubscribe()},n=>{s=!0,e.error?.(n),i&&o.unsubscribe()});return i=!0,s&&o.unsubscribe(),o})}function Me(){return t=>new c(e=>t.subscribe(new X(e)))}class X{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const s=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([s,e])}error(e){this.destination.error?.(e)}}function Ve(t){return e=>new c(s=>e.subscribe(new J(s,t)))}class J{destination;effect;constructor(e,s){this.destination=e,this.effect=s}next(e){try{this.effect(e)}catch(s){throw this.error(s),s}this.destination.next(e)}error(e){this.destination.error?.(e)}}var _;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(_||(_={}));export{d as CurrentClientBrowser,b as CurrentClientDevice,_ as ErrorCategory,ee as Logger,c as Observable,T as Subject,S as Subscription,Z as VERSION,pe as ValueSubject,u as VideoQuality,re as abortable,ie as addScript,we as areQualitiesExact,w as assertNever,te as assertNonNullable,se as assertNullable,ge as assertQualityIsExact,Te as buffer,B as checkNever,Ee as combine,Ie as debounce,F as fillWithDefault,Le as filter,Re as filterChanged,_e as fromEvent,oe as getCurrentBrowser,ae as getExponentialDelay,le as getHighestQuality,Oe as interval,ue as isHigher,he as isHigherOrEqual,L as isInvariantQuality,I as isLower,de as isLowerOrEqual,N as isNonNullable,M as isNullable,W as map,ye as mapTo,xe as merge,x as noop,ne as now,Ae as observableFrom,Ne as once,Me as pairwise,ce as safeStorage,Ve as tap,ve as throttle,Se as timeout,fe as videoHeightToQuality,me as videoQualityToHeight,be as videoSizeToQuality};
|
package/index.d.ts
CHANGED
|
@@ -240,6 +240,9 @@ interface IRectangle<Unit extends number = number> {
|
|
|
240
240
|
width: Unit;
|
|
241
241
|
height: Unit;
|
|
242
242
|
}
|
|
243
|
+
type RecursivePartial<T> = {
|
|
244
|
+
[P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object | undefined ? RecursivePartial<T[P]> : T[P];
|
|
245
|
+
};
|
|
243
246
|
|
|
244
247
|
declare const isHigher: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
|
|
245
248
|
declare const isHigherOrEqual: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
|
|
@@ -260,6 +263,8 @@ declare const isInvariantQuality: (quality: VideoQuality) => quality is VideoQua
|
|
|
260
263
|
declare const areQualitiesExact: (qualities: VideoQuality[]) => qualities is ExactVideoQuality[];
|
|
261
264
|
declare function assertQualityIsExact(quality: VideoQuality): asserts quality is ExactVideoQuality;
|
|
262
265
|
|
|
266
|
+
declare const fillWithDefault: <Config extends object>(partial: RecursivePartial<Config>, defaultConfig: Config) => Config;
|
|
267
|
+
|
|
263
268
|
declare class Subscription implements ISubscription {
|
|
264
269
|
private subscriptions;
|
|
265
270
|
unsubscribe(): void;
|
|
@@ -342,4 +347,4 @@ declare function pairwise<T>(): IOperator<T, IPair<T>>;
|
|
|
342
347
|
|
|
343
348
|
declare function tap<T>(effect: (value: T) => void): IOperator<T>;
|
|
344
349
|
|
|
345
|
-
export { Byte, CurrentClientBrowser, CurrentClientDevice, ErrorCategory, ExactVideoQuality, ExponentialBackoffConfig, IComponentLogEntry, IComponentLogger, ICurrentBrowserInfo, IEmitter, IError, IListener, ILogEntry, ILogInputEntry, ILogger, IObservable, IOperator, IRange, IRectangle, ISubject, ISubscription, IUnsubscriber, IValue, IValueObservable, IValueSubject, IWarning, Kbps, Logger, Mbps, Milliseconds, Observable, Percentage, QualityLimits, Seconds, Subject, Subscription, VERSION, ValueSubject, VideoQuality, abortable, addScript, areQualitiesExact, assertNever, assertNonNullable, assertNullable, assertQualityIsExact, bps, buffer, checkNever, combine, debounce, filter, filterChanged, _default as fromEvent, getCurrentBrowser, getExponentialDelay, getHighestQuality, _default$2 as interval, isHigher, isHigherOrEqual, isInvariantQuality, isLower, isLowerOrEqual, isNonNullable, isNullable, map, mapTo, merge, noop, now, _default$1 as observableFrom, once, pairwise, iframeSafeStorage_d as safeStorage, tap, throttle, _default$3 as timeout, videoHeightToQuality, videoQualityToHeight, videoSizeToQuality };
|
|
350
|
+
export { Byte, CurrentClientBrowser, CurrentClientDevice, ErrorCategory, ExactVideoQuality, ExponentialBackoffConfig, IComponentLogEntry, IComponentLogger, ICurrentBrowserInfo, IEmitter, IError, IListener, ILogEntry, ILogInputEntry, ILogger, IObservable, IOperator, IRange, IRectangle, ISubject, ISubscription, IUnsubscriber, IValue, IValueObservable, IValueSubject, IWarning, Kbps, Logger, Mbps, Milliseconds, Observable, Percentage, QualityLimits, RecursivePartial, Seconds, Subject, Subscription, VERSION, ValueSubject, VideoQuality, abortable, addScript, areQualitiesExact, assertNever, assertNonNullable, assertNullable, assertQualityIsExact, bps, buffer, checkNever, combine, debounce, fillWithDefault, filter, filterChanged, _default as fromEvent, getCurrentBrowser, getExponentialDelay, getHighestQuality, _default$2 as interval, isHigher, isHigherOrEqual, isInvariantQuality, isLower, isLowerOrEqual, isNonNullable, isNullable, map, mapTo, merge, noop, now, _default$1 as observableFrom, once, pairwise, iframeSafeStorage_d as safeStorage, tap, throttle, _default$3 as timeout, videoHeightToQuality, videoQualityToHeight, videoSizeToQuality };
|