@vkontakte/videoplayer-shared 1.0.31-dev.2d3fd91.0 → 1.0.31-dev.680271f.0
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/es5.umd.js +3112 -0
- package/esnext.cjs.js +3 -3
- package/esnext.esm.js +3 -3
- package/evergreen.esm.js +3 -3
- package/package.json +5 -3
package/esnext.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.31-dev.
|
|
3
|
-
* Tue,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.31-dev.680271f.0
|
|
3
|
+
* Tue, 09 Jan 2024 09:52:53 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-31/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";const q="1.0.31-dev.2d3fd91.0";class v{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(r=>typeof r=="function"?r():r.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const p=e=>{throw new Error(`${e} is value of unexpected type`)},F=e=>{},m=()=>{};class l{constructor(t){t&&(this._subscribe=t)}subscribe(t,r){let n;r?typeof r=="function"?n={next:r,error:m}:n={next:o=>r.next(o),error:o=>r.error?.(o)}:n={next:m,error:m};const s=typeof t=="function"?{next:o=>{try{t(o)}catch(u){n.next(u)}},error:o=>n.next(o)}:{next:o=>t.next(o),error:o=>t.error?t.error(o):n.next(o)};let i;try{i=this._subscribe(s)}catch(o){s.error?.(o)}return new v().add(()=>{switch(s.next=m,s.error=m,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return p(i)}})}pipe(...t){return t.reduce((r,n)=>n(r),this)}_subscribe(t){}}class A extends l{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(r=>r.next(t))}error(t){this.subscribers.forEach(r=>r.error?.(t))}_subscribe(t){const r=this.keyCounter++;return this.subscribers.set(r,t),new v().add(()=>this.subscribers.delete(r))}}class U{log$=new A;logs=[];log=t=>{const r={...t,timestamp:Date.now()};this.logs.push(r),this.log$.next(r)};createCustomLog(t){return(...r)=>{let n;try{n=t(...r)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(r=>({component:t,...r}))}getAllLogs=()=>this.logs}function G(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function B(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function T(e){return typeof e<"u"&&e!==null}function I(e){return e==null}function z(e,t){if(!e?.length)throw new Error(t)}function H(e,t){if(e?.length)throw new Error(t)}const $=(e,t,r)=>new Promise((n,s)=>{t.addEventListener("abort",()=>{u(),c.remove()});const i=()=>{u(),s()},o=()=>{u(),n()},u=()=>{h&&clearTimeout(h),c.removeEventListener("load",o),c.removeEventListener("error",i)};let h;r&&(h=window.setTimeout(i,r));const c=document.createElement("script");c.addEventListener("load",o),c.addEventListener("error",i),c.src=e,document.head.appendChild(c)}),Y=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),W=(e,t)=>async(...r)=>{const n=t(...r);let s=e.aborted,i;for(;!s&&!e.aborted;){const o=await n.next(i);s=o.done??!1,i=o.value}return i};exports.CurrentClientBrowser=void 0;(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"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Mac="Mac",e.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const x=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?exports.CurrentClientBrowser.Yandex:void 0,r=/chrome|crios/i.test(e)?exports.CurrentClientBrowser.Chrome:void 0,n=/chromium/i.test(e)?exports.CurrentClientBrowser.Chromium:void 0,s=/firefox|fxios/i.test(e)?exports.CurrentClientBrowser.Firefox:void 0,i=/webkit|safari|khtml/i.test(e)?exports.CurrentClientBrowser.Safari:void 0,o=/opr\//i.test(e)?exports.CurrentClientBrowser.Opera:void 0,u=/edg/i.test(e)?exports.CurrentClientBrowser.Edge:void 0,h=/android/i.test(e)?exports.CurrentClientDevice.Android:void 0,c=/iphone/i.test(e)?exports.CurrentClientDevice.iPhone:void 0,f=/ipad/i.test(e)?exports.CurrentClientDevice.iPad:void 0,b=/ipod/i.test(e)?exports.CurrentClientDevice.iPod:void 0,g=/mac/i.test(e)?exports.CurrentClientDevice.Mac:void 0,S=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:t||s||o||u||r||n||i||exports.CurrentClientBrowser.Rest,device:h||c||f||b||S||g||exports.CurrentClientDevice.Desktop}},K=(e=!1)=>{const r=[exports.CurrentClientDevice.iPhone,exports.CurrentClientDevice.iPad,exports.CurrentClientDevice.iPod].includes(x().device);if(!e)return r;const{userAgent:n,maxTouchPoints:s}=window.navigator;return!!(r||/macintosh/i.test(n)&&s>0)},X=()=>{const{userAgent:e}=window.navigator,t=e.match(/Version\/(\d+(\.\d+)?)/i);if(!t)return null;const r=t[1],n=parseFloat(r);return isNaN(n)?null:n},J=()=>[exports.CurrentClientDevice.Mac,exports.CurrentClientDevice.iPhone,exports.CurrentClientDevice.iPad,exports.CurrentClientDevice.iPod].includes(x().device),Z=(e,{start:t=0,factor:r=2,max:n=1/0,min:s=t,random:i=0}={})=>{let o=t;return o*=r**e,o*=1+(Math.random()*i*2-i),o=Math.round(o),o=Math.min(o,n),o=Math.max(o,s),o};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));let E,w;const O=`vk-videoplayer-dummy-key-${Math.random()}`,y=()=>{if(w!==void 0)return w;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),w=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(O),w=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)w=a.RUNTIME;else throw t}else throw e}return w===a.RUNTIME&&(E=new Map),w},ee=()=>y()===a.LOCAL_STORAGE,te=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return E?.get(e);default:p(t)}},re=(e,t)=>{const r=y();switch(r){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.RUNTIME:return void E?.set(e,t);default:p(r)}},ne=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return E?.has(e)??!1;default:return p(t),!1}},ie=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void E?.delete(e);default:p(t)}},se=()=>{const e=y();switch(e){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return E?.clear();default:p(e)}};var oe=Object.freeze({__proto__:null,clear:se,get:te,has:ne,isPersistent:ee,remove:ie,set:re});exports.VideoQuality=void 0;(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"})(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}},ae=(e,t)=>d[e].height>d[t].height,ce=(e,t)=>d[e].height>=d[t].height,R=(e,t)=>d[e].height<d[t].height,le=(e,t)=>d[e].height<=d[t].height,ue=e=>e.sort((t,r)=>t===r?0:t===exports.VideoQuality.INVARIANT?1:r===exports.VideoQuality.INVARIANT?-1:R(t,r)?1:-1)[0],N=Object.keys(d).sort((e,t)=>R(e,t)?-1:1),de=(e,t=.02)=>[...N].find(n=>d[n].height*(1+t)>=e),he=({width:e,height:t})=>{const r=Math.min(e,t),n=Math.max(e,t);return N.find(s=>{const i=d[s];return i.width>=n&&i.height>=r})},fe=e=>d[e].height,C=e=>e===exports.VideoQuality.INVARIANT,be=e=>e.every(t=>!C(t));function we(e){if(C(e))throw new Error("Expected exact quality")}const M=(e,t)=>{const r={};for(const n of Object.keys(t)){const s=t[n],i=e[n];Array.isArray(s)&&Array.isArray(i)?r[n]=i:typeof s=="object"&&typeof i=="object"?r[n]=M(i,s):r[n]=n in e?i:s}return r};class pe extends A{value;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 r=super._subscribe(t);return t.next(this.value),r}}function ge(e){return new l(t=>{const r={};let n=Object.keys(e).length;const s=i=>o=>{i in r||n--,r[i]=o,n===0&&t.next(r)};return Object.entries(e).reduce((i,[o,u])=>i.add(u.subscribe(s(o))),new v)})}function me(...e){return new l(t=>e.reduce((r,n)=>r.add(n.subscribe(t)),new v))}var Ee=e=>new l(t=>{const r=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(r)}),ye=e=>new l(t=>{const r=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(r)}),ve=e=>new l(t=>{e.forEach(r=>t.next(r))}),Se=(e,t)=>new l(r=>{const n=s=>r.next(s);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function Oe(e){return t=>new l(r=>t.subscribe(new Ae(r,e)))}class Ae{destination;size;lastValues=[];constructor(t,r){this.destination=t,this.size=r}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){this.destination.error?.(t)}}const xe={leading:!1,trailing:!0};function Re(e,t=xe){return r=>new l(n=>r.subscribe(new Ce(n,e,t)))}class Ce{destination;time;config;lastValue;timeout;constructor(t,r,n){this.destination=t,this.time=r,this.config=n}next(t){this.lastValue=t,T(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(r){if(this.destination.error)this.destination.error(r);else throw r}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const Le={leading:!0,trailing:!1};function _e(e,t=Le){return r=>new l(n=>r.subscribe(new Pe(n,e,t)))}class Pe{destination;time;config;lastValue;timeout;constructor(t,r,n){this.destination=t,this.time=r,this.config=n}next(t){this.lastValue=t,I(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){this.destination.error?.(t)}}function Te(e){return t=>new l(r=>t.subscribe(new Ie(r,e)))}class Ie{destination;predicate;constructor(t,r){this.destination=t,this.predicate=r}next(t){let r;try{r=this.predicate(t)}catch(n){throw this.error(n),n}r&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Ne(e=(t,r)=>t===r){return t=>new l(r=>t.subscribe(new Me(r,e)))}const _={};class Me{destination;predicate;lastValue=_;constructor(t,r){this.destination=t,this.predicate=r}next(t){let r;try{r=this.lastValue===_||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}r&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Q(e){return t=>new l(r=>t.subscribe(new Qe(r,e)))}let Qe=class{destination;mapper;constructor(t,r){this.destination=t,this.mapper=r}next(t){let r;try{r=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(r)}error(t){this.destination.error?.(t)}};function Ve(e){return Q(()=>e)}function De(){return e=>new l(t=>{let r=!1,n=!1;const s=e.subscribe(i=>{r||(r=!0,t.next(i)),n&&s.unsubscribe()},i=>{r=!0,t.error?.(i),n&&s.unsubscribe()});return n=!0,r&&s.unsubscribe(),s})}function je(){return e=>new l(t=>e.subscribe(new ke(t)))}class ke{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const r=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([r,t])}error(t){this.destination.error?.(t)}}function qe(e){return t=>new l(r=>t.subscribe(new Fe(r,e)))}class Fe{destination;effect;constructor(t,r){this.destination=t,this.effect=r}next(t){try{this.effect(t)}catch(r){throw this.error(r),r}this.destination.next(t)}error(t){this.destination.error?.(t)}}exports.ErrorCategory=void 0;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));class P{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(t,r,n){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:r,options:n})}removeEventListener(t,r){if(!(t in this.listeners))return;const n=this.listeners[t];for(let s=0,i=n.length;s<i;s++)if(n[s].callback===r){n.splice(s,1);return}}dispatchEvent(t){if(!(t.type in this.listeners))return;const n=this.listeners[t.type].slice();for(let s=0,i=n.length;s<i;s++){const o=n[s];try{o.callback.call(this,t)}catch(u){Promise.resolve().then(()=>{throw u})}o.options&&o.options.once&&this.removeEventListener(t.type,o.callback)}return!t.defaultPrevented}}class V extends P{constructor(){super(),this.listeners||P.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(t){t.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,t)),super.dispatchEvent(t)}}class Ue{constructor(){Object.defineProperty(this,"signal",{value:new V,writable:!0,configurable:!0})}abort(t){let r;try{r=new Event("abort")}catch{typeof document<"u"?document.createEvent?(r=document.createEvent("Event"),r.initEvent("abort",!1,!1)):(r=document.createEventObject(),r.type="abort"):r={type:"abort",bubbles:!1,cancelable:!1}}let n=t;if(n===void 0)if(typeof document>"u")n=new Error("This operation was aborted"),n.name="AbortError";else try{n=new DOMException("signal is aborted without reason")}catch{n=new Error("This operation was aborted"),n.name="AbortError"}this.signal.reason=n,this.signal.dispatchEvent(r)}toString(){return"[object AbortController]"}}typeof Symbol<"u"&&Symbol.toStringTag&&(Ue.prototype[Symbol.toStringTag]="AbortController",V.prototype[Symbol.toStringTag]="AbortSignal");function D(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof e.Request=="function"&&!e.Request.prototype.hasOwnProperty("signal")||!e.AbortController}function Ge(e){typeof e=="function"&&(e={fetch:e});const{fetch:t,Request:r=t.Request,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:s=!1}=e;if(!D({fetch:t,Request:r,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:s}))return{fetch:t,Request:i};let i=r;(i&&!i.prototype.hasOwnProperty("signal")||s)&&(i=function(c,f){let b;f&&f.signal&&(b=f.signal,delete f.signal);const g=new r(c,f);return b&&Object.defineProperty(g,"signal",{writable:!1,enumerable:!1,configurable:!0,value:b}),g},i.prototype=r.prototype);const o=t;return{fetch:(h,c)=>{const f=i&&i.prototype.isPrototypeOf(h)?h.signal:c?c.signal:void 0;if(f){let b;try{b=new DOMException("Aborted","AbortError")}catch{b=new Error("Aborted"),b.name="AbortError"}if(f.aborted)return Promise.reject(b);const g=new Promise((S,k)=>{f.addEventListener("abort",()=>k(b),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([g,o(h,c)])}return o(h,c)},Request:i}}const L=D({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),j=L?Ge({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,Be=L?j.fetch:window.fetch;L?j.Request:window.Request;exports.VKNumericLanguage=void 0;(function(e){e.Armenian="58",e.Azerbaijani="57",e.Belarusian="114",e.English="3",e.Kazakh="97",e.Portuguese="73",e.Russian="0",e.Spanish="4",e.Ukrainian="1",e.Uzbek="65",e.Vietnamese="75"})(exports.VKNumericLanguage||(exports.VKNumericLanguage={}));const ze="vk.com",He=async(e,t,r)=>{const n=new URL(`https://${ze}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",t),e!==void 0&&n.searchParams.set("lang",e);const i=await(await Be(n.toString())).json();return $e(i,r)},$e=(e,t)=>Object.fromEntries(Object.entries(e.keys).map(([r,n])=>[r.substring(`${t}_`.length),Ye(n)])),Ye=e=>Array.isArray(e)?e[0]:e;exports.InterfaceLanguage=void 0;(function(e){e.RU="ru",e.EN="en"})(exports.InterfaceLanguage||(exports.InterfaceLanguage={}));exports.Logger=U;exports.Observable=l;exports.Subject=A;exports.Subscription=v;exports.VERSION=q;exports.ValueSubject=pe;exports.abortable=W;exports.addScript=$;exports.areQualitiesExact=be;exports.assertEmptyArray=H;exports.assertNever=p;exports.assertNonNullable=G;exports.assertNotEmptyArray=z;exports.assertNullable=B;exports.assertQualityIsExact=we;exports.buffer=Oe;exports.checkNever=F;exports.combine=ge;exports.debounce=Re;exports.fillWithDefault=M;exports.filter=Te;exports.filterChanged=Ne;exports.fromEvent=Se;exports.getCurrentBrowser=x;exports.getExponentialDelay=Z;exports.getHighestQuality=ue;exports.getIOSVersion=X;exports.interval=ye;exports.isHigher=ae;exports.isHigherOrEqual=ce;exports.isIOS=K;exports.isInvariantQuality=C;exports.isLower=R;exports.isLowerOrEqual=le;exports.isMacLike=J;exports.isNonNullable=T;exports.isNullable=I;exports.loadVKLangPack=He;exports.map=Q;exports.mapTo=Ve;exports.merge=me;exports.noop=m;exports.now=Y;exports.observableFrom=ve;exports.once=De;exports.pairwise=je;exports.safeStorage=oe;exports.tap=qe;exports.throttle=_e;exports.timeout=Ee;exports.videoHeightToQuality=de;exports.videoQualityToHeight=fe;exports.videoSizeToQuality=he;
|
|
6
|
+
"use strict";const q="1.0.31-dev.680271f.0";class v{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(r=>typeof r=="function"?r():r.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const p=e=>{throw new Error(`${e} is value of unexpected type`)},F=e=>{},m=()=>{};class l{constructor(t){t&&(this._subscribe=t)}subscribe(t,r){let n;r?typeof r=="function"?n={next:r,error:m}:n={next:o=>r.next(o),error:o=>r.error?.(o)}:n={next:m,error:m};const s=typeof t=="function"?{next:o=>{try{t(o)}catch(u){n.next(u)}},error:o=>n.next(o)}:{next:o=>t.next(o),error:o=>t.error?t.error(o):n.next(o)};let i;try{i=this._subscribe(s)}catch(o){s.error?.(o)}return new v().add(()=>{switch(s.next=m,s.error=m,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return p(i)}})}pipe(...t){return t.reduce((r,n)=>n(r),this)}_subscribe(t){}}class A extends l{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(r=>r.next(t))}error(t){this.subscribers.forEach(r=>r.error?.(t))}_subscribe(t){const r=this.keyCounter++;return this.subscribers.set(r,t),new v().add(()=>this.subscribers.delete(r))}}class U{log$=new A;logs=[];log=t=>{const r={...t,timestamp:Date.now()};this.logs.push(r),this.log$.next(r)};createCustomLog(t){return(...r)=>{let n;try{n=t(...r)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(r=>({component:t,...r}))}getAllLogs=()=>this.logs}function G(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function B(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function T(e){return typeof e<"u"&&e!==null}function I(e){return e==null}function z(e,t){if(!e?.length)throw new Error(t)}function H(e,t){if(e?.length)throw new Error(t)}const $=(e,t,r)=>new Promise((n,s)=>{t.addEventListener("abort",()=>{u(),c.remove()});const i=()=>{u(),s()},o=()=>{u(),n()},u=()=>{h&&clearTimeout(h),c.removeEventListener("load",o),c.removeEventListener("error",i)};let h;r&&(h=window.setTimeout(i,r));const c=document.createElement("script");c.addEventListener("load",o),c.addEventListener("error",i),c.src=e,document.head.appendChild(c)}),Y=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),W=(e,t)=>async(...r)=>{const n=t(...r);let s=e.aborted,i;for(;!s&&!e.aborted;){const o=await n.next(i);s=o.done??!1,i=o.value}return i};exports.CurrentClientBrowser=void 0;(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"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Mac="Mac",e.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const x=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?exports.CurrentClientBrowser.Yandex:void 0,r=/chrome|crios/i.test(e)?exports.CurrentClientBrowser.Chrome:void 0,n=/chromium/i.test(e)?exports.CurrentClientBrowser.Chromium:void 0,s=/firefox|fxios/i.test(e)?exports.CurrentClientBrowser.Firefox:void 0,i=/webkit|safari|khtml/i.test(e)?exports.CurrentClientBrowser.Safari:void 0,o=/opr\//i.test(e)?exports.CurrentClientBrowser.Opera:void 0,u=/edg/i.test(e)?exports.CurrentClientBrowser.Edge:void 0,h=/android/i.test(e)?exports.CurrentClientDevice.Android:void 0,c=/iphone/i.test(e)?exports.CurrentClientDevice.iPhone:void 0,f=/ipad/i.test(e)?exports.CurrentClientDevice.iPad:void 0,b=/ipod/i.test(e)?exports.CurrentClientDevice.iPod:void 0,g=/mac/i.test(e)?exports.CurrentClientDevice.Mac:void 0,S=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:t||s||o||u||r||n||i||exports.CurrentClientBrowser.Rest,device:h||c||f||b||S||g||exports.CurrentClientDevice.Desktop}},K=(e=!1)=>{const r=[exports.CurrentClientDevice.iPhone,exports.CurrentClientDevice.iPad,exports.CurrentClientDevice.iPod].includes(x().device);if(!e)return r;const{userAgent:n,maxTouchPoints:s}=window.navigator;return!!(r||/macintosh/i.test(n)&&s>0)},X=()=>{const{userAgent:e}=window.navigator,t=e.match(/Version\/(\d+(\.\d+)?)/i);if(!t)return null;const r=t[1],n=parseFloat(r);return isNaN(n)?null:n},J=()=>[exports.CurrentClientDevice.Mac,exports.CurrentClientDevice.iPhone,exports.CurrentClientDevice.iPad,exports.CurrentClientDevice.iPod].includes(x().device),Z=(e,{start:t=0,factor:r=2,max:n=1/0,min:s=t,random:i=0}={})=>{let o=t;return o*=r**e,o*=1+(Math.random()*i*2-i),o=Math.round(o),o=Math.min(o,n),o=Math.max(o,s),o};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));let E,w;const O=`vk-videoplayer-dummy-key-${Math.random()}`,y=()=>{if(w!==void 0)return w;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),w=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(O),w=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)w=a.RUNTIME;else throw t}else throw e}return w===a.RUNTIME&&(E=new Map),w},ee=()=>y()===a.LOCAL_STORAGE,te=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return E?.get(e);default:p(t)}},re=(e,t)=>{const r=y();switch(r){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.RUNTIME:return void E?.set(e,t);default:p(r)}},ne=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return E?.has(e)??!1;default:return p(t),!1}},ie=e=>{const t=y();switch(t){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void E?.delete(e);default:p(t)}},se=()=>{const e=y();switch(e){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return E?.clear();default:p(e)}};var oe=Object.freeze({__proto__:null,clear:se,get:te,has:ne,isPersistent:ee,remove:ie,set:re});exports.VideoQuality=void 0;(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"})(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}},ae=(e,t)=>d[e].height>d[t].height,ce=(e,t)=>d[e].height>=d[t].height,R=(e,t)=>d[e].height<d[t].height,le=(e,t)=>d[e].height<=d[t].height,ue=e=>e.sort((t,r)=>t===r?0:t===exports.VideoQuality.INVARIANT?1:r===exports.VideoQuality.INVARIANT?-1:R(t,r)?1:-1)[0],N=Object.keys(d).sort((e,t)=>R(e,t)?-1:1),de=(e,t=.02)=>[...N].find(n=>d[n].height*(1+t)>=e),he=({width:e,height:t})=>{const r=Math.min(e,t),n=Math.max(e,t);return N.find(s=>{const i=d[s];return i.width>=n&&i.height>=r})},fe=e=>d[e].height,C=e=>e===exports.VideoQuality.INVARIANT,be=e=>e.every(t=>!C(t));function we(e){if(C(e))throw new Error("Expected exact quality")}const M=(e,t)=>{const r={};for(const n of Object.keys(t)){const s=t[n],i=e[n];Array.isArray(s)&&Array.isArray(i)?r[n]=i:typeof s=="object"&&typeof i=="object"?r[n]=M(i,s):r[n]=n in e?i:s}return r};class pe extends A{value;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 r=super._subscribe(t);return t.next(this.value),r}}function ge(e){return new l(t=>{const r={};let n=Object.keys(e).length;const s=i=>o=>{i in r||n--,r[i]=o,n===0&&t.next(r)};return Object.entries(e).reduce((i,[o,u])=>i.add(u.subscribe(s(o))),new v)})}function me(...e){return new l(t=>e.reduce((r,n)=>r.add(n.subscribe(t)),new v))}var Ee=e=>new l(t=>{const r=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(r)}),ye=e=>new l(t=>{const r=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(r)}),ve=e=>new l(t=>{e.forEach(r=>t.next(r))}),Se=(e,t)=>new l(r=>{const n=s=>r.next(s);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function Oe(e){return t=>new l(r=>t.subscribe(new Ae(r,e)))}class Ae{destination;size;lastValues=[];constructor(t,r){this.destination=t,this.size=r}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){this.destination.error?.(t)}}const xe={leading:!1,trailing:!0};function Re(e,t=xe){return r=>new l(n=>r.subscribe(new Ce(n,e,t)))}class Ce{destination;time;config;lastValue;timeout;constructor(t,r,n){this.destination=t,this.time=r,this.config=n}next(t){this.lastValue=t,T(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(r){if(this.destination.error)this.destination.error(r);else throw r}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const Le={leading:!0,trailing:!1};function _e(e,t=Le){return r=>new l(n=>r.subscribe(new Pe(n,e,t)))}class Pe{destination;time;config;lastValue;timeout;constructor(t,r,n){this.destination=t,this.time=r,this.config=n}next(t){this.lastValue=t,I(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){this.destination.error?.(t)}}function Te(e){return t=>new l(r=>t.subscribe(new Ie(r,e)))}class Ie{destination;predicate;constructor(t,r){this.destination=t,this.predicate=r}next(t){let r;try{r=this.predicate(t)}catch(n){throw this.error(n),n}r&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Ne(e=(t,r)=>t===r){return t=>new l(r=>t.subscribe(new Me(r,e)))}const _={};class Me{destination;predicate;lastValue=_;constructor(t,r){this.destination=t,this.predicate=r}next(t){let r;try{r=this.lastValue===_||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}r&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Q(e){return t=>new l(r=>t.subscribe(new Qe(r,e)))}let Qe=class{destination;mapper;constructor(t,r){this.destination=t,this.mapper=r}next(t){let r;try{r=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(r)}error(t){this.destination.error?.(t)}};function Ve(e){return Q(()=>e)}function De(){return e=>new l(t=>{let r=!1,n=!1;const s=e.subscribe(i=>{r||(r=!0,t.next(i)),n&&s.unsubscribe()},i=>{r=!0,t.error?.(i),n&&s.unsubscribe()});return n=!0,r&&s.unsubscribe(),s})}function je(){return e=>new l(t=>e.subscribe(new ke(t)))}class ke{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const r=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([r,t])}error(t){this.destination.error?.(t)}}function qe(e){return t=>new l(r=>t.subscribe(new Fe(r,e)))}class Fe{destination;effect;constructor(t,r){this.destination=t,this.effect=r}next(t){try{this.effect(t)}catch(r){throw this.error(r),r}this.destination.next(t)}error(t){this.destination.error?.(t)}}exports.ErrorCategory=void 0;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));class P{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(t,r,n){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:r,options:n})}removeEventListener(t,r){if(!(t in this.listeners))return;const n=this.listeners[t];for(let s=0,i=n.length;s<i;s++)if(n[s].callback===r){n.splice(s,1);return}}dispatchEvent(t){if(!(t.type in this.listeners))return;const n=this.listeners[t.type].slice();for(let s=0,i=n.length;s<i;s++){const o=n[s];try{o.callback.call(this,t)}catch(u){Promise.resolve().then(()=>{throw u})}o.options&&o.options.once&&this.removeEventListener(t.type,o.callback)}return!t.defaultPrevented}}class V extends P{constructor(){super(),this.listeners||P.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(t){t.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,t)),super.dispatchEvent(t)}}class Ue{constructor(){Object.defineProperty(this,"signal",{value:new V,writable:!0,configurable:!0})}abort(t){let r;try{r=new Event("abort")}catch{typeof document<"u"?document.createEvent?(r=document.createEvent("Event"),r.initEvent("abort",!1,!1)):(r=document.createEventObject(),r.type="abort"):r={type:"abort",bubbles:!1,cancelable:!1}}let n=t;if(n===void 0)if(typeof document>"u")n=new Error("This operation was aborted"),n.name="AbortError";else try{n=new DOMException("signal is aborted without reason")}catch{n=new Error("This operation was aborted"),n.name="AbortError"}this.signal.reason=n,this.signal.dispatchEvent(r)}toString(){return"[object AbortController]"}}typeof Symbol<"u"&&Symbol.toStringTag&&(Ue.prototype[Symbol.toStringTag]="AbortController",V.prototype[Symbol.toStringTag]="AbortSignal");function D(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof e.Request=="function"&&!e.Request.prototype.hasOwnProperty("signal")||!e.AbortController}function Ge(e){typeof e=="function"&&(e={fetch:e});const{fetch:t,Request:r=t.Request,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:s=!1}=e;if(!D({fetch:t,Request:r,AbortController:n,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:s}))return{fetch:t,Request:i};let i=r;(i&&!i.prototype.hasOwnProperty("signal")||s)&&(i=function(c,f){let b;f&&f.signal&&(b=f.signal,delete f.signal);const g=new r(c,f);return b&&Object.defineProperty(g,"signal",{writable:!1,enumerable:!1,configurable:!0,value:b}),g},i.prototype=r.prototype);const o=t;return{fetch:(h,c)=>{const f=i&&i.prototype.isPrototypeOf(h)?h.signal:c?c.signal:void 0;if(f){let b;try{b=new DOMException("Aborted","AbortError")}catch{b=new Error("Aborted"),b.name="AbortError"}if(f.aborted)return Promise.reject(b);const g=new Promise((S,k)=>{f.addEventListener("abort",()=>k(b),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([g,o(h,c)])}return o(h,c)},Request:i}}const L=D({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),j=L?Ge({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,Be=L?j.fetch:window.fetch;L?j.Request:window.Request;exports.VKNumericLanguage=void 0;(function(e){e.Armenian="58",e.Azerbaijani="57",e.Belarusian="114",e.English="3",e.Kazakh="97",e.Portuguese="73",e.Russian="0",e.Spanish="4",e.Ukrainian="1",e.Uzbek="65",e.Vietnamese="75"})(exports.VKNumericLanguage||(exports.VKNumericLanguage={}));const ze="vk.com",He=async(e,t,r)=>{const n=new URL(`https://${ze}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",t),e!==void 0&&n.searchParams.set("lang",e);const i=await(await Be(n.toString())).json();return $e(i,r)},$e=(e,t)=>Object.fromEntries(Object.entries(e.keys).map(([r,n])=>[r.substring(`${t}_`.length),Ye(n)])),Ye=e=>Array.isArray(e)?e[0]:e;exports.InterfaceLanguage=void 0;(function(e){e.RU="ru",e.EN="en"})(exports.InterfaceLanguage||(exports.InterfaceLanguage={}));exports.Logger=U;exports.Observable=l;exports.Subject=A;exports.Subscription=v;exports.VERSION=q;exports.ValueSubject=pe;exports.abortable=W;exports.addScript=$;exports.areQualitiesExact=be;exports.assertEmptyArray=H;exports.assertNever=p;exports.assertNonNullable=G;exports.assertNotEmptyArray=z;exports.assertNullable=B;exports.assertQualityIsExact=we;exports.buffer=Oe;exports.checkNever=F;exports.combine=ge;exports.debounce=Re;exports.fillWithDefault=M;exports.filter=Te;exports.filterChanged=Ne;exports.fromEvent=Se;exports.getCurrentBrowser=x;exports.getExponentialDelay=Z;exports.getHighestQuality=ue;exports.getIOSVersion=X;exports.interval=ye;exports.isHigher=ae;exports.isHigherOrEqual=ce;exports.isIOS=K;exports.isInvariantQuality=C;exports.isLower=R;exports.isLowerOrEqual=le;exports.isMacLike=J;exports.isNonNullable=T;exports.isNullable=I;exports.loadVKLangPack=He;exports.map=Q;exports.mapTo=Ve;exports.merge=me;exports.noop=m;exports.now=Y;exports.observableFrom=ve;exports.once=De;exports.pairwise=je;exports.safeStorage=oe;exports.tap=qe;exports.throttle=_e;exports.timeout=Ee;exports.videoHeightToQuality=de;exports.videoQualityToHeight=fe;exports.videoSizeToQuality=he;
|
package/esnext.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.31-dev.
|
|
3
|
-
* Tue,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.31-dev.680271f.0
|
|
3
|
+
* Tue, 09 Jan 2024 09:52:53 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-31/doc/
|
|
5
5
|
*/
|
|
6
|
-
const be="1.0.31-dev.2d3fd91.0";class v{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(n=>typeof n=="function"?n():n.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const S=e=>{throw new Error(`${e} is value of unexpected type`)},pe=e=>{},y=()=>{};class u{constructor(t){t&&(this._subscribe=t)}subscribe(t,n){let r;n?typeof n=="function"?r={next:n,error:y}:r={next:o=>n.next(o),error:o=>n.error?.(o)}:r={next:y,error:y};const i=typeof t=="function"?{next:o=>{try{t(o)}catch(d){r.next(d)}},error:o=>r.next(o)}:{next:o=>t.next(o),error:o=>t.error?t.error(o):r.next(o)};let s;try{s=this._subscribe(i)}catch(o){i.error?.(o)}return new v().add(()=>{switch(i.next=y,i.error=y,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return S(s)}})}pipe(...t){return t.reduce((n,r)=>r(n),this)}_subscribe(t){}}class N extends u{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(n=>n.next(t))}error(t){this.subscribers.forEach(n=>n.error?.(t))}_subscribe(t){const n=this.keyCounter++;return this.subscribers.set(n,t),new v().add(()=>this.subscribers.delete(n))}}class we{log$=new N;logs=[];log=t=>{const n={...t,timestamp:Date.now()};this.logs.push(n),this.log$.next(n)};createCustomLog(t){return(...n)=>{let r;try{r=t(...n)}catch{r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(t){return this.createCustomLog(n=>({component:t,...n}))}getAllLogs=()=>this.logs}function me(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function ge(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function V(e){return typeof e<"u"&&e!==null}function D(e){return e==null}function Ee(e,t){if(!e?.length)throw new Error(t)}function Se(e,t){if(e?.length)throw new Error(t)}const Oe=(e,t,n)=>new Promise((r,i)=>{t.addEventListener("abort",()=>{d(),c.remove()});const s=()=>{d(),i()},o=()=>{d(),r()},d=()=>{b&&clearTimeout(b),c.removeEventListener("load",o),c.removeEventListener("error",s)};let b;n&&(b=window.setTimeout(s,n));const c=document.createElement("script");c.addEventListener("load",o),c.addEventListener("error",s),c.src=e,document.head.appendChild(c)}),Ae=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),ye=(e,t)=>async(...n)=>{const r=t(...n);let i=e.aborted,s;for(;!i&&!e.aborted;){const o=await r.next(s);i=o.done??!1,s=o.value}return s};var m;(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"})(m||(m={}));var l;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Mac="Mac",e.Desktop="Desktop"})(l||(l={}));const j=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?m.Yandex:void 0,n=/chrome|crios/i.test(e)?m.Chrome:void 0,r=/chromium/i.test(e)?m.Chromium:void 0,i=/firefox|fxios/i.test(e)?m.Firefox:void 0,s=/webkit|safari|khtml/i.test(e)?m.Safari:void 0,o=/opr\//i.test(e)?m.Opera:void 0,d=/edg/i.test(e)?m.Edge:void 0,b=/android/i.test(e)?l.Android:void 0,c=/iphone/i.test(e)?l.iPhone:void 0,p=/ipad/i.test(e)?l.iPad:void 0,w=/ipod/i.test(e)?l.iPod:void 0,E=/mac/i.test(e)?l.Mac:void 0,x=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?l.RestMobile:void 0;return{browser:t||i||o||d||n||r||s||m.Rest,device:b||c||p||w||x||E||l.Desktop}},ve=(e=!1)=>{const n=[l.iPhone,l.iPad,l.iPod].includes(j().device);if(!e)return n;const{userAgent:r,maxTouchPoints:i}=window.navigator;return!!(n||/macintosh/i.test(r)&&i>0)},xe=()=>{const{userAgent:e}=window.navigator,t=e.match(/Version\/(\d+(\.\d+)?)/i);if(!t)return null;const n=t[1],r=parseFloat(n);return isNaN(r)?null:r},Re=()=>[l.Mac,l.iPhone,l.iPad,l.iPod].includes(j().device),_e=(e,{start:t=0,factor:n=2,max:r=1/0,min:i=t,random:s=0}={})=>{let o=t;return o*=n**e,o*=1+(Math.random()*s*2-s),o=Math.round(o),o=Math.min(o,r),o=Math.max(o,i),o};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));let O,g;const R=`vk-videoplayer-dummy-key-${Math.random()}`,A=()=>{if(g!==void 0)return g;try{localStorage.setItem(R,"test"),localStorage.removeItem(R),g=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(R),g=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)g=a.RUNTIME;else throw t}else throw e}return g===a.RUNTIME&&(O=new Map),g},z=()=>A()===a.LOCAL_STORAGE,$=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return O?.get(e);default:S(t)}},Y=(e,t)=>{const n=A();switch(n){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.RUNTIME:return void O?.set(e,t);default:S(n)}},H=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return O?.has(e)??!1;default:return S(t),!1}},W=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void O?.delete(e);default:S(t)}},B=()=>{const e=A();switch(e){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return O?.clear();default:S(e)}};var Pe=Object.freeze({__proto__:null,clear:B,get:$,has:H,isPersistent:z,remove:W,set:Y}),h;(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"})(h||(h={}));const f={[h.Q_144P]:{width:256,height:144},[h.Q_240P]:{width:428,height:240},[h.Q_360P]:{width:640,height:360},[h.Q_480P]:{width:856,height:480},[h.Q_720P]:{width:1280,height:720},[h.Q_1080P]:{width:1920,height:1080},[h.Q_1440P]:{width:2560,height:1440},[h.Q_2160P]:{width:3840,height:2160},[h.Q_4320P]:{width:7680,height:4320}},Le=(e,t)=>f[e].height>f[t].height,Te=(e,t)=>f[e].height>=f[t].height,k=(e,t)=>f[e].height<f[t].height,Ie=(e,t)=>f[e].height<=f[t].height,Me=e=>e.sort((t,n)=>t===n?0:t===h.INVARIANT?1:n===h.INVARIANT?-1:k(t,n)?1:-1)[0],q=Object.keys(f).sort((e,t)=>k(e,t)?-1:1),Ne=(e,t=.02)=>[...q].find(r=>f[r].height*(1+t)>=e),je=({width:e,height:t})=>{const n=Math.min(e,t),r=Math.max(e,t);return q.find(i=>{const s=f[i];return s.width>=r&&s.height>=n})},ke=e=>f[e].height,F=e=>e===h.INVARIANT,qe=e=>e.every(t=>!F(t));function Fe(e){if(F(e))throw new Error("Expected exact quality")}const X=(e,t)=>{const n={};for(const r of Object.keys(t)){const i=t[r],s=e[r];Array.isArray(i)&&Array.isArray(s)?n[r]=s:typeof i=="object"&&typeof s=="object"?n[r]=X(s,i):n[r]=r in e?s:i}return n};class Ce extends N{value;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 n=super._subscribe(t);return t.next(this.value),n}}function Qe(e){return new u(t=>{const n={};let r=Object.keys(e).length;const i=s=>o=>{s in n||r--,n[s]=o,r===0&&t.next(n)};return Object.entries(e).reduce((s,[o,d])=>s.add(d.subscribe(i(o))),new v)})}function Ue(...e){return new u(t=>e.reduce((n,r)=>n.add(r.subscribe(t)),new v))}var Ge=e=>new u(t=>{const n=window.setTimeout(()=>{try{t.next()}catch(r){if(t.error)t.error(r);else throw r}},e);return()=>window.clearTimeout(n)}),Ve=e=>new u(t=>{const n=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(n)}),De=e=>new u(t=>{e.forEach(n=>t.next(n))}),ze=(e,t)=>new u(n=>{const r=i=>n.next(i);return e.addEventListener(t,r),()=>e.removeEventListener(t,r)});function $e(e){return t=>new u(n=>t.subscribe(new J(n,e)))}class J{destination;size;lastValues=[];constructor(t,n){this.destination=t,this.size=n}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){this.destination.error?.(t)}}const Z={leading:!1,trailing:!0};function Ye(e,t=Z){return n=>new u(r=>n.subscribe(new K(r,e,t)))}class K{destination;time;config;lastValue;timeout;constructor(t,n,r){this.destination=t,this.time=n,this.config=r}next(t){this.lastValue=t,V(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(n){if(this.destination.error)this.destination.error(n);else throw n}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const ee={leading:!0,trailing:!1};function He(e,t=ee){return n=>new u(r=>n.subscribe(new te(r,e,t)))}class te{destination;time;config;lastValue;timeout;constructor(t,n,r){this.destination=t,this.time=n,this.config=r}next(t){this.lastValue=t,D(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){this.destination.error?.(t)}}function We(e){return t=>new u(n=>t.subscribe(new ne(n,e)))}class ne{destination;predicate;constructor(t,n){this.destination=t,this.predicate=n}next(t){let n;try{n=this.predicate(t)}catch(r){throw this.error(r),r}n&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Be(e=(t,n)=>t===n){return t=>new u(n=>t.subscribe(new re(n,e)))}const P={};class re{destination;predicate;lastValue=P;constructor(t,n){this.destination=t,this.predicate=n}next(t){let n;try{n=this.lastValue===P||!this.predicate(this.lastValue,t),this.lastValue=t}catch(r){throw this.error(r),r}n&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function se(e){return t=>new u(n=>t.subscribe(new ie(n,e)))}let ie=class{destination;mapper;constructor(t,n){this.destination=t,this.mapper=n}next(t){let n;try{n=this.mapper(t)}catch(r){throw this.error(r),r}this.destination.next(n)}error(t){this.destination.error?.(t)}};function Je(e){return se(()=>e)}function Ze(){return e=>new u(t=>{let n=!1,r=!1;const i=e.subscribe(s=>{n||(n=!0,t.next(s)),r&&i.unsubscribe()},s=>{n=!0,t.error?.(s),r&&i.unsubscribe()});return r=!0,n&&i.unsubscribe(),i})}function Ke(){return e=>new u(t=>e.subscribe(new oe(t)))}class oe{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const n=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([n,t])}error(t){this.destination.error?.(t)}}function et(e){return t=>new u(n=>t.subscribe(new ae(n,e)))}class ae{destination;effect;constructor(t,n){this.destination=t,this.effect=n}next(t){try{this.effect(t)}catch(n){throw this.error(n),n}this.destination.next(t)}error(t){this.destination.error?.(t)}}var L;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(L||(L={}));class T{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(t,n,r){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:n,options:r})}removeEventListener(t,n){if(!(t in this.listeners))return;const r=this.listeners[t];for(let i=0,s=r.length;i<s;i++)if(r[i].callback===n){r.splice(i,1);return}}dispatchEvent(t){if(!(t.type in this.listeners))return;const r=this.listeners[t.type].slice();for(let i=0,s=r.length;i<s;i++){const o=r[i];try{o.callback.call(this,t)}catch(d){Promise.resolve().then(()=>{throw d})}o.options&&o.options.once&&this.removeEventListener(t.type,o.callback)}return!t.defaultPrevented}}class C extends T{constructor(){super(),this.listeners||T.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(t){t.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,t)),super.dispatchEvent(t)}}class ce{constructor(){Object.defineProperty(this,"signal",{value:new C,writable:!0,configurable:!0})}abort(t){let n;try{n=new Event("abort")}catch{typeof document<"u"?document.createEvent?(n=document.createEvent("Event"),n.initEvent("abort",!1,!1)):(n=document.createEventObject(),n.type="abort"):n={type:"abort",bubbles:!1,cancelable:!1}}let r=t;if(r===void 0)if(typeof document>"u")r=new Error("This operation was aborted"),r.name="AbortError";else try{r=new DOMException("signal is aborted without reason")}catch{r=new Error("This operation was aborted"),r.name="AbortError"}this.signal.reason=r,this.signal.dispatchEvent(n)}toString(){return"[object AbortController]"}}typeof Symbol<"u"&&Symbol.toStringTag&&(ce.prototype[Symbol.toStringTag]="AbortController",C.prototype[Symbol.toStringTag]="AbortSignal");function Q(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof e.Request=="function"&&!e.Request.prototype.hasOwnProperty("signal")||!e.AbortController}function le(e){typeof e=="function"&&(e={fetch:e});const{fetch:t,Request:n=t.Request,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:i=!1}=e;if(!Q({fetch:t,Request:n,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:i}))return{fetch:t,Request:s};let s=n;(s&&!s.prototype.hasOwnProperty("signal")||i)&&(s=function(c,p){let w;p&&p.signal&&(w=p.signal,delete p.signal);const E=new n(c,p);return w&&Object.defineProperty(E,"signal",{writable:!1,enumerable:!1,configurable:!0,value:w}),E},s.prototype=n.prototype);const o=t;return{fetch:(b,c)=>{const p=s&&s.prototype.isPrototypeOf(b)?b.signal:c?c.signal:void 0;if(p){let w;try{w=new DOMException("Aborted","AbortError")}catch{w=new Error("Aborted"),w.name="AbortError"}if(p.aborted)return Promise.reject(w);const E=new Promise((x,G)=>{p.addEventListener("abort",()=>G(w),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([E,o(b,c)])}return o(b,c)},Request:s}}const _=Q({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),U=_?le({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,ue=_?U.fetch:window.fetch;_?U.Request:window.Request;var I;(function(e){e.Armenian="58",e.Azerbaijani="57",e.Belarusian="114",e.English="3",e.Kazakh="97",e.Portuguese="73",e.Russian="0",e.Spanish="4",e.Ukrainian="1",e.Uzbek="65",e.Vietnamese="75"})(I||(I={}));const he="vk.com",tt=async(e,t,n)=>{const r=new URL(`https://${he}/js/lang-pack.js`);r.searchParams.set("format","json"),r.searchParams.set("name",t),e!==void 0&&r.searchParams.set("lang",e);const s=await(await ue(r.toString())).json();return de(s,n)},de=(e,t)=>Object.fromEntries(Object.entries(e.keys).map(([n,r])=>[n.substring(`${t}_`.length),fe(r)])),fe=e=>Array.isArray(e)?e[0]:e;var M;(function(e){e.RU="ru",e.EN="en"})(M||(M={}));export{m as CurrentClientBrowser,l as CurrentClientDevice,L as ErrorCategory,M as InterfaceLanguage,we as Logger,u as Observable,N as Subject,v as Subscription,be as VERSION,I as VKNumericLanguage,Ce as ValueSubject,h as VideoQuality,ye as abortable,Oe as addScript,qe as areQualitiesExact,Se as assertEmptyArray,S as assertNever,me as assertNonNullable,Ee as assertNotEmptyArray,ge as assertNullable,Fe as assertQualityIsExact,$e as buffer,pe as checkNever,Qe as combine,Ye as debounce,X as fillWithDefault,We as filter,Be as filterChanged,ze as fromEvent,j as getCurrentBrowser,_e as getExponentialDelay,Me as getHighestQuality,xe as getIOSVersion,Ve as interval,Le as isHigher,Te as isHigherOrEqual,ve as isIOS,F as isInvariantQuality,k as isLower,Ie as isLowerOrEqual,Re as isMacLike,V as isNonNullable,D as isNullable,tt as loadVKLangPack,se as map,Je as mapTo,Ue as merge,y as noop,Ae as now,De as observableFrom,Ze as once,Ke as pairwise,Pe as safeStorage,et as tap,He as throttle,Ge as timeout,Ne as videoHeightToQuality,ke as videoQualityToHeight,je as videoSizeToQuality};
|
|
6
|
+
const be="1.0.31-dev.680271f.0";class v{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(n=>typeof n=="function"?n():n.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const S=e=>{throw new Error(`${e} is value of unexpected type`)},pe=e=>{},y=()=>{};class u{constructor(t){t&&(this._subscribe=t)}subscribe(t,n){let r;n?typeof n=="function"?r={next:n,error:y}:r={next:o=>n.next(o),error:o=>n.error?.(o)}:r={next:y,error:y};const i=typeof t=="function"?{next:o=>{try{t(o)}catch(d){r.next(d)}},error:o=>r.next(o)}:{next:o=>t.next(o),error:o=>t.error?t.error(o):r.next(o)};let s;try{s=this._subscribe(i)}catch(o){i.error?.(o)}return new v().add(()=>{switch(i.next=y,i.error=y,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return S(s)}})}pipe(...t){return t.reduce((n,r)=>r(n),this)}_subscribe(t){}}class N extends u{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(n=>n.next(t))}error(t){this.subscribers.forEach(n=>n.error?.(t))}_subscribe(t){const n=this.keyCounter++;return this.subscribers.set(n,t),new v().add(()=>this.subscribers.delete(n))}}class we{log$=new N;logs=[];log=t=>{const n={...t,timestamp:Date.now()};this.logs.push(n),this.log$.next(n)};createCustomLog(t){return(...n)=>{let r;try{r=t(...n)}catch{r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(t){return this.createCustomLog(n=>({component:t,...n}))}getAllLogs=()=>this.logs}function me(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function ge(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function V(e){return typeof e<"u"&&e!==null}function D(e){return e==null}function Ee(e,t){if(!e?.length)throw new Error(t)}function Se(e,t){if(e?.length)throw new Error(t)}const Oe=(e,t,n)=>new Promise((r,i)=>{t.addEventListener("abort",()=>{d(),c.remove()});const s=()=>{d(),i()},o=()=>{d(),r()},d=()=>{b&&clearTimeout(b),c.removeEventListener("load",o),c.removeEventListener("error",s)};let b;n&&(b=window.setTimeout(s,n));const c=document.createElement("script");c.addEventListener("load",o),c.addEventListener("error",s),c.src=e,document.head.appendChild(c)}),Ae=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),ye=(e,t)=>async(...n)=>{const r=t(...n);let i=e.aborted,s;for(;!i&&!e.aborted;){const o=await r.next(s);i=o.done??!1,s=o.value}return s};var m;(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"})(m||(m={}));var l;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Mac="Mac",e.Desktop="Desktop"})(l||(l={}));const j=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?m.Yandex:void 0,n=/chrome|crios/i.test(e)?m.Chrome:void 0,r=/chromium/i.test(e)?m.Chromium:void 0,i=/firefox|fxios/i.test(e)?m.Firefox:void 0,s=/webkit|safari|khtml/i.test(e)?m.Safari:void 0,o=/opr\//i.test(e)?m.Opera:void 0,d=/edg/i.test(e)?m.Edge:void 0,b=/android/i.test(e)?l.Android:void 0,c=/iphone/i.test(e)?l.iPhone:void 0,p=/ipad/i.test(e)?l.iPad:void 0,w=/ipod/i.test(e)?l.iPod:void 0,E=/mac/i.test(e)?l.Mac:void 0,x=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?l.RestMobile:void 0;return{browser:t||i||o||d||n||r||s||m.Rest,device:b||c||p||w||x||E||l.Desktop}},ve=(e=!1)=>{const n=[l.iPhone,l.iPad,l.iPod].includes(j().device);if(!e)return n;const{userAgent:r,maxTouchPoints:i}=window.navigator;return!!(n||/macintosh/i.test(r)&&i>0)},xe=()=>{const{userAgent:e}=window.navigator,t=e.match(/Version\/(\d+(\.\d+)?)/i);if(!t)return null;const n=t[1],r=parseFloat(n);return isNaN(r)?null:r},Re=()=>[l.Mac,l.iPhone,l.iPad,l.iPod].includes(j().device),_e=(e,{start:t=0,factor:n=2,max:r=1/0,min:i=t,random:s=0}={})=>{let o=t;return o*=n**e,o*=1+(Math.random()*s*2-s),o=Math.round(o),o=Math.min(o,r),o=Math.max(o,i),o};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));let O,g;const R=`vk-videoplayer-dummy-key-${Math.random()}`,A=()=>{if(g!==void 0)return g;try{localStorage.setItem(R,"test"),localStorage.removeItem(R),g=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(R),g=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)g=a.RUNTIME;else throw t}else throw e}return g===a.RUNTIME&&(O=new Map),g},z=()=>A()===a.LOCAL_STORAGE,$=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return O?.get(e);default:S(t)}},Y=(e,t)=>{const n=A();switch(n){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(r){if(r instanceof DOMException)console.error(r);else throw r}break;case a.RUNTIME:return void O?.set(e,t);default:S(n)}},H=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return O?.has(e)??!1;default:return S(t),!1}},W=e=>{const t=A();switch(t){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void O?.delete(e);default:S(t)}},B=()=>{const e=A();switch(e){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return O?.clear();default:S(e)}};var Pe=Object.freeze({__proto__:null,clear:B,get:$,has:H,isPersistent:z,remove:W,set:Y}),h;(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"})(h||(h={}));const f={[h.Q_144P]:{width:256,height:144},[h.Q_240P]:{width:428,height:240},[h.Q_360P]:{width:640,height:360},[h.Q_480P]:{width:856,height:480},[h.Q_720P]:{width:1280,height:720},[h.Q_1080P]:{width:1920,height:1080},[h.Q_1440P]:{width:2560,height:1440},[h.Q_2160P]:{width:3840,height:2160},[h.Q_4320P]:{width:7680,height:4320}},Le=(e,t)=>f[e].height>f[t].height,Te=(e,t)=>f[e].height>=f[t].height,k=(e,t)=>f[e].height<f[t].height,Ie=(e,t)=>f[e].height<=f[t].height,Me=e=>e.sort((t,n)=>t===n?0:t===h.INVARIANT?1:n===h.INVARIANT?-1:k(t,n)?1:-1)[0],q=Object.keys(f).sort((e,t)=>k(e,t)?-1:1),Ne=(e,t=.02)=>[...q].find(r=>f[r].height*(1+t)>=e),je=({width:e,height:t})=>{const n=Math.min(e,t),r=Math.max(e,t);return q.find(i=>{const s=f[i];return s.width>=r&&s.height>=n})},ke=e=>f[e].height,F=e=>e===h.INVARIANT,qe=e=>e.every(t=>!F(t));function Fe(e){if(F(e))throw new Error("Expected exact quality")}const X=(e,t)=>{const n={};for(const r of Object.keys(t)){const i=t[r],s=e[r];Array.isArray(i)&&Array.isArray(s)?n[r]=s:typeof i=="object"&&typeof s=="object"?n[r]=X(s,i):n[r]=r in e?s:i}return n};class Ce extends N{value;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 n=super._subscribe(t);return t.next(this.value),n}}function Qe(e){return new u(t=>{const n={};let r=Object.keys(e).length;const i=s=>o=>{s in n||r--,n[s]=o,r===0&&t.next(n)};return Object.entries(e).reduce((s,[o,d])=>s.add(d.subscribe(i(o))),new v)})}function Ue(...e){return new u(t=>e.reduce((n,r)=>n.add(r.subscribe(t)),new v))}var Ge=e=>new u(t=>{const n=window.setTimeout(()=>{try{t.next()}catch(r){if(t.error)t.error(r);else throw r}},e);return()=>window.clearTimeout(n)}),Ve=e=>new u(t=>{const n=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(n)}),De=e=>new u(t=>{e.forEach(n=>t.next(n))}),ze=(e,t)=>new u(n=>{const r=i=>n.next(i);return e.addEventListener(t,r),()=>e.removeEventListener(t,r)});function $e(e){return t=>new u(n=>t.subscribe(new J(n,e)))}class J{destination;size;lastValues=[];constructor(t,n){this.destination=t,this.size=n}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){this.destination.error?.(t)}}const Z={leading:!1,trailing:!0};function Ye(e,t=Z){return n=>new u(r=>n.subscribe(new K(r,e,t)))}class K{destination;time;config;lastValue;timeout;constructor(t,n,r){this.destination=t,this.time=n,this.config=r}next(t){this.lastValue=t,V(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(n){if(this.destination.error)this.destination.error(n);else throw n}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const ee={leading:!0,trailing:!1};function He(e,t=ee){return n=>new u(r=>n.subscribe(new te(r,e,t)))}class te{destination;time;config;lastValue;timeout;constructor(t,n,r){this.destination=t,this.time=n,this.config=r}next(t){this.lastValue=t,D(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){this.destination.error?.(t)}}function We(e){return t=>new u(n=>t.subscribe(new ne(n,e)))}class ne{destination;predicate;constructor(t,n){this.destination=t,this.predicate=n}next(t){let n;try{n=this.predicate(t)}catch(r){throw this.error(r),r}n&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Be(e=(t,n)=>t===n){return t=>new u(n=>t.subscribe(new re(n,e)))}const P={};class re{destination;predicate;lastValue=P;constructor(t,n){this.destination=t,this.predicate=n}next(t){let n;try{n=this.lastValue===P||!this.predicate(this.lastValue,t),this.lastValue=t}catch(r){throw this.error(r),r}n&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function se(e){return t=>new u(n=>t.subscribe(new ie(n,e)))}let ie=class{destination;mapper;constructor(t,n){this.destination=t,this.mapper=n}next(t){let n;try{n=this.mapper(t)}catch(r){throw this.error(r),r}this.destination.next(n)}error(t){this.destination.error?.(t)}};function Je(e){return se(()=>e)}function Ze(){return e=>new u(t=>{let n=!1,r=!1;const i=e.subscribe(s=>{n||(n=!0,t.next(s)),r&&i.unsubscribe()},s=>{n=!0,t.error?.(s),r&&i.unsubscribe()});return r=!0,n&&i.unsubscribe(),i})}function Ke(){return e=>new u(t=>e.subscribe(new oe(t)))}class oe{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const n=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([n,t])}error(t){this.destination.error?.(t)}}function et(e){return t=>new u(n=>t.subscribe(new ae(n,e)))}class ae{destination;effect;constructor(t,n){this.destination=t,this.effect=n}next(t){try{this.effect(t)}catch(n){throw this.error(n),n}this.destination.next(t)}error(t){this.destination.error?.(t)}}var L;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(L||(L={}));class T{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(t,n,r){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push({callback:n,options:r})}removeEventListener(t,n){if(!(t in this.listeners))return;const r=this.listeners[t];for(let i=0,s=r.length;i<s;i++)if(r[i].callback===n){r.splice(i,1);return}}dispatchEvent(t){if(!(t.type in this.listeners))return;const r=this.listeners[t.type].slice();for(let i=0,s=r.length;i<s;i++){const o=r[i];try{o.callback.call(this,t)}catch(d){Promise.resolve().then(()=>{throw d})}o.options&&o.options.once&&this.removeEventListener(t.type,o.callback)}return!t.defaultPrevented}}class C extends T{constructor(){super(),this.listeners||T.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(t){t.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,t)),super.dispatchEvent(t)}}class ce{constructor(){Object.defineProperty(this,"signal",{value:new C,writable:!0,configurable:!0})}abort(t){let n;try{n=new Event("abort")}catch{typeof document<"u"?document.createEvent?(n=document.createEvent("Event"),n.initEvent("abort",!1,!1)):(n=document.createEventObject(),n.type="abort"):n={type:"abort",bubbles:!1,cancelable:!1}}let r=t;if(r===void 0)if(typeof document>"u")r=new Error("This operation was aborted"),r.name="AbortError";else try{r=new DOMException("signal is aborted without reason")}catch{r=new Error("This operation was aborted"),r.name="AbortError"}this.signal.reason=r,this.signal.dispatchEvent(n)}toString(){return"[object AbortController]"}}typeof Symbol<"u"&&Symbol.toStringTag&&(ce.prototype[Symbol.toStringTag]="AbortController",C.prototype[Symbol.toStringTag]="AbortSignal");function Q(e){return e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof e.Request=="function"&&!e.Request.prototype.hasOwnProperty("signal")||!e.AbortController}function le(e){typeof e=="function"&&(e={fetch:e});const{fetch:t,Request:n=t.Request,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:i=!1}=e;if(!Q({fetch:t,Request:n,AbortController:r,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:i}))return{fetch:t,Request:s};let s=n;(s&&!s.prototype.hasOwnProperty("signal")||i)&&(s=function(c,p){let w;p&&p.signal&&(w=p.signal,delete p.signal);const E=new n(c,p);return w&&Object.defineProperty(E,"signal",{writable:!1,enumerable:!1,configurable:!0,value:w}),E},s.prototype=n.prototype);const o=t;return{fetch:(b,c)=>{const p=s&&s.prototype.isPrototypeOf(b)?b.signal:c?c.signal:void 0;if(p){let w;try{w=new DOMException("Aborted","AbortError")}catch{w=new Error("Aborted"),w.name="AbortError"}if(p.aborted)return Promise.reject(w);const E=new Promise((x,G)=>{p.addEventListener("abort",()=>G(w),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([E,o(b,c)])}return o(b,c)},Request:s}}const _=Q({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),U=_?le({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,ue=_?U.fetch:window.fetch;_?U.Request:window.Request;var I;(function(e){e.Armenian="58",e.Azerbaijani="57",e.Belarusian="114",e.English="3",e.Kazakh="97",e.Portuguese="73",e.Russian="0",e.Spanish="4",e.Ukrainian="1",e.Uzbek="65",e.Vietnamese="75"})(I||(I={}));const he="vk.com",tt=async(e,t,n)=>{const r=new URL(`https://${he}/js/lang-pack.js`);r.searchParams.set("format","json"),r.searchParams.set("name",t),e!==void 0&&r.searchParams.set("lang",e);const s=await(await ue(r.toString())).json();return de(s,n)},de=(e,t)=>Object.fromEntries(Object.entries(e.keys).map(([n,r])=>[n.substring(`${t}_`.length),fe(r)])),fe=e=>Array.isArray(e)?e[0]:e;var M;(function(e){e.RU="ru",e.EN="en"})(M||(M={}));export{m as CurrentClientBrowser,l as CurrentClientDevice,L as ErrorCategory,M as InterfaceLanguage,we as Logger,u as Observable,N as Subject,v as Subscription,be as VERSION,I as VKNumericLanguage,Ce as ValueSubject,h as VideoQuality,ye as abortable,Oe as addScript,qe as areQualitiesExact,Se as assertEmptyArray,S as assertNever,me as assertNonNullable,Ee as assertNotEmptyArray,ge as assertNullable,Fe as assertQualityIsExact,$e as buffer,pe as checkNever,Qe as combine,Ye as debounce,X as fillWithDefault,We as filter,Be as filterChanged,ze as fromEvent,j as getCurrentBrowser,_e as getExponentialDelay,Me as getHighestQuality,xe as getIOSVersion,Ve as interval,Le as isHigher,Te as isHigherOrEqual,ve as isIOS,F as isInvariantQuality,k as isLower,Ie as isLowerOrEqual,Re as isMacLike,V as isNonNullable,D as isNullable,tt as loadVKLangPack,se as map,Je as mapTo,Ue as merge,y as noop,Ae as now,De as observableFrom,Ze as once,Ke as pairwise,Pe as safeStorage,et as tap,He as throttle,Ge as timeout,Ne as videoHeightToQuality,ke as videoQualityToHeight,je as videoSizeToQuality};
|
package/evergreen.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.31-dev.
|
|
3
|
-
* Tue,
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.31-dev.680271f.0
|
|
3
|
+
* Tue, 09 Jan 2024 09:52:53 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-31/doc/
|
|
5
5
|
*/
|
|
6
|
-
const rt="1.0.31-dev.2d3fd91.0";class x{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 m=t=>{throw new Error(`${t} is value of unexpected type`)},ot=t=>{},S=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,s){let n;s?typeof s=="function"?n={next:s,error:S}:n={next:r=>s.next(r),error:r=>s.error?.(r)}:n={next:S,error:S};const o=typeof e=="function"?{next:r=>{try{e(r)}catch(f){n.next(f)}},error:r=>n.next(r)}:{next:r=>e.next(r),error:r=>e.error?e.error(r):n.next(r)};let i;try{i=this._subscribe(o)}catch(r){o.error?.(r)}return new x().add(()=>{switch(o.next=S,o.error=S,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return m(i)}})}pipe(...e){return e.reduce((s,n)=>n(s),this)}_subscribe(e){}}class I extends u{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 x().add(()=>this.subscribers.delete(s))}}class at{log$=new I;logs=[];log=e=>{const s={...e,timestamp:Date.now()};this.logs.push(s),this.log$.next(s)};createCustomLog(e){return(...s)=>{let n;try{n=e(...s)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(s=>({component:e,...s}))}getAllLogs=()=>this.logs}function ct(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function ut(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function U(t){return typeof t<"u"&&t!==null}function j(t){return t==null}function ht(t,e){if(!t?.length)throw new Error(e)}function dt(t,e){if(t?.length)throw new Error(e)}const lt=(t,e,s)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{f(),b.remove()});const i=()=>{f(),o()},r=()=>{f(),n()},f=()=>{E&&clearTimeout(E),b.removeEventListener("load",r),b.removeEventListener("error",i)};let E;s&&(E=window.setTimeout(i,s));const b=document.createElement("script");b.addEventListener("load",r),b.addEventListener("error",i),b.src=t,document.head.appendChild(b)}),ft=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),bt=(t,e)=>async(...s)=>{const n=e(...s);let o=t.aborted,i;for(;!o&&!t.aborted;){const r=await n.next(i);o=r.done??!1,i=r.value}return i};var l;(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"})(l||(l={}));var c;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Mac="Mac",t.Desktop="Desktop"})(c||(c={}));const T=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?l.Yandex:void 0,s=/chrome|crios/i.test(t)?l.Chrome:void 0,n=/chromium/i.test(t)?l.Chromium:void 0,o=/firefox|fxios/i.test(t)?l.Firefox:void 0,i=/webkit|safari|khtml/i.test(t)?l.Safari:void 0,r=/opr\//i.test(t)?l.Opera:void 0,f=/edg/i.test(t)?l.Edge:void 0,E=/android/i.test(t)?c.Android:void 0,b=/iphone/i.test(t)?c.iPhone:void 0,L=/ipad/i.test(t)?c.iPad:void 0,N=/ipod/i.test(t)?c.iPod:void 0,k=/mac/i.test(t)?c.Mac:void 0,Q=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?c.RestMobile:void 0;return{browser:e||o||r||f||s||n||i||l.Rest,device:E||b||L||N||Q||k||c.Desktop}},wt=(t=!1)=>{const s=[c.iPhone,c.iPad,c.iPod].includes(T().device);if(!t)return s;const{userAgent:n,maxTouchPoints:o}=window.navigator;return!!(s||/macintosh/i.test(n)&&o>0)},mt=()=>{const{userAgent:t}=window.navigator,e=t.match(/Version\/(\d+(\.\d+)?)/i);if(!e)return null;const s=e[1],n=parseFloat(s);return isNaN(n)?null:n},pt=()=>[c.Mac,c.iPhone,c.iPad,c.iPod].includes(T().device),gt=(t,{start:e=0,factor:s=2,max:n=1/0,min:o=e,random:i=0}={})=>{let r=e;return r*=s**t,r*=1+(Math.random()*i*2-i),r=Math.round(r),r=Math.min(r,n),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 p,w;const O=`vk-videoplayer-dummy-key-${Math.random()}`,g=()=>{if(w!==void 0)return w;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),w=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(O),w=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)w=a.RUNTIME;else throw e}else throw t}return w===a.RUNTIME&&(p=new Map),w},G=()=>g()===a.LOCAL_STORAGE,V=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 p?.get(t);default:m(e)}},D=(t,e)=>{const s=g();switch(s){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.RUNTIME:return void p?.set(t,e);default:m(s)}},F=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 p?.has(t)??!1;default:return m(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 p?.delete(t);default:m(e)}},$=()=>{const t=g();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return p?.clear();default:m(t)}};var Et=Object.freeze({__proto__:null,clear:$,get:V,has:F,isPersistent:G,remove:z,set:D}),h;(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"})(h||(h={}));const d={[h.Q_144P]:{width:256,height:144},[h.Q_240P]:{width:428,height:240},[h.Q_360P]:{width:640,height:360},[h.Q_480P]:{width:856,height:480},[h.Q_720P]:{width:1280,height:720},[h.Q_1080P]:{width:1920,height:1080},[h.Q_1440P]:{width:2560,height:1440},[h.Q_2160P]:{width:3840,height:2160},[h.Q_4320P]:{width:7680,height:4320}},St=(t,e)=>d[t].height>d[e].height,xt=(t,e)=>d[t].height>=d[e].height,R=(t,e)=>d[t].height<d[e].height,Ot=(t,e)=>d[t].height<=d[e].height,At=t=>t.sort((e,s)=>e===s?0:e===h.INVARIANT?1:s===h.INVARIANT?-1:R(e,s)?1:-1)[0],y=Object.keys(d).sort((t,e)=>R(t,e)?-1:1),vt=(t,e=.02)=>[...y].find(n=>d[n].height*(1+e)>=t),_t=({width:t,height:e})=>{const s=Math.min(t,e),n=Math.max(t,e);return y.find(o=>{const i=d[o];return i.width>=n&&i.height>=s})},Pt=t=>d[t].height,M=t=>t===h.INVARIANT,It=t=>t.every(e=>!M(e));function Tt(t){if(M(t))throw new Error("Expected exact quality")}const q=(t,e)=>{const s={};for(const n of Object.keys(e)){const o=e[n],i=t[n];Array.isArray(o)&&Array.isArray(i)?s[n]=i:typeof o=="object"&&typeof i=="object"?s[n]=q(i,o):s[n]=n in t?i:o}return s};class Rt extends I{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 yt(t){return new u(e=>{const s={};let n=Object.keys(t).length;const o=i=>r=>{i in s||n--,s[i]=r,n===0&&e.next(s)};return Object.entries(t).reduce((i,[r,f])=>i.add(f.subscribe(o(r))),new x)})}function Mt(...t){return new u(e=>t.reduce((s,n)=>s.add(n.subscribe(e)),new x))}var Lt=t=>new u(e=>{const s=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(s)}),Nt=t=>new u(e=>{const s=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(s)}),kt=t=>new u(e=>{t.forEach(s=>e.next(s))}),Qt=(t,e)=>new u(s=>{const n=o=>s.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function Ut(t){return e=>new u(s=>e.subscribe(new H(s,t)))}class H{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 Y={leading:!1,trailing:!0};function jt(t,e=Y){return s=>new u(n=>s.subscribe(new W(n,t,e)))}class W{destination;time;config;lastValue;timeout;constructor(e,s,n){this.destination=e,this.time=s,this.config=n}next(e){this.lastValue=e,U(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 X={leading:!0,trailing:!1};function Gt(t,e=X){return s=>new u(n=>s.subscribe(new C(n,t,e)))}class C{destination;time;config;lastValue;timeout;constructor(e,s,n){this.destination=e,this.time=s,this.config=n}next(e){this.lastValue=e,j(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 Vt(t){return e=>new u(s=>e.subscribe(new J(s,t)))}class J{destination;predicate;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.predicate(e)}catch(n){throw this.error(n),n}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function Dt(t=(e,s)=>e===s){return e=>new u(s=>e.subscribe(new Z(s,t)))}const A={};class Z{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(n){throw this.error(n),n}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function B(t){return e=>new u(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(n){throw this.error(n),n}this.destination.next(s)}error(e){this.destination.error?.(e)}};function zt(t){return B(()=>t)}function $t(){return t=>new u(e=>{let s=!1,n=!1;const o=t.subscribe(i=>{s||(s=!0,e.next(i)),n&&o.unsubscribe()},i=>{s=!0,e.error?.(i),n&&o.unsubscribe()});return n=!0,s&&o.unsubscribe(),o})}function qt(){return t=>new u(e=>t.subscribe(new tt(e)))}class tt{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 Ht(t){return e=>new u(s=>e.subscribe(new et(s,t)))}class et{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 v;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(v||(v={}));var _;(function(t){t.Armenian="58",t.Azerbaijani="57",t.Belarusian="114",t.English="3",t.Kazakh="97",t.Portuguese="73",t.Russian="0",t.Spanish="4",t.Ukrainian="1",t.Uzbek="65",t.Vietnamese="75"})(_||(_={}));const st="vk.com",Yt=async(t,e,s)=>{const n=new URL(`https://${st}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",e),t!==void 0&&n.searchParams.set("lang",t);const i=await(await fetch(n.toString())).json();return nt(i,s)},nt=(t,e)=>Object.fromEntries(Object.entries(t.keys).map(([s,n])=>[s.substring(`${e}_`.length),it(n)])),it=t=>Array.isArray(t)?t[0]:t;var P;(function(t){t.RU="ru",t.EN="en"})(P||(P={}));export{l as CurrentClientBrowser,c as CurrentClientDevice,v as ErrorCategory,P as InterfaceLanguage,at as Logger,u as Observable,I as Subject,x as Subscription,rt as VERSION,_ as VKNumericLanguage,Rt as ValueSubject,h as VideoQuality,bt as abortable,lt as addScript,It as areQualitiesExact,dt as assertEmptyArray,m as assertNever,ct as assertNonNullable,ht as assertNotEmptyArray,ut as assertNullable,Tt as assertQualityIsExact,Ut as buffer,ot as checkNever,yt as combine,jt as debounce,q as fillWithDefault,Vt as filter,Dt as filterChanged,Qt as fromEvent,T as getCurrentBrowser,gt as getExponentialDelay,At as getHighestQuality,mt as getIOSVersion,Nt as interval,St as isHigher,xt as isHigherOrEqual,wt as isIOS,M as isInvariantQuality,R as isLower,Ot as isLowerOrEqual,pt as isMacLike,U as isNonNullable,j as isNullable,Yt as loadVKLangPack,B as map,zt as mapTo,Mt as merge,S as noop,ft as now,kt as observableFrom,$t as once,qt as pairwise,Et as safeStorage,Ht as tap,Gt as throttle,Lt as timeout,vt as videoHeightToQuality,Pt as videoQualityToHeight,_t as videoSizeToQuality};
|
|
6
|
+
const rt="1.0.31-dev.680271f.0";class x{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 m=t=>{throw new Error(`${t} is value of unexpected type`)},ot=t=>{},S=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,s){let n;s?typeof s=="function"?n={next:s,error:S}:n={next:r=>s.next(r),error:r=>s.error?.(r)}:n={next:S,error:S};const o=typeof e=="function"?{next:r=>{try{e(r)}catch(f){n.next(f)}},error:r=>n.next(r)}:{next:r=>e.next(r),error:r=>e.error?e.error(r):n.next(r)};let i;try{i=this._subscribe(o)}catch(r){o.error?.(r)}return new x().add(()=>{switch(o.next=S,o.error=S,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return m(i)}})}pipe(...e){return e.reduce((s,n)=>n(s),this)}_subscribe(e){}}class I extends u{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 x().add(()=>this.subscribers.delete(s))}}class at{log$=new I;logs=[];log=e=>{const s={...e,timestamp:Date.now()};this.logs.push(s),this.log$.next(s)};createCustomLog(e){return(...s)=>{let n;try{n=e(...s)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(s=>({component:e,...s}))}getAllLogs=()=>this.logs}function ct(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function ut(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function U(t){return typeof t<"u"&&t!==null}function j(t){return t==null}function ht(t,e){if(!t?.length)throw new Error(e)}function dt(t,e){if(t?.length)throw new Error(e)}const lt=(t,e,s)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{f(),b.remove()});const i=()=>{f(),o()},r=()=>{f(),n()},f=()=>{E&&clearTimeout(E),b.removeEventListener("load",r),b.removeEventListener("error",i)};let E;s&&(E=window.setTimeout(i,s));const b=document.createElement("script");b.addEventListener("load",r),b.addEventListener("error",i),b.src=t,document.head.appendChild(b)}),ft=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),bt=(t,e)=>async(...s)=>{const n=e(...s);let o=t.aborted,i;for(;!o&&!t.aborted;){const r=await n.next(i);o=r.done??!1,i=r.value}return i};var l;(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"})(l||(l={}));var c;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Mac="Mac",t.Desktop="Desktop"})(c||(c={}));const T=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?l.Yandex:void 0,s=/chrome|crios/i.test(t)?l.Chrome:void 0,n=/chromium/i.test(t)?l.Chromium:void 0,o=/firefox|fxios/i.test(t)?l.Firefox:void 0,i=/webkit|safari|khtml/i.test(t)?l.Safari:void 0,r=/opr\//i.test(t)?l.Opera:void 0,f=/edg/i.test(t)?l.Edge:void 0,E=/android/i.test(t)?c.Android:void 0,b=/iphone/i.test(t)?c.iPhone:void 0,L=/ipad/i.test(t)?c.iPad:void 0,N=/ipod/i.test(t)?c.iPod:void 0,k=/mac/i.test(t)?c.Mac:void 0,Q=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?c.RestMobile:void 0;return{browser:e||o||r||f||s||n||i||l.Rest,device:E||b||L||N||Q||k||c.Desktop}},wt=(t=!1)=>{const s=[c.iPhone,c.iPad,c.iPod].includes(T().device);if(!t)return s;const{userAgent:n,maxTouchPoints:o}=window.navigator;return!!(s||/macintosh/i.test(n)&&o>0)},mt=()=>{const{userAgent:t}=window.navigator,e=t.match(/Version\/(\d+(\.\d+)?)/i);if(!e)return null;const s=e[1],n=parseFloat(s);return isNaN(n)?null:n},pt=()=>[c.Mac,c.iPhone,c.iPad,c.iPod].includes(T().device),gt=(t,{start:e=0,factor:s=2,max:n=1/0,min:o=e,random:i=0}={})=>{let r=e;return r*=s**t,r*=1+(Math.random()*i*2-i),r=Math.round(r),r=Math.min(r,n),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 p,w;const O=`vk-videoplayer-dummy-key-${Math.random()}`,g=()=>{if(w!==void 0)return w;try{localStorage.setItem(O,"test"),localStorage.removeItem(O),w=a.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(O),w=a.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)w=a.RUNTIME;else throw e}else throw t}return w===a.RUNTIME&&(p=new Map),w},G=()=>g()===a.LOCAL_STORAGE,V=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 p?.get(t);default:m(e)}},D=(t,e)=>{const s=g();switch(s){case a.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case a.RUNTIME:return void p?.set(t,e);default:m(s)}},F=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 p?.has(t)??!1;default:return m(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 p?.delete(t);default:m(e)}},$=()=>{const t=g();switch(t){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return p?.clear();default:m(t)}};var Et=Object.freeze({__proto__:null,clear:$,get:V,has:F,isPersistent:G,remove:z,set:D}),h;(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"})(h||(h={}));const d={[h.Q_144P]:{width:256,height:144},[h.Q_240P]:{width:428,height:240},[h.Q_360P]:{width:640,height:360},[h.Q_480P]:{width:856,height:480},[h.Q_720P]:{width:1280,height:720},[h.Q_1080P]:{width:1920,height:1080},[h.Q_1440P]:{width:2560,height:1440},[h.Q_2160P]:{width:3840,height:2160},[h.Q_4320P]:{width:7680,height:4320}},St=(t,e)=>d[t].height>d[e].height,xt=(t,e)=>d[t].height>=d[e].height,R=(t,e)=>d[t].height<d[e].height,Ot=(t,e)=>d[t].height<=d[e].height,At=t=>t.sort((e,s)=>e===s?0:e===h.INVARIANT?1:s===h.INVARIANT?-1:R(e,s)?1:-1)[0],y=Object.keys(d).sort((t,e)=>R(t,e)?-1:1),vt=(t,e=.02)=>[...y].find(n=>d[n].height*(1+e)>=t),_t=({width:t,height:e})=>{const s=Math.min(t,e),n=Math.max(t,e);return y.find(o=>{const i=d[o];return i.width>=n&&i.height>=s})},Pt=t=>d[t].height,M=t=>t===h.INVARIANT,It=t=>t.every(e=>!M(e));function Tt(t){if(M(t))throw new Error("Expected exact quality")}const q=(t,e)=>{const s={};for(const n of Object.keys(e)){const o=e[n],i=t[n];Array.isArray(o)&&Array.isArray(i)?s[n]=i:typeof o=="object"&&typeof i=="object"?s[n]=q(i,o):s[n]=n in t?i:o}return s};class Rt extends I{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 yt(t){return new u(e=>{const s={};let n=Object.keys(t).length;const o=i=>r=>{i in s||n--,s[i]=r,n===0&&e.next(s)};return Object.entries(t).reduce((i,[r,f])=>i.add(f.subscribe(o(r))),new x)})}function Mt(...t){return new u(e=>t.reduce((s,n)=>s.add(n.subscribe(e)),new x))}var Lt=t=>new u(e=>{const s=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(s)}),Nt=t=>new u(e=>{const s=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(s)}),kt=t=>new u(e=>{t.forEach(s=>e.next(s))}),Qt=(t,e)=>new u(s=>{const n=o=>s.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function Ut(t){return e=>new u(s=>e.subscribe(new H(s,t)))}class H{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 Y={leading:!1,trailing:!0};function jt(t,e=Y){return s=>new u(n=>s.subscribe(new W(n,t,e)))}class W{destination;time;config;lastValue;timeout;constructor(e,s,n){this.destination=e,this.time=s,this.config=n}next(e){this.lastValue=e,U(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 X={leading:!0,trailing:!1};function Gt(t,e=X){return s=>new u(n=>s.subscribe(new C(n,t,e)))}class C{destination;time;config;lastValue;timeout;constructor(e,s,n){this.destination=e,this.time=s,this.config=n}next(e){this.lastValue=e,j(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 Vt(t){return e=>new u(s=>e.subscribe(new J(s,t)))}class J{destination;predicate;constructor(e,s){this.destination=e,this.predicate=s}next(e){let s;try{s=this.predicate(e)}catch(n){throw this.error(n),n}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function Dt(t=(e,s)=>e===s){return e=>new u(s=>e.subscribe(new Z(s,t)))}const A={};class Z{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(n){throw this.error(n),n}s&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function B(t){return e=>new u(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(n){throw this.error(n),n}this.destination.next(s)}error(e){this.destination.error?.(e)}};function zt(t){return B(()=>t)}function $t(){return t=>new u(e=>{let s=!1,n=!1;const o=t.subscribe(i=>{s||(s=!0,e.next(i)),n&&o.unsubscribe()},i=>{s=!0,e.error?.(i),n&&o.unsubscribe()});return n=!0,s&&o.unsubscribe(),o})}function qt(){return t=>new u(e=>t.subscribe(new tt(e)))}class tt{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 Ht(t){return e=>new u(s=>e.subscribe(new et(s,t)))}class et{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 v;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(v||(v={}));var _;(function(t){t.Armenian="58",t.Azerbaijani="57",t.Belarusian="114",t.English="3",t.Kazakh="97",t.Portuguese="73",t.Russian="0",t.Spanish="4",t.Ukrainian="1",t.Uzbek="65",t.Vietnamese="75"})(_||(_={}));const st="vk.com",Yt=async(t,e,s)=>{const n=new URL(`https://${st}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",e),t!==void 0&&n.searchParams.set("lang",t);const i=await(await fetch(n.toString())).json();return nt(i,s)},nt=(t,e)=>Object.fromEntries(Object.entries(t.keys).map(([s,n])=>[s.substring(`${e}_`.length),it(n)])),it=t=>Array.isArray(t)?t[0]:t;var P;(function(t){t.RU="ru",t.EN="en"})(P||(P={}));export{l as CurrentClientBrowser,c as CurrentClientDevice,v as ErrorCategory,P as InterfaceLanguage,at as Logger,u as Observable,I as Subject,x as Subscription,rt as VERSION,_ as VKNumericLanguage,Rt as ValueSubject,h as VideoQuality,bt as abortable,lt as addScript,It as areQualitiesExact,dt as assertEmptyArray,m as assertNever,ct as assertNonNullable,ht as assertNotEmptyArray,ut as assertNullable,Tt as assertQualityIsExact,Ut as buffer,ot as checkNever,yt as combine,jt as debounce,q as fillWithDefault,Vt as filter,Dt as filterChanged,Qt as fromEvent,T as getCurrentBrowser,gt as getExponentialDelay,At as getHighestQuality,mt as getIOSVersion,Nt as interval,St as isHigher,xt as isHigherOrEqual,wt as isIOS,M as isInvariantQuality,R as isLower,Ot as isLowerOrEqual,pt as isMacLike,U as isNonNullable,j as isNullable,Yt as loadVKLangPack,B as map,zt as mapTo,Mt as merge,S as noop,ft as now,kt as observableFrom,$t as once,qt as pairwise,Et as safeStorage,Ht as tap,Gt as throttle,Lt as timeout,vt as videoHeightToQuality,Pt as videoQualityToHeight,_t as videoSizeToQuality};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer-shared",
|
|
3
|
-
"version": "1.0.31-dev.
|
|
3
|
+
"version": "1.0.31-dev.680271f.0",
|
|
4
4
|
"author": "vk.com",
|
|
5
5
|
"description": "Shared code for vk.com videoplayer",
|
|
6
6
|
"homepage": "https://vk.com",
|
|
@@ -41,12 +41,14 @@
|
|
|
41
41
|
"./es2018.esm.js": "./es2018.esm.js",
|
|
42
42
|
"./es2018.cjs.js": "./es2018.cjs.js",
|
|
43
43
|
"./es2015.esm.js": "./es2015.esm.js",
|
|
44
|
-
"./es2015.cjs.js": "./es2015.cjs.js"
|
|
44
|
+
"./es2015.cjs.js": "./es2015.cjs.js",
|
|
45
|
+
"./es2015.umd.js": "./es2015.umd.js"
|
|
45
46
|
},
|
|
46
47
|
"files": [
|
|
47
48
|
"*.cjs.js",
|
|
48
49
|
"*.esm.js",
|
|
49
|
-
"**/*.d.ts"
|
|
50
|
+
"**/*.d.ts",
|
|
51
|
+
"*.umd.js"
|
|
50
52
|
],
|
|
51
53
|
"dependencies": {}
|
|
52
54
|
}
|