@vkontakte/videoplayer-shared 1.0.58-dev.ef87de0a.0 → 1.0.59-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/evergreen.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-shared v1.0.58-dev.ef87de0a.0
3
- * Thu, 10 Apr 2025 14:06:51 GMT
4
- * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-58/doc/
2
+ * @vkontakte/videoplayer-shared v1.0.59-beta.0
3
+ * Fri, 18 Apr 2025 12:40:59 GMT
4
+ * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-59/doc/
5
5
  */
6
- var Le=Object.defineProperty;var ie=(t,e)=>{for(var r in e)Le(t,r,{get:e[r],enumerable:!0})};var Pe="1.0.58-dev.ef87de0a.0";var d=class{constructor(){this.subscriptions=[]}unsubscribe(){let e=this.subscriptions;this.subscriptions=[],e.forEach(r=>{typeof r=="function"?r():r.unsubscribe()})}add(e){return this.subscriptions.push(e),this}};var T=t=>{throw new Error(`${t} is value of unexpected type`)},Ne=t=>{};var g=()=>{};var l=class{constructor(e){e&&(this._subscribe=e)}subscribe(e,r){let n;r?typeof r=="function"?n={next:r,error:g}:n={next:i=>r.next(i),error:i=>r.error?.(i)}:n={next:g,error:g};let o=typeof e=="function"?{next:i=>{try{let a=e(i);a instanceof Promise&&a.catch(p=>n.next(p))}catch(a){n.next(a)}},error:i=>n.next(i)}:{next:i=>e.next(i),error:i=>e.error?e.error(i):n.next(i)},s;try{s=this._subscribe(o)}catch(i){o.error?.(i)}return new d().add(()=>{switch(o.next=g,o.error=g,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return T(s)}})}pipe(...e){return e.reduce((r,n)=>n(r),this)}_subscribe(e){}};var v=class extends l{constructor(){super();this.keyCounter=0;this.subscribers=new Map}next(r){this.subscribers.forEach(n=>n.next(r))}error(r){this.subscribers.forEach(n=>n.error?.(r))}_subscribe(r){let n=this.keyCounter++;return this.subscribers.set(n,r),new d().add(()=>this.subscribers.delete(n))}};var M=class{constructor(){this.log$=new v;this.logs=[];this.log=e=>{let r={...e,timestamp:Date.now()};this.logs.push(r),this.log$.next(r)};this.getAllLogs=()=>this.logs}createCustomLog(e){return(...r)=>{let n;try{n=e(...r)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(r=>({component:e,...r}))}};import{trace as Ce,context as Ve}from"@opentelemetry/api";import{TracerAllSpansProcessor as Me,TracerMemorySpanExporter as se,initTracerOpenTelemetry as _e}from"@tracer/opentelemetry";var _=class t{constructor({name:e}){}log(e,r){}error(e,r){}critical(e,r){}createComponentTracer(e){return new t({name:e})}end(){}getFinishedSpans(){}getTraceId(){return this.fakeTraceId}},Q=class t{constructor({name:e,parentContext:r,tracer:n}){this.childTracers=[];let o=!n;if(o){let i=_e({serviceName:"videoplayer-sdk-web",appToken:"L9SBoka6ZWk4xPjaK7tmfSfYvMhcge7nvGDjpdMmscb",spanLimits:{attributeCountLimit:1/0,eventCountLimit:1/0,attributePerEventCountLimit:1/0}}).getProvider(),a=new se,p=new se;this.spanExporter=a,i.addSpanProcessor(new Me({startedSpansExporter:a,endedSpansExporter:p})),this.tracer=i.getTracer("sdk-videoplayer-tracer")}else this.tracer=n;this.span=this.tracer.startSpan(e,{root:o},r),this.context=Ce.setSpan(Ve.active(),this.span)}log(e,r){this.span.addEvent(e,{...r,type:"log"})}error(e,r){this.span.addEvent(e,{...r,type:"error"})}critical(e,r){this.span.addEvent(e,{...r,type:"critical"})}static createRootTracer(e=!1){return e?new t({name:"Root"}):new _({name:"Root"})}createComponentTracer(e){let r=new t({name:e,parentContext:this.context,tracer:this.tracer});return this.childTracers.push(r),r}end(){this.childTracers.forEach(e=>e.end()),this.span.end()}getFinishedSpans(){return this.spanExporter?.getJsonData()}getTraceId(){return this.span.spanContext().traceId}};function Qe(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function Ue(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function x(t){return typeof t<"u"&&t!==null}function U(t){return t==null}function De(t,e){if(!t?.length)throw new Error(e)}function je(t,e){if(t?.length)throw new Error(e)}var We=(t,e,r)=>new Promise((n,o)=>{e.addEventListener("abort",()=>{a(),b.remove()});let s=()=>{a(),o("error")},i=()=>{a(),n()},a=()=>{p&&clearTimeout(p),b.removeEventListener("load",i),b.removeEventListener("error",s)},p;r&&(p=window.setTimeout(()=>{a(),o("timeout")},r));let b=document.createElement("script");b.addEventListener("load",i),b.addEventListener("error",s),b.src=t,document.head.appendChild(b)});var ze=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now();var Ge=(t,e)=>async(...r)=>{let n=e(...r),o=t.aborted,s;for(;!o&&!t.aborted;)try{let i=await n.next(s);o=i.done??!1,s=i.value}catch(i){await n.throw(i)}return s};var Fe=(t,{start:e=0,factor:r=2,max:n=1/0,min:o=e,random:s=0}={})=>{let i=e;return i*=r**t,i*=1+(Math.random()*s*2-s),i=Math.round(i),i=Math.min(i,n),i=Math.max(i,o),i};var ae={};ie(ae,{clear:()=>Ye,get:()=>qe,has:()=>Be,isPersistent:()=>Ke,remove:()=>$e,set:()=>He});var y,h,D=`vk-videoplayer-dummy-key-${Math.random()}`,O=()=>{if(h!==void 0)return h;try{localStorage.setItem(D,"test"),localStorage.removeItem(D),h=0}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(D),h=1}catch(e){if(e instanceof DOMException||e instanceof TypeError)h=2;else throw e}else throw t}return h===2&&(y=new Map),h},Ke=()=>O()===0,qe=t=>{let e=O();switch(e){case 0:return localStorage.getItem(t)??void 0;case 1:return sessionStorage.getItem(t)??void 0;case 2:return y?.get(t);default:T(e)}},He=(t,e)=>{let r=O();switch(r){case 0:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case 1:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case 2:y?.set(t,e);return;default:T(r)}},Be=t=>{let e=O();switch(e){case 0:return t in localStorage;case 1:return t in sessionStorage;case 2:return y?.has(t)??!1;default:return T(e),!1}},$e=t=>{let e=O();switch(e){case 0:return localStorage.removeItem(t);case 1:return sessionStorage.removeItem(t);case 2:y?.delete(t);return;default:T(e)}},Ye=()=>{let t=O();switch(t){case 0:return localStorage.clear();case 1:return sessionStorage.clear();case 2:return y?.clear();default:T(t)}};var Xe=()=>{let t,e=[];try{t=window.self!==window.top}catch(r){r instanceof DOMException&&r.name==="SecurityError"?t=!0:(t=!1,console.error(r))}try{window.location.ancestorOrigins&&(e=[...window.location.ancestorOrigins])}catch(r){console.error(r)}try{!e.length&&document.referrer&&(e=[new URL(document.referrer).origin])}catch(r){console.error(r)}return{isEmbed:t,origins:e,topOrigin:e.at(-1),immediateOrigin:e.at(0)}};var j=(c=>(c.INVARIANT="Invariant quality",c.Q_144P="144p",c.Q_240P="240p",c.Q_360P="360p",c.Q_480P="480p",c.Q_576P="576p",c.Q_720P="720p",c.Q_1080P="1080p",c.Q_1440P="1440p",c.Q_2160P="2160p",c.Q_4320P="4320p",c))(j||{});var f={"144p":{width:256,height:144},"240p":{width:428,height:240},"360p":{width:640,height:360},"480p":{width:856,height:480},"576p":{width:1024,height:576},"720p":{width:1280,height:720},"1080p":{width:1920,height:1080},"1440p":{width:2560,height:1440},"2160p":{width:3840,height:2160},"4320p":{width:7680,height:4320}},Je=(t,e)=>f[t].height>f[e].height,Ze=(t,e)=>f[t].height>=f[e].height,W=(t,e)=>f[t].height<f[e].height,et=(t,e)=>f[t].height<=f[e].height,tt=t=>t.sort((e,r)=>e===r?0:e==="Invariant quality"?1:r==="Invariant quality"?-1:W(e,r)?1:-1)[0],le=Object.keys(f).sort((t,e)=>W(t,e)?-1:1),rt=(t,e=.02)=>[...le].find(n=>f[n].height*(1+e)>=t),nt=({width:t,height:e})=>{let r=Math.min(t,e),n=Math.max(t,e);return le.find(o=>{let s=f[o];return s.width>=n&&s.height>=r})},ot=t=>f[t].height,z=t=>t==="Invariant quality",it=t=>t.every(e=>!z(e));function st(t){if(z(t))throw new Error("Expected exact quality")}var at=(t,e)=>{let r={};for(let n of Object.keys(e)){let o=e[n],s=t[n];Array.isArray(o)&&Array.isArray(s)?r[n]=s:typeof o=="object"&&typeof s=="object"?r[n]=at(s,o):r[n]=n in t?s:o}return r};var gr=t=>{let e="";return t>=3600&&(e+=Math.floor(t/3600)+"h",t=t%3600),t>=60&&(e+=Math.floor(t/60)+"m",t=t%60),t>0&&(e+=Math.floor(t)+"s"),e};function G(t,e=0,r){let n,o,s,i,a,p,b=0,ee=!1,c=!1,C=!0,te=!e&&e!==0&&typeof window.requestAnimationFrame=="function";r&&(ee=!!r.leading,c="maxWait"in r,s=r?.maxWait?Math.max(+r?.maxWait||0,e):s,C="trailing"in r?!!r.trailing:C);function V(u){let m=n,I=o;return n=o=void 0,b=u,i=t.apply(I,m),i}function w(u,m){return te?(a&&window.cancelAnimationFrame(a),window.requestAnimationFrame(u)):setTimeout(u,m)}function Ee(u){if(te){window.cancelAnimationFrame(u);return}clearTimeout(u)}function we(u){return b=u,a=w(S,e),ee?V(u):i}function Se(u){let m=u-p,I=u-b,oe=e-m;return c?Math.min(oe,s-I):oe}function re(u){let m=u-p,I=u-b;return p===void 0||m>=e||m<0||c&&I>=s}function S(){let u=Date.now();if(re(u))return ne(u);a=w(S,Se(u))}function ne(u){return a=void 0,C&&n?V(u):(n=o=void 0,i)}function Re(){a!==void 0&&Ee(a),b=0,n=p=o=a=void 0}function ke(){return a===void 0?i:ne(Date.now())}function Ae(){return a!==void 0}function R(...u){let m=Date.now(),I=re(m);if(n=u,o=this,p=m,I){if(a===void 0)return we(p);if(c)return a=w(S,e),V(p)}return a===void 0&&(a=w(S,e)),i}return R.cancel=Re,R.flush=ke,R.pending=Ae,R}var F=(t,e=0,r)=>G(t,e,{...{leading:!0,trailing:!0},...r,maxWait:e});var k=(t,e)=>{if(t===null||typeof t!="object")return t;let r=Array.isArray(t)?[]:{};for(let n in t){if(typeof e=="function"){let o=e(t[n],n,t,r);if(o!==void 0){r[n]=o;continue}}typeof t[n]=="object"?r[n]=k(t[n],e):r[n]=t[n]}return r};var lt=t=>k(t);var ct=300,ut=(t,e=ct)=>new l(r=>{let{width:n,height:o}=t.getBoundingClientRect();if(r.next({width:n,height:o}),!window.ResizeObserver)return;let s=new ResizeObserver(F(i=>{let a=i[0];if(!a)return;let p,b;a.contentBoxSize&&a.contentBoxSize[0]?(b=a.contentBoxSize[0].blockSize,p=a.contentBoxSize[0].inlineSize):a.contentRect&&(p=a.contentRect.width,b=a.contentRect.height),x(p)&&x(b)&&r.next({width:p,height:b})},e));return s.observe(t),()=>s.disconnect()});var A=(t,e=6,r=".")=>{let n={};for(let o in t)if(!(!t.hasOwnProperty(o)||t[o]instanceof HTMLElement||!e))if(typeof t[o]=="object"&&t[o]!==null){let s=A(t[o],e-1);for(let i in s)s.hasOwnProperty(i)&&(n[o+r+i]=s[i])}else n[o]=t[o];return n};var pt=t=>{t.removeAttribute("src"),t.load()};var Nr=t=>{let e;try{e=new URL(t)}catch{return!1}return e.protocol==="https:"};var Vr=t=>{try{return new URL(t)}catch{return null}};var bt=(t,e)=>{let r=0,n=t.length-1;for(;r<=n;){let o=Math.floor((r+n)/2),s=e(t[o]);if(s===0)return o;s<0?r=o+1:n=o-1}return-1};var dt=t=>e=>r=>{let n=typeof r=="object";r==null||n&&!Object.keys(r).length||t(e,n?A(r):{value:r})};var L=class extends v{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){let r=super._subscribe(e);return e.next(this.value),r}};function ce(t){return new l(e=>{let r={},n=Object.keys(t).length,o=s=>i=>{s in r||n--,r[s]=i,n===0&&e.next(r)};return Object.entries(t).reduce((s,[i,a])=>s.add(a.subscribe(o(i))),new d)})}function ue(...t){return new l(e=>t.reduce((r,n)=>r.add(n.subscribe(e)),new d))}var ft=t=>new l(e=>{let r=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(r)});var mt=t=>new l(e=>{let r=window.setInterval(()=>e.next(),t);return()=>{r&&(window.clearInterval(r),r=void 0)}});var Tt=t=>new l(e=>{t.forEach(r=>e.next(r))});var vt=(t,e)=>new l(r=>{let n=o=>r.next(o);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});var P=class extends d{remove(e){this.subscriptions=this.subscriptions.filter(r=>r!==e)}};function pe(t){return e=>new l(r=>e.subscribe(new K(r,t)))}var K=class{constructor(e,r){this.destination=e;this.size=r;this.lastValues=[]}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)}};var It={leading:!1,trailing:!0};function be(t,e=It){return r=>new l(n=>r.subscribe(new q(n,t,e)))}var q=class{constructor(e,r,n){this.destination=e;this.time=r;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(r){if(this.destination.error)this.destination.error(r);else throw r}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}};var gt={leading:!0,trailing:!1};function de(t,e=gt){return r=>new l(n=>r.subscribe(new H(n,t,e)))}var H=class{constructor(e,r,n){this.destination=e;this.time=r;this.config=n}next(e){this.lastValue=e,U(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 fe(t){return e=>new l(r=>e.subscribe(new B(r,t)))}var B=class{constructor(e,r){this.destination=e;this.predicate=r}next(e){let r;try{r=this.predicate(e)}catch(n){throw this.error(n),n}r&&this.destination.next(e)}error(e){this.destination.error?.(e)}};var ht=(t,e)=>{let r=(n,o)=>{let s=Object.keys(n);for(let i in o)if(!s.includes(i)||o[i]!==n[i])return!1;return!0};return r(t,e)&&r(e,t)},xt=(t,e)=>t instanceof Object&&e instanceof Object?ht(t,e):t===e;function Te(t=xt){return e=>new l(r=>e.subscribe(new $(r,t)))}var me={},$=class{constructor(e,r){this.destination=e;this.predicate=r;this.lastValue=me}next(e){let r;try{r=this.lastValue===me||!this.predicate(this.lastValue,e),this.lastValue=e instanceof Object?{...e}:e}catch(n){throw this.error(n),n}r&&this.destination.next(e)}error(e){this.destination.error?.(e)}};function N(t){return e=>new l(r=>e.subscribe(new Y(r,t)))}var Y=class{constructor(e,r){this.destination=e;this.mapper=r}next(e){let r;try{r=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(r)}error(e){this.destination.error?.(e)}};function ve(t){return N(()=>t)}function Ie(){return t=>new l(e=>{let r=!1,n=!1,o=t.subscribe(s=>{r||(r=!0,e.next(s)),n&&o.unsubscribe()},s=>{r=!0,e.error?.(s),n&&o.unsubscribe()});return n=!0,r&&o.unsubscribe(),o})}function ge(){return t=>new l(e=>t.subscribe(new X(e)))}var X=class{constructor(e){this.destination=e;this.hasLast=!1}next(e){let r=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([r,e])}error(e){this.destination.error?.(e)}};function he(t){return e=>new l(r=>e.subscribe(new J(r,t)))}var J=class{constructor(e,r){this.destination=e;this.effect=r}next(e){try{this.effect(e)}catch(r){throw this.error(r),r}this.destination.next(e)}error(e){this.destination.error?.(e)}};function xe(t){return e=>new l(r=>e.subscribe(new Z(r,t)))}var Z=class{constructor(e,r){this.destination=e;this.count=r;r<0&&this.destination.error?.(new Error("Count can not be less than zero"))}next(e){this.count===0?this.destination.next(e):this.count--}error(e){this.destination.error?.(e)}};var yt=(a=>(a.NETWORK="network",a.VIDEO_PIPELINE="video_pipeline",a.EXTERNAL_API="external_api",a.PARSER="parser",a.DOM="dom",a.WTF="wtf",a.FATAL="fatal",a))(yt||{});var Ot=(c=>(c.Armenian="58",c.Azerbaijani="57",c.Belarusian="114",c.English="3",c.Kazakh="97",c.Portuguese="73",c.Russian="0",c.Spanish="4",c.Ukrainian="1",c.Uzbek="65",c.Vietnamese="75",c))(Ot||{}),Et="vk.com",Vo=async(t,e,r)=>{let n=new URL(`https://${Et}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",e),t!==void 0&&n.searchParams.set("lang",t);let s=await(await fetch(n.toString())).json();return wt(s,r)},wt=(t,e)=>Object.fromEntries(Object.entries(t.keys).map(([r,n])=>[r.substring(`${e}_`.length),St(n)])),St=t=>Array.isArray(t)?t[0]:t;var Rt=(r=>(r.RU="ru",r.EN="en",r))(Rt||{});var kt={UI:"__vkVideoPlayer",CORE:"__vkVideoCore"},At=(()=>{let t=0;return()=>{let e=t;return t=(t+1)%Number.MAX_SAFE_INTEGER,e}})(),ye=class{constructor(e){this.id=At();this.type=e,this.initWindowObjects()}getWindowObject(){let e=this.key();return window[e]?.[this.id]??{}}initWindowObjects(){let e=this.key();window[e]||(window[e]={}),window[e][this.id]={}}expose(e){Object.assign(this.getWindowObject(),e)}destroy(){let e=this.key();window&&window[e]&&window[e][this.id]&&(delete window[e][this.id],Object.keys(window[e]).length||delete window[e])}key(){let{type:e}=this;return kt[e]}};var Oe={};ie(Oe,{create:()=>Lt,destroy:()=>Pt,push:()=>Nt,subscribe:()=>Ct});var E=new Map,Lt=(t,e)=>E.set(t,e??[]),Pt=t=>E.delete(t),Nt=(t,e)=>{let r=E.get(t);r&&(typeof r=="function"?r(e):r.push(e))},Ct=(t,e)=>{let r=E.get(t);if(r){if(r&&Array.isArray(r))for(let n of r)e(n);E.set(t,e)}};export{yt as ErrorCategory,Rt as InterfaceLanguage,ye as InternalsExposure,M as Logger,l as Observable,v as Subject,d as Subscription,P as SubscriptionRemovable,Q as Tracer,Pe as VERSION,Ot as VKNumericLanguage,L as ValueSubject,j as VideoQuality,Ge as abortable,We as addScript,it as areQualitiesExact,je as assertEmptyArray,T as assertNever,Qe as assertNonNullable,De as assertNotEmptyArray,Ue as assertNullable,st as assertQualityIsExact,bt as binarySearch,pe as buffer,Ne as checkNever,pt as clearVideoElement,lt as cloneDeep,k as cloneDeepWith,ce as combine,Vr as createURL,be as debounce,G as debounceFn,Xe as detectEmbed,Oe as devNull,at as fillWithDefault,fe as filter,Te as filterChanged,A as flattenObject,vt as fromEvent,Fe as getExponentialDelay,tt as getHighestQuality,dt as getTraceSubscriptionMethod,mt as interval,Je as isHigher,Ze as isHigherOrEqual,z as isInvariantQuality,W as isLower,et as isLowerOrEqual,x as isNonNullable,U as isNullable,Nr as isValidURL,Vo as loadVKLangPack,N as map,ve as mapTo,ue as merge,g as noop,ze as now,Tt as observableFrom,ut as observeElementSize,Ie as once,ge as pairwise,ae as safeStorage,xe as skip,he as tap,de as throttle,F as throttleFn,gr as timeCodeToString,ft as timeout,rt as videoHeightToQuality,ot as videoQualityToHeight,nt as videoSizeToQuality};
6
+ var Re=Object.defineProperty;var oe=(t,e)=>{for(var r in e)Re(t,r,{get:e[r],enumerable:!0})};var Le="1.0.59-beta.0";var d=class{constructor(){this.subscriptions=[]}unsubscribe(){let e=this.subscriptions;this.subscriptions=[],e.forEach(r=>{typeof r=="function"?r():r.unsubscribe()})}add(e){return this.subscriptions.push(e),this}};var T=t=>{throw new Error(`${t} is value of unexpected type`)},Pe=t=>{};var I=()=>{};var l=class{constructor(e){e&&(this._subscribe=e)}subscribe(e,r){let n;r?typeof r=="function"?n={next:r,error:I}:n={next:o=>r.next(o),error:o=>r.error?.(o)}:n={next:I,error:I};let i=typeof e=="function"?{next:o=>{try{let a=e(o);a instanceof Promise&&a.catch(u=>n.next(u))}catch(a){n.next(a)}},error:o=>n.next(o)}:{next:o=>e.next(o),error:o=>e.error?e.error(o):n.next(o)},s;try{s=this._subscribe(i)}catch(o){i.error?.(o)}return new d().add(()=>{switch(i.next=I,i.error=I,typeof s){case"function":s();return;case"object":s.unsubscribe();return;case"undefined":return;default:return T(s)}})}pipe(...e){return e.reduce((r,n)=>n(r),this)}_subscribe(e){}};var y=class extends l{constructor(){super();this.keyCounter=0;this.subscribers=new Map}next(r){this.subscribers.forEach(n=>n.next(r))}error(r){this.subscribers.forEach(n=>n.error?.(r))}_subscribe(r){let n=this.keyCounter++;return this.subscribers.set(n,r),new d().add(()=>this.subscribers.delete(n))}};var M=class{constructor(){this.log$=new y;this.logs=[];this.log=e=>{let r={...e,timestamp:Date.now()};this.logs.push(r),this.log$.next(r)};this.getAllLogs=()=>this.logs}createCustomLog(e){return(...r)=>{let n;try{n=e(...r)}catch{n={message:"error in `createCustomLog`",component:"Logger"}}this.log(n)}}createComponentLog(e){return this.createCustomLog(r=>({component:e,...r}))}};var Q=class t{constructor({name:e}){}log(e,r){}error(e,r){}critical(e,r){}createComponentTracer(e){return new t({name:e})}end(){}getFinishedSpans(){}getTraceId(){return this.fakeTraceId}},U=class t{constructor({name:e,parentContext:r,tracer:n}){this.dynamicImportTimeout=5e3;this.childTracers=[];if(t.dynamicImportStatus==="failed")return this;t.dynamicImportStatus==="not_started"&&(t.dynamicImportPromise=this.loadOpentelemetry()),t.dynamicImportPromise.then(()=>this.init({name:e,parentContext:r,tracer:n}))}static{this.dynamicImportStatus="not_started"}init({name:e,parentContext:r,tracer:n}){let i=!n;if(i){let o=t.dynamicImports.tracer.initTracerOpenTelemetry({serviceName:"videoplayer-sdk-web",appToken:"L9SBoka6ZWk4xPjaK7tmfSfYvMhcge7nvGDjpdMmscb",spanLimits:{attributeCountLimit:1/0,eventCountLimit:1/0,attributePerEventCountLimit:1/0}}).getProvider(),a=new t.dynamicImports.tracer.TracerMemorySpanExporter,u=new t.dynamicImports.tracer.TracerMemorySpanExporter;this.spanExporter=a,o.addSpanProcessor(new t.dynamicImports.tracer.TracerAllSpansProcessor({startedSpansExporter:a,endedSpansExporter:u})),this.tracer=o.getTracer("sdk-videoplayer-tracer")}else this.tracer=n;this.span=this.tracer.startSpan(e,{root:i},r),this.context=t.dynamicImports.opentelemetryApi.trace.setSpan(t.dynamicImports.opentelemetryApi.context.active(),this.span),t.dynamicImportStatus="initialized"}async loadOpentelemetry(){if(t.dynamicImportStatus==="not_started"){t.dynamicImportStatus="in_progress";try{let e=new Promise((o,a)=>setTimeout(a,this.dynamicImportTimeout)),r=Promise.all([import("@opentelemetry/api"),import("@opentelemetry/sdk-trace-web"),import("@tracer/opentelemetry")]),[n,i,s]=await Promise.race([r,e]);t.dynamicImports={opentelemetryApi:n,opentelemetrySdk:i,tracer:s},t.dynamicImportStatus="completed"}catch{t.dynamicImportStatus="failed"}}}log(e,r){t.dynamicImportStatus==="initialized"&&this.span.addEvent(e,{...r,type:"log"})}error(e,r){t.dynamicImportStatus==="initialized"&&this.span.addEvent(e,{...r,type:"error"})}critical(e,r){t.dynamicImportStatus==="initialized"&&this.span.addEvent(e,{...r,type:"critical"})}static createRootTracer(e=!1){return e?new t({name:"Root"}):new Q({name:"Root"})}createComponentTracer(e){let r=new t({name:e,parentContext:this.context,tracer:this.tracer});return this.childTracers.push(r),r}end(){t.dynamicImportStatus==="initialized"&&(this.childTracers.forEach(e=>e.end()),this.span.end())}getFinishedSpans(){if(t.dynamicImportStatus==="initialized")return this.spanExporter?.getJsonData()}getTraceId(){return t.dynamicImportStatus!=="initialized"?"":this.span.spanContext().traceId}};function Ne(t,e='Assertion "value is not nullable" failed'){if(t==null)throw new Error(e)}function Ce(t,e='Assertion "value is nullable" failed'){if(t!=null)throw new Error(e)}function x(t){return typeof t<"u"&&t!==null}function _(t){return t==null}function Ve(t,e){if(!t?.length)throw new Error(e)}function Me(t,e){if(t?.length)throw new Error(e)}var Qe=(t,e,r)=>new Promise((n,i)=>{e.addEventListener("abort",()=>{a(),m.remove()});let s=()=>{a(),i("error")},o=()=>{a(),n()},a=()=>{u&&clearTimeout(u),m.removeEventListener("load",o),m.removeEventListener("error",s)},u;r&&(u=window.setTimeout(()=>{a(),i("timeout")},r));let m=document.createElement("script");m.addEventListener("load",o),m.addEventListener("error",s),m.src=t,document.head.appendChild(m)});var Ue=typeof window.performance?.now=="function"?()=>window.performance.now():()=>Date.now();var _e=(t,e)=>async(...r)=>{let n=e(...r),i=t.aborted,s;for(;!i&&!t.aborted;)try{let o=await n.next(s);i=o.done??!1,s=o.value}catch(o){await n.throw(o)}return s};var De=(t,{start:e=0,factor:r=2,max:n=1/0,min:i=e,random:s=0}={})=>{let o=e;return o*=r**t,o*=1+(Math.random()*s*2-s),o=Math.round(o),o=Math.min(o,n),o=Math.max(o,i),o};var se={};oe(se,{clear:()=>Ke,get:()=>ze,has:()=>Fe,isPersistent:()=>je,remove:()=>Ge,set:()=>We});var h,g,D=`vk-videoplayer-dummy-key-${Math.random()}`,O=()=>{if(g!==void 0)return g;try{localStorage.setItem(D,"test"),localStorage.removeItem(D),g=0}catch(t){if(t instanceof DOMException||t instanceof TypeError)try{sessionStorage.getItem(D),g=1}catch(e){if(e instanceof DOMException||e instanceof TypeError)g=2;else throw e}else throw t}return g===2&&(h=new Map),g},je=()=>O()===0,ze=t=>{let e=O();switch(e){case 0:return localStorage.getItem(t)??void 0;case 1:return sessionStorage.getItem(t)??void 0;case 2:return h?.get(t);default:T(e)}},We=(t,e)=>{let r=O();switch(r){case 0:try{localStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case 1:try{sessionStorage.setItem(t,e)}catch(n){if(n instanceof DOMException)console.error(n);else throw n}break;case 2:h?.set(t,e);return;default:T(r)}},Fe=t=>{let e=O();switch(e){case 0:return t in localStorage;case 1:return t in sessionStorage;case 2:return h?.has(t)??!1;default:return T(e),!1}},Ge=t=>{let e=O();switch(e){case 0:return localStorage.removeItem(t);case 1:return sessionStorage.removeItem(t);case 2:h?.delete(t);return;default:T(e)}},Ke=()=>{let t=O();switch(t){case 0:return localStorage.clear();case 1:return sessionStorage.clear();case 2:return h?.clear();default:T(t)}};var qe=()=>{let t,e=[];try{t=window.self!==window.top}catch(r){r instanceof DOMException&&r.name==="SecurityError"?t=!0:(t=!1,console.error(r))}try{window.location.ancestorOrigins&&(e=[...window.location.ancestorOrigins])}catch(r){console.error(r)}try{!e.length&&document.referrer&&(e=[new URL(document.referrer).origin])}catch(r){console.error(r)}return{isEmbed:t,origins:e,topOrigin:e.at(-1),immediateOrigin:e.at(0)}};var j=(c=>(c.INVARIANT="Invariant quality",c.Q_144P="144p",c.Q_240P="240p",c.Q_360P="360p",c.Q_480P="480p",c.Q_576P="576p",c.Q_720P="720p",c.Q_1080P="1080p",c.Q_1440P="1440p",c.Q_2160P="2160p",c.Q_4320P="4320p",c))(j||{});var b={"144p":{width:256,height:144},"240p":{width:428,height:240},"360p":{width:640,height:360},"480p":{width:856,height:480},"576p":{width:1024,height:576},"720p":{width:1280,height:720},"1080p":{width:1920,height:1080},"1440p":{width:2560,height:1440},"2160p":{width:3840,height:2160},"4320p":{width:7680,height:4320}},Be=(t,e)=>b[t].height>b[e].height,He=(t,e)=>b[t].height>=b[e].height,z=(t,e)=>b[t].height<b[e].height,$e=(t,e)=>b[t].height<=b[e].height,Ye=t=>t.sort((e,r)=>e===r?0:e==="Invariant quality"?1:r==="Invariant quality"?-1:z(e,r)?1:-1)[0],ae=Object.keys(b).sort((t,e)=>z(t,e)?-1:1),Xe=(t,e=.02)=>[...ae].find(n=>b[n].height*(1+e)>=t),Je=({width:t,height:e})=>{let r=Math.min(t,e),n=Math.max(t,e);return ae.find(i=>{let s=b[i];return s.width>=n&&s.height>=r})},Ze=t=>b[t].height,W=t=>t==="Invariant quality",et=t=>t.every(e=>!W(e));function tt(t){if(W(t))throw new Error("Expected exact quality")}var rt=(t,e)=>{let r={};for(let n of Object.keys(e)){let i=e[n],s=t[n];Array.isArray(i)&&Array.isArray(s)?r[n]=s:typeof i=="object"&&typeof s=="object"?r[n]=rt(s,i):r[n]=n in t?s:i}return r};var dr=t=>{let e="";return t>=3600&&(e+=Math.floor(t/3600)+"h",t=t%3600),t>=60&&(e+=Math.floor(t/60)+"m",t=t%60),t>0&&(e+=Math.floor(t)+"s"),e};function F(t,e=0,r){let n,i,s,o,a,u,m=0,ee=!1,c=!1,C=!0,te=!e&&e!==0&&typeof window.requestAnimationFrame=="function";r&&(ee=!!r.leading,c="maxWait"in r,s=r?.maxWait?Math.max(+r?.maxWait||0,e):s,C="trailing"in r?!!r.trailing:C);function V(p){let f=n,v=i;return n=i=void 0,m=p,o=t.apply(v,f),o}function w(p,f){return te?(a&&window.cancelAnimationFrame(a),window.requestAnimationFrame(p)):setTimeout(p,f)}function Oe(p){if(te){window.cancelAnimationFrame(p);return}clearTimeout(p)}function Ee(p){return m=p,a=w(S,e),ee?V(p):o}function we(p){let f=p-u,v=p-m,ie=e-f;return c?Math.min(ie,s-v):ie}function re(p){let f=p-u,v=p-m;return u===void 0||f>=e||f<0||c&&v>=s}function S(){let p=Date.now();if(re(p))return ne(p);a=w(S,we(p))}function ne(p){return a=void 0,C&&n?V(p):(n=i=void 0,o)}function Se(){a!==void 0&&Oe(a),m=0,n=u=i=a=void 0}function ke(){return a===void 0?o:ne(Date.now())}function Ae(){return a!==void 0}function k(...p){let f=Date.now(),v=re(f);if(n=p,i=this,u=f,v){if(a===void 0)return Ee(u);if(c)return a=w(S,e),V(u)}return a===void 0&&(a=w(S,e)),o}return k.cancel=Se,k.flush=ke,k.pending=Ae,k}var G=(t,e=0,r)=>F(t,e,{...{leading:!0,trailing:!0},...r,maxWait:e});var A=(t,e)=>{if(t===null||typeof t!="object")return t;let r=Array.isArray(t)?[]:{};for(let n in t){if(typeof e=="function"){let i=e(t[n],n,t,r);if(i!==void 0){r[n]=i;continue}}typeof t[n]=="object"?r[n]=A(t[n],e):r[n]=t[n]}return r};var nt=t=>A(t);var it=300,ot=(t,e=it)=>new l(r=>{let{width:n,height:i}=t.getBoundingClientRect();if(r.next({width:n,height:i}),!window.ResizeObserver)return;let s=new ResizeObserver(G(o=>{let a=o[0];if(!a)return;let u,m;a.contentBoxSize&&a.contentBoxSize[0]?(m=a.contentBoxSize[0].blockSize,u=a.contentBoxSize[0].inlineSize):a.contentRect&&(u=a.contentRect.width,m=a.contentRect.height),x(u)&&x(m)&&r.next({width:u,height:m})},e));return s.observe(t),()=>s.disconnect()});var R=(t,e=6,r=".")=>{let n={};for(let i in t)if(!(!t.hasOwnProperty(i)||t[i]instanceof HTMLElement||!e))if(typeof t[i]=="object"&&t[i]!==null){let s=R(t[i],e-1);for(let o in s)s.hasOwnProperty(o)&&(n[i+r+o]=s[o])}else n[i]=t[i];return n};var st=t=>{t.removeAttribute("src"),t.load()};var Sr=t=>{let e;try{e=new URL(t)}catch{return!1}return e.protocol==="https:"};var Ar=t=>{try{return new URL(t)}catch{return null}};var at=t=>e=>r=>{let n=typeof r=="object";r==null||n&&!Object.keys(r).length||t(e,n?R(r):{value:r})};var L=class extends y{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){let r=super._subscribe(e);return e.next(this.value),r}};function le(t){return new l(e=>{let r={},n=Object.keys(t).length,i=s=>o=>{s in r||n--,r[s]=o,n===0&&e.next(r)};return Object.entries(t).reduce((s,[o,a])=>s.add(a.subscribe(i(o))),new d)})}function ce(...t){return new l(e=>t.reduce((r,n)=>r.add(n.subscribe(e)),new d))}var lt=t=>new l(e=>{let r=window.setTimeout(()=>{try{e.next()}catch(n){if(e.error)e.error(n);else throw n}},t);return()=>window.clearTimeout(r)});var ct=t=>new l(e=>{let r=window.setInterval(()=>e.next(),t);return()=>{r&&(window.clearInterval(r),r=void 0)}});var pt=t=>new l(e=>{t.forEach(r=>e.next(r))});var ut=(t,e)=>new l(r=>{let n=i=>r.next(i);return t.addEventListener(e,n),()=>t.removeEventListener(e,n)});var P=class extends d{remove(e){this.subscriptions=this.subscriptions.filter(r=>r!==e)}};function pe(t){return e=>new l(r=>e.subscribe(new K(r,t)))}var K=class{constructor(e,r){this.destination=e;this.size=r;this.lastValues=[]}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)}};var mt={leading:!1,trailing:!0};function ue(t,e=mt){return r=>new l(n=>r.subscribe(new q(n,t,e)))}var q=class{constructor(e,r,n){this.destination=e;this.time=r;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(r){if(this.destination.error)this.destination.error(r);else throw r}this.timeout=void 0},this.time)}error(e){this.destination.error?.(e)}};var dt={leading:!0,trailing:!1};function me(t,e=dt){return r=>new l(n=>r.subscribe(new B(n,t,e)))}var B=class{constructor(e,r,n){this.destination=e;this.time=r;this.config=n}next(e){this.lastValue=e,_(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 de(t){return e=>new l(r=>e.subscribe(new H(r,t)))}var H=class{constructor(e,r){this.destination=e;this.predicate=r}next(e){let r;try{r=this.predicate(e)}catch(n){throw this.error(n),n}r&&this.destination.next(e)}error(e){this.destination.error?.(e)}};var bt=(t,e)=>{let r=(n,i)=>{let s=Object.keys(n);for(let o in i)if(!s.includes(o)||i[o]!==n[o])return!1;return!0};return r(t,e)&&r(e,t)},ft=(t,e)=>t instanceof Object&&e instanceof Object?bt(t,e):t===e;function fe(t=ft){return e=>new l(r=>e.subscribe(new $(r,t)))}var be={},$=class{constructor(e,r){this.destination=e;this.predicate=r;this.lastValue=be}next(e){let r;try{r=this.lastValue===be||!this.predicate(this.lastValue,e),this.lastValue=e instanceof Object?{...e}:e}catch(n){throw this.error(n),n}r&&this.destination.next(e)}error(e){this.destination.error?.(e)}};function N(t){return e=>new l(r=>e.subscribe(new Y(r,t)))}var Y=class{constructor(e,r){this.destination=e;this.mapper=r}next(e){let r;try{r=this.mapper(e)}catch(n){throw this.error(n),n}this.destination.next(r)}error(e){this.destination.error?.(e)}};function Te(t){return N(()=>t)}function ye(){return t=>new l(e=>{let r=!1,n=!1,i=t.subscribe(s=>{r||(r=!0,e.next(s)),n&&i.unsubscribe()},s=>{r=!0,e.error?.(s),n&&i.unsubscribe()});return n=!0,r&&i.unsubscribe(),i})}function ve(){return t=>new l(e=>t.subscribe(new X(e)))}var X=class{constructor(e){this.destination=e;this.hasLast=!1}next(e){let r=this.last;if(this.last=e,!this.hasLast){this.hasLast=!0;return}this.destination.next([r,e])}error(e){this.destination.error?.(e)}};function Ie(t){return e=>new l(r=>e.subscribe(new J(r,t)))}var J=class{constructor(e,r){this.destination=e;this.effect=r}next(e){try{this.effect(e)}catch(r){throw this.error(r),r}this.destination.next(e)}error(e){this.destination.error?.(e)}};function ge(t){return e=>new l(r=>e.subscribe(new Z(r,t)))}var Z=class{constructor(e,r){this.destination=e;this.count=r;r<0&&this.destination.error?.(new Error("Count can not be less than zero"))}next(e){this.count===0?this.destination.next(e):this.count--}error(e){this.destination.error?.(e)}};var Tt=(a=>(a.NETWORK="network",a.VIDEO_PIPELINE="video_pipeline",a.EXTERNAL_API="external_api",a.PARSER="parser",a.DOM="dom",a.WTF="wtf",a.FATAL="fatal",a))(Tt||{});var yt=(c=>(c.Armenian="58",c.Azerbaijani="57",c.Belarusian="114",c.English="3",c.Kazakh="97",c.Portuguese="73",c.Russian="0",c.Spanish="4",c.Ukrainian="1",c.Uzbek="65",c.Vietnamese="75",c))(yt||{}),vt="vk.com",wi=async(t,e,r)=>{let n=new URL(`https://${vt}/js/lang-pack.js`);n.searchParams.set("format","json"),n.searchParams.set("name",e),t!==void 0&&n.searchParams.set("lang",t);let s=await(await fetch(n.toString())).json();return It(s,r)},It=(t,e)=>Object.fromEntries(Object.entries(t.keys).map(([r,n])=>[r.substring(`${e}_`.length),gt(n)])),gt=t=>Array.isArray(t)?t[0]:t;var xt=(r=>(r.RU="ru",r.EN="en",r))(xt||{});var ht={UI:"__vkVideoPlayer",CORE:"__vkVideoCore"},Ot=(()=>{let t=0;return()=>{let e=t;return t=(t+1)%Number.MAX_SAFE_INTEGER,e}})(),xe=class{constructor(e){this.id=Ot();this.type=e,this.initWindowObjects()}getWindowObject(){let e=this.key();return window[e]?.[this.id]??{}}initWindowObjects(){let e=this.key();window[e]||(window[e]={}),window[e][this.id]={}}expose(e){Object.assign(this.getWindowObject(),e)}destroy(){let e=this.key();window&&window[e]&&window[e][this.id]&&(delete window[e][this.id],Object.keys(window[e]).length||delete window[e])}key(){let{type:e}=this;return ht[e]}};var he={};oe(he,{create:()=>Et,destroy:()=>wt,push:()=>St,subscribe:()=>kt});var E=new Map,Et=(t,e)=>E.set(t,e??[]),wt=t=>E.delete(t),St=(t,e)=>{let r=E.get(t);r&&(typeof r=="function"?r(e):r.push(e))},kt=(t,e)=>{let r=E.get(t);if(r){if(r&&Array.isArray(r))for(let n of r)e(n);E.set(t,e)}};export{Tt as ErrorCategory,xt as InterfaceLanguage,xe as InternalsExposure,M as Logger,l as Observable,y as Subject,d as Subscription,P as SubscriptionRemovable,U as Tracer,Le as VERSION,yt as VKNumericLanguage,L as ValueSubject,j as VideoQuality,_e as abortable,Qe as addScript,et as areQualitiesExact,Me as assertEmptyArray,T as assertNever,Ne as assertNonNullable,Ve as assertNotEmptyArray,Ce as assertNullable,tt as assertQualityIsExact,pe as buffer,Pe as checkNever,st as clearVideoElement,nt as cloneDeep,A as cloneDeepWith,le as combine,Ar as createURL,ue as debounce,F as debounceFn,qe as detectEmbed,he as devNull,rt as fillWithDefault,de as filter,fe as filterChanged,R as flattenObject,ut as fromEvent,De as getExponentialDelay,Ye as getHighestQuality,at as getTraceSubscriptionMethod,ct as interval,Be as isHigher,He as isHigherOrEqual,W as isInvariantQuality,z as isLower,$e as isLowerOrEqual,x as isNonNullable,_ as isNullable,Sr as isValidURL,wi as loadVKLangPack,N as map,Te as mapTo,ce as merge,I as noop,Ue as now,pt as observableFrom,ot as observeElementSize,ye as once,ve as pairwise,se as safeStorage,ge as skip,Ie as tap,me as throttle,G as throttleFn,dr as timeCodeToString,lt as timeout,Xe as videoHeightToQuality,Ze as videoQualityToHeight,Je as videoSizeToQuality};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer-shared",
3
- "version": "1.0.58-dev.ef87de0a.0",
3
+ "version": "1.0.59-beta.0",
4
4
  "author": "vk.com",
5
5
  "description": "Shared code for vk.com videoplayer",
6
6
  "homepage": "https://vk.com",
@@ -55,8 +55,6 @@
55
55
  ],
56
56
  "dependencies": {
57
57
  "@opentelemetry/api": "^1.8.0",
58
- "@opentelemetry/core": "^1.25.0",
59
- "@opentelemetry/instrumentation": "^0.52.0",
60
58
  "@opentelemetry/sdk-trace-web": "^1.24.1",
61
59
  "@tracer/opentelemetry": "https://artifactory-external.vkpartner.ru/artifactory/api/npm/npm-odkl-nexus/@tracer/opentelemetry/-/opentelemetry-1.1.7.tgz"
62
60
  }
@@ -1,12 +1,18 @@
1
- import { Attributes } from '@opentelemetry/api';
1
+ import type { Attributes } from '@opentelemetry/api';
2
2
  import { ITracer } from './types';
3
3
  export declare class Tracer implements ITracer {
4
- private readonly tracer;
5
- private readonly span;
6
- private readonly context;
7
- private readonly childTracers;
8
- private readonly spanExporter;
4
+ private readonly dynamicImportTimeout;
5
+ private span;
6
+ private context;
7
+ private childTracers;
8
+ private tracer;
9
+ private spanExporter;
10
+ private static dynamicImportStatus;
11
+ private static dynamicImports;
12
+ private static dynamicImportPromise;
9
13
  private constructor();
14
+ private init;
15
+ private loadOpentelemetry;
10
16
  log(name: string, attributes?: Attributes): void;
11
17
  error(name: string, attributes?: Attributes): void;
12
18
  critical(name: string, attributes?: Attributes): void;
@@ -1,6 +1,19 @@
1
- import { Attributes, Context } from '@opentelemetry/api';
2
- import { ReadableSpan } from '@opentelemetry/sdk-trace-web';
3
- import { Tracer as OtlpTracer } from '@opentelemetry/sdk-trace-base/build/src/Tracer';
1
+ import type { Attributes, Context } from '@opentelemetry/api';
2
+ import type { ReadableSpan } from '@opentelemetry/sdk-trace-web';
3
+ import type { Tracer as OtlpTracer } from '@opentelemetry/sdk-trace-web';
4
+ import type * as TracerOpentelemetry from '@tracer/opentelemetry';
5
+ import type * as OpentelemetryApi from '@opentelemetry/api';
6
+ import type * as OpentelemetrySdk from '@opentelemetry/sdk-trace-web';
7
+ export type { TracerOpentelemetry };
8
+ export type { OpentelemetryApi };
9
+ export type { OpentelemetrySdk };
10
+ export declare enum TracerDynamicImportStatus {
11
+ NotStarted = "not_started",
12
+ InProgress = "in_progress",
13
+ Failed = "failed",
14
+ Completed = "completed",
15
+ Initialized = "initialized"
16
+ }
4
17
  export declare enum TraceEventType {
5
18
  Log = "log",
6
19
  Error = "error",
@@ -11,6 +24,11 @@ export interface ITracerParams {
11
24
  parentContext?: Context;
12
25
  tracer?: OtlpTracer;
13
26
  }
27
+ export interface ITracerDynamicImports {
28
+ opentelemetryApi: typeof OpentelemetryApi;
29
+ opentelemetrySdk: typeof OpentelemetrySdk;
30
+ tracer: typeof TracerOpentelemetry;
31
+ }
14
32
  export interface ITracer {
15
33
  log: (name: string, attributes?: Attributes) => void;
16
34
  error: (name: string, attributes?: Attributes) => void;
@@ -22,4 +22,3 @@ export { flattenObject } from './flattenObject';
22
22
  export { clearVideoElement } from './clearVideoElement';
23
23
  export * from './isValidURL';
24
24
  export * from './createURL';
25
- export { binarySearch } from './binarySearch';
@@ -1,10 +0,0 @@
1
- /**
2
- * Performs binary search on a sorted array using a comparison function
3
- * @param sortedArray - The sorted array to search in
4
- * @param compareFn - Function that returns:
5
- * - 0 if the current element matches the target
6
- * - negative if the current element is less than the target
7
- * - positive if the current element is greater than the target
8
- * @returns The index of the matching element if found, otherwise -1
9
- */
10
- export declare const binarySearch: <T>(sortedArray: T[], compareFn: (element: T) => number) => number;