@vkontakte/videoplayer-shared 1.0.24-dev.fd1a076.0 → 1.0.25
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 +4 -4
- package/es2015.esm.js +4 -4
- package/es2018.cjs.js +4 -4
- package/es2018.esm.js +4 -4
- package/esnext.cjs.js +4 -4
- package/esnext.esm.js +4 -4
- package/evergreen.esm.js +4 -4
- package/index.d.ts +108 -38
- package/package.json +1 -1
package/es2015.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.
|
|
3
|
-
*
|
|
4
|
-
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.25
|
|
3
|
+
* Mon, 03 Jul 2023 15:51:34 GMT
|
|
4
|
+
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-25/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";class v{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const b=r=>{throw new Error(`${r} is value of unexpected type`)},T=r=>{},w=()=>{};class l{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){var n;let a;t?typeof t=="function"?a={next:t,error:w}:a={next:o=>t.next(o),error:o=>{var d;return(d=t.error)===null||d===void 0?void 0:d.call(t,o)}}:a={next:w,error:w};const i=typeof e=="function"?{next:o=>{try{e(o)}catch(d){a.next(d)}},error:o=>a.next(o)}:{next:o=>e.next(o),error:o=>e.error?e.error(o):a.next(o)};let s;try{s=this._subscribe(i)}catch(o){(n=i.error)===null||n===void 0||n.call(i,o)}return new v().add(()=>{switch(i.next=w,i.error=w,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return b(s)}})}pipe(...e){return e.reduce((t,n)=>n(t),this)}_subscribe(e){}}class S extends l{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>{var n;return(n=t.error)===null||n===void 0?void 0:n.call(t,e)})}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new v().add(()=>this.subscribers.delete(t))}}class I{constructor(){this.log$=new S,this.logs=[],this.log=e=>{const t=Object.assign(Object.assign({},e),{timestamp:Date.now()});this.logs.push(t),this.log$.next(t)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...t)=>{let n;try{n=e(...t)}catch(a){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(t=>Object.assign({component:e},t))}}function A(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function N(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function x(r){return typeof r!="undefined"&&r!==null}function O(r){return r==null}const y=(r,e,t)=>new Promise((n,a)=>{e.addEventListener("abort",()=>{o(),h.remove()});const i=()=>{o(),a()},s=()=>{o(),n()},o=()=>{d&&clearTimeout(d),h.removeEventListener("load",s),h.removeEventListener("error",i)};let d;t&&(d=window.setTimeout(i,t));const h=document.createElement("script");h.addEventListener("load",s),h.addEventListener("error",i),h.src=r,document.head.appendChild(h)});var E;const R=typeof((E=window.performance)===null||E===void 0?void 0:E.now)=="function"?()=>window.performance.now():()=>Date.now();function M(r,e,t,n){function a(i){return i instanceof t?i:new t(function(s){s(i)})}return new(t||(t=Promise))(function(i,s){function o(f){try{h(n.next(f))}catch(p){s(p)}}function d(f){try{h(n.throw(f))}catch(p){s(p)}}function h(f){f.done?i(f.value):a(f.value).then(o,d)}h((n=n.apply(r,e||[])).next())})}const V=(r,e)=>(...t)=>M(void 0,void 0,void 0,function*(){var n;const a=e(...t);let i=r.aborted,s;for(;!i&&!r.aborted;){const o=yield a.next(s);i=(n=o.done)!==null&&n!==void 0?n:!1,s=o.value}return s}),C=(r,{start:e=0,factor:t=2,max:n=1/0,min:a=e,random:i=0}={})=>{let s=e;return s*=Math.pow(t,r),s*=1+(Math.random()*i*2-i),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,a),s};var c;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(c||(c={}));const m=new Map;let u=c.RUNTIME;const _=`vk-videoplayer-dummy-key-${Math.random()}`,G=()=>{try{localStorage.setItem(_,"test"),localStorage.removeItem(_),u=c.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(_),u=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)u=c.RUNTIME;else throw e}else throw r}};G();const D=r=>{var e,t;switch(u){case c.LOCAL_STORAGE:return(e=localStorage.getItem(r))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(t=sessionStorage.getItem(r))!==null&&t!==void 0?t:void 0;case c.RUNTIME:return m.get(r);default:b(u)}},j=(r,e)=>{switch(u){case c.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case c.RUNTIME:return void m.set(r,e);default:b(u)}},U=r=>{switch(u){case c.LOCAL_STORAGE:return r in localStorage;case c.SESSION_STORAGE:return r in sessionStorage;case c.RUNTIME:return m.has(r);default:return b(u),!1}},F=r=>{switch(u){case c.LOCAL_STORAGE:return localStorage.removeItem(r);case c.SESSION_STORAGE:return sessionStorage.removeItem(r);case c.RUNTIME:return void m.delete(r);default:b(u)}},$=()=>{switch(u){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return m.clear();default:b(u)}};var P=Object.freeze({__proto__:null,clear:$,get:D,has:U,remove:F,set:j});class k extends S{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 t=super._subscribe(e);return e.next(this.value),t}}function z(r){return new l(e=>{const t={};let n=Object.keys(r).length;const a=i=>s=>{i in t||n--,t[i]=s,n===0&&e.next(t)};return Object.entries(r).reduce((i,[s,o])=>i.add(o.subscribe(a(s))),new v)})}function K(...r){return new l(e=>r.reduce((t,n)=>t.add(n.subscribe(e)),new v))}var W=r=>new l(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},r);return()=>window.clearTimeout(t)}),Y=r=>new l(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),B=r=>new l(e=>{r.forEach(t=>e.next(t))}),X=(r,e)=>new l(t=>{const n=a=>t.next(a);return r.addEventListener(e,n),()=>r.removeEventListener(e,n)});function q(r){return e=>new l(t=>e.subscribe(new H(t,r)))}class H{constructor(e,t){this.destination=e,this.size=t,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}const J={leading:!1,trailing:!0};function Q(r,e=J){return t=>new l(n=>t.subscribe(new Z(n,r,e)))}class Z{constructor(e,t,n){this.destination=e,this.time=t,this.config=n}next(e){this.lastValue=e,x(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(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}const ee={leading:!0,trailing:!1};function te(r,e=ee){return t=>new l(n=>t.subscribe(new re(n,r,e)))}class re{constructor(e,t,n){this.destination=e,this.time=t,this.config=n}next(e){this.lastValue=e,O(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function ne(r){return e=>new l(t=>e.subscribe(new se(t,r)))}class se{constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(n){throw this.error(n),n}t&&this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function ie(r=(e,t)=>e===t){return e=>new l(t=>e.subscribe(new oe(t,r)))}const g={};class oe{constructor(e,t){this.destination=e,this.predicate=t,this.lastValue=g}next(e){let t;try{t=this.lastValue===g||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}t&&this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function L(r){return e=>new l(t=>e.subscribe(new ae(t,r)))}let ae=class{constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(t)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}};function ce(r){return L(()=>r)}function le(){return r=>new l(e=>{let t=!1,n=!1;const a=r.subscribe(i=>{t||(t=!0,e.next(i)),n&&a.unsubscribe()},i=>{var s;t=!0,(s=e.error)===null||s===void 0||s.call(e,i),n&&a.unsubscribe()});return n=!0,t&&a.unsubscribe(),a})}function ue(){return r=>new l(e=>r.subscribe(new de(e)))}class de{constructor(e){this.destination=e,this.hasLast=!1}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function he(r){return e=>new l(t=>e.subscribe(new fe(t,r)))}class fe{constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}exports.ErrorCategory=void 0;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));const be=5;exports.ACTIVE_LIVE_VALID_DELAY=be;exports.Logger=I;exports.Observable=l;exports.Subject=S;exports.Subscription=v;exports.ValueSubject=k;exports.abortable=V;exports.addScript=y;exports.assertNever=b;exports.assertNonNullable=A;exports.assertNullable=N;exports.buffer=q;exports.checkNever=T;exports.combine=z;exports.debounce=Q;exports.filter=ne;exports.filterChanged=ie;exports.fromEvent=X;exports.getExponentialDelay=C;exports.interval=Y;exports.isNonNullable=x;exports.isNullable=O;exports.map=L;exports.mapTo=ce;exports.merge=K;exports.noop=w;exports.now=R;exports.observableFrom=B;exports.once=le;exports.pairwise=ue;exports.safeStorage=P;exports.tap=he;exports.throttle=te;exports.timeout=W;
|
|
6
|
+
"use strict";const C="1.0.25";class m{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const w=t=>{throw new Error(`${t} is value of unexpected type`)},R=t=>{},v=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){var n;let o;i?typeof i=="function"?o={next:i,error:v}:o={next:a=>i.next(a),error:a=>{var l;return(l=i.error)===null||l===void 0?void 0:l.call(i,a)}}:o={next:v,error:v};const s=typeof e=="function"?{next:a=>{try{e(a)}catch(l){o.next(l)}},error:a=>o.next(a)}:{next:a=>e.next(a),error:a=>e.error?e.error(a):o.next(a)};let r;try{r=this._subscribe(s)}catch(a){(n=s.error)===null||n===void 0||n.call(s,a)}return new m().add(()=>{switch(s.next=v,s.error=v,typeof r){case"function":r();return;case"object":r.unsubscribe();return;case"undefined":return;default:return w(r)}})}pipe(...e){return e.reduce((i,n)=>n(i),this)}_subscribe(e){}}class x extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,e)})}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new m().add(()=>this.subscribers.delete(i))}}class Q{constructor(){this.log$=new x,this.logs=[],this.log=e=>{const i=Object.assign(Object.assign({},e),{timestamp:Date.now()});this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...i)=>{let n;try{n=e(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(i=>Object.assign({component:e},i))}}function V(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function P(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function I(t){return typeof t!="undefined"&&t!==null}function T(t){return t==null}const M=(t,e,i)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{a(),d.remove()});const s=()=>{a(),o()},r=()=>{a(),n()},a=()=>{l&&clearTimeout(l),d.removeEventListener("load",r),d.removeEventListener("error",s)};let l;i&&(l=window.setTimeout(s,i));const d=document.createElement("script");d.addEventListener("load",r),d.addEventListener("error",s),d.src=t,document.head.appendChild(d)});var E;const D=typeof((E=window.performance)===null||E===void 0?void 0:E.now)=="function"?()=>window.performance.now():()=>Date.now();function G(t,e,i,n){function o(s){return s instanceof i?s:new i(function(r){r(s)})}return new(i||(i=Promise))(function(s,r){function a(b){try{d(n.next(b))}catch(g){r(g)}}function l(b){try{d(n.throw(b))}catch(g){r(g)}}function d(b){b.done?s(b.value):o(b.value).then(a,l)}d((n=n.apply(t,e||[])).next())})}const k=(t,e)=>(...i)=>G(void 0,void 0,void 0,function*(){var n;const o=e(...i);let s=t.aborted,r;for(;!s&&!t.aborted;){const a=yield o.next(r);s=(n=a.done)!==null&&n!==void 0?n:!1,r=a.value}return r});exports.CurrentClientBrowser=void 0;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const U=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(t)?exports.CurrentClientBrowser.Chrome:void 0,n=/chromium/i.test(t)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(t)?exports.CurrentClientBrowser.Firefox:void 0,s=/webkit|safari|khtml/i.test(t)?exports.CurrentClientBrowser.Safari:void 0,r=/opr\//i.test(t)?exports.CurrentClientBrowser.Opera:void 0,a=/edg/i.test(t)?exports.CurrentClientBrowser.Edge:void 0,l=/android/i.test(t)?exports.CurrentClientDevice.Android:void 0,d=/iphone/i.test(t)?exports.CurrentClientDevice.iPhone:void 0,b=/ipad/i.test(t)?exports.CurrentClientDevice.iPad:void 0,g=/ipod/i.test(t)?exports.CurrentClientDevice.iPod:void 0,N=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:e||o||r||a||i||n||s||exports.CurrentClientBrowser.Rest,device:l||d||b||g||N||exports.CurrentClientDevice.Desktop}},j=(t,{start:e=0,factor:i=2,max:n=1/0,min:o=e,random:s=0}={})=>{let r=e;return r*=Math.pow(i,t),r*=1+(Math.random()*s*2-s),r=Math.round(r),r=Math.min(r,n),r=Math.max(r,o),r};var c;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(c||(c={}));const p=new Map;let h=c.RUNTIME;const _=`vk-videoplayer-dummy-key-${Math.random()}`,F=()=>{try{localStorage.setItem(_,"test"),localStorage.removeItem(_),h=c.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(_),h=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)h=c.RUNTIME;else throw e}else throw t}};F();const H=t=>{var e,i;switch(h){case c.LOCAL_STORAGE:return(e=localStorage.getItem(t))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(t))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return p.get(t);default:w(h)}},q=(t,e)=>{switch(h){case c.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case c.RUNTIME:return void p.set(t,e);default:w(h)}},B=t=>{switch(h){case c.LOCAL_STORAGE:return t in localStorage;case c.SESSION_STORAGE:return t in sessionStorage;case c.RUNTIME:return p.has(t);default:return w(h),!1}},z=t=>{switch(h){case c.LOCAL_STORAGE:return localStorage.removeItem(t);case c.SESSION_STORAGE:return sessionStorage.removeItem(t);case c.RUNTIME:return void p.delete(t);default:w(h)}},Y=()=>{switch(h){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return p.clear();default:w(h)}};var $=Object.freeze({__proto__:null,clear:Y,get:H,has:B,remove:z,set:q});exports.VideoQuality=void 0;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const f={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},K=(t,e)=>f[t].height>f[e].height,W=(t,e)=>f[t].height>=f[e].height,S=(t,e)=>f[t].height<f[e].height,X=(t,e)=>f[t].height<=f[e].height,J=t=>t.sort((e,i)=>e===i?0:e===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:S(e,i)?1:-1)[0],A=Object.keys(f).sort((t,e)=>S(t,e)?-1:1),Z=(t,e=.02)=>[...A].find(n=>f[n].height*(1+e)>=t),ee=({width:t,height:e})=>{const i=Math.min(t,e),n=Math.max(t,e);return A.find(o=>{const s=f[o];return s.width>=n&&s.height>=i})},te=t=>f[t].height,O=t=>t===exports.VideoQuality.INVARIANT,ie=t=>t.every(e=>!O(e));function ne(t){if(O(t))throw new Error("Expected exact quality")}class re extends x{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function se(t){return new u(e=>{const i={};let n=Object.keys(t).length;const o=s=>r=>{s in i||n--,i[s]=r,n===0&&e.next(i)};return Object.entries(t).reduce((s,[r,a])=>s.add(a.subscribe(o(r))),new m)})}function oe(...t){return new u(e=>t.reduce((i,n)=>i.add(n.subscribe(e)),new m))}var ae=t=>new u(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(i)}),ce=t=>new u(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),ue=t=>new u(e=>{t.forEach(i=>e.next(i))}),le=(t,e)=>new u(i=>{const n=o=>i.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function de(t){return e=>new u(i=>e.subscribe(new he(i,t)))}class he{constructor(e,i){this.destination=e,this.size=i,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const fe={leading:!1,trailing:!0};function be(t,e=fe){return i=>new u(n=>i.subscribe(new we(n,t,e)))}class we{constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,I(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const ve={leading:!0,trailing:!1};function ge(t,e=ve){return i=>new u(n=>i.subscribe(new me(n,t,e)))}class me{constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,T(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function pe(t){return e=>new u(i=>e.subscribe(new Ee(i,t)))}class Ee{constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function _e(t=(e,i)=>e===i){return e=>new u(i=>e.subscribe(new xe(i,t)))}const y={};class xe{constructor(e,i){this.destination=e,this.predicate=i,this.lastValue=y}next(e){let i;try{i=this.lastValue===y||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function L(t){return e=>new u(i=>e.subscribe(new Se(i,t)))}let Se=class{constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(i)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}};function Oe(t){return L(()=>t)}function ye(){return t=>new u(e=>{let i=!1,n=!1;const o=t.subscribe(s=>{i||(i=!0,e.next(s)),n&&o.unsubscribe()},s=>{var r;i=!0,(r=e.error)===null||r===void 0||r.call(e,s),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Ie(){return t=>new u(e=>t.subscribe(new Te(e)))}class Te{constructor(e){this.destination=e,this.hasLast=!1}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Ae(t){return e=>new u(i=>e.subscribe(new Le(i,t)))}class Le{constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}exports.ErrorCategory=void 0;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));const Ne=5;exports.ACTIVE_LIVE_VALID_DELAY=Ne;exports.Logger=Q;exports.Observable=u;exports.Subject=x;exports.Subscription=m;exports.VERSION=C;exports.ValueSubject=re;exports.abortable=k;exports.addScript=M;exports.areQualitiesExact=ie;exports.assertNever=w;exports.assertNonNullable=V;exports.assertNullable=P;exports.assertQualityIsExact=ne;exports.buffer=de;exports.checkNever=R;exports.combine=se;exports.debounce=be;exports.filter=pe;exports.filterChanged=_e;exports.fromEvent=le;exports.getCurrentBrowser=U;exports.getExponentialDelay=j;exports.getHighestQuality=J;exports.interval=ce;exports.isHigher=K;exports.isHigherOrEqual=W;exports.isInvariantQuality=O;exports.isLower=S;exports.isLowerOrEqual=X;exports.isNonNullable=I;exports.isNullable=T;exports.map=L;exports.mapTo=Oe;exports.merge=oe;exports.noop=v;exports.now=D;exports.observableFrom=ue;exports.once=ye;exports.pairwise=Ie;exports.safeStorage=$;exports.tap=Ae;exports.throttle=ge;exports.timeout=ae;exports.videoHeightToQuality=Z;exports.videoQualityToHeight=te;exports.videoSizeToQuality=ee;
|
package/es2015.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.
|
|
3
|
-
*
|
|
4
|
-
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.25
|
|
3
|
+
* Mon, 03 Jul 2023 15:51:34 GMT
|
|
4
|
+
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-25/doc/
|
|
5
5
|
*/
|
|
6
|
-
class m{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const b=r=>{throw new Error(`${r} is value of unexpected type`)},K=r=>{},w=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){var n;let a;t?typeof t=="function"?a={next:t,error:w}:a={next:o=>t.next(o),error:o=>{var h;return(h=t.error)===null||h===void 0?void 0:h.call(t,o)}}:a={next:w,error:w};const i=typeof e=="function"?{next:o=>{try{e(o)}catch(h){a.next(h)}},error:o=>a.next(o)}:{next:o=>e.next(o),error:o=>e.error?e.error(o):a.next(o)};let s;try{s=this._subscribe(i)}catch(o){(n=i.error)===null||n===void 0||n.call(i,o)}return new m().add(()=>{switch(i.next=w,i.error=w,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return b(s)}})}pipe(...e){return e.reduce((t,n)=>n(t),this)}_subscribe(e){}}class x extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>{var n;return(n=t.error)===null||n===void 0?void 0:n.call(t,e)})}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new m().add(()=>this.subscribers.delete(t))}}class W{constructor(){this.log$=new x,this.logs=[],this.log=e=>{const t=Object.assign(Object.assign({},e),{timestamp:Date.now()});this.logs.push(t),this.log$.next(t)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...t)=>{let n;try{n=e(...t)}catch(a){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(t=>Object.assign({component:e},t))}}function B(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function X(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function O(r){return typeof r!="undefined"&&r!==null}function L(r){return r==null}const Y=(r,e,t)=>new Promise((n,a)=>{e.addEventListener("abort",()=>{o(),d.remove()});const i=()=>{o(),a()},s=()=>{o(),n()},o=()=>{h&&clearTimeout(h),d.removeEventListener("load",s),d.removeEventListener("error",i)};let h;t&&(h=window.setTimeout(i,t));const d=document.createElement("script");d.addEventListener("load",s),d.addEventListener("error",i),d.src=r,document.head.appendChild(d)});var E;const q=typeof((E=window.performance)===null||E===void 0?void 0:E.now)=="function"?()=>window.performance.now():()=>Date.now();function T(r,e,t,n){function a(i){return i instanceof t?i:new t(function(s){s(i)})}return new(t||(t=Promise))(function(i,s){function o(f){try{d(n.next(f))}catch(p){s(p)}}function h(f){try{d(n.throw(f))}catch(p){s(p)}}function d(f){f.done?i(f.value):a(f.value).then(o,h)}d((n=n.apply(r,e||[])).next())})}const H=(r,e)=>(...t)=>T(void 0,void 0,void 0,function*(){var n;const a=e(...t);let i=r.aborted,s;for(;!i&&!r.aborted;){const o=yield a.next(s);i=(n=o.done)!==null&&n!==void 0?n:!1,s=o.value}return s}),J=(r,{start:e=0,factor:t=2,max:n=1/0,min:a=e,random:i=0}={})=>{let s=e;return s*=Math.pow(t,r),s*=1+(Math.random()*i*2-i),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,a),s};var c;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(c||(c={}));const v=new Map;let l=c.RUNTIME;const _=`vk-videoplayer-dummy-key-${Math.random()}`,I=()=>{try{localStorage.setItem(_,"test"),localStorage.removeItem(_),l=c.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(_),l=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)l=c.RUNTIME;else throw e}else throw r}};I();const A=r=>{var e,t;switch(l){case c.LOCAL_STORAGE:return(e=localStorage.getItem(r))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(t=sessionStorage.getItem(r))!==null&&t!==void 0?t:void 0;case c.RUNTIME:return v.get(r);default:b(l)}},R=(r,e)=>{switch(l){case c.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case c.RUNTIME:return void v.set(r,e);default:b(l)}},y=r=>{switch(l){case c.LOCAL_STORAGE:return r in localStorage;case c.SESSION_STORAGE:return r in sessionStorage;case c.RUNTIME:return v.has(r);default:return b(l),!1}},N=r=>{switch(l){case c.LOCAL_STORAGE:return localStorage.removeItem(r);case c.SESSION_STORAGE:return sessionStorage.removeItem(r);case c.RUNTIME:return void v.delete(r);default:b(l)}},M=()=>{switch(l){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return v.clear();default:b(l)}};var Q=Object.freeze({__proto__:null,clear:M,get:A,has:y,remove:N,set:R});class Z extends x{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const t=super._subscribe(e);return e.next(this.value),t}}function ee(r){return new u(e=>{const t={};let n=Object.keys(r).length;const a=i=>s=>{i in t||n--,t[i]=s,n===0&&e.next(t)};return Object.entries(r).reduce((i,[s,o])=>i.add(o.subscribe(a(s))),new m)})}function te(...r){return new u(e=>r.reduce((t,n)=>t.add(n.subscribe(e)),new m))}var re=r=>new u(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},r);return()=>window.clearTimeout(t)}),ne=r=>new u(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),se=r=>new u(e=>{r.forEach(t=>e.next(t))}),ie=(r,e)=>new u(t=>{const n=a=>t.next(a);return r.addEventListener(e,n),()=>r.removeEventListener(e,n)});function oe(r){return e=>new u(t=>e.subscribe(new V(t,r)))}class V{constructor(e,t){this.destination=e,this.size=t,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}const C={leading:!1,trailing:!0};function ae(r,e=C){return t=>new u(n=>t.subscribe(new G(n,r,e)))}class G{constructor(e,t,n){this.destination=e,this.time=t,this.config=n}next(e){this.lastValue=e,O(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(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}const D={leading:!0,trailing:!1};function ce(r,e=D){return t=>new u(n=>t.subscribe(new U(n,r,e)))}class U{constructor(e,t,n){this.destination=e,this.time=t,this.config=n}next(e){this.lastValue=e,L(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function ue(r){return e=>new u(t=>e.subscribe(new j(t,r)))}class j{constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(n){throw this.error(n),n}t&&this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function le(r=(e,t)=>e===t){return e=>new u(t=>e.subscribe(new F(t,r)))}const S={};class F{constructor(e,t){this.destination=e,this.predicate=t,this.lastValue=S}next(e){let t;try{t=this.lastValue===S||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}t&&this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function $(r){return e=>new u(t=>e.subscribe(new P(t,r)))}let P=class{constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(t)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}};function de(r){return $(()=>r)}function fe(){return r=>new u(e=>{let t=!1,n=!1;const a=r.subscribe(i=>{t||(t=!0,e.next(i)),n&&a.unsubscribe()},i=>{var s;t=!0,(s=e.error)===null||s===void 0||s.call(e,i),n&&a.unsubscribe()});return n=!0,t&&a.unsubscribe(),a})}function be(){return r=>new u(e=>r.subscribe(new z(e)))}class z{constructor(e){this.destination=e,this.hasLast=!1}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}function we(r){return e=>new u(t=>e.subscribe(new k(t,r)))}class k{constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){var t,n;(n=(t=this.destination).error)===null||n===void 0||n.call(t,e)}}var g;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(g||(g={}));const ve=5;export{ve as ACTIVE_LIVE_VALID_DELAY,g as ErrorCategory,W as Logger,u as Observable,x as Subject,m as Subscription,Z as ValueSubject,H as abortable,Y as addScript,b as assertNever,B as assertNonNullable,X as assertNullable,oe as buffer,K as checkNever,ee as combine,ae as debounce,ue as filter,le as filterChanged,ie as fromEvent,J as getExponentialDelay,ne as interval,O as isNonNullable,L as isNullable,$ as map,de as mapTo,te as merge,w as noop,q as now,se as observableFrom,fe as once,be as pairwise,Q as safeStorage,we as tap,ce as throttle,re as timeout};
|
|
6
|
+
const Z="1.0.25";class x{constructor(){this.subscriptions=[]}unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const g=e=>{throw new Error(`${e} is value of unexpected type`)},B=e=>{},E=()=>{};class u{constructor(t){t&&(this._subscribe=t)}subscribe(t,i){var n;let o;i?typeof i=="function"?o={next:i,error:E}:o={next:a=>i.next(a),error:a=>{var h;return(h=i.error)===null||h===void 0?void 0:h.call(i,a)}}:o={next:E,error:E};const r=typeof t=="function"?{next:a=>{try{t(a)}catch(h){o.next(h)}},error:a=>o.next(a)}:{next:a=>t.next(a),error:a=>t.error?t.error(a):o.next(a)};let s;try{s=this._subscribe(r)}catch(a){(n=r.error)===null||n===void 0||n.call(r,a)}return new x().add(()=>{switch(r.next=E,r.error=E,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return g(s)}})}pipe(...t){return t.reduce((i,n)=>n(i),this)}_subscribe(t){}}class T extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(t){this.subscribers.forEach(i=>i.next(t))}error(t){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,t)})}_subscribe(t){const i=this.keyCounter++;return this.subscribers.set(i,t),new x().add(()=>this.subscribers.delete(i))}}class tt{constructor(){this.log$=new T,this.logs=[],this.log=t=>{const i=Object.assign(Object.assign({},t),{timestamp:Date.now()});this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(t){return(...i)=>{let n;try{n=t(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(i=>Object.assign({component:t},i))}}function et(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function it(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function M(e){return typeof e!="undefined"&&e!==null}function y(e){return e==null}const nt=(e,t,i)=>new Promise((n,o)=>{t.addEventListener("abort",()=>{a(),d.remove()});const r=()=>{a(),o()},s=()=>{a(),n()},a=()=>{h&&clearTimeout(h),d.removeEventListener("load",s),d.removeEventListener("error",r)};let h;i&&(h=window.setTimeout(r,i));const d=document.createElement("script");d.addEventListener("load",s),d.addEventListener("error",r),d.src=e,document.head.appendChild(d)});var S;const st=typeof((S=window.performance)===null||S===void 0?void 0:S.now)=="function"?()=>window.performance.now():()=>Date.now();function Q(e,t,i,n){function o(r){return r instanceof i?r:new i(function(s){s(r)})}return new(i||(i=Promise))(function(r,s){function a(m){try{d(n.next(m))}catch(v){s(v)}}function h(m){try{d(n.throw(m))}catch(v){s(v)}}function d(m){m.done?r(m.value):o(m.value).then(a,h)}d((n=n.apply(e,t||[])).next())})}const rt=(e,t)=>(...i)=>Q(void 0,void 0,void 0,function*(){var n;const o=t(...i);let r=e.aborted,s;for(;!r&&!e.aborted;){const a=yield o.next(s);r=(n=a.done)!==null&&n!==void 0?n:!1,s=a.value}return s});var w;(function(e){e.Unknown="Unknown",e.Yandex="Yandex",e.Chrome="Chrome",e.Chromium="Chromium",e.Firefox="Firefox",e.Safari="Safari",e.Opera="Opera",e.Edge="Edge",e.Rest="Rest"})(w||(w={}));var p;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Desktop="Desktop"})(p||(p={}));const ot=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?w.Yandex:void 0,i=/chrome|crios/i.test(e)?w.Chrome:void 0,n=/chromium/i.test(e)?w.Chromium:void 0,o=/firefox|fxios/i.test(e)?w.Firefox:void 0,r=/webkit|safari|khtml/i.test(e)?w.Safari:void 0,s=/opr\//i.test(e)?w.Opera:void 0,a=/edg/i.test(e)?w.Edge:void 0,h=/android/i.test(e)?p.Android:void 0,d=/iphone/i.test(e)?p.iPhone:void 0,m=/ipad/i.test(e)?p.iPad:void 0,v=/ipod/i.test(e)?p.iPod:void 0,P=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?p.RestMobile:void 0;return{browser:t||o||s||a||i||n||r||w.Rest,device:h||d||m||v||P||p.Desktop}},at=(e,{start:t=0,factor:i=2,max:n=1/0,min:o=t,random:r=0}={})=>{let s=t;return s*=Math.pow(i,e),s*=1+(Math.random()*r*2-r),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,o),s};var c;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(c||(c={}));const _=new Map;let f=c.RUNTIME;const O=`vk-videoplayer-dummy-key-${Math.random()}`,V=()=>{try{localStorage.setItem(O,"test"),localStorage.removeItem(O),f=c.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(O),f=c.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)f=c.RUNTIME;else throw t}else throw e}};V();const G=e=>{var t,i;switch(f){case c.LOCAL_STORAGE:return(t=localStorage.getItem(e))!==null&&t!==void 0?t:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(e))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return _.get(e);default:g(f)}},U=(e,t)=>{switch(f){case c.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case c.RUNTIME:return void _.set(e,t);default:g(f)}},k=e=>{switch(f){case c.LOCAL_STORAGE:return e in localStorage;case c.SESSION_STORAGE:return e in sessionStorage;case c.RUNTIME:return _.has(e);default:return g(f),!1}},j=e=>{switch(f){case c.LOCAL_STORAGE:return localStorage.removeItem(e);case c.SESSION_STORAGE:return sessionStorage.removeItem(e);case c.RUNTIME:return void _.delete(e);default:g(f)}},D=()=>{switch(f){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return _.clear();default:g(f)}};var ct=Object.freeze({__proto__:null,clear:D,get:G,has:k,remove:j,set:U}),l;(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"})(l||(l={}));const b={[l.Q_144P]:{width:256,height:144},[l.Q_240P]:{width:428,height:240},[l.Q_360P]:{width:640,height:360},[l.Q_480P]:{width:856,height:480},[l.Q_720P]:{width:1280,height:720},[l.Q_1080P]:{width:1920,height:1080},[l.Q_1440P]:{width:2560,height:1440},[l.Q_2160P]:{width:3840,height:2160},[l.Q_4320P]:{width:7680,height:4320}},ut=(e,t)=>b[e].height>b[t].height,lt=(e,t)=>b[e].height>=b[t].height,L=(e,t)=>b[e].height<b[t].height,ht=(e,t)=>b[e].height<=b[t].height,dt=e=>e.sort((t,i)=>t===i?0:t===l.INVARIANT?1:i===l.INVARIANT?-1:L(t,i)?1:-1)[0],R=Object.keys(b).sort((e,t)=>L(e,t)?-1:1),ft=(e,t=.02)=>[...R].find(n=>b[n].height*(1+t)>=e),bt=({width:e,height:t})=>{const i=Math.min(e,t),n=Math.max(e,t);return R.find(o=>{const r=b[o];return r.width>=n&&r.height>=i})},wt=e=>b[e].height,N=e=>e===l.INVARIANT,mt=e=>e.every(t=>!N(t));function pt(e){if(N(e))throw new Error("Expected exact quality")}class gt extends T{constructor(t){super(),this.value=t}next(t){super.next(this.value=t)}error(t){super.error(this.value=t)}getValue(){return this.value}_subscribe(t){const i=super._subscribe(t);return t.next(this.value),i}}function vt(e){return new u(t=>{const i={};let n=Object.keys(e).length;const o=r=>s=>{r in i||n--,i[r]=s,n===0&&t.next(i)};return Object.entries(e).reduce((r,[s,a])=>r.add(a.subscribe(o(s))),new x)})}function Et(...e){return new u(t=>e.reduce((i,n)=>i.add(n.subscribe(t)),new x))}var _t=e=>new u(t=>{const i=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(i)}),xt=e=>new u(t=>{const i=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(i)}),St=e=>new u(t=>{e.forEach(i=>t.next(i))}),Ot=(e,t)=>new u(i=>{const n=o=>i.next(o);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function At(e){return t=>new u(i=>t.subscribe(new F(i,e)))}class F{constructor(t,i){this.destination=t,this.size=i,this.lastValues=[]}next(t){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(t),this.destination.next(this.lastValues)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}const q={leading:!1,trailing:!0};function It(e,t=q){return i=>new u(n=>i.subscribe(new z(n,e,t)))}class z{constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,M(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}const $={leading:!0,trailing:!1};function Tt(e,t=$){return i=>new u(n=>i.subscribe(new H(n,e,t)))}class H{constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,y(this.timeout)&&(this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Lt(e){return t=>new u(i=>t.subscribe(new Y(i,e)))}class Y{constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.predicate(t)}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Rt(e=(t,i)=>t===i){return t=>new u(i=>t.subscribe(new C(i,e)))}const A={};class C{constructor(t,i){this.destination=t,this.predicate=i,this.lastValue=A}next(t){let i;try{i=this.lastValue===A||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function K(e){return t=>new u(i=>t.subscribe(new W(i,e)))}let W=class{constructor(t,i){this.destination=t,this.mapper=i}next(t){let i;try{i=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(i)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}};function Pt(e){return K(()=>e)}function Mt(){return e=>new u(t=>{let i=!1,n=!1;const o=e.subscribe(r=>{i||(i=!0,t.next(r)),n&&o.unsubscribe()},r=>{var s;i=!0,(s=t.error)===null||s===void 0||s.call(t,r),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function yt(){return e=>new u(t=>e.subscribe(new X(t)))}class X{constructor(t){this.destination=t,this.hasLast=!1}next(t){const i=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,t])}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}function Qt(e){return t=>new u(i=>t.subscribe(new J(i,e)))}class J{constructor(t,i){this.destination=t,this.effect=i}next(t){try{this.effect(t)}catch(i){throw this.error(i),i}this.destination.next(t)}error(t){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,t)}}var I;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(I||(I={}));const Vt=5;export{Vt as ACTIVE_LIVE_VALID_DELAY,w as CurrentClientBrowser,p as CurrentClientDevice,I as ErrorCategory,tt as Logger,u as Observable,T as Subject,x as Subscription,Z as VERSION,gt as ValueSubject,l as VideoQuality,rt as abortable,nt as addScript,mt as areQualitiesExact,g as assertNever,et as assertNonNullable,it as assertNullable,pt as assertQualityIsExact,At as buffer,B as checkNever,vt as combine,It as debounce,Lt as filter,Rt as filterChanged,Ot as fromEvent,ot as getCurrentBrowser,at as getExponentialDelay,dt as getHighestQuality,xt as interval,ut as isHigher,lt as isHigherOrEqual,N as isInvariantQuality,L as isLower,ht as isLowerOrEqual,M as isNonNullable,y as isNullable,K as map,Pt as mapTo,Et as merge,E as noop,st as now,St as observableFrom,Mt as once,yt as pairwise,ct as safeStorage,Qt as tap,Tt as throttle,_t as timeout,ft as videoHeightToQuality,wt as videoQualityToHeight,bt as videoSizeToQuality};
|
package/es2018.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.
|
|
3
|
-
*
|
|
4
|
-
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.25
|
|
3
|
+
* Mon, 03 Jul 2023 15:51:34 GMT
|
|
4
|
+
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-25/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";class w{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const f=r=>{throw new Error(`${r} is value of unexpected type`)},L=r=>{},b=()=>{};class l{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){var s;let a;t?typeof t=="function"?a={next:t,error:b}:a={next:o=>t.next(o),error:o=>{var h;return(h=t.error)===null||h===void 0?void 0:h.call(t,o)}}:a={next:b,error:b};const i=typeof e=="function"?{next:o=>{try{e(o)}catch(h){a.next(h)}},error:o=>a.next(o)}:{next:o=>e.next(o),error:o=>e.error?e.error(o):a.next(o)};let n;try{n=this._subscribe(i)}catch(o){(s=i.error)===null||s===void 0||s.call(i,o)}return new w().add(()=>{switch(i.next=b,i.error=b,typeof n){case"function":n();return;case"object":n.unsubscribe();return;case"undefined":return;default:return f(n)}})}pipe(...e){return e.reduce((t,s)=>s(t),this)}_subscribe(e){}}class p extends l{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>{var s;return(s=t.error)===null||s===void 0?void 0:s.call(t,e)})}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new w().add(()=>this.subscribers.delete(t))}}class O{constructor(){this.log$=new p,this.logs=[],this.log=e=>{const t={...e,timestamp:Date.now()};this.logs.push(t),this.log$.next(t)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...t)=>{let s;try{s=e(...t)}catch(a){s={message:"error in `createCustomLog`",component:"Logger"}}this.log(s)}}createComponentLog(e){return this.createCustomLog(t=>({component:e,...t}))}}function T(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function I(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function _(r){return typeof r!="undefined"&&r!==null}function g(r){return r==null}const A=(r,e,t)=>new Promise((s,a)=>{e.addEventListener("abort",()=>{o(),d.remove()});const i=()=>{o(),a()},n=()=>{o(),s()},o=()=>{h&&clearTimeout(h),d.removeEventListener("load",n),d.removeEventListener("error",i)};let h;t&&(h=window.setTimeout(i,t));const d=document.createElement("script");d.addEventListener("load",n),d.addEventListener("error",i),d.src=r,document.head.appendChild(d)});var m;const N=typeof((m=window.performance)===null||m===void 0?void 0:m.now)=="function"?()=>window.performance.now():()=>Date.now(),R=(r,e)=>async(...t)=>{var s;const a=e(...t);let i=r.aborted,n;for(;!i&&!r.aborted;){const o=await a.next(n);i=(s=o.done)!==null&&s!==void 0?s:!1,n=o.value}return n},y=(r,{start:e=0,factor:t=2,max:s=1/0,min:a=e,random:i=0}={})=>{let n=e;return n*=t**r,n*=1+(Math.random()*i*2-i),n=Math.round(n),n=Math.min(n,s),n=Math.max(n,a),n};var c;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(c||(c={}));const v=new Map;let u=c.RUNTIME;const E=`vk-videoplayer-dummy-key-${Math.random()}`,V=()=>{try{localStorage.setItem(E,"test"),localStorage.removeItem(E),u=c.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(E),u=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)u=c.RUNTIME;else throw e}else throw r}};V();const M=r=>{var e,t;switch(u){case c.LOCAL_STORAGE:return(e=localStorage.getItem(r))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(t=sessionStorage.getItem(r))!==null&&t!==void 0?t:void 0;case c.RUNTIME:return v.get(r);default:f(u)}},C=(r,e)=>{switch(u){case c.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case c.RUNTIME:return void v.set(r,e);default:f(u)}},G=r=>{switch(u){case c.LOCAL_STORAGE:return r in localStorage;case c.SESSION_STORAGE:return r in sessionStorage;case c.RUNTIME:return v.has(r);default:return f(u),!1}},D=r=>{switch(u){case c.LOCAL_STORAGE:return localStorage.removeItem(r);case c.SESSION_STORAGE:return sessionStorage.removeItem(r);case c.RUNTIME:return void v.delete(r);default:f(u)}},U=()=>{switch(u){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return v.clear();default:f(u)}};var j=Object.freeze({__proto__:null,clear:U,get:M,has:G,remove:D,set:C});class F extends p{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 t=super._subscribe(e);return e.next(this.value),t}}function P(r){return new l(e=>{const t={};let s=Object.keys(r).length;const a=i=>n=>{i in t||s--,t[i]=n,s===0&&e.next(t)};return Object.entries(r).reduce((i,[n,o])=>i.add(o.subscribe(a(n))),new w)})}function $(...r){return new l(e=>r.reduce((t,s)=>t.add(s.subscribe(e)),new w))}var k=r=>new l(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(s){if(e.error)e.error(s);else throw s}},r);return()=>window.clearTimeout(t)}),z=r=>new l(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),K=r=>new l(e=>{r.forEach(t=>e.next(t))}),W=(r,e)=>new l(t=>{const s=a=>t.next(a);return r.addEventListener(e,s),()=>r.removeEventListener(e,s)});function Y(r){return e=>new l(t=>e.subscribe(new B(t,r)))}class B{constructor(e,t){this.destination=e,this.size=t,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}const X={leading:!1,trailing:!0};function q(r,e=X){return t=>new l(s=>t.subscribe(new H(s,r,e)))}class H{constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,_(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(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}const J={leading:!0,trailing:!1};function Q(r,e=J){return t=>new l(s=>t.subscribe(new Z(s,r,e)))}class Z{constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,g(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}function ee(r){return e=>new l(t=>e.subscribe(new te(t,r)))}class te{constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}function re(r=(e,t)=>e===t){return e=>new l(t=>e.subscribe(new se(t,r)))}const S={};class se{constructor(e,t){this.destination=e,this.predicate=t,this.lastValue=S}next(e){let t;try{t=this.lastValue===S||!this.predicate(this.lastValue,e),this.lastValue=e}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}function x(r){return e=>new l(t=>e.subscribe(new ne(t,r)))}let ne=class{constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(s){throw this.error(s),s}this.destination.next(t)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}};function ie(r){return x(()=>r)}function oe(){return r=>new l(e=>{let t=!1,s=!1;const a=r.subscribe(i=>{t||(t=!0,e.next(i)),s&&a.unsubscribe()},i=>{var n;t=!0,(n=e.error)===null||n===void 0||n.call(e,i),s&&a.unsubscribe()});return s=!0,t&&a.unsubscribe(),a})}function ae(){return r=>new l(e=>r.subscribe(new ce(e)))}class ce{constructor(e){this.destination=e,this.hasLast=!1}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}function le(r){return e=>new l(t=>e.subscribe(new ue(t,r)))}class ue{constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}exports.ErrorCategory=void 0;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));const he=5;exports.ACTIVE_LIVE_VALID_DELAY=he;exports.Logger=O;exports.Observable=l;exports.Subject=p;exports.Subscription=w;exports.ValueSubject=F;exports.abortable=R;exports.addScript=A;exports.assertNever=f;exports.assertNonNullable=T;exports.assertNullable=I;exports.buffer=Y;exports.checkNever=L;exports.combine=P;exports.debounce=q;exports.filter=ee;exports.filterChanged=re;exports.fromEvent=W;exports.getExponentialDelay=y;exports.interval=z;exports.isNonNullable=_;exports.isNullable=g;exports.map=x;exports.mapTo=ie;exports.merge=$;exports.noop=b;exports.now=N;exports.observableFrom=K;exports.once=oe;exports.pairwise=ae;exports.safeStorage=j;exports.tap=le;exports.throttle=Q;exports.timeout=k;
|
|
6
|
+
"use strict";const C="1.0.25";class g{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const b=t=>{throw new Error(`${t} is value of unexpected type`)},R=t=>{},w=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){var r;let o;i?typeof i=="function"?o={next:i,error:w}:o={next:a=>i.next(a),error:a=>{var h;return(h=i.error)===null||h===void 0?void 0:h.call(i,a)}}:o={next:w,error:w};const s=typeof e=="function"?{next:a=>{try{e(a)}catch(h){o.next(h)}},error:a=>o.next(a)}:{next:a=>e.next(a),error:a=>e.error?e.error(a):o.next(a)};let n;try{n=this._subscribe(s)}catch(a){(r=s.error)===null||r===void 0||r.call(s,a)}return new g().add(()=>{switch(s.next=w,s.error=w,typeof n){case"function":n();return;case"object":n.unsubscribe();return;case"undefined":return;default:return b(n)}})}pipe(...e){return e.reduce((i,r)=>r(i),this)}_subscribe(e){}}class p extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>{var r;return(r=i.error)===null||r===void 0?void 0:r.call(i,e)})}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new g().add(()=>this.subscribers.delete(i))}}class Q{constructor(){this.log$=new p,this.logs=[],this.log=e=>{const i={...e,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...i)=>{let r;try{r=e(...i)}catch(o){r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(e){return this.createCustomLog(i=>({component:e,...i}))}}function V(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function P(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function O(t){return typeof t!="undefined"&&t!==null}function I(t){return t==null}const M=(t,e,i)=>new Promise((r,o)=>{e.addEventListener("abort",()=>{a(),f.remove()});const s=()=>{a(),o()},n=()=>{a(),r()},a=()=>{h&&clearTimeout(h),f.removeEventListener("load",n),f.removeEventListener("error",s)};let h;i&&(h=window.setTimeout(s,i));const f=document.createElement("script");f.addEventListener("load",n),f.addEventListener("error",s),f.src=t,document.head.appendChild(f)});var m;const D=typeof((m=window.performance)===null||m===void 0?void 0:m.now)=="function"?()=>window.performance.now():()=>Date.now(),G=(t,e)=>async(...i)=>{var r;const o=e(...i);let s=t.aborted,n;for(;!s&&!t.aborted;){const a=await o.next(n);s=(r=a.done)!==null&&r!==void 0?r:!1,n=a.value}return n};exports.CurrentClientBrowser=void 0;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(exports.CurrentClientBrowser||(exports.CurrentClientBrowser={}));exports.CurrentClientDevice=void 0;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const k=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(t)?exports.CurrentClientBrowser.Chrome:void 0,r=/chromium/i.test(t)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(t)?exports.CurrentClientBrowser.Firefox:void 0,s=/webkit|safari|khtml/i.test(t)?exports.CurrentClientBrowser.Safari:void 0,n=/opr\//i.test(t)?exports.CurrentClientBrowser.Opera:void 0,a=/edg/i.test(t)?exports.CurrentClientBrowser.Edge:void 0,h=/android/i.test(t)?exports.CurrentClientDevice.Android:void 0,f=/iphone/i.test(t)?exports.CurrentClientDevice.iPhone:void 0,A=/ipad/i.test(t)?exports.CurrentClientDevice.iPad:void 0,L=/ipod/i.test(t)?exports.CurrentClientDevice.iPod:void 0,N=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:e||o||n||a||i||r||s||exports.CurrentClientBrowser.Rest,device:h||f||A||L||N||exports.CurrentClientDevice.Desktop}},U=(t,{start:e=0,factor:i=2,max:r=1/0,min:o=e,random:s=0}={})=>{let n=e;return n*=i**t,n*=1+(Math.random()*s*2-s),n=Math.round(n),n=Math.min(n,r),n=Math.max(n,o),n};var c;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(c||(c={}));const v=new Map;let l=c.RUNTIME;const E=`vk-videoplayer-dummy-key-${Math.random()}`,F=()=>{try{localStorage.setItem(E,"test"),localStorage.removeItem(E),l=c.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(E),l=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)l=c.RUNTIME;else throw e}else throw t}};F();const H=t=>{var e,i;switch(l){case c.LOCAL_STORAGE:return(e=localStorage.getItem(t))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(t))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return v.get(t);default:b(l)}},j=(t,e)=>{switch(l){case c.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case c.RUNTIME:return void v.set(t,e);default:b(l)}},q=t=>{switch(l){case c.LOCAL_STORAGE:return t in localStorage;case c.SESSION_STORAGE:return t in sessionStorage;case c.RUNTIME:return v.has(t);default:return b(l),!1}},B=t=>{switch(l){case c.LOCAL_STORAGE:return localStorage.removeItem(t);case c.SESSION_STORAGE:return sessionStorage.removeItem(t);case c.RUNTIME:return void v.delete(t);default:b(l)}},z=()=>{switch(l){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return v.clear();default:b(l)}};var Y=Object.freeze({__proto__:null,clear:z,get:H,has:q,remove:B,set:j});exports.VideoQuality=void 0;(function(t){t.INVARIANT="Invariant quality",t.Q_144P="144p",t.Q_240P="240p",t.Q_360P="360p",t.Q_480P="480p",t.Q_720P="720p",t.Q_1080P="1080p",t.Q_1440P="1440p",t.Q_2160P="2160p",t.Q_4320P="4320p"})(exports.VideoQuality||(exports.VideoQuality={}));const 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}},$=(t,e)=>d[t].height>d[e].height,K=(t,e)=>d[t].height>=d[e].height,_=(t,e)=>d[t].height<d[e].height,W=(t,e)=>d[t].height<=d[e].height,X=t=>t.sort((e,i)=>e===i?0:e===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:_(e,i)?1:-1)[0],T=Object.keys(d).sort((t,e)=>_(t,e)?-1:1),J=(t,e=.02)=>[...T].find(r=>d[r].height*(1+e)>=t),Z=({width:t,height:e})=>{const i=Math.min(t,e),r=Math.max(t,e);return T.find(o=>{const s=d[o];return s.width>=r&&s.height>=i})},ee=t=>d[t].height,S=t=>t===exports.VideoQuality.INVARIANT,te=t=>t.every(e=>!S(e));function ie(t){if(S(t))throw new Error("Expected exact quality")}class re extends p{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function ne(t){return new u(e=>{const i={};let r=Object.keys(t).length;const o=s=>n=>{s in i||r--,i[s]=n,r===0&&e.next(i)};return Object.entries(t).reduce((s,[n,a])=>s.add(a.subscribe(o(n))),new g)})}function se(...t){return new u(e=>t.reduce((i,r)=>i.add(r.subscribe(e)),new g))}var oe=t=>new u(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(r){if(e.error)e.error(r);else throw r}},t);return()=>window.clearTimeout(i)}),ae=t=>new u(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),ce=t=>new u(e=>{t.forEach(i=>e.next(i))}),ue=(t,e)=>new u(i=>{const r=o=>i.next(o);return t.addEventListener(e,r),()=>t.removeEventListener(e,r)});function le(t){return e=>new u(i=>e.subscribe(new de(i,t)))}class de{constructor(e,i){this.destination=e,this.size=i,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}const he={leading:!1,trailing:!0};function fe(t,e=he){return i=>new u(r=>i.subscribe(new be(r,t,e)))}class be{constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,O(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}const we={leading:!0,trailing:!1};function ge(t,e=we){return i=>new u(r=>i.subscribe(new ve(r,t,e)))}class ve{constructor(e,i,r){this.destination=e,this.time=i,this.config=r}next(e){this.lastValue=e,I(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function me(t){return e=>new u(i=>e.subscribe(new Ee(i,t)))}class Ee{constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function pe(t=(e,i)=>e===i){return e=>new u(i=>e.subscribe(new _e(i,t)))}const x={};class _e{constructor(e,i){this.destination=e,this.predicate=i,this.lastValue=x}next(e){let i;try{i=this.lastValue===x||!this.predicate(this.lastValue,e),this.lastValue=e}catch(r){throw this.error(r),r}i&&this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function y(t){return e=>new u(i=>e.subscribe(new Se(i,t)))}let Se=class{constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(r){throw this.error(r),r}this.destination.next(i)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}};function xe(t){return y(()=>t)}function Oe(){return t=>new u(e=>{let i=!1,r=!1;const o=t.subscribe(s=>{i||(i=!0,e.next(s)),r&&o.unsubscribe()},s=>{var n;i=!0,(n=e.error)===null||n===void 0||n.call(e,s),r&&o.unsubscribe()});return r=!0,i&&o.unsubscribe(),o})}function Ie(){return t=>new u(e=>t.subscribe(new Te(e)))}class Te{constructor(e){this.destination=e,this.hasLast=!1}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}function ye(t){return e=>new u(i=>e.subscribe(new Ae(i,t)))}class Ae{constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){var i,r;(r=(i=this.destination).error)===null||r===void 0||r.call(i,e)}}exports.ErrorCategory=void 0;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));const Le=5;exports.ACTIVE_LIVE_VALID_DELAY=Le;exports.Logger=Q;exports.Observable=u;exports.Subject=p;exports.Subscription=g;exports.VERSION=C;exports.ValueSubject=re;exports.abortable=G;exports.addScript=M;exports.areQualitiesExact=te;exports.assertNever=b;exports.assertNonNullable=V;exports.assertNullable=P;exports.assertQualityIsExact=ie;exports.buffer=le;exports.checkNever=R;exports.combine=ne;exports.debounce=fe;exports.filter=me;exports.filterChanged=pe;exports.fromEvent=ue;exports.getCurrentBrowser=k;exports.getExponentialDelay=U;exports.getHighestQuality=X;exports.interval=ae;exports.isHigher=$;exports.isHigherOrEqual=K;exports.isInvariantQuality=S;exports.isLower=_;exports.isLowerOrEqual=W;exports.isNonNullable=O;exports.isNullable=I;exports.map=y;exports.mapTo=xe;exports.merge=se;exports.noop=w;exports.now=D;exports.observableFrom=ce;exports.once=Oe;exports.pairwise=Ie;exports.safeStorage=Y;exports.tap=ye;exports.throttle=ge;exports.timeout=oe;exports.videoHeightToQuality=J;exports.videoQualityToHeight=ee;exports.videoSizeToQuality=Z;
|
package/es2018.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.
|
|
3
|
-
*
|
|
4
|
-
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.25
|
|
3
|
+
* Mon, 03 Jul 2023 15:51:34 GMT
|
|
4
|
+
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-25/doc/
|
|
5
5
|
*/
|
|
6
|
-
class v{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const f=r=>{throw new Error(`${r} is value of unexpected type`)},$=r=>{},b=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){var s;let a;t?typeof t=="function"?a={next:t,error:b}:a={next:o=>t.next(o),error:o=>{var h;return(h=t.error)===null||h===void 0?void 0:h.call(t,o)}}:a={next:b,error:b};const i=typeof e=="function"?{next:o=>{try{e(o)}catch(h){a.next(h)}},error:o=>a.next(o)}:{next:o=>e.next(o),error:o=>e.error?e.error(o):a.next(o)};let n;try{n=this._subscribe(i)}catch(o){(s=i.error)===null||s===void 0||s.call(i,o)}return new v().add(()=>{switch(i.next=b,i.error=b,typeof n){case"function":n();return;case"object":n.unsubscribe();return;case"undefined":return;default:return f(n)}})}pipe(...e){return e.reduce((t,s)=>s(t),this)}_subscribe(e){}}class S extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>{var s;return(s=t.error)===null||s===void 0?void 0:s.call(t,e)})}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new v().add(()=>this.subscribers.delete(t))}}class z{constructor(){this.log$=new S,this.logs=[],this.log=e=>{const t={...e,timestamp:Date.now()};this.logs.push(t),this.log$.next(t)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...t)=>{let s;try{s=e(...t)}catch(a){s={message:"error in `createCustomLog`",component:"Logger"}}this.log(s)}}createComponentLog(e){return this.createCustomLog(t=>({component:e,...t}))}}function k(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function K(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function g(r){return typeof r!="undefined"&&r!==null}function x(r){return r==null}const W=(r,e,t)=>new Promise((s,a)=>{e.addEventListener("abort",()=>{o(),d.remove()});const i=()=>{o(),a()},n=()=>{o(),s()},o=()=>{h&&clearTimeout(h),d.removeEventListener("load",n),d.removeEventListener("error",i)};let h;t&&(h=window.setTimeout(i,t));const d=document.createElement("script");d.addEventListener("load",n),d.addEventListener("error",i),d.src=r,document.head.appendChild(d)});var m;const B=typeof((m=window.performance)===null||m===void 0?void 0:m.now)=="function"?()=>window.performance.now():()=>Date.now(),X=(r,e)=>async(...t)=>{var s;const a=e(...t);let i=r.aborted,n;for(;!i&&!r.aborted;){const o=await a.next(n);i=(s=o.done)!==null&&s!==void 0?s:!1,n=o.value}return n},Y=(r,{start:e=0,factor:t=2,max:s=1/0,min:a=e,random:i=0}={})=>{let n=e;return n*=t**r,n*=1+(Math.random()*i*2-i),n=Math.round(n),n=Math.min(n,s),n=Math.max(n,a),n};var c;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(c||(c={}));const w=new Map;let l=c.RUNTIME;const E=`vk-videoplayer-dummy-key-${Math.random()}`,O=()=>{try{localStorage.setItem(E,"test"),localStorage.removeItem(E),l=c.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(E),l=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)l=c.RUNTIME;else throw e}else throw r}};O();const L=r=>{var e,t;switch(l){case c.LOCAL_STORAGE:return(e=localStorage.getItem(r))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(t=sessionStorage.getItem(r))!==null&&t!==void 0?t:void 0;case c.RUNTIME:return w.get(r);default:f(l)}},T=(r,e)=>{switch(l){case c.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case c.RUNTIME:return void w.set(r,e);default:f(l)}},I=r=>{switch(l){case c.LOCAL_STORAGE:return r in localStorage;case c.SESSION_STORAGE:return r in sessionStorage;case c.RUNTIME:return w.has(r);default:return f(l),!1}},A=r=>{switch(l){case c.LOCAL_STORAGE:return localStorage.removeItem(r);case c.SESSION_STORAGE:return sessionStorage.removeItem(r);case c.RUNTIME:return void w.delete(r);default:f(l)}},R=()=>{switch(l){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return w.clear();default:f(l)}};var q=Object.freeze({__proto__:null,clear:R,get:L,has:I,remove:A,set:T});class H extends S{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 t=super._subscribe(e);return e.next(this.value),t}}function J(r){return new u(e=>{const t={};let s=Object.keys(r).length;const a=i=>n=>{i in t||s--,t[i]=n,s===0&&e.next(t)};return Object.entries(r).reduce((i,[n,o])=>i.add(o.subscribe(a(n))),new v)})}function Q(...r){return new u(e=>r.reduce((t,s)=>t.add(s.subscribe(e)),new v))}var Z=r=>new u(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(s){if(e.error)e.error(s);else throw s}},r);return()=>window.clearTimeout(t)}),ee=r=>new u(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),te=r=>new u(e=>{r.forEach(t=>e.next(t))}),re=(r,e)=>new u(t=>{const s=a=>t.next(a);return r.addEventListener(e,s),()=>r.removeEventListener(e,s)});function se(r){return e=>new u(t=>e.subscribe(new N(t,r)))}class N{constructor(e,t){this.destination=e,this.size=t,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}const y={leading:!1,trailing:!0};function ne(r,e=y){return t=>new u(s=>t.subscribe(new M(s,r,e)))}class M{constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,g(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(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}const V={leading:!0,trailing:!1};function ie(r,e=V){return t=>new u(s=>t.subscribe(new C(s,r,e)))}class C{constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,x(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}function oe(r){return e=>new u(t=>e.subscribe(new G(t,r)))}class G{constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}function ae(r=(e,t)=>e===t){return e=>new u(t=>e.subscribe(new D(t,r)))}const p={};class D{constructor(e,t){this.destination=e,this.predicate=t,this.lastValue=p}next(e){let t;try{t=this.lastValue===p||!this.predicate(this.lastValue,e),this.lastValue=e}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}function U(r){return e=>new u(t=>e.subscribe(new j(t,r)))}let j=class{constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(s){throw this.error(s),s}this.destination.next(t)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}};function ue(r){return U(()=>r)}function le(){return r=>new u(e=>{let t=!1,s=!1;const a=r.subscribe(i=>{t||(t=!0,e.next(i)),s&&a.unsubscribe()},i=>{var n;t=!0,(n=e.error)===null||n===void 0||n.call(e,i),s&&a.unsubscribe()});return s=!0,t&&a.unsubscribe(),a})}function he(){return r=>new u(e=>r.subscribe(new F(e)))}class F{constructor(e){this.destination=e,this.hasLast=!1}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}function de(r){return e=>new u(t=>e.subscribe(new P(t,r)))}class P{constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){var t,s;(s=(t=this.destination).error)===null||s===void 0||s.call(t,e)}}var _;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(_||(_={}));const fe=5;export{fe as ACTIVE_LIVE_VALID_DELAY,_ as ErrorCategory,z as Logger,u as Observable,S as Subject,v as Subscription,H as ValueSubject,X as abortable,W as addScript,f as assertNever,k as assertNonNullable,K as assertNullable,se as buffer,$ as checkNever,J as combine,ne as debounce,oe as filter,ae as filterChanged,re as fromEvent,Y as getExponentialDelay,ee as interval,g as isNonNullable,x as isNullable,U as map,ue as mapTo,Q as merge,b as noop,B as now,te as observableFrom,le as once,he as pairwise,q as safeStorage,de as tap,ie as throttle,Z as timeout};
|
|
6
|
+
const J="1.0.25";class E{constructor(){this.subscriptions=[]}unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const g=t=>{throw new Error(`${t} is value of unexpected type`)},Z=t=>{},p=()=>{};class u{constructor(e){e&&(this._subscribe=e)}subscribe(e,i){var n;let o;i?typeof i=="function"?o={next:i,error:p}:o={next:a=>i.next(a),error:a=>{var f;return(f=i.error)===null||f===void 0?void 0:f.call(i,a)}}:o={next:p,error:p};const r=typeof e=="function"?{next:a=>{try{e(a)}catch(f){o.next(f)}},error:a=>o.next(a)}:{next:a=>e.next(a),error:a=>e.error?e.error(a):o.next(a)};let s;try{s=this._subscribe(r)}catch(a){(n=r.error)===null||n===void 0||n.call(r,a)}return new E().add(()=>{switch(r.next=p,r.error=p,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return g(s)}})}pipe(...e){return e.reduce((i,n)=>n(i),this)}_subscribe(e){}}class A extends u{constructor(){super(),this.keyCounter=0,this.subscribers=new Map}next(e){this.subscribers.forEach(i=>i.next(e))}error(e){this.subscribers.forEach(i=>{var n;return(n=i.error)===null||n===void 0?void 0:n.call(i,e)})}_subscribe(e){const i=this.keyCounter++;return this.subscribers.set(i,e),new E().add(()=>this.subscribers.delete(i))}}class B{constructor(){this.log$=new A,this.logs=[],this.log=e=>{const i={...e,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)},this.getAllLogs=()=>this.logs}createCustomLog(e){return(...i)=>{let n;try{n=e(...i)}catch(o){n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(i=>({component:e,...i}))}}function ee(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function te(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function M(t){return typeof t!="undefined"&&t!==null}function y(t){return t==null}const ie=(t,e,i)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{a(),w.remove()});const r=()=>{a(),o()},s=()=>{a(),n()},a=()=>{f&&clearTimeout(f),w.removeEventListener("load",s),w.removeEventListener("error",r)};let f;i&&(f=window.setTimeout(r,i));const w=document.createElement("script");w.addEventListener("load",s),w.addEventListener("error",r),w.src=t,document.head.appendChild(w)});var _;const ne=typeof((_=window.performance)===null||_===void 0?void 0:_.now)=="function"?()=>window.performance.now():()=>Date.now(),se=(t,e)=>async(...i)=>{var n;const o=e(...i);let r=t.aborted,s;for(;!r&&!t.aborted;){const a=await o.next(s);r=(n=a.done)!==null&&n!==void 0?n:!1,s=a.value}return s};var b;(function(t){t.Unknown="Unknown",t.Yandex="Yandex",t.Chrome="Chrome",t.Chromium="Chromium",t.Firefox="Firefox",t.Safari="Safari",t.Opera="Opera",t.Edge="Edge",t.Rest="Rest"})(b||(b={}));var m;(function(t){t.Unknown="Unknown",t.Android="Android",t.iPhone="iPhone",t.iPad="iPad",t.iPod="iPod",t.RestMobile="RestMobile",t.Desktop="Desktop"})(m||(m={}));const re=()=>{const{userAgent:t}=window.navigator,e=/yabrowser/i.test(t)?b.Yandex:void 0,i=/chrome|crios/i.test(t)?b.Chrome:void 0,n=/chromium/i.test(t)?b.Chromium:void 0,o=/firefox|fxios/i.test(t)?b.Firefox:void 0,r=/webkit|safari|khtml/i.test(t)?b.Safari:void 0,s=/opr\//i.test(t)?b.Opera:void 0,a=/edg/i.test(t)?b.Edge:void 0,f=/android/i.test(t)?m.Android:void 0,w=/iphone/i.test(t)?m.iPhone:void 0,R=/ipad/i.test(t)?m.iPad:void 0,N=/ipod/i.test(t)?m.iPod:void 0,P=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(t)?m.RestMobile:void 0;return{browser:e||o||s||a||i||n||r||b.Rest,device:f||w||R||N||P||m.Desktop}},oe=(t,{start:e=0,factor:i=2,max:n=1/0,min:o=e,random:r=0}={})=>{let s=e;return s*=i**t,s*=1+(Math.random()*r*2-r),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,o),s};var c;(function(t){t[t.LOCAL_STORAGE=0]="LOCAL_STORAGE",t[t.SESSION_STORAGE=1]="SESSION_STORAGE",t[t.RUNTIME=2]="RUNTIME"})(c||(c={}));const v=new Map;let h=c.RUNTIME;const x=`vk-videoplayer-dummy-key-${Math.random()}`,Q=()=>{try{localStorage.setItem(x,"test"),localStorage.removeItem(x),h=c.LOCAL_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(x),h=c.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)h=c.RUNTIME;else throw e}else throw t}};Q();const V=t=>{var e,i;switch(h){case c.LOCAL_STORAGE:return(e=localStorage.getItem(t))!==null&&e!==void 0?e:void 0;case c.SESSION_STORAGE:return(i=sessionStorage.getItem(t))!==null&&i!==void 0?i:void 0;case c.RUNTIME:return v.get(t);default:g(h)}},G=(t,e)=>{switch(h){case c.LOCAL_STORAGE:try{localStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case c.SESSION_STORAGE:try{sessionStorage.setItem(t,e)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case c.RUNTIME:return void v.set(t,e);default:g(h)}},U=t=>{switch(h){case c.LOCAL_STORAGE:return t in localStorage;case c.SESSION_STORAGE:return t in sessionStorage;case c.RUNTIME:return v.has(t);default:return g(h),!1}},k=t=>{switch(h){case c.LOCAL_STORAGE:return localStorage.removeItem(t);case c.SESSION_STORAGE:return sessionStorage.removeItem(t);case c.RUNTIME:return void v.delete(t);default:g(h)}},D=()=>{switch(h){case c.LOCAL_STORAGE:return localStorage.clear();case c.SESSION_STORAGE:return sessionStorage.clear();case c.RUNTIME:return v.clear();default:g(h)}};var ae=Object.freeze({__proto__:null,clear:D,get:V,has:U,remove:k,set:G}),l;(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"})(l||(l={}));const d={[l.Q_144P]:{width:256,height:144},[l.Q_240P]:{width:428,height:240},[l.Q_360P]:{width:640,height:360},[l.Q_480P]:{width:856,height:480},[l.Q_720P]:{width:1280,height:720},[l.Q_1080P]:{width:1920,height:1080},[l.Q_1440P]:{width:2560,height:1440},[l.Q_2160P]:{width:3840,height:2160},[l.Q_4320P]:{width:7680,height:4320}},ce=(t,e)=>d[t].height>d[e].height,ue=(t,e)=>d[t].height>=d[e].height,I=(t,e)=>d[t].height<d[e].height,le=(t,e)=>d[t].height<=d[e].height,he=t=>t.sort((e,i)=>e===i?0:e===l.INVARIANT?1:i===l.INVARIANT?-1:I(e,i)?1:-1)[0],T=Object.keys(d).sort((t,e)=>I(t,e)?-1:1),de=(t,e=.02)=>[...T].find(n=>d[n].height*(1+e)>=t),fe=({width:t,height:e})=>{const i=Math.min(t,e),n=Math.max(t,e);return T.find(o=>{const r=d[o];return r.width>=n&&r.height>=i})},be=t=>d[t].height,L=t=>t===l.INVARIANT,we=t=>t.every(e=>!L(e));function me(t){if(L(t))throw new Error("Expected exact quality")}class ge extends A{constructor(e){super(),this.value=e}next(e){super.next(this.value=e)}error(e){super.error(this.value=e)}getValue(){return this.value}_subscribe(e){const i=super._subscribe(e);return e.next(this.value),i}}function pe(t){return new u(e=>{const i={};let n=Object.keys(t).length;const o=r=>s=>{r in i||n--,i[r]=s,n===0&&e.next(i)};return Object.entries(t).reduce((r,[s,a])=>r.add(a.subscribe(o(s))),new E)})}function ve(...t){return new u(e=>t.reduce((i,n)=>i.add(n.subscribe(e)),new E))}var Ee=t=>new u(e=>{const i=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(i)}),_e=t=>new u(e=>{const i=window.setInterval(()=>e.next(),t);return()=>window.clearInterval(i)}),xe=t=>new u(e=>{t.forEach(i=>e.next(i))}),Se=(t,e)=>new u(i=>{const n=o=>i.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});function Oe(t){return e=>new u(i=>e.subscribe(new F(i,t)))}class F{constructor(e,i){this.destination=e,this.size=i,this.lastValues=[]}next(e){this.lastValues.length===this.size&&this.lastValues.shift(),this.lastValues.push(e),this.destination.next(this.lastValues)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const j={leading:!1,trailing:!0};function Ae(t,e=j){return i=>new u(n=>i.subscribe(new q(n,t,e)))}class q{constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,M(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}const z={leading:!0,trailing:!1};function Ie(t,e=z){return i=>new u(n=>i.subscribe(new $(n,t,e)))}class ${constructor(e,i,n){this.destination=e,this.time=i,this.config=n}next(e){this.lastValue=e,y(this.timeout)&&(this.config.leading&&this.destination.next(e),this.timeout=window.setTimeout(()=>{this.config.trailing&&this.destination.next(this.lastValue),this.timeout=void 0},this.time))}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Te(t){return e=>new u(i=>e.subscribe(new H(i,t)))}class H{constructor(e,i){this.destination=e,this.predicate=i}next(e){let i;try{i=this.predicate(e)}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function Le(t=(e,i)=>e===i){return e=>new u(i=>e.subscribe(new Y(i,t)))}const S={};class Y{constructor(e,i){this.destination=e,this.predicate=i,this.lastValue=S}next(e){let i;try{i=this.lastValue===S||!this.predicate(this.lastValue,e),this.lastValue=e}catch(n){throw this.error(n),n}i&&this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function C(t){return e=>new u(i=>e.subscribe(new K(i,t)))}let K=class{constructor(e,i){this.destination=e,this.mapper=i}next(e){let i;try{i=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(i)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}};function Ne(t){return C(()=>t)}function Pe(){return t=>new u(e=>{let i=!1,n=!1;const o=t.subscribe(r=>{i||(i=!0,e.next(r)),n&&o.unsubscribe()},r=>{var s;i=!0,(s=e.error)===null||s===void 0||s.call(e,r),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Me(){return t=>new u(e=>t.subscribe(new W(e)))}class W{constructor(e){this.destination=e,this.hasLast=!1}next(e){const i=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,e])}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}function ye(t){return e=>new u(i=>e.subscribe(new X(i,t)))}class X{constructor(e,i){this.destination=e,this.effect=i}next(e){try{this.effect(e)}catch(i){throw this.error(i),i}this.destination.next(e)}error(e){var i,n;(n=(i=this.destination).error)===null||n===void 0||n.call(i,e)}}var O;(function(t){t.NETWORK="network",t.VIDEO_PIPELINE="video_pipeline",t.EXTERNAL_API="external_api",t.PARSER="parser",t.DOM="dom",t.WTF="wtf"})(O||(O={}));const Qe=5;export{Qe as ACTIVE_LIVE_VALID_DELAY,b as CurrentClientBrowser,m as CurrentClientDevice,O as ErrorCategory,B as Logger,u as Observable,A as Subject,E as Subscription,J as VERSION,ge as ValueSubject,l as VideoQuality,se as abortable,ie as addScript,we as areQualitiesExact,g as assertNever,ee as assertNonNullable,te as assertNullable,me as assertQualityIsExact,Oe as buffer,Z as checkNever,pe as combine,Ae as debounce,Te as filter,Le as filterChanged,Se as fromEvent,re as getCurrentBrowser,oe as getExponentialDelay,he as getHighestQuality,_e as interval,ce as isHigher,ue as isHigherOrEqual,L as isInvariantQuality,I as isLower,le as isLowerOrEqual,M as isNonNullable,y as isNullable,C as map,Ne as mapTo,ve as merge,p as noop,ne as now,xe as observableFrom,Pe as once,Me as pairwise,ae as safeStorage,ye as tap,Ie as throttle,Ee as timeout,de as videoHeightToQuality,be as videoQualityToHeight,fe as videoSizeToQuality};
|
package/esnext.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.
|
|
3
|
-
*
|
|
4
|
-
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.25
|
|
3
|
+
* Mon, 03 Jul 2023 15:51:34 GMT
|
|
4
|
+
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-25/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";class b{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const d=r=>{throw new Error(`${r} is value of unexpected type`)},O=r=>{},f=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){let s;t?typeof t=="function"?s={next:t,error:f}:s={next:n=>t.next(n),error:n=>t.error?.(n)}:s={next:f,error:f};const a=typeof e=="function"?{next:n=>{try{e(n)}catch(l){s.next(l)}},error:n=>s.next(n)}:{next:n=>e.next(n),error:n=>e.error?e.error(n):s.next(n)};let i;try{i=this._subscribe(a)}catch(n){a.error?.(n)}return new b().add(()=>{switch(a.next=f,a.error=f,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return d(i)}})}pipe(...e){return e.reduce((t,s)=>s(t),this)}_subscribe(e){}}class p extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>t.error?.(e))}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new b().add(()=>this.subscribers.delete(t))}}class T{log$=new p;logs=[];log=e=>{const t={...e,timestamp:Date.now()};this.logs.push(t),this.log$.next(t)};createCustomLog(e){return(...t)=>{let s;try{s=e(...t)}catch{s={message:"error in `createCustomLog`",component:"Logger"}}this.log(s)}}createComponentLog(e){return this.createCustomLog(t=>({component:e,...t}))}getAllLogs=()=>this.logs}function v(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function I(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function S(r){return typeof r<"u"&&r!==null}function x(r){return r==null}const _=(r,e,t)=>new Promise((s,a)=>{e.addEventListener("abort",()=>{l(),h.remove()});const i=()=>{l(),a()},n=()=>{l(),s()},l=()=>{w&&clearTimeout(w),h.removeEventListener("load",n),h.removeEventListener("error",i)};let w;t&&(w=window.setTimeout(i,t));const h=document.createElement("script");h.addEventListener("load",n),h.addEventListener("error",i),h.src=r,document.head.appendChild(h)}),A=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),N=(r,e)=>async(...t)=>{const s=e(...t);let a=r.aborted,i;for(;!a&&!r.aborted;){const n=await s.next(i);a=n.done??!1,i=n.value}return i},R=(r,{start:e=0,factor:t=2,max:s=1/0,min:a=e,random:i=0}={})=>{let n=e;return n*=t**r,n*=1+(Math.random()*i*2-i),n=Math.round(n),n=Math.min(n,s),n=Math.max(n,a),n};var o;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(o||(o={}));const m=new Map;let u=o.RUNTIME;const E=`vk-videoplayer-dummy-key-${Math.random()}`,y=()=>{try{localStorage.setItem(E,"test"),localStorage.removeItem(E),u=o.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(E),u=o.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)u=o.RUNTIME;else throw e}else throw r}};y();const V=r=>{switch(u){case o.LOCAL_STORAGE:return localStorage.getItem(r)??void 0;case o.SESSION_STORAGE:return sessionStorage.getItem(r)??void 0;case o.RUNTIME:return m.get(r);default:d(u)}},M=(r,e)=>{switch(u){case o.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case o.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case o.RUNTIME:return void m.set(r,e);default:d(u)}},C=r=>{switch(u){case o.LOCAL_STORAGE:return r in localStorage;case o.SESSION_STORAGE:return r in sessionStorage;case o.RUNTIME:return m.has(r);default:return d(u),!1}},G=r=>{switch(u){case o.LOCAL_STORAGE:return localStorage.removeItem(r);case o.SESSION_STORAGE:return sessionStorage.removeItem(r);case o.RUNTIME:return void m.delete(r);default:d(u)}},D=()=>{switch(u){case o.LOCAL_STORAGE:return localStorage.clear();case o.SESSION_STORAGE:return sessionStorage.clear();case o.RUNTIME:return m.clear();default:d(u)}};var U=Object.freeze({__proto__:null,clear:D,get:V,has:C,remove:G,set:M});class j extends p{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 t=super._subscribe(e);return e.next(this.value),t}}function F(r){return new c(e=>{const t={};let s=Object.keys(r).length;const a=i=>n=>{i in t||s--,t[i]=n,s===0&&e.next(t)};return Object.entries(r).reduce((i,[n,l])=>i.add(l.subscribe(a(n))),new b)})}function P(...r){return new c(e=>r.reduce((t,s)=>t.add(s.subscribe(e)),new b))}var $=r=>new c(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(s){if(e.error)e.error(s);else throw s}},r);return()=>window.clearTimeout(t)}),z=r=>new c(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),k=r=>new c(e=>{r.forEach(t=>e.next(t))}),K=(r,e)=>new c(t=>{const s=a=>t.next(a);return r.addEventListener(e,s),()=>r.removeEventListener(e,s)});function W(r){return e=>new c(t=>e.subscribe(new Y(t,r)))}class Y{destination;size;lastValues=[];constructor(e,t){this.destination=e,this.size=t}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 B={leading:!1,trailing:!0};function X(r,e=B){return t=>new c(s=>t.subscribe(new q(s,r,e)))}class q{destination;time;config;lastValue;timeout;constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,S(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(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const H={leading:!0,trailing:!1};function J(r,e=H){return t=>new c(s=>t.subscribe(new Q(s,r,e)))}class Q{destination;time;config;lastValue;timeout;constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,x(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 Z(r){return e=>new c(t=>e.subscribe(new ee(t,r)))}class ee{destination;predicate;constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function te(r=(e,t)=>e===t){return e=>new c(t=>e.subscribe(new re(t,r)))}const g={};class re{destination;predicate;lastValue=g;constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.lastValue===g||!this.predicate(this.lastValue,e),this.lastValue=e}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function L(r){return e=>new c(t=>e.subscribe(new se(t,r)))}let se=class{destination;mapper;constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(s){throw this.error(s),s}this.destination.next(t)}error(e){this.destination.error?.(e)}};function ne(r){return L(()=>r)}function ie(){return r=>new c(e=>{let t=!1,s=!1;const a=r.subscribe(i=>{t||(t=!0,e.next(i)),s&&a.unsubscribe()},i=>{t=!0,e.error?.(i),s&&a.unsubscribe()});return s=!0,t&&a.unsubscribe(),a})}function oe(){return r=>new c(e=>r.subscribe(new ae(e)))}class ae{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){this.destination.error?.(e)}}function ce(r){return e=>new c(t=>e.subscribe(new ue(t,r)))}class ue{destination;effect;constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){this.destination.error?.(e)}}exports.ErrorCategory=void 0;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(exports.ErrorCategory||(exports.ErrorCategory={}));const le=5;exports.ACTIVE_LIVE_VALID_DELAY=le;exports.Logger=T;exports.Observable=c;exports.Subject=p;exports.Subscription=b;exports.ValueSubject=j;exports.abortable=N;exports.addScript=_;exports.assertNever=d;exports.assertNonNullable=v;exports.assertNullable=I;exports.buffer=W;exports.checkNever=O;exports.combine=F;exports.debounce=X;exports.filter=Z;exports.filterChanged=te;exports.fromEvent=K;exports.getExponentialDelay=R;exports.interval=z;exports.isNonNullable=S;exports.isNullable=x;exports.map=L;exports.mapTo=ne;exports.merge=P;exports.noop=f;exports.now=A;exports.observableFrom=k;exports.once=ie;exports.pairwise=oe;exports.safeStorage=U;exports.tap=ce;exports.throttle=J;exports.timeout=$;
|
|
6
|
+
"use strict";const N="1.0.25";class m{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const f=e=>{throw new Error(`${e} is value of unexpected type`)},C=e=>{},b=()=>{};class c{constructor(t){t&&(this._subscribe=t)}subscribe(t,i){let r;i?typeof i=="function"?r={next:i,error:b}:r={next:n=>i.next(n),error:n=>i.error?.(n)}:r={next:b,error:b};const o=typeof t=="function"?{next:n=>{try{t(n)}catch(h){r.next(h)}},error:n=>r.next(n)}:{next:n=>t.next(n),error:n=>t.error?t.error(n):r.next(n)};let s;try{s=this._subscribe(o)}catch(n){o.error?.(n)}return new m().add(()=>{switch(o.next=b,o.error=b,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return f(s)}})}pipe(...t){return t.reduce((i,r)=>r(i),this)}_subscribe(t){}}class E extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(i=>i.next(t))}error(t){this.subscribers.forEach(i=>i.error?.(t))}_subscribe(t){const i=this.keyCounter++;return this.subscribers.set(i,t),new m().add(()=>this.subscribers.delete(i))}}class R{log$=new E;logs=[];log=t=>{const i={...t,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)};createCustomLog(t){return(...i)=>{let r;try{r=t(...i)}catch{r={message:"error in `createCustomLog`",component:"Logger"}}this.log(r)}}createComponentLog(t){return this.createCustomLog(i=>({component:t,...i}))}getAllLogs=()=>this.logs}function Q(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function V(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function O(e){return typeof e<"u"&&e!==null}function _(e){return e==null}const P=(e,t,i)=>new Promise((r,o)=>{t.addEventListener("abort",()=>{h(),d.remove()});const s=()=>{h(),o()},n=()=>{h(),r()},h=()=>{w&&clearTimeout(w),d.removeEventListener("load",n),d.removeEventListener("error",s)};let w;i&&(w=window.setTimeout(s,i));const d=document.createElement("script");d.addEventListener("load",n),d.addEventListener("error",s),d.src=e,document.head.appendChild(d)}),M=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),D=(e,t)=>async(...i)=>{const r=t(...i);let o=e.aborted,s;for(;!o&&!e.aborted;){const n=await r.next(s);o=n.done??!1,s=n.value}return s};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.Desktop="Desktop"})(exports.CurrentClientDevice||(exports.CurrentClientDevice={}));const G=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?exports.CurrentClientBrowser.Yandex:void 0,i=/chrome|crios/i.test(e)?exports.CurrentClientBrowser.Chrome:void 0,r=/chromium/i.test(e)?exports.CurrentClientBrowser.Chromium:void 0,o=/firefox|fxios/i.test(e)?exports.CurrentClientBrowser.Firefox:void 0,s=/webkit|safari|khtml/i.test(e)?exports.CurrentClientBrowser.Safari:void 0,n=/opr\//i.test(e)?exports.CurrentClientBrowser.Opera:void 0,h=/edg/i.test(e)?exports.CurrentClientBrowser.Edge:void 0,w=/android/i.test(e)?exports.CurrentClientDevice.Android:void 0,d=/iphone/i.test(e)?exports.CurrentClientDevice.iPhone:void 0,y=/ipad/i.test(e)?exports.CurrentClientDevice.iPad:void 0,A=/ipod/i.test(e)?exports.CurrentClientDevice.iPod:void 0,L=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?exports.CurrentClientDevice.RestMobile:void 0;return{browser:t||o||n||h||i||r||s||exports.CurrentClientBrowser.Rest,device:w||d||y||A||L||exports.CurrentClientDevice.Desktop}},k=(e,{start:t=0,factor:i=2,max:r=1/0,min:o=t,random:s=0}={})=>{let n=t;return n*=i**e,n*=1+(Math.random()*s*2-s),n=Math.round(n),n=Math.min(n,r),n=Math.max(n,o),n};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));const g=new Map;let u=a.RUNTIME;const p=`vk-videoplayer-dummy-key-${Math.random()}`,U=()=>{try{localStorage.setItem(p,"test"),localStorage.removeItem(p),u=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(p),u=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)u=a.RUNTIME;else throw t}else throw e}};U();const F=e=>{switch(u){case a.LOCAL_STORAGE:return localStorage.getItem(e)??void 0;case a.SESSION_STORAGE:return sessionStorage.getItem(e)??void 0;case a.RUNTIME:return g.get(e);default:f(u)}},H=(e,t)=>{switch(u){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.RUNTIME:return void g.set(e,t);default:f(u)}},j=e=>{switch(u){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return g.has(e);default:return f(u),!1}},q=e=>{switch(u){case a.LOCAL_STORAGE:return localStorage.removeItem(e);case a.SESSION_STORAGE:return sessionStorage.removeItem(e);case a.RUNTIME:return void g.delete(e);default:f(u)}},z=()=>{switch(u){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return g.clear();default:f(u)}};var B=Object.freeze({__proto__:null,clear:z,get:F,has:j,remove:q,set:H});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 l={[exports.VideoQuality.Q_144P]:{width:256,height:144},[exports.VideoQuality.Q_240P]:{width:428,height:240},[exports.VideoQuality.Q_360P]:{width:640,height:360},[exports.VideoQuality.Q_480P]:{width:856,height:480},[exports.VideoQuality.Q_720P]:{width:1280,height:720},[exports.VideoQuality.Q_1080P]:{width:1920,height:1080},[exports.VideoQuality.Q_1440P]:{width:2560,height:1440},[exports.VideoQuality.Q_2160P]:{width:3840,height:2160},[exports.VideoQuality.Q_4320P]:{width:7680,height:4320}},Y=(e,t)=>l[e].height>l[t].height,$=(e,t)=>l[e].height>=l[t].height,S=(e,t)=>l[e].height<l[t].height,K=(e,t)=>l[e].height<=l[t].height,W=e=>e.sort((t,i)=>t===i?0:t===exports.VideoQuality.INVARIANT?1:i===exports.VideoQuality.INVARIANT?-1:S(t,i)?1:-1)[0],I=Object.keys(l).sort((e,t)=>S(e,t)?-1:1),X=(e,t=.02)=>[...I].find(r=>l[r].height*(1+t)>=e),J=({width:e,height:t})=>{const i=Math.min(e,t),r=Math.max(e,t);return I.find(o=>{const s=l[o];return s.width>=r&&s.height>=i})},Z=e=>l[e].height,x=e=>e===exports.VideoQuality.INVARIANT,ee=e=>e.every(t=>!x(t));function te(e){if(x(e))throw new Error("Expected exact quality")}class ie extends E{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 i=super._subscribe(t);return t.next(this.value),i}}function re(e){return new c(t=>{const i={};let r=Object.keys(e).length;const o=s=>n=>{s in i||r--,i[s]=n,r===0&&t.next(i)};return Object.entries(e).reduce((s,[n,h])=>s.add(h.subscribe(o(n))),new m)})}function ne(...e){return new c(t=>e.reduce((i,r)=>i.add(r.subscribe(t)),new m))}var se=e=>new c(t=>{const i=window.setTimeout(()=>{try{t.next()}catch(r){if(t.error)t.error(r);else throw r}},e);return()=>window.clearTimeout(i)}),oe=e=>new c(t=>{const i=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(i)}),ae=e=>new c(t=>{e.forEach(i=>t.next(i))}),ce=(e,t)=>new c(i=>{const r=o=>i.next(o);return e.addEventListener(t,r),()=>e.removeEventListener(t,r)});function ue(e){return t=>new c(i=>t.subscribe(new le(i,e)))}class le{destination;size;lastValues=[];constructor(t,i){this.destination=t,this.size=i}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 he={leading:!1,trailing:!0};function de(e,t=he){return i=>new c(r=>i.subscribe(new fe(r,e,t)))}class fe{destination;time;config;lastValue;timeout;constructor(t,i,r){this.destination=t,this.time=i,this.config=r}next(t){this.lastValue=t,O(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const be={leading:!0,trailing:!1};function we(e,t=be){return i=>new c(r=>i.subscribe(new me(r,e,t)))}class me{destination;time;config;lastValue;timeout;constructor(t,i,r){this.destination=t,this.time=i,this.config=r}next(t){this.lastValue=t,_(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 ge(e){return t=>new c(i=>t.subscribe(new pe(i,e)))}class pe{destination;predicate;constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.predicate(t)}catch(r){throw this.error(r),r}i&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Ee(e=(t,i)=>t===i){return t=>new c(i=>t.subscribe(new Se(i,e)))}const v={};class Se{destination;predicate;lastValue=v;constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.lastValue===v||!this.predicate(this.lastValue,t),this.lastValue=t}catch(r){throw this.error(r),r}i&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function T(e){return t=>new c(i=>t.subscribe(new xe(i,e)))}let xe=class{destination;mapper;constructor(t,i){this.destination=t,this.mapper=i}next(t){let i;try{i=this.mapper(t)}catch(r){throw this.error(r),r}this.destination.next(i)}error(t){this.destination.error?.(t)}};function ve(e){return T(()=>e)}function Oe(){return e=>new c(t=>{let i=!1,r=!1;const o=e.subscribe(s=>{i||(i=!0,t.next(s)),r&&o.unsubscribe()},s=>{i=!0,t.error?.(s),r&&o.unsubscribe()});return r=!0,i&&o.unsubscribe(),o})}function _e(){return e=>new c(t=>e.subscribe(new Ie(t)))}class Ie{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const i=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,t])}error(t){this.destination.error?.(t)}}function Te(e){return t=>new c(i=>t.subscribe(new ye(i,e)))}class ye{destination;effect;constructor(t,i){this.destination=t,this.effect=i}next(t){try{this.effect(t)}catch(i){throw this.error(i),i}this.destination.next(t)}error(t){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={}));const Ae=5;exports.ACTIVE_LIVE_VALID_DELAY=Ae;exports.Logger=R;exports.Observable=c;exports.Subject=E;exports.Subscription=m;exports.VERSION=N;exports.ValueSubject=ie;exports.abortable=D;exports.addScript=P;exports.areQualitiesExact=ee;exports.assertNever=f;exports.assertNonNullable=Q;exports.assertNullable=V;exports.assertQualityIsExact=te;exports.buffer=ue;exports.checkNever=C;exports.combine=re;exports.debounce=de;exports.filter=ge;exports.filterChanged=Ee;exports.fromEvent=ce;exports.getCurrentBrowser=G;exports.getExponentialDelay=k;exports.getHighestQuality=W;exports.interval=oe;exports.isHigher=Y;exports.isHigherOrEqual=$;exports.isInvariantQuality=x;exports.isLower=S;exports.isLowerOrEqual=K;exports.isNonNullable=O;exports.isNullable=_;exports.map=T;exports.mapTo=ve;exports.merge=ne;exports.noop=b;exports.now=M;exports.observableFrom=ae;exports.once=Oe;exports.pairwise=_e;exports.safeStorage=B;exports.tap=Te;exports.throttle=we;exports.timeout=se;exports.videoHeightToQuality=X;exports.videoQualityToHeight=Z;exports.videoSizeToQuality=J;
|
package/esnext.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.
|
|
3
|
-
*
|
|
4
|
-
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.25
|
|
3
|
+
* Mon, 03 Jul 2023 15:51:34 GMT
|
|
4
|
+
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-25/doc/
|
|
5
5
|
*/
|
|
6
|
-
class w{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const d=r=>{throw new Error(`${r} is value of unexpected type`)},P=r=>{},f=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){let s;t?typeof t=="function"?s={next:t,error:f}:s={next:n=>t.next(n),error:n=>t.error?.(n)}:s={next:f,error:f};const a=typeof e=="function"?{next:n=>{try{e(n)}catch(l){s.next(l)}},error:n=>s.next(n)}:{next:n=>e.next(n),error:n=>e.error?e.error(n):s.next(n)};let i;try{i=this._subscribe(a)}catch(n){a.error?.(n)}return new w().add(()=>{switch(a.next=f,a.error=f,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return d(i)}})}pipe(...e){return e.reduce((t,s)=>s(t),this)}_subscribe(e){}}class g extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>t.error?.(e))}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new w().add(()=>this.subscribers.delete(t))}}class ${log$=new g;logs=[];log=e=>{const t={...e,timestamp:Date.now()};this.logs.push(t),this.log$.next(t)};createCustomLog(e){return(...t)=>{let s;try{s=e(...t)}catch{s={message:"error in `createCustomLog`",component:"Logger"}}this.log(s)}}createComponentLog(e){return this.createCustomLog(t=>({component:e,...t}))}getAllLogs=()=>this.logs}function z(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function k(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function x(r){return typeof r<"u"&&r!==null}function O(r){return r==null}const K=(r,e,t)=>new Promise((s,a)=>{e.addEventListener("abort",()=>{l(),h.remove()});const i=()=>{l(),a()},n=()=>{l(),s()},l=()=>{m&&clearTimeout(m),h.removeEventListener("load",n),h.removeEventListener("error",i)};let m;t&&(m=window.setTimeout(i,t));const h=document.createElement("script");h.addEventListener("load",n),h.addEventListener("error",i),h.src=r,document.head.appendChild(h)}),W=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),B=(r,e)=>async(...t)=>{const s=e(...t);let a=r.aborted,i;for(;!a&&!r.aborted;){const n=await s.next(i);a=n.done??!1,i=n.value}return i},X=(r,{start:e=0,factor:t=2,max:s=1/0,min:a=e,random:i=0}={})=>{let n=e;return n*=t**r,n*=1+(Math.random()*i*2-i),n=Math.round(n),n=Math.min(n,s),n=Math.max(n,a),n};var o;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(o||(o={}));const b=new Map;let u=o.RUNTIME;const E=`vk-videoplayer-dummy-key-${Math.random()}`,L=()=>{try{localStorage.setItem(E,"test"),localStorage.removeItem(E),u=o.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(E),u=o.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)u=o.RUNTIME;else throw e}else throw r}};L();const T=r=>{switch(u){case o.LOCAL_STORAGE:return localStorage.getItem(r)??void 0;case o.SESSION_STORAGE:return sessionStorage.getItem(r)??void 0;case o.RUNTIME:return b.get(r);default:d(u)}},v=(r,e)=>{switch(u){case o.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case o.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case o.RUNTIME:return void b.set(r,e);default:d(u)}},I=r=>{switch(u){case o.LOCAL_STORAGE:return r in localStorage;case o.SESSION_STORAGE:return r in sessionStorage;case o.RUNTIME:return b.has(r);default:return d(u),!1}},_=r=>{switch(u){case o.LOCAL_STORAGE:return localStorage.removeItem(r);case o.SESSION_STORAGE:return sessionStorage.removeItem(r);case o.RUNTIME:return void b.delete(r);default:d(u)}},A=()=>{switch(u){case o.LOCAL_STORAGE:return localStorage.clear();case o.SESSION_STORAGE:return sessionStorage.clear();case o.RUNTIME:return b.clear();default:d(u)}};var Y=Object.freeze({__proto__:null,clear:A,get:T,has:I,remove:_,set:v});class q extends g{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 t=super._subscribe(e);return e.next(this.value),t}}function H(r){return new c(e=>{const t={};let s=Object.keys(r).length;const a=i=>n=>{i in t||s--,t[i]=n,s===0&&e.next(t)};return Object.entries(r).reduce((i,[n,l])=>i.add(l.subscribe(a(n))),new w)})}function J(...r){return new c(e=>r.reduce((t,s)=>t.add(s.subscribe(e)),new w))}var Q=r=>new c(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(s){if(e.error)e.error(s);else throw s}},r);return()=>window.clearTimeout(t)}),Z=r=>new c(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),ee=r=>new c(e=>{r.forEach(t=>e.next(t))}),te=(r,e)=>new c(t=>{const s=a=>t.next(a);return r.addEventListener(e,s),()=>r.removeEventListener(e,s)});function re(r){return e=>new c(t=>e.subscribe(new R(t,r)))}class R{destination;size;lastValues=[];constructor(e,t){this.destination=e,this.size=t}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 N={leading:!1,trailing:!0};function se(r,e=N){return t=>new c(s=>t.subscribe(new y(s,r,e)))}class y{destination;time;config;lastValue;timeout;constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,x(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(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const M={leading:!0,trailing:!1};function ne(r,e=M){return t=>new c(s=>t.subscribe(new V(s,r,e)))}class V{destination;time;config;lastValue;timeout;constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,O(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 ie(r){return e=>new c(t=>e.subscribe(new C(t,r)))}class C{destination;predicate;constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function oe(r=(e,t)=>e===t){return e=>new c(t=>e.subscribe(new G(t,r)))}const p={};class G{destination;predicate;lastValue=p;constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.lastValue===p||!this.predicate(this.lastValue,e),this.lastValue=e}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function D(r){return e=>new c(t=>e.subscribe(new U(t,r)))}let U=class{destination;mapper;constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(s){throw this.error(s),s}this.destination.next(t)}error(e){this.destination.error?.(e)}};function ce(r){return D(()=>r)}function ue(){return r=>new c(e=>{let t=!1,s=!1;const a=r.subscribe(i=>{t||(t=!0,e.next(i)),s&&a.unsubscribe()},i=>{t=!0,e.error?.(i),s&&a.unsubscribe()});return s=!0,t&&a.unsubscribe(),a})}function le(){return r=>new c(e=>r.subscribe(new j(e)))}class j{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){this.destination.error?.(e)}}function he(r){return e=>new c(t=>e.subscribe(new F(t,r)))}class F{destination;effect;constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){this.destination.error?.(e)}}var S;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(S||(S={}));const de=5;export{de as ACTIVE_LIVE_VALID_DELAY,S as ErrorCategory,$ as Logger,c as Observable,g as Subject,w as Subscription,q as ValueSubject,B as abortable,K as addScript,d as assertNever,z as assertNonNullable,k as assertNullable,re as buffer,P as checkNever,H as combine,se as debounce,ie as filter,oe as filterChanged,te as fromEvent,X as getExponentialDelay,Z as interval,x as isNonNullable,O as isNullable,D as map,ce as mapTo,J as merge,f as noop,W as now,ee as observableFrom,ue as once,le as pairwise,Y as safeStorage,he as tap,ne as throttle,Q as timeout};
|
|
6
|
+
const X="1.0.25";class x{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const w=e=>{throw new Error(`${e} is value of unexpected type`)},J=e=>{},g=()=>{};class c{constructor(t){t&&(this._subscribe=t)}subscribe(t,i){let n;i?typeof i=="function"?n={next:i,error:g}:n={next:s=>i.next(s),error:s=>i.error?.(s)}:n={next:g,error:g};const o=typeof t=="function"?{next:s=>{try{t(s)}catch(f){n.next(f)}},error:s=>n.next(s)}:{next:s=>t.next(s),error:s=>t.error?t.error(s):n.next(s)};let r;try{r=this._subscribe(o)}catch(s){o.error?.(s)}return new x().add(()=>{switch(o.next=g,o.error=g,typeof r){case"function":r();return;case"object":r.unsubscribe();return;case"undefined":return;default:return w(r)}})}pipe(...t){return t.reduce((i,n)=>n(i),this)}_subscribe(t){}}class A extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(i=>i.next(t))}error(t){this.subscribers.forEach(i=>i.error?.(t))}_subscribe(t){const i=this.keyCounter++;return this.subscribers.set(i,t),new x().add(()=>this.subscribers.delete(i))}}class Z{log$=new A;logs=[];log=t=>{const i={...t,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)};createCustomLog(t){return(...i)=>{let n;try{n=t(...i)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(i=>({component:t,...i}))}getAllLogs=()=>this.logs}function B(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function ee(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function P(e){return typeof e<"u"&&e!==null}function M(e){return e==null}const te=(e,t,i)=>new Promise((n,o)=>{t.addEventListener("abort",()=>{f(),b.remove()});const r=()=>{f(),o()},s=()=>{f(),n()},f=()=>{p&&clearTimeout(p),b.removeEventListener("load",s),b.removeEventListener("error",r)};let p;i&&(p=window.setTimeout(r,i));const b=document.createElement("script");b.addEventListener("load",s),b.addEventListener("error",r),b.src=e,document.head.appendChild(b)}),ie=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),ne=(e,t)=>async(...i)=>{const n=t(...i);let o=e.aborted,r;for(;!o&&!e.aborted;){const s=await n.next(r);o=s.done??!1,r=s.value}return r};var l;(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"})(l||(l={}));var m;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Desktop="Desktop"})(m||(m={}));const se=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?l.Yandex:void 0,i=/chrome|crios/i.test(e)?l.Chrome:void 0,n=/chromium/i.test(e)?l.Chromium:void 0,o=/firefox|fxios/i.test(e)?l.Firefox:void 0,r=/webkit|safari|khtml/i.test(e)?l.Safari:void 0,s=/opr\//i.test(e)?l.Opera:void 0,f=/edg/i.test(e)?l.Edge:void 0,p=/android/i.test(e)?m.Android:void 0,b=/iphone/i.test(e)?m.iPhone:void 0,v=/ipad/i.test(e)?m.iPad:void 0,R=/ipod/i.test(e)?m.iPod:void 0,N=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?m.RestMobile:void 0;return{browser:t||o||s||f||i||n||r||l.Rest,device:p||b||v||R||N||m.Desktop}},re=(e,{start:t=0,factor:i=2,max:n=1/0,min:o=t,random:r=0}={})=>{let s=t;return s*=i**e,s*=1+(Math.random()*r*2-r),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,o),s};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));const E=new Map;let h=a.RUNTIME;const S=`vk-videoplayer-dummy-key-${Math.random()}`,y=()=>{try{localStorage.setItem(S,"test"),localStorage.removeItem(S),h=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(S),h=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)h=a.RUNTIME;else throw t}else throw e}};y();const V=e=>{switch(h){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:w(h)}},Q=(e,t)=>{switch(h){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.RUNTIME:return void E.set(e,t);default:w(h)}},G=e=>{switch(h){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return E.has(e);default:return w(h),!1}},U=e=>{switch(h){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:w(h)}},k=()=>{switch(h){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return E.clear();default:w(h)}};var oe=Object.freeze({__proto__:null,clear:k,get:V,has:G,remove:U,set:Q}),u;(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"})(u||(u={}));const d={[u.Q_144P]:{width:256,height:144},[u.Q_240P]:{width:428,height:240},[u.Q_360P]:{width:640,height:360},[u.Q_480P]:{width:856,height:480},[u.Q_720P]:{width:1280,height:720},[u.Q_1080P]:{width:1920,height:1080},[u.Q_1440P]:{width:2560,height:1440},[u.Q_2160P]:{width:3840,height:2160},[u.Q_4320P]:{width:7680,height:4320}},ae=(e,t)=>d[e].height>d[t].height,ce=(e,t)=>d[e].height>=d[t].height,I=(e,t)=>d[e].height<d[t].height,ue=(e,t)=>d[e].height<=d[t].height,he=e=>e.sort((t,i)=>t===i?0:t===u.INVARIANT?1:i===u.INVARIANT?-1:I(t,i)?1:-1)[0],T=Object.keys(d).sort((e,t)=>I(e,t)?-1:1),de=(e,t=.02)=>[...T].find(n=>d[n].height*(1+t)>=e),le=({width:e,height:t})=>{const i=Math.min(e,t),n=Math.max(e,t);return T.find(o=>{const r=d[o];return r.width>=n&&r.height>=i})},fe=e=>d[e].height,L=e=>e===u.INVARIANT,be=e=>e.every(t=>!L(t));function me(e){if(L(e))throw new Error("Expected exact quality")}class we 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 i=super._subscribe(t);return t.next(this.value),i}}function pe(e){return new c(t=>{const i={};let n=Object.keys(e).length;const o=r=>s=>{r in i||n--,i[r]=s,n===0&&t.next(i)};return Object.entries(e).reduce((r,[s,f])=>r.add(f.subscribe(o(s))),new x)})}function ge(...e){return new c(t=>e.reduce((i,n)=>i.add(n.subscribe(t)),new x))}var Ee=e=>new c(t=>{const i=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(i)}),xe=e=>new c(t=>{const i=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(i)}),Se=e=>new c(t=>{e.forEach(i=>t.next(i))}),Oe=(e,t)=>new c(i=>{const n=o=>i.next(o);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function _e(e){return t=>new c(i=>t.subscribe(new D(i,e)))}class D{destination;size;lastValues=[];constructor(t,i){this.destination=t,this.size=i}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 F={leading:!1,trailing:!0};function Ae(e,t=F){return i=>new c(n=>i.subscribe(new j(n,e,t)))}class j{destination;time;config;lastValue;timeout;constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,P(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const z={leading:!0,trailing:!1};function Ie(e,t=z){return i=>new c(n=>i.subscribe(new q(n,e,t)))}class q{destination;time;config;lastValue;timeout;constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,M(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 c(i=>t.subscribe(new $(i,e)))}class ${destination;predicate;constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.predicate(t)}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Le(e=(t,i)=>t===i){return t=>new c(i=>t.subscribe(new H(i,e)))}const O={};class H{destination;predicate;lastValue=O;constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.lastValue===O||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Y(e){return t=>new c(i=>t.subscribe(new C(i,e)))}let C=class{destination;mapper;constructor(t,i){this.destination=t,this.mapper=i}next(t){let i;try{i=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(i)}error(t){this.destination.error?.(t)}};function Re(e){return Y(()=>e)}function Ne(){return e=>new c(t=>{let i=!1,n=!1;const o=e.subscribe(r=>{i||(i=!0,t.next(r)),n&&o.unsubscribe()},r=>{i=!0,t.error?.(r),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Pe(){return e=>new c(t=>e.subscribe(new K(t)))}class K{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const i=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,t])}error(t){this.destination.error?.(t)}}function Me(e){return t=>new c(i=>t.subscribe(new W(i,e)))}class W{destination;effect;constructor(t,i){this.destination=t,this.effect=i}next(t){try{this.effect(t)}catch(i){throw this.error(i),i}this.destination.next(t)}error(t){this.destination.error?.(t)}}var _;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(_||(_={}));const ye=5;export{ye as ACTIVE_LIVE_VALID_DELAY,l as CurrentClientBrowser,m as CurrentClientDevice,_ as ErrorCategory,Z as Logger,c as Observable,A as Subject,x as Subscription,X as VERSION,we as ValueSubject,u as VideoQuality,ne as abortable,te as addScript,be as areQualitiesExact,w as assertNever,B as assertNonNullable,ee as assertNullable,me as assertQualityIsExact,_e as buffer,J as checkNever,pe as combine,Ae as debounce,Te as filter,Le as filterChanged,Oe as fromEvent,se as getCurrentBrowser,re as getExponentialDelay,he as getHighestQuality,xe as interval,ae as isHigher,ce as isHigherOrEqual,L as isInvariantQuality,I as isLower,ue as isLowerOrEqual,P as isNonNullable,M as isNullable,Y as map,Re as mapTo,ge as merge,g as noop,ie as now,Se as observableFrom,Ne as once,Pe as pairwise,oe as safeStorage,Me as tap,Ie as throttle,Ee as timeout,de as videoHeightToQuality,fe as videoQualityToHeight,le as videoSizeToQuality};
|
package/evergreen.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-shared v1.0.
|
|
3
|
-
*
|
|
4
|
-
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-
|
|
2
|
+
* @vkontakte/videoplayer-shared v1.0.25
|
|
3
|
+
* Mon, 03 Jul 2023 15:51:34 GMT
|
|
4
|
+
* https://st.mycdn.me/static/vkontakte-videoplayer/1-0-25/doc/
|
|
5
5
|
*/
|
|
6
|
-
class w{subscriptions=[];unsubscribe(){const e=this.subscriptions;this.subscriptions=[],e.forEach(t=>typeof t=="function"?t():t.unsubscribe())}add(e){return this.subscriptions.push(e),this}}const d=r=>{throw new Error(`${r} is value of unexpected type`)},P=r=>{},f=()=>{};class c{constructor(e){e&&(this._subscribe=e)}subscribe(e,t){let s;t?typeof t=="function"?s={next:t,error:f}:s={next:n=>t.next(n),error:n=>t.error?.(n)}:s={next:f,error:f};const a=typeof e=="function"?{next:n=>{try{e(n)}catch(l){s.next(l)}},error:n=>s.next(n)}:{next:n=>e.next(n),error:n=>e.error?e.error(n):s.next(n)};let i;try{i=this._subscribe(a)}catch(n){a.error?.(n)}return new w().add(()=>{switch(a.next=f,a.error=f,typeof i){case"function":i();return;case"object":i.unsubscribe();return;case"undefined":return;default:return d(i)}})}pipe(...e){return e.reduce((t,s)=>s(t),this)}_subscribe(e){}}class g extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(e){this.subscribers.forEach(t=>t.next(e))}error(e){this.subscribers.forEach(t=>t.error?.(e))}_subscribe(e){const t=this.keyCounter++;return this.subscribers.set(t,e),new w().add(()=>this.subscribers.delete(t))}}class ${log$=new g;logs=[];log=e=>{const t={...e,timestamp:Date.now()};this.logs.push(t),this.log$.next(t)};createCustomLog(e){return(...t)=>{let s;try{s=e(...t)}catch{s={message:"error in `createCustomLog`",component:"Logger"}}this.log(s)}}createComponentLog(e){return this.createCustomLog(t=>({component:e,...t}))}getAllLogs=()=>this.logs}function z(r,e='Assertion "value is not nullable" failed'){if(r==null)throw new Error(e)}function k(r,e='Assertion "value is nullable" failed'){if(r!=null)throw new Error(e)}function x(r){return typeof r<"u"&&r!==null}function O(r){return r==null}const K=(r,e,t)=>new Promise((s,a)=>{e.addEventListener("abort",()=>{l(),h.remove()});const i=()=>{l(),a()},n=()=>{l(),s()},l=()=>{m&&clearTimeout(m),h.removeEventListener("load",n),h.removeEventListener("error",i)};let m;t&&(m=window.setTimeout(i,t));const h=document.createElement("script");h.addEventListener("load",n),h.addEventListener("error",i),h.src=r,document.head.appendChild(h)}),W=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),B=(r,e)=>async(...t)=>{const s=e(...t);let a=r.aborted,i;for(;!a&&!r.aborted;){const n=await s.next(i);a=n.done??!1,i=n.value}return i},X=(r,{start:e=0,factor:t=2,max:s=1/0,min:a=e,random:i=0}={})=>{let n=e;return n*=t**r,n*=1+(Math.random()*i*2-i),n=Math.round(n),n=Math.min(n,s),n=Math.max(n,a),n};var o;(function(r){r[r.LOCAL_STORAGE=0]="LOCAL_STORAGE",r[r.SESSION_STORAGE=1]="SESSION_STORAGE",r[r.RUNTIME=2]="RUNTIME"})(o||(o={}));const b=new Map;let u=o.RUNTIME;const E=`vk-videoplayer-dummy-key-${Math.random()}`,L=()=>{try{localStorage.setItem(E,"test"),localStorage.removeItem(E),u=o.LOCAL_STORAGE}catch(r){if(r instanceof DOMException||r instanceof TypeError)try{sessionStorage.getItem(E),u=o.SESSION_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)u=o.RUNTIME;else throw e}else throw r}};L();const T=r=>{switch(u){case o.LOCAL_STORAGE:return localStorage.getItem(r)??void 0;case o.SESSION_STORAGE:return sessionStorage.getItem(r)??void 0;case o.RUNTIME:return b.get(r);default:d(u)}},v=(r,e)=>{switch(u){case o.LOCAL_STORAGE:try{localStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case o.SESSION_STORAGE:try{sessionStorage.setItem(r,e)}catch(t){if(t instanceof DOMException)console.error(t);else throw t}break;case o.RUNTIME:return void b.set(r,e);default:d(u)}},I=r=>{switch(u){case o.LOCAL_STORAGE:return r in localStorage;case o.SESSION_STORAGE:return r in sessionStorage;case o.RUNTIME:return b.has(r);default:return d(u),!1}},_=r=>{switch(u){case o.LOCAL_STORAGE:return localStorage.removeItem(r);case o.SESSION_STORAGE:return sessionStorage.removeItem(r);case o.RUNTIME:return void b.delete(r);default:d(u)}},A=()=>{switch(u){case o.LOCAL_STORAGE:return localStorage.clear();case o.SESSION_STORAGE:return sessionStorage.clear();case o.RUNTIME:return b.clear();default:d(u)}};var Y=Object.freeze({__proto__:null,clear:A,get:T,has:I,remove:_,set:v});class q extends g{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 t=super._subscribe(e);return e.next(this.value),t}}function H(r){return new c(e=>{const t={};let s=Object.keys(r).length;const a=i=>n=>{i in t||s--,t[i]=n,s===0&&e.next(t)};return Object.entries(r).reduce((i,[n,l])=>i.add(l.subscribe(a(n))),new w)})}function J(...r){return new c(e=>r.reduce((t,s)=>t.add(s.subscribe(e)),new w))}var Q=r=>new c(e=>{const t=window.setTimeout(()=>{try{e.next()}catch(s){if(e.error)e.error(s);else throw s}},r);return()=>window.clearTimeout(t)}),Z=r=>new c(e=>{const t=window.setInterval(()=>e.next(),r);return()=>window.clearInterval(t)}),ee=r=>new c(e=>{r.forEach(t=>e.next(t))}),te=(r,e)=>new c(t=>{const s=a=>t.next(a);return r.addEventListener(e,s),()=>r.removeEventListener(e,s)});function re(r){return e=>new c(t=>e.subscribe(new R(t,r)))}class R{destination;size;lastValues=[];constructor(e,t){this.destination=e,this.size=t}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 N={leading:!1,trailing:!0};function se(r,e=N){return t=>new c(s=>t.subscribe(new y(s,r,e)))}class y{destination;time;config;lastValue;timeout;constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,x(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(t){if(this.destination.error)this.destination.error(t);else throw t}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}}const M={leading:!0,trailing:!1};function ne(r,e=M){return t=>new c(s=>t.subscribe(new V(s,r,e)))}class V{destination;time;config;lastValue;timeout;constructor(e,t,s){this.destination=e,this.time=t,this.config=s}next(e){this.lastValue=e,O(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 ie(r){return e=>new c(t=>e.subscribe(new C(t,r)))}class C{destination;predicate;constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.predicate(e)}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function oe(r=(e,t)=>e===t){return e=>new c(t=>e.subscribe(new G(t,r)))}const p={};class G{destination;predicate;lastValue=p;constructor(e,t){this.destination=e,this.predicate=t}next(e){let t;try{t=this.lastValue===p||!this.predicate(this.lastValue,e),this.lastValue=e}catch(s){throw this.error(s),s}t&&this.destination.next(e)}error(e){this.destination.error?.(e)}}function D(r){return e=>new c(t=>e.subscribe(new U(t,r)))}let U=class{destination;mapper;constructor(e,t){this.destination=e,this.mapper=t}next(e){let t;try{t=this.mapper(e)}catch(s){throw this.error(s),s}this.destination.next(t)}error(e){this.destination.error?.(e)}};function ce(r){return D(()=>r)}function ue(){return r=>new c(e=>{let t=!1,s=!1;const a=r.subscribe(i=>{t||(t=!0,e.next(i)),s&&a.unsubscribe()},i=>{t=!0,e.error?.(i),s&&a.unsubscribe()});return s=!0,t&&a.unsubscribe(),a})}function le(){return r=>new c(e=>r.subscribe(new j(e)))}class j{destination;last;hasLast=!1;constructor(e){this.destination=e}next(e){const t=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([t,e])}error(e){this.destination.error?.(e)}}function he(r){return e=>new c(t=>e.subscribe(new F(t,r)))}class F{destination;effect;constructor(e,t){this.destination=e,this.effect=t}next(e){try{this.effect(e)}catch(t){throw this.error(t),t}this.destination.next(e)}error(e){this.destination.error?.(e)}}var S;(function(r){r.NETWORK="network",r.VIDEO_PIPELINE="video_pipeline",r.EXTERNAL_API="external_api",r.PARSER="parser",r.DOM="dom",r.WTF="wtf"})(S||(S={}));const de=5;export{de as ACTIVE_LIVE_VALID_DELAY,S as ErrorCategory,$ as Logger,c as Observable,g as Subject,w as Subscription,q as ValueSubject,B as abortable,K as addScript,d as assertNever,z as assertNonNullable,k as assertNullable,re as buffer,P as checkNever,H as combine,se as debounce,ie as filter,oe as filterChanged,te as fromEvent,X as getExponentialDelay,Z as interval,x as isNonNullable,O as isNullable,D as map,ce as mapTo,J as merge,f as noop,W as now,ee as observableFrom,ue as once,le as pairwise,Y as safeStorage,he as tap,ne as throttle,Q as timeout};
|
|
6
|
+
const X="1.0.25";class x{subscriptions=[];unsubscribe(){const t=this.subscriptions;this.subscriptions=[],t.forEach(i=>typeof i=="function"?i():i.unsubscribe())}add(t){return this.subscriptions.push(t),this}}const w=e=>{throw new Error(`${e} is value of unexpected type`)},J=e=>{},g=()=>{};class c{constructor(t){t&&(this._subscribe=t)}subscribe(t,i){let n;i?typeof i=="function"?n={next:i,error:g}:n={next:s=>i.next(s),error:s=>i.error?.(s)}:n={next:g,error:g};const o=typeof t=="function"?{next:s=>{try{t(s)}catch(f){n.next(f)}},error:s=>n.next(s)}:{next:s=>t.next(s),error:s=>t.error?t.error(s):n.next(s)};let r;try{r=this._subscribe(o)}catch(s){o.error?.(s)}return new x().add(()=>{switch(o.next=g,o.error=g,typeof r){case"function":r();return;case"object":r.unsubscribe();return;case"undefined":return;default:return w(r)}})}pipe(...t){return t.reduce((i,n)=>n(i),this)}_subscribe(t){}}class A extends c{keyCounter=0;subscribers=new Map;constructor(){super()}next(t){this.subscribers.forEach(i=>i.next(t))}error(t){this.subscribers.forEach(i=>i.error?.(t))}_subscribe(t){const i=this.keyCounter++;return this.subscribers.set(i,t),new x().add(()=>this.subscribers.delete(i))}}class Z{log$=new A;logs=[];log=t=>{const i={...t,timestamp:Date.now()};this.logs.push(i),this.log$.next(i)};createCustomLog(t){return(...i)=>{let n;try{n=t(...i)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(t){return this.createCustomLog(i=>({component:t,...i}))}getAllLogs=()=>this.logs}function B(e,t='Assertion "value is not nullable" failed'){if(e==null)throw new Error(t)}function ee(e,t='Assertion "value is nullable" failed'){if(e!=null)throw new Error(t)}function P(e){return typeof e<"u"&&e!==null}function M(e){return e==null}const te=(e,t,i)=>new Promise((n,o)=>{t.addEventListener("abort",()=>{f(),b.remove()});const r=()=>{f(),o()},s=()=>{f(),n()},f=()=>{p&&clearTimeout(p),b.removeEventListener("load",s),b.removeEventListener("error",r)};let p;i&&(p=window.setTimeout(r,i));const b=document.createElement("script");b.addEventListener("load",s),b.addEventListener("error",r),b.src=e,document.head.appendChild(b)}),ie=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now(),ne=(e,t)=>async(...i)=>{const n=t(...i);let o=e.aborted,r;for(;!o&&!e.aborted;){const s=await n.next(r);o=s.done??!1,r=s.value}return r};var l;(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"})(l||(l={}));var m;(function(e){e.Unknown="Unknown",e.Android="Android",e.iPhone="iPhone",e.iPad="iPad",e.iPod="iPod",e.RestMobile="RestMobile",e.Desktop="Desktop"})(m||(m={}));const se=()=>{const{userAgent:e}=window.navigator,t=/yabrowser/i.test(e)?l.Yandex:void 0,i=/chrome|crios/i.test(e)?l.Chrome:void 0,n=/chromium/i.test(e)?l.Chromium:void 0,o=/firefox|fxios/i.test(e)?l.Firefox:void 0,r=/webkit|safari|khtml/i.test(e)?l.Safari:void 0,s=/opr\//i.test(e)?l.Opera:void 0,f=/edg/i.test(e)?l.Edge:void 0,p=/android/i.test(e)?m.Android:void 0,b=/iphone/i.test(e)?m.iPhone:void 0,v=/ipad/i.test(e)?m.iPad:void 0,R=/ipod/i.test(e)?m.iPod:void 0,N=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?m.RestMobile:void 0;return{browser:t||o||s||f||i||n||r||l.Rest,device:p||b||v||R||N||m.Desktop}},re=(e,{start:t=0,factor:i=2,max:n=1/0,min:o=t,random:r=0}={})=>{let s=t;return s*=i**e,s*=1+(Math.random()*r*2-r),s=Math.round(s),s=Math.min(s,n),s=Math.max(s,o),s};var a;(function(e){e[e.LOCAL_STORAGE=0]="LOCAL_STORAGE",e[e.SESSION_STORAGE=1]="SESSION_STORAGE",e[e.RUNTIME=2]="RUNTIME"})(a||(a={}));const E=new Map;let h=a.RUNTIME;const S=`vk-videoplayer-dummy-key-${Math.random()}`,y=()=>{try{localStorage.setItem(S,"test"),localStorage.removeItem(S),h=a.LOCAL_STORAGE}catch(e){if(e instanceof DOMException||e instanceof TypeError)try{sessionStorage.getItem(S),h=a.SESSION_STORAGE}catch(t){if(t instanceof DOMException||t instanceof TypeError)h=a.RUNTIME;else throw t}else throw e}};y();const V=e=>{switch(h){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:w(h)}},Q=(e,t)=>{switch(h){case a.LOCAL_STORAGE:try{localStorage.setItem(e,t)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.SESSION_STORAGE:try{sessionStorage.setItem(e,t)}catch(i){if(i instanceof DOMException)console.error(i);else throw i}break;case a.RUNTIME:return void E.set(e,t);default:w(h)}},G=e=>{switch(h){case a.LOCAL_STORAGE:return e in localStorage;case a.SESSION_STORAGE:return e in sessionStorage;case a.RUNTIME:return E.has(e);default:return w(h),!1}},U=e=>{switch(h){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:w(h)}},k=()=>{switch(h){case a.LOCAL_STORAGE:return localStorage.clear();case a.SESSION_STORAGE:return sessionStorage.clear();case a.RUNTIME:return E.clear();default:w(h)}};var oe=Object.freeze({__proto__:null,clear:k,get:V,has:G,remove:U,set:Q}),u;(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"})(u||(u={}));const d={[u.Q_144P]:{width:256,height:144},[u.Q_240P]:{width:428,height:240},[u.Q_360P]:{width:640,height:360},[u.Q_480P]:{width:856,height:480},[u.Q_720P]:{width:1280,height:720},[u.Q_1080P]:{width:1920,height:1080},[u.Q_1440P]:{width:2560,height:1440},[u.Q_2160P]:{width:3840,height:2160},[u.Q_4320P]:{width:7680,height:4320}},ae=(e,t)=>d[e].height>d[t].height,ce=(e,t)=>d[e].height>=d[t].height,I=(e,t)=>d[e].height<d[t].height,ue=(e,t)=>d[e].height<=d[t].height,he=e=>e.sort((t,i)=>t===i?0:t===u.INVARIANT?1:i===u.INVARIANT?-1:I(t,i)?1:-1)[0],T=Object.keys(d).sort((e,t)=>I(e,t)?-1:1),de=(e,t=.02)=>[...T].find(n=>d[n].height*(1+t)>=e),le=({width:e,height:t})=>{const i=Math.min(e,t),n=Math.max(e,t);return T.find(o=>{const r=d[o];return r.width>=n&&r.height>=i})},fe=e=>d[e].height,L=e=>e===u.INVARIANT,be=e=>e.every(t=>!L(t));function me(e){if(L(e))throw new Error("Expected exact quality")}class we 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 i=super._subscribe(t);return t.next(this.value),i}}function pe(e){return new c(t=>{const i={};let n=Object.keys(e).length;const o=r=>s=>{r in i||n--,i[r]=s,n===0&&t.next(i)};return Object.entries(e).reduce((r,[s,f])=>r.add(f.subscribe(o(s))),new x)})}function ge(...e){return new c(t=>e.reduce((i,n)=>i.add(n.subscribe(t)),new x))}var Ee=e=>new c(t=>{const i=window.setTimeout(()=>{try{t.next()}catch(n){if(t.error)t.error(n);else throw n}},e);return()=>window.clearTimeout(i)}),xe=e=>new c(t=>{const i=window.setInterval(()=>t.next(),e);return()=>window.clearInterval(i)}),Se=e=>new c(t=>{e.forEach(i=>t.next(i))}),Oe=(e,t)=>new c(i=>{const n=o=>i.next(o);return e.addEventListener(t,n),()=>e.removeEventListener(t,n)});function _e(e){return t=>new c(i=>t.subscribe(new D(i,e)))}class D{destination;size;lastValues=[];constructor(t,i){this.destination=t,this.size=i}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 F={leading:!1,trailing:!0};function Ae(e,t=F){return i=>new c(n=>i.subscribe(new j(n,e,t)))}class j{destination;time;config;lastValue;timeout;constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,P(this.timeout)?window.clearTimeout(this.timeout):this.config.leading&&this.destination.next(t),this.timeout=window.setTimeout(()=>{if(this.config.trailing)try{this.destination.next(this.lastValue)}catch(i){if(this.destination.error)this.destination.error(i);else throw i}this.timeout=void 0},this.time)}error(t){this.destination.error?.(t)}}const z={leading:!0,trailing:!1};function Ie(e,t=z){return i=>new c(n=>i.subscribe(new q(n,e,t)))}class q{destination;time;config;lastValue;timeout;constructor(t,i,n){this.destination=t,this.time=i,this.config=n}next(t){this.lastValue=t,M(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 c(i=>t.subscribe(new $(i,e)))}class ${destination;predicate;constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.predicate(t)}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Le(e=(t,i)=>t===i){return t=>new c(i=>t.subscribe(new H(i,e)))}const O={};class H{destination;predicate;lastValue=O;constructor(t,i){this.destination=t,this.predicate=i}next(t){let i;try{i=this.lastValue===O||!this.predicate(this.lastValue,t),this.lastValue=t}catch(n){throw this.error(n),n}i&&this.destination.next(t)}error(t){this.destination.error?.(t)}}function Y(e){return t=>new c(i=>t.subscribe(new C(i,e)))}let C=class{destination;mapper;constructor(t,i){this.destination=t,this.mapper=i}next(t){let i;try{i=this.mapper(t)}catch(n){throw this.error(n),n}this.destination.next(i)}error(t){this.destination.error?.(t)}};function Re(e){return Y(()=>e)}function Ne(){return e=>new c(t=>{let i=!1,n=!1;const o=e.subscribe(r=>{i||(i=!0,t.next(r)),n&&o.unsubscribe()},r=>{i=!0,t.error?.(r),n&&o.unsubscribe()});return n=!0,i&&o.unsubscribe(),o})}function Pe(){return e=>new c(t=>e.subscribe(new K(t)))}class K{destination;last;hasLast=!1;constructor(t){this.destination=t}next(t){const i=this.last;if(this.last=t,!this.hasLast){this.hasLast=!0;return}this.destination.next([i,t])}error(t){this.destination.error?.(t)}}function Me(e){return t=>new c(i=>t.subscribe(new W(i,e)))}class W{destination;effect;constructor(t,i){this.destination=t,this.effect=i}next(t){try{this.effect(t)}catch(i){throw this.error(i),i}this.destination.next(t)}error(t){this.destination.error?.(t)}}var _;(function(e){e.NETWORK="network",e.VIDEO_PIPELINE="video_pipeline",e.EXTERNAL_API="external_api",e.PARSER="parser",e.DOM="dom",e.WTF="wtf"})(_||(_={}));const ye=5;export{ye as ACTIVE_LIVE_VALID_DELAY,l as CurrentClientBrowser,m as CurrentClientDevice,_ as ErrorCategory,Z as Logger,c as Observable,A as Subject,x as Subscription,X as VERSION,we as ValueSubject,u as VideoQuality,ne as abortable,te as addScript,be as areQualitiesExact,w as assertNever,B as assertNonNullable,ee as assertNullable,me as assertQualityIsExact,_e as buffer,J as checkNever,pe as combine,Ae as debounce,Te as filter,Le as filterChanged,Oe as fromEvent,se as getCurrentBrowser,re as getExponentialDelay,he as getHighestQuality,xe as interval,ae as isHigher,ce as isHigherOrEqual,L as isInvariantQuality,I as isLower,ue as isLowerOrEqual,P as isNonNullable,M as isNullable,Y as map,Re as mapTo,ge as merge,g as noop,ie as now,Se as observableFrom,Ne as once,Pe as pairwise,oe as safeStorage,Me as tap,Ie as throttle,Ee as timeout,de as videoHeightToQuality,fe as videoQualityToHeight,le as videoSizeToQuality};
|
package/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
declare const VERSION: string;
|
|
2
|
+
|
|
1
3
|
type IUnsubscriber = () => void;
|
|
2
4
|
interface ISubscription {
|
|
3
5
|
unsubscribe: IUnsubscriber;
|
|
@@ -100,13 +102,40 @@ type Milliseconds = number;
|
|
|
100
102
|
type bps = number;
|
|
101
103
|
type Kbps = number;
|
|
102
104
|
type Mbps = number;
|
|
103
|
-
type Byte = number;
|
|
105
|
+
type Byte = number;
|
|
106
|
+
type Percentage = number;
|
|
104
107
|
|
|
105
108
|
declare const now: () => Milliseconds;
|
|
106
109
|
|
|
107
110
|
type AbortableDecorator = <Params extends unknown[] = void[], Return = void>(signal: AbortSignal, createGenerator: (...param: Params) => AsyncGenerator<unknown, Return, unknown>) => (...param: Params) => Promise<Return | undefined>;
|
|
108
111
|
declare const abortable: AbortableDecorator;
|
|
109
112
|
|
|
113
|
+
declare enum CurrentClientBrowser {
|
|
114
|
+
Unknown = "Unknown",
|
|
115
|
+
Yandex = "Yandex",
|
|
116
|
+
Chrome = "Chrome",
|
|
117
|
+
Chromium = "Chromium",
|
|
118
|
+
Firefox = "Firefox",
|
|
119
|
+
Safari = "Safari",
|
|
120
|
+
Opera = "Opera",
|
|
121
|
+
Edge = "Edge",
|
|
122
|
+
Rest = "Rest"
|
|
123
|
+
}
|
|
124
|
+
declare enum CurrentClientDevice {
|
|
125
|
+
Unknown = "Unknown",
|
|
126
|
+
Android = "Android",
|
|
127
|
+
iPhone = "iPhone",
|
|
128
|
+
iPad = "iPad",
|
|
129
|
+
iPod = "iPod",
|
|
130
|
+
RestMobile = "RestMobile",
|
|
131
|
+
Desktop = "Desktop"
|
|
132
|
+
}
|
|
133
|
+
type ICurrentBrowserInfo = {
|
|
134
|
+
browser: CurrentClientBrowser;
|
|
135
|
+
device: CurrentClientDevice;
|
|
136
|
+
};
|
|
137
|
+
declare const getCurrentBrowser: () => ICurrentBrowserInfo;
|
|
138
|
+
|
|
110
139
|
type ExponentialBackoffConfig = Partial<{
|
|
111
140
|
start: Milliseconds;
|
|
112
141
|
factor: number;
|
|
@@ -137,6 +166,83 @@ declare namespace iframeSafeStorage_d {
|
|
|
137
166
|
};
|
|
138
167
|
}
|
|
139
168
|
|
|
169
|
+
declare enum VideoQuality {
|
|
170
|
+
INVARIANT = "Invariant quality",
|
|
171
|
+
Q_144P = "144p",
|
|
172
|
+
Q_240P = "240p",
|
|
173
|
+
Q_360P = "360p",
|
|
174
|
+
Q_480P = "480p",
|
|
175
|
+
Q_720P = "720p",
|
|
176
|
+
Q_1080P = "1080p",
|
|
177
|
+
Q_1440P = "1440p",
|
|
178
|
+
Q_2160P = "2160p",
|
|
179
|
+
Q_4320P = "4320p"
|
|
180
|
+
}
|
|
181
|
+
type ExactVideoQuality = Exclude<VideoQuality, VideoQuality.INVARIANT>;
|
|
182
|
+
/**
|
|
183
|
+
* Лимиты трактуются включительно
|
|
184
|
+
* Значение undefined снимает лимит
|
|
185
|
+
*/
|
|
186
|
+
type QualityLimits = {
|
|
187
|
+
max?: ExactVideoQuality;
|
|
188
|
+
min?: ExactVideoQuality;
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
interface IError {
|
|
192
|
+
/**
|
|
193
|
+
* Код или другой идентификатор для статистики
|
|
194
|
+
*/
|
|
195
|
+
id: string;
|
|
196
|
+
category: ErrorCategory;
|
|
197
|
+
/**
|
|
198
|
+
* Сообщение по которому можно разобрать что случилось
|
|
199
|
+
*/
|
|
200
|
+
message: string;
|
|
201
|
+
/**
|
|
202
|
+
* Данные, полезные для отладки
|
|
203
|
+
*/
|
|
204
|
+
data?: any;
|
|
205
|
+
/**
|
|
206
|
+
* Возникшее исключение
|
|
207
|
+
*/
|
|
208
|
+
thrown?: Error | unknown;
|
|
209
|
+
}
|
|
210
|
+
declare enum ErrorCategory {
|
|
211
|
+
NETWORK = "network",
|
|
212
|
+
VIDEO_PIPELINE = "video_pipeline",
|
|
213
|
+
EXTERNAL_API = "external_api",
|
|
214
|
+
PARSER = "parser",
|
|
215
|
+
DOM = "dom",
|
|
216
|
+
WTF = "wtf"
|
|
217
|
+
}
|
|
218
|
+
interface IRange<Unit extends number = number> {
|
|
219
|
+
from: Unit;
|
|
220
|
+
to: Unit;
|
|
221
|
+
}
|
|
222
|
+
interface IRectangle<Unit extends number = number> {
|
|
223
|
+
width: Unit;
|
|
224
|
+
height: Unit;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
declare const isHigher: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
|
|
228
|
+
declare const isHigherOrEqual: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
|
|
229
|
+
declare const isLower: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
|
|
230
|
+
declare const isLowerOrEqual: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
|
|
231
|
+
declare const getHighestQuality: (qualities: VideoQuality[]) => VideoQuality | undefined;
|
|
232
|
+
/**
|
|
233
|
+
* Выбирает качество, наиболее близкое к указанной высоте кадра, но не менее её.
|
|
234
|
+
* @param tolerance позволяет выбрать качество менее заданной высоты на величину погрешности (в процентах)
|
|
235
|
+
*/
|
|
236
|
+
declare const videoHeightToQuality: (height: number, tolerance?: number) => ExactVideoQuality | undefined;
|
|
237
|
+
/**
|
|
238
|
+
* Выбирает качество описывающее заданные размеры видео потока, т.е. не меньше его.
|
|
239
|
+
*/
|
|
240
|
+
declare const videoSizeToQuality: ({ width, height }: IRectangle) => ExactVideoQuality | undefined;
|
|
241
|
+
declare const videoQualityToHeight: (quality: ExactVideoQuality) => number;
|
|
242
|
+
declare const isInvariantQuality: (quality: VideoQuality) => quality is VideoQuality.INVARIANT;
|
|
243
|
+
declare const areQualitiesExact: (qualities: VideoQuality[]) => qualities is ExactVideoQuality[];
|
|
244
|
+
declare function assertQualityIsExact(quality: VideoQuality): asserts quality is ExactVideoQuality;
|
|
245
|
+
|
|
140
246
|
declare class Subscription implements ISubscription {
|
|
141
247
|
private subscriptions;
|
|
142
248
|
unsubscribe(): void;
|
|
@@ -219,42 +325,6 @@ declare function pairwise<T>(): IOperator<T, IPair<T>>;
|
|
|
219
325
|
|
|
220
326
|
declare function tap<T>(effect: (value: T) => void): IOperator<T>;
|
|
221
327
|
|
|
222
|
-
interface IError {
|
|
223
|
-
/**
|
|
224
|
-
* Код или другой идентификатор для статистики
|
|
225
|
-
*/
|
|
226
|
-
id: string;
|
|
227
|
-
category: ErrorCategory;
|
|
228
|
-
/**
|
|
229
|
-
* Сообщение по которому можно разобрать что случилось
|
|
230
|
-
*/
|
|
231
|
-
message: string;
|
|
232
|
-
/**
|
|
233
|
-
* Данные, полезные для отладки
|
|
234
|
-
*/
|
|
235
|
-
data?: any;
|
|
236
|
-
/**
|
|
237
|
-
* Возникшее исключение
|
|
238
|
-
*/
|
|
239
|
-
thrown?: Error | unknown;
|
|
240
|
-
}
|
|
241
|
-
declare enum ErrorCategory {
|
|
242
|
-
NETWORK = "network",
|
|
243
|
-
VIDEO_PIPELINE = "video_pipeline",
|
|
244
|
-
EXTERNAL_API = "external_api",
|
|
245
|
-
PARSER = "parser",
|
|
246
|
-
DOM = "dom",
|
|
247
|
-
WTF = "wtf"
|
|
248
|
-
}
|
|
249
|
-
interface IRange<Unit extends number = number> {
|
|
250
|
-
from: Unit;
|
|
251
|
-
to: Unit;
|
|
252
|
-
}
|
|
253
|
-
interface IRectangle<Unit extends number = number> {
|
|
254
|
-
width: Unit;
|
|
255
|
-
height: Unit;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
328
|
declare const ACTIVE_LIVE_VALID_DELAY = 5;
|
|
259
329
|
|
|
260
|
-
export { ACTIVE_LIVE_VALID_DELAY, Byte, ErrorCategory, ExponentialBackoffConfig, IComponentLogEntry, IComponentLogger, IEmitter, IError, IListener, ILogEntry, ILogInputEntry, ILogger, IObservable, IOperator, IRange, IRectangle, ISubject, ISubscription, IUnsubscriber, IValue, IValueObservable, IValueSubject, Kbps, Logger, Mbps, Milliseconds, Observable, Seconds, Subject, Subscription, ValueSubject, abortable, addScript, assertNever, assertNonNullable, assertNullable, bps, buffer, checkNever, combine, debounce, filter, filterChanged, _default as fromEvent, getExponentialDelay, _default$2 as interval, isNonNullable, isNullable, map, mapTo, merge, noop, now, _default$1 as observableFrom, once, pairwise, iframeSafeStorage_d as safeStorage, tap, throttle, _default$3 as timeout };
|
|
330
|
+
export { ACTIVE_LIVE_VALID_DELAY, Byte, CurrentClientBrowser, CurrentClientDevice, ErrorCategory, ExactVideoQuality, ExponentialBackoffConfig, IComponentLogEntry, IComponentLogger, ICurrentBrowserInfo, IEmitter, IError, IListener, ILogEntry, ILogInputEntry, ILogger, IObservable, IOperator, IRange, IRectangle, ISubject, ISubscription, IUnsubscriber, IValue, IValueObservable, IValueSubject, Kbps, Logger, Mbps, Milliseconds, Observable, Percentage, QualityLimits, Seconds, Subject, Subscription, VERSION, ValueSubject, VideoQuality, abortable, addScript, areQualitiesExact, assertNever, assertNonNullable, assertNullable, assertQualityIsExact, bps, buffer, checkNever, combine, debounce, filter, filterChanged, _default as fromEvent, getCurrentBrowser, getExponentialDelay, getHighestQuality, _default$2 as interval, isHigher, isHigherOrEqual, isInvariantQuality, isLower, isLowerOrEqual, isNonNullable, isNullable, map, mapTo, merge, noop, now, _default$1 as observableFrom, once, pairwise, iframeSafeStorage_d as safeStorage, tap, throttle, _default$3 as timeout, videoHeightToQuality, videoQualityToHeight, videoSizeToQuality };
|