@4players/odin-common 10.1.0 → 10.2.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/cjs/mod.js CHANGED
@@ -1 +1 @@
1
- var b=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var r in t)b(e,r,{get:t[r],enumerable:!0})},_=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of M(t))!N.call(e,s)&&s!==r&&b(e,s,{get:()=>t[s],enumerable:!(n=U(t,s))||n.enumerable});return e};var $=e=>_(b({},"__esModule",{value:!0}),e);var Ue={};j(Ue,{APM_DEFAULTS:()=>W,Backend:()=>A,CONNECTION_STATS_INITIAL:()=>G,CallbackSink:()=>w,ConsoleSink:()=>m,Formatter:()=>f,GLOBAL_LOGGER:()=>p,InteractiveConsoleSink:()=>S,JITTER_STATS_INITIAL:()=>J,LogLevel:()=>d,LogSymbols:()=>P,Logger:()=>c,MinDBFS:()=>Ne,Selector:()=>h,Strand:()=>R,VAD_DEFAULTS:()=>H,VideoCodec:()=>L,abortableSleep:()=>ae,assert:()=>g,debug:()=>Ee,error:()=>Fe,extendUrl:()=>le,fail:()=>v,failure:()=>u,find:()=>Q,fromBase64:()=>Z,fromBase64Url:()=>q,fromBytes:()=>X,generateUUID:()=>pe,info:()=>De,isAudioCapable:()=>ee,isBlinkBrowser:()=>V,isElectronBrowser:()=>re,isFailure:()=>he,isFirefoxBrowser:()=>ne,isFunction:()=>me,isNull:()=>ye,isNumber:()=>xe,isObject:()=>be,isProperty:()=>fe,isSafariBrowser:()=>oe,isSharedArrayBufferCapable:()=>te,isString:()=>ve,isSuccess:()=>Re,isUndefined:()=>Le,log:()=>Ie,nextTick:()=>ue,normalizeUrl:()=>ce,sleep:()=>se,success:()=>o,toBytes:()=>Y,toRaw:()=>ie,tryParseLogLevel:()=>Pe,unwrap:()=>z,unwrapOr:()=>y,validateUUID:()=>ge,warn:()=>Be});module.exports=$(Ue);var Ne=-758.596,A;(t=>{let e;(a=>(a[a.InvalidPassword=-1]="InvalidPassword",a[a.Unknown=0]="Unknown",a[a.Unencrypted=1]="Unencrypted",a[a.Encrypted=2]="Encrypted"))(e=t.PeerCipherStatus||={})})(A||={});var G={bytesSent:0,bytesReceived:0,packetsSent:0,packetsReceived:0,rtt:0,packetLoss:0},J={packetsBuffered:0,packetsSeen:0,packetsProcessed:0,packetsTooEarly:0,packetsTooLate:0,packetsDropped:0,packetsInvalid:0,packetsRepeated:0,packetsLost:0},H={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},W={echoCanceller:!0,highPassFilter:!1,noiseSuppression:"Moderate",transientSuppressor:!1,gainController:!0};function g(e,t){e||v(t)}function v(e){throw new Error(e)}function o(e){return{type:"Success",value:e}}function u(e){return{type:"Failure",reason:e}}function z(e){return e.type==="Failure"&&v(e.reason),e.value}function y(e,t){return e.type==="Success"?e.value:t}function Z(e){try{let t=atob(e),r=Uint8Array.from(t,s=>s.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function q(e){try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),r=Uint8Array.from(t,s=>s.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function Y(e){try{g(e!==void 0,"undefined cannot be converted to byte array"),g(e!==null,"null cannot be converted to byte array");let t=JSON.stringify(e),r=new TextEncoder;return o(r.encode(t))}catch(t){return u(String(t))}}function X(e){try{g(e.length>0,"empty byte array cannot be converted to value");let t=new TextDecoder().decode(e),r=JSON.parse(t);return o(r)}catch(t){return u(String(t))}}var K=["VP8","VP9","AV1","H264","H264Main"],L=class{constructor(t){this.codec=t}channels=0;clockRate=9e4;isValid(){return K.includes(this.codec)}isSupported(){if(typeof RTCRtpReceiver>"u"||typeof RTCRtpReceiver.getCapabilities>"u")return null;let t=y(this.getMimeType(),"").toLowerCase(),r=new Set(y(this.getSdpFmtpLine(),"").split(";").map(n=>n.trim().toLowerCase()));return RTCRtpReceiver.getCapabilities("video")?.codecs?.find(n=>{let s=n.mimeType.toLowerCase(),i=new Set((n.sdpFmtpLine??"").split(";").map(a=>a.trim().toLowerCase()));if(t!==s||r.size!==i.size)return!1;for(let a of r)if(!i.has(a))return!1;return!0})??null}getPayloadType(){switch(this.codec){case"VP8":return o(96);case"VP9":return o(98);case"AV1":return o(41);case"H264":return o(102);case"H264Main":return o(104);default:return u("invalid video codec")}}getMimeType(){switch(this.codec){case"VP8":return o("video/VP8");case"VP9":return o("video/VP9");case"AV1":return o("video/AV1");case"H264":case"H264Main":return o("video/H264");default:return u("invalid video codec")}}getSdpFmtpLine(){switch(this.codec){case"VP8":return o("");case"VP9":return o("profile-id=2");case"AV1":return o("level-idx=5;profile=0;tier=0");case"H264":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");case"H264Main":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032");default:return u("invalid video codec")}}};function Q(e,t){for(let r of e)if(t(r))return r}function ee(){return typeof AudioContext<"u"&&typeof Worker<"u"}function te(){return typeof SharedArrayBuffer<"u"}function V(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function re(){return/electron/i.test(globalThis.navigator.userAgent)}function ne(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function oe(){return V()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function ie(e){return JSON.parse(JSON.stringify(e))}var h=class e{constructor(t){this._Generators=t;this._Futures=t.map(e.addIndex)}_Futures;async next(){let[t,r]=await Promise.race(this._Futures);return this._Futures[r]=e.addIndex(this._Generators[r],r),t}static async addIndex(t,r){return[await t(),r]}};function se(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function ae(e,t){return t.aborted?Promise.resolve("aborted"):new Promise(r=>{let n=()=>r("aborted");t.addEventListener("abort",n,{once:!0}),setTimeout(()=>{t.removeEventListener("abort",n),r(void 0)},e)})}function ue(){return new Promise(e=>setTimeout(e,0))}var R=class{_Tasks=[];_Running=!1;_Values;constructor(...t){this._Values=t}enqueue(t){return new Promise((r,n)=>{let s=async()=>{try{let i=await t(...this._Values);r(i)}catch(i){n(i)}};this._Tasks.push(s),this._Running||this.execute()})}async execute(){for(this._Running=!0;;){let t=this._Tasks.shift();if(t===void 0)break;await t()}this._Running=!1}};function ce(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function le(e,t){let r=e.pathname;r.endsWith("/")===!1&&(r+="/");try{return o(new URL(r+t,e))}catch(n){return u(String(n))}}var de=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function pe(){return crypto.randomUUID()}function ge(e){return de.test(e)}function fe(e,t){return t in e}function me(e){return typeof e=="function"}function ye(e){return typeof e=="object"&&e===null}function xe(e){return typeof e=="number"}function be(e){return typeof e=="object"}function ve(e){return typeof e=="string"}function Le(e){return typeof e>"u"}function he(e){return e.type==="Failure"}function Re(e){return e.type==="Success"}var{Deno:O}=globalThis,ke=typeof O?.noColor=="boolean"?O.noColor:!1,Te=!ke;function k(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}function T(e,t){return Te?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}function x(e){return T(e,k([0],0))}function C(e){return T(e,k([1],22))}function F(e){return T(e,k([2],22))}var ot=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))"].join("|"),"g");var Se=new Date,d=(i=>(i[i.CRITICAL=0]="CRITICAL",i[i.ERROR=1]="ERROR",i[i.WARN=2]="WARN",i[i.INFO=3]="INFO",i[i.DEBUG=4]="DEBUG",i))(d||{}),P={0:"\u{1F4A5}",1:"\u{1F534}",2:"\u{1F7E1}",3:"\u{1F535}",4:"\u{1F7E3}"},we={4:F,3:x,2:x,1:C,0:C};function Pe(e){for(let t of Object.keys(d))if(isNaN(Number(t))!==!1&&t.localeCompare(e,void 0,{sensitivity:"accent"})===0)return d[t]}function Ae({message:e}){return String(e)}function B(e){return JSON.stringify({timestamp:e.date.toISOString(),level:d[e.level],message:e.message,extra:e.extra})}function D(e){function t(a,l){return[Math.floor(a/l),a%l]}function r(){let a,l=e.date.valueOf()-Se.valueOf();[l,a]=t(l,1e3);let[E,I]=t(l,60);return`${E.toString().padStart(4,"0")}:${I.toString().padStart(2,"0")}.${a.toString().padStart(4,"0")}`}function n(){return e.extra===void 0?"":typeof Deno=="object"?" "+Deno.inspect(e.extra,{compact:!1,colors:!0,trailingComma:!0}).trimStart():" "+JSON.stringify(e.extra)}let s=P[e.level],i=e.logger.name!==void 0?`@${e.logger}`:"";return`${x(r())}${i} ${s} ${we[e.level](String(e.message))}${n()}`}function Ve(e){let t=`[${e.date.toISOString()}]`,r=`[${d[e.level]}]`,n=e.logger.name!==void 0?`[${e.logger.name}] `:"",s=P[e.level];return`${t} ${s} ${r.padEnd(7," ")} ${n}${e.message}`}function Oe(){return typeof Deno=="object"&&Deno.stdout.isTerminal()}var f=class{static sparse=Ae;static json=B;static pretty=D;static structured=Ve;static default=Oe()?D:B;constructor(){}},m=class{formatter;consoleObject;filter;constructor(t=f.default,r=4,n=console){this.filter=r,this.formatter=t,this.consoleObject=n}handle(t){let r=this.formatter(t);switch(t.level){case 1:this.consoleObject.error(r);break;case 2:this.consoleObject.warn(r);break;case 3:this.consoleObject.info(r);break;case 4:this.consoleObject.debug(r);break}}},S=class extends m{handle(t){let r=this.formatter(t),n=t.extra!==void 0?[r,t.extra]:[r];switch(t.level){case 0:case 1:this.consoleObject.error(...n);break;case 2:this.consoleObject.warn(...n);break;case 3:this.consoleObject.info(...n);break;case 4:this.consoleObject.debug(...n);break}}},w=class{formatter;cb;filter;constructor(t,r=f.default,n=4){this.cb=t,this.formatter=r,this.filter=n}handle(t){let r=this.formatter(t);this.cb(r,t)}},c=class{#e;sinks;filter;parent;get name(){return this.#e}constructor(t,r=void 0,n=[],s=void 0){this.#e=r,this.sinks=n,this.filter=t,this.parent=s}log(t,r,n=void 0){let i={date:new Date,level:t,logger:this,message:r,extra:n};this.filter<t||this.insert(i)}insert(t){if(!(this.filter<t.level)){for(let r of this.sinks)r.filter>=t.level&&r.handle(t);this.parent!==void 0&&this.parent.insert(t)}}error=this.log.bind(this,1);warn=this.log.bind(this,2);info=this.log.bind(this,3);debug=this.log.bind(this,4)},p=new c(3,void 0,[new m]),Fe=c.prototype.log.bind(p,1),Be=c.prototype.log.bind(p,2),De=c.prototype.log.bind(p,3),Ee=c.prototype.log.bind(p,4),Ie=c.prototype.log.bind(p);0&&(module.exports={APM_DEFAULTS,Backend,CONNECTION_STATS_INITIAL,CallbackSink,ConsoleSink,Formatter,GLOBAL_LOGGER,InteractiveConsoleSink,JITTER_STATS_INITIAL,LogLevel,LogSymbols,Logger,MinDBFS,Selector,Strand,VAD_DEFAULTS,VideoCodec,abortableSleep,assert,debug,error,extendUrl,fail,failure,find,fromBase64,fromBase64Url,fromBytes,generateUUID,info,isAudioCapable,isBlinkBrowser,isElectronBrowser,isFailure,isFirefoxBrowser,isFunction,isNull,isNumber,isObject,isProperty,isSafariBrowser,isSharedArrayBufferCapable,isString,isSuccess,isUndefined,log,nextTick,normalizeUrl,sleep,success,toBytes,toRaw,tryParseLogLevel,unwrap,unwrapOr,validateUUID,warn});
1
+ var b=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var r in t)b(e,r,{get:t[r],enumerable:!0})},_=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of M(t))!N.call(e,i)&&i!==r&&b(e,i,{get:()=>t[i],enumerable:!(n=U(t,i))||n.enumerable});return e};var $=e=>_(b({},"__esModule",{value:!0}),e);var Me={};j(Me,{APM_DEFAULTS:()=>W,Backend:()=>V,CONNECTION_STATS_INITIAL:()=>G,CallbackSink:()=>S,ConsoleSink:()=>m,Formatter:()=>f,GLOBAL_LOGGER:()=>p,InteractiveConsoleSink:()=>w,JITTER_STATS_INITIAL:()=>J,LogLevel:()=>d,LogSymbols:()=>P,Logger:()=>c,MinDBFS:()=>je,Selector:()=>h,Strand:()=>R,VAD_DEFAULTS:()=>H,VideoCodec:()=>L,abortableSleep:()=>ue,assert:()=>g,debug:()=>Ee,error:()=>Be,extendUrl:()=>de,fail:()=>v,failure:()=>u,find:()=>ee,fromBase64:()=>Z,fromBase64Url:()=>q,fromBytes:()=>X,generateUUID:()=>ge,info:()=>Ie,isAudioCapable:()=>te,isBlinkBrowser:()=>O,isElectronBrowser:()=>ne,isFailure:()=>Re,isFirefoxBrowser:()=>oe,isFunction:()=>ye,isNull:()=>xe,isNumber:()=>be,isObject:()=>ve,isProperty:()=>me,isSafariBrowser:()=>ie,isSharedArrayBufferCapable:()=>re,isString:()=>Le,isSuccess:()=>ke,isUndefined:()=>he,log:()=>Ue,nextTick:()=>ce,normalizeUrl:()=>le,sleep:()=>ae,success:()=>o,toBytes:()=>Y,toRaw:()=>se,tryParseLogLevel:()=>Ae,unwrap:()=>z,unwrapOr:()=>y,validateUUID:()=>fe,warn:()=>De});module.exports=$(Me);var je=-758.596,V;(t=>{let e;(s=>(s[s.InvalidPassword=-1]="InvalidPassword",s[s.Unknown=0]="Unknown",s[s.Unencrypted=1]="Unencrypted",s[s.Encrypted=2]="Encrypted"))(e=t.PeerCipherStatus||={})})(V||={});var G={bytesSent:0,bytesReceived:0,packetsSent:0,packetsReceived:0,rtt:0,packetLoss:0},J={packetsBuffered:0,packetsSeen:0,packetsProcessed:0,packetsTooEarly:0,packetsTooLate:0,packetsDropped:0,packetsInvalid:0,packetsRepeated:0,packetsLost:0},H={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},W={echoCanceller:!0,highPassFilter:!1,noiseSuppression:"Moderate",transientSuppressor:!1,gainController:!0};function g(e,t){e||v(t)}function v(e){throw new Error(e)}function o(e){return{type:"Success",value:e}}function u(e){return{type:"Failure",reason:e}}function z(e){return e.type==="Failure"&&v(e.reason),e.value}function y(e,t){return e.type==="Success"?e.value:t}function Z(e){try{let t=atob(e),r=Uint8Array.from(t,i=>i.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function q(e){try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),r=Uint8Array.from(t,i=>i.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function Y(e){try{g(e!==void 0,"undefined cannot be converted to byte array"),g(e!==null,"null cannot be converted to byte array");let t=JSON.stringify(e),r=new TextEncoder;return o(r.encode(t))}catch(t){return u(String(t))}}function X(e){try{g(e.length>0,"empty byte array cannot be converted to value");let t=new TextDecoder().decode(e),r=JSON.parse(t);return o(r)}catch(t){return u(String(t))}}var K=["VP8","VP9","AV1","H264","H264Main"],L=class{constructor(t){this.codec=t}channels=0;clockRate=9e4;isValid(){return K.includes(this.codec)}isSupported(){if(typeof RTCRtpReceiver>"u"||typeof RTCRtpReceiver.getCapabilities>"u")return null;let t=y(this.getMimeType(),"").toLowerCase(),r=this.getProfileId();return RTCRtpReceiver.getCapabilities("video")?.codecs?.find(n=>{if(n.mimeType.toLowerCase()!==t)return!1;if(r){let s=Q(n.sdpFmtpLine),l=s.get("packetization-mode");return s.get("profile-level-id")?.substring(0,4).toLowerCase()===r&&l==="1"}let i=new Set(y(this.getSdpFmtpLine(),"").split(";").map(s=>s.trim().toLowerCase())),a=new Set((n.sdpFmtpLine??"").split(";").map(s=>s.trim().toLowerCase()));if(i.size!==a.size)return!1;for(let s of i)if(!a.has(s))return!1;return!0})??null}getPayloadType(){switch(this.codec){case"VP8":return o(96);case"VP9":return o(98);case"AV1":return o(41);case"H264":return o(102);case"H264Main":return o(104);default:return u("invalid video codec")}}getMimeType(){switch(this.codec){case"VP8":return o("video/VP8");case"VP9":return o("video/VP9");case"AV1":return o("video/AV1");case"H264":case"H264Main":return o("video/H264");default:return u("invalid video codec")}}getProfileId(){switch(this.codec){case"H264":return"42e0";case"H264Main":return"4d00";default:return null}}getSdpFmtpLine(){switch(this.codec){case"VP8":return o("");case"VP9":return o("profile-id=2");case"AV1":return o("level-idx=5;profile=0;tier=0");case"H264":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");case"H264Main":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032");default:return u("invalid video codec")}}};function Q(e){let t=new Map;if(!e)return t;for(let r of e.split(";")){let[n,i]=r.trim().toLowerCase().split("=",2);n&&i&&t.set(n,i)}return t}function ee(e,t){for(let r of e)if(t(r))return r}function te(){return typeof AudioContext<"u"&&typeof Worker<"u"}function re(){return typeof SharedArrayBuffer<"u"}function O(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function ne(){return/electron/i.test(globalThis.navigator.userAgent)}function oe(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function ie(){return O()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function se(e){return JSON.parse(JSON.stringify(e))}var h=class e{constructor(t){this._Generators=t;this._Futures=t.map(e.addIndex)}_Futures;async next(){let[t,r]=await Promise.race(this._Futures);return this._Futures[r]=e.addIndex(this._Generators[r],r),t}static async addIndex(t,r){return[await t(),r]}};function ae(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function ue(e,t){return t.aborted?Promise.resolve("aborted"):new Promise(r=>{let n=()=>r("aborted");t.addEventListener("abort",n,{once:!0}),setTimeout(()=>{t.removeEventListener("abort",n),r(void 0)},e)})}function ce(){return new Promise(e=>setTimeout(e,0))}var R=class{_Tasks=[];_Running=!1;_Values;constructor(...t){this._Values=t}enqueue(t){return new Promise((r,n)=>{let i=async()=>{try{let a=await t(...this._Values);r(a)}catch(a){n(a)}};this._Tasks.push(i),this._Running||this.execute()})}async execute(){for(this._Running=!0;;){let t=this._Tasks.shift();if(t===void 0)break;await t()}this._Running=!1}};function le(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function de(e,t){let r=e.pathname;r.endsWith("/")===!1&&(r+="/");try{return o(new URL(r+t,e))}catch(n){return u(String(n))}}var pe=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function ge(){return crypto.randomUUID()}function fe(e){return pe.test(e)}function me(e,t){return t in e}function ye(e){return typeof e=="function"}function xe(e){return typeof e=="object"&&e===null}function be(e){return typeof e=="number"}function ve(e){return typeof e=="object"}function Le(e){return typeof e=="string"}function he(e){return typeof e>"u"}function Re(e){return e.type==="Failure"}function ke(e){return e.type==="Success"}var{Deno:F}=globalThis,Te=typeof F?.noColor=="boolean"?F.noColor:!1,Ce=!Te;function k(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}function T(e,t){return Ce?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}function x(e){return T(e,k([0],0))}function C(e){return T(e,k([1],22))}function B(e){return T(e,k([2],22))}var it=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))"].join("|"),"g");var Se=new Date,d=(a=>(a[a.CRITICAL=0]="CRITICAL",a[a.ERROR=1]="ERROR",a[a.WARN=2]="WARN",a[a.INFO=3]="INFO",a[a.DEBUG=4]="DEBUG",a))(d||{}),P={0:"\u{1F4A5}",1:"\u{1F534}",2:"\u{1F7E1}",3:"\u{1F535}",4:"\u{1F7E3}"},Pe={4:B,3:x,2:x,1:C,0:C};function Ae(e){for(let t of Object.keys(d))if(isNaN(Number(t))!==!1&&t.localeCompare(e,void 0,{sensitivity:"accent"})===0)return d[t]}function Ve({message:e}){return String(e)}function D(e){return JSON.stringify({timestamp:e.date.toISOString(),level:d[e.level],message:e.message,extra:e.extra})}function I(e){function t(s,l){return[Math.floor(s/l),s%l]}function r(){let s,l=e.date.valueOf()-Se.valueOf();[l,s]=t(l,1e3);let[A,E]=t(l,60);return`${A.toString().padStart(4,"0")}:${E.toString().padStart(2,"0")}.${s.toString().padStart(4,"0")}`}function n(){return e.extra===void 0?"":typeof Deno=="object"?" "+Deno.inspect(e.extra,{compact:!1,colors:!0,trailingComma:!0}).trimStart():" "+JSON.stringify(e.extra)}let i=P[e.level],a=e.logger.name!==void 0?`@${e.logger}`:"";return`${x(r())}${a} ${i} ${Pe[e.level](String(e.message))}${n()}`}function Oe(e){let t=`[${e.date.toISOString()}]`,r=`[${d[e.level]}]`,n=e.logger.name!==void 0?`[${e.logger.name}] `:"",i=P[e.level];return`${t} ${i} ${r.padEnd(7," ")} ${n}${e.message}`}function Fe(){return typeof Deno=="object"&&Deno.stdout.isTerminal()}var f=class{static sparse=Ve;static json=D;static pretty=I;static structured=Oe;static default=Fe()?I:D;constructor(){}},m=class{formatter;consoleObject;filter;constructor(t=f.default,r=4,n=console){this.filter=r,this.formatter=t,this.consoleObject=n}handle(t){let r=this.formatter(t);switch(t.level){case 1:this.consoleObject.error(r);break;case 2:this.consoleObject.warn(r);break;case 3:this.consoleObject.info(r);break;case 4:this.consoleObject.debug(r);break}}},w=class extends m{handle(t){let r=this.formatter(t),n=t.extra!==void 0?[r,t.extra]:[r];switch(t.level){case 0:case 1:this.consoleObject.error(...n);break;case 2:this.consoleObject.warn(...n);break;case 3:this.consoleObject.info(...n);break;case 4:this.consoleObject.debug(...n);break}}},S=class{formatter;cb;filter;constructor(t,r=f.default,n=4){this.cb=t,this.formatter=r,this.filter=n}handle(t){let r=this.formatter(t);this.cb(r,t)}},c=class{#e;sinks;filter;parent;get name(){return this.#e}constructor(t,r=void 0,n=[],i=void 0){this.#e=r,this.sinks=n,this.filter=t,this.parent=i}log(t,r,n=void 0){let a={date:new Date,level:t,logger:this,message:r,extra:n};this.filter<t||this.insert(a)}insert(t){if(!(this.filter<t.level)){for(let r of this.sinks)r.filter>=t.level&&r.handle(t);this.parent!==void 0&&this.parent.insert(t)}}error=this.log.bind(this,1);warn=this.log.bind(this,2);info=this.log.bind(this,3);debug=this.log.bind(this,4)},p=new c(3,void 0,[new m]),Be=c.prototype.log.bind(p,1),De=c.prototype.log.bind(p,2),Ie=c.prototype.log.bind(p,3),Ee=c.prototype.log.bind(p,4),Ue=c.prototype.log.bind(p);0&&(module.exports={APM_DEFAULTS,Backend,CONNECTION_STATS_INITIAL,CallbackSink,ConsoleSink,Formatter,GLOBAL_LOGGER,InteractiveConsoleSink,JITTER_STATS_INITIAL,LogLevel,LogSymbols,Logger,MinDBFS,Selector,Strand,VAD_DEFAULTS,VideoCodec,abortableSleep,assert,debug,error,extendUrl,fail,failure,find,fromBase64,fromBase64Url,fromBytes,generateUUID,info,isAudioCapable,isBlinkBrowser,isElectronBrowser,isFailure,isFirefoxBrowser,isFunction,isNull,isNumber,isObject,isProperty,isSafariBrowser,isSharedArrayBufferCapable,isString,isSuccess,isUndefined,log,nextTick,normalizeUrl,sleep,success,toBytes,toRaw,tryParseLogLevel,unwrap,unwrapOr,validateUUID,warn});
package/esm/mod.js CHANGED
@@ -1 +1 @@
1
- var W=-758.596,D;(t=>{let e;(s=>(s[s.InvalidPassword=-1]="InvalidPassword",s[s.Unknown=0]="Unknown",s[s.Unencrypted=1]="Unencrypted",s[s.Encrypted=2]="Encrypted"))(e=t.PeerCipherStatus||={})})(D||={});var z={bytesSent:0,bytesReceived:0,packetsSent:0,packetsReceived:0,rtt:0,packetLoss:0},Z={packetsBuffered:0,packetsSeen:0,packetsProcessed:0,packetsTooEarly:0,packetsTooLate:0,packetsDropped:0,packetsInvalid:0,packetsRepeated:0,packetsLost:0},q={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},Y={echoCanceller:!0,highPassFilter:!1,noiseSuppression:"Moderate",transientSuppressor:!1,gainController:!0};function g(e,t){e||h(t)}function h(e){throw new Error(e)}function o(e){return{type:"Success",value:e}}function u(e){return{type:"Failure",reason:e}}function K(e){return e.type==="Failure"&&h(e.reason),e.value}function x(e,t){return e.type==="Success"?e.value:t}function te(e){try{let t=atob(e),r=Uint8Array.from(t,a=>a.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function re(e){try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),r=Uint8Array.from(t,a=>a.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function ie(e){try{g(e!==void 0,"undefined cannot be converted to byte array"),g(e!==null,"null cannot be converted to byte array");let t=JSON.stringify(e),r=new TextEncoder;return o(r.encode(t))}catch(t){return u(String(t))}}function se(e){try{g(e.length>0,"empty byte array cannot be converted to value");let t=new TextDecoder().decode(e),r=JSON.parse(t);return o(r)}catch(t){return u(String(t))}}var E=["VP8","VP9","AV1","H264","H264Main"],R=class{constructor(t){this.codec=t}channels=0;clockRate=9e4;isValid(){return E.includes(this.codec)}isSupported(){if(typeof RTCRtpReceiver>"u"||typeof RTCRtpReceiver.getCapabilities>"u")return null;let t=x(this.getMimeType(),"").toLowerCase(),r=new Set(x(this.getSdpFmtpLine(),"").split(";").map(n=>n.trim().toLowerCase()));return RTCRtpReceiver.getCapabilities("video")?.codecs?.find(n=>{let a=n.mimeType.toLowerCase(),i=new Set((n.sdpFmtpLine??"").split(";").map(s=>s.trim().toLowerCase()));if(t!==a||r.size!==i.size)return!1;for(let s of r)if(!i.has(s))return!1;return!0})??null}getPayloadType(){switch(this.codec){case"VP8":return o(96);case"VP9":return o(98);case"AV1":return o(41);case"H264":return o(102);case"H264Main":return o(104);default:return u("invalid video codec")}}getMimeType(){switch(this.codec){case"VP8":return o("video/VP8");case"VP9":return o("video/VP9");case"AV1":return o("video/AV1");case"H264":case"H264Main":return o("video/H264");default:return u("invalid video codec")}}getSdpFmtpLine(){switch(this.codec){case"VP8":return o("");case"VP9":return o("profile-id=2");case"AV1":return o("level-idx=5;profile=0;tier=0");case"H264":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");case"H264Main":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032");default:return u("invalid video codec")}}};function le(e,t){for(let r of e)if(t(r))return r}function pe(){return typeof AudioContext<"u"&&typeof Worker<"u"}function ge(){return typeof SharedArrayBuffer<"u"}function I(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function fe(){return/electron/i.test(globalThis.navigator.userAgent)}function me(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function ye(){return I()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function be(e){return JSON.parse(JSON.stringify(e))}var k=class e{constructor(t){this._Generators=t;this._Futures=t.map(e.addIndex)}_Futures;async next(){let[t,r]=await Promise.race(this._Futures);return this._Futures[r]=e.addIndex(this._Generators[r],r),t}static async addIndex(t,r){return[await t(),r]}};function he(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function Re(e,t){return t.aborted?Promise.resolve("aborted"):new Promise(r=>{let n=()=>r("aborted");t.addEventListener("abort",n,{once:!0}),setTimeout(()=>{t.removeEventListener("abort",n),r(void 0)},e)})}function ke(){return new Promise(e=>setTimeout(e,0))}var T=class{_Tasks=[];_Running=!1;_Values;constructor(...t){this._Values=t}enqueue(t){return new Promise((r,n)=>{let a=async()=>{try{let i=await t(...this._Values);r(i)}catch(i){n(i)}};this._Tasks.push(a),this._Running||this.execute()})}async execute(){for(this._Running=!0;;){let t=this._Tasks.shift();if(t===void 0)break;await t()}this._Running=!1}};function we(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function Pe(e,t){let r=e.pathname;r.endsWith("/")===!1&&(r+="/");try{return o(new URL(r+t,e))}catch(n){return u(String(n))}}var U=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Ve(){return crypto.randomUUID()}function Oe(e){return U.test(e)}function Be(e,t){return t in e}function De(e){return typeof e=="function"}function Ee(e){return typeof e=="object"&&e===null}function Ie(e){return typeof e=="number"}function Ue(e){return typeof e=="object"}function Me(e){return typeof e=="string"}function Ne(e){return typeof e>"u"}function je(e){return e.type==="Failure"}function _e(e){return e.type==="Success"}var{Deno:C}=globalThis,M=typeof C?.noColor=="boolean"?C.noColor:!1,N=!M;function b(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}function v(e,t){return N?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}function f(e){return v(e,b([0],0))}function L(e){return v(e,b([1],22))}function S(e){return v(e,b([2],22))}var Ge=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))"].join("|"),"g");var _=new Date,d=(i=>(i[i.CRITICAL=0]="CRITICAL",i[i.ERROR=1]="ERROR",i[i.WARN=2]="WARN",i[i.INFO=3]="INFO",i[i.DEBUG=4]="DEBUG",i))(d||{}),O={0:"\u{1F4A5}",1:"\u{1F534}",2:"\u{1F7E1}",3:"\u{1F535}",4:"\u{1F7E3}"},$={4:S,3:f,2:f,1:L,0:L};function Je(e){for(let t of Object.keys(d))if(isNaN(Number(t))!==!1&&t.localeCompare(e,void 0,{sensitivity:"accent"})===0)return d[t]}function G({message:e}){return String(e)}function w(e){return JSON.stringify({timestamp:e.date.toISOString(),level:d[e.level],message:e.message,extra:e.extra})}function P(e){function t(s,l){return[Math.floor(s/l),s%l]}function r(){let s,l=e.date.valueOf()-_.valueOf();[l,s]=t(l,1e3);let[F,B]=t(l,60);return`${F.toString().padStart(4,"0")}:${B.toString().padStart(2,"0")}.${s.toString().padStart(4,"0")}`}function n(){return e.extra===void 0?"":typeof Deno=="object"?" "+Deno.inspect(e.extra,{compact:!1,colors:!0,trailingComma:!0}).trimStart():" "+JSON.stringify(e.extra)}let a=O[e.level],i=e.logger.name!==void 0?`@${e.logger}`:"";return`${f(r())}${i} ${a} ${$[e.level](String(e.message))}${n()}`}function J(e){let t=`[${e.date.toISOString()}]`,r=`[${d[e.level]}]`,n=e.logger.name!==void 0?`[${e.logger.name}] `:"",a=O[e.level];return`${t} ${a} ${r.padEnd(7," ")} ${n}${e.message}`}function H(){return typeof Deno=="object"&&Deno.stdout.isTerminal()}var m=class{static sparse=G;static json=w;static pretty=P;static structured=J;static default=H()?P:w;constructor(){}},y=class{formatter;consoleObject;filter;constructor(t=m.default,r=4,n=console){this.filter=r,this.formatter=t,this.consoleObject=n}handle(t){let r=this.formatter(t);switch(t.level){case 1:this.consoleObject.error(r);break;case 2:this.consoleObject.warn(r);break;case 3:this.consoleObject.info(r);break;case 4:this.consoleObject.debug(r);break}}},A=class extends y{handle(t){let r=this.formatter(t),n=t.extra!==void 0?[r,t.extra]:[r];switch(t.level){case 0:case 1:this.consoleObject.error(...n);break;case 2:this.consoleObject.warn(...n);break;case 3:this.consoleObject.info(...n);break;case 4:this.consoleObject.debug(...n);break}}},V=class{formatter;cb;filter;constructor(t,r=m.default,n=4){this.cb=t,this.formatter=r,this.filter=n}handle(t){let r=this.formatter(t);this.cb(r,t)}},c=class{#e;sinks;filter;parent;get name(){return this.#e}constructor(t,r=void 0,n=[],a=void 0){this.#e=r,this.sinks=n,this.filter=t,this.parent=a}log(t,r,n=void 0){let i={date:new Date,level:t,logger:this,message:r,extra:n};this.filter<t||this.insert(i)}insert(t){if(!(this.filter<t.level)){for(let r of this.sinks)r.filter>=t.level&&r.handle(t);this.parent!==void 0&&this.parent.insert(t)}}error=this.log.bind(this,1);warn=this.log.bind(this,2);info=this.log.bind(this,3);debug=this.log.bind(this,4)},p=new c(3,void 0,[new y]),He=c.prototype.log.bind(p,1),We=c.prototype.log.bind(p,2),ze=c.prototype.log.bind(p,3),Ze=c.prototype.log.bind(p,4),qe=c.prototype.log.bind(p);export{Y as APM_DEFAULTS,D as Backend,z as CONNECTION_STATS_INITIAL,V as CallbackSink,y as ConsoleSink,m as Formatter,p as GLOBAL_LOGGER,A as InteractiveConsoleSink,Z as JITTER_STATS_INITIAL,d as LogLevel,O as LogSymbols,c as Logger,W as MinDBFS,k as Selector,T as Strand,q as VAD_DEFAULTS,R as VideoCodec,Re as abortableSleep,g as assert,Ze as debug,He as error,Pe as extendUrl,h as fail,u as failure,le as find,te as fromBase64,re as fromBase64Url,se as fromBytes,Ve as generateUUID,ze as info,pe as isAudioCapable,I as isBlinkBrowser,fe as isElectronBrowser,je as isFailure,me as isFirefoxBrowser,De as isFunction,Ee as isNull,Ie as isNumber,Ue as isObject,Be as isProperty,ye as isSafariBrowser,ge as isSharedArrayBufferCapable,Me as isString,_e as isSuccess,Ne as isUndefined,qe as log,ke as nextTick,we as normalizeUrl,he as sleep,o as success,ie as toBytes,be as toRaw,Je as tryParseLogLevel,K as unwrap,x as unwrapOr,Oe as validateUUID,We as warn};
1
+ var z=-758.596,D;(t=>{let e;(i=>(i[i.InvalidPassword=-1]="InvalidPassword",i[i.Unknown=0]="Unknown",i[i.Unencrypted=1]="Unencrypted",i[i.Encrypted=2]="Encrypted"))(e=t.PeerCipherStatus||={})})(D||={});var Z={bytesSent:0,bytesReceived:0,packetsSent:0,packetsReceived:0,rtt:0,packetLoss:0},q={packetsBuffered:0,packetsSeen:0,packetsProcessed:0,packetsTooEarly:0,packetsTooLate:0,packetsDropped:0,packetsInvalid:0,packetsRepeated:0,packetsLost:0},Y={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},X={echoCanceller:!0,highPassFilter:!1,noiseSuppression:"Moderate",transientSuppressor:!1,gainController:!0};function g(e,t){e||R(t)}function R(e){throw new Error(e)}function o(e){return{type:"Success",value:e}}function u(e){return{type:"Failure",reason:e}}function Q(e){return e.type==="Failure"&&R(e.reason),e.value}function x(e,t){return e.type==="Success"?e.value:t}function re(e){try{let t=atob(e),r=Uint8Array.from(t,a=>a.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function ne(e){try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),r=Uint8Array.from(t,a=>a.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function se(e){try{g(e!==void 0,"undefined cannot be converted to byte array"),g(e!==null,"null cannot be converted to byte array");let t=JSON.stringify(e),r=new TextEncoder;return o(r.encode(t))}catch(t){return u(String(t))}}function ae(e){try{g(e.length>0,"empty byte array cannot be converted to value");let t=new TextDecoder().decode(e),r=JSON.parse(t);return o(r)}catch(t){return u(String(t))}}var I=["VP8","VP9","AV1","H264","H264Main"],k=class{constructor(t){this.codec=t}channels=0;clockRate=9e4;isValid(){return I.includes(this.codec)}isSupported(){if(typeof RTCRtpReceiver>"u"||typeof RTCRtpReceiver.getCapabilities>"u")return null;let t=x(this.getMimeType(),"").toLowerCase(),r=this.getProfileId();return RTCRtpReceiver.getCapabilities("video")?.codecs?.find(n=>{if(n.mimeType.toLowerCase()!==t)return!1;if(r){let i=E(n.sdpFmtpLine),c=i.get("packetization-mode");return i.get("profile-level-id")?.substring(0,4).toLowerCase()===r&&c==="1"}let a=new Set(x(this.getSdpFmtpLine(),"").split(";").map(i=>i.trim().toLowerCase())),s=new Set((n.sdpFmtpLine??"").split(";").map(i=>i.trim().toLowerCase()));if(a.size!==s.size)return!1;for(let i of a)if(!s.has(i))return!1;return!0})??null}getPayloadType(){switch(this.codec){case"VP8":return o(96);case"VP9":return o(98);case"AV1":return o(41);case"H264":return o(102);case"H264Main":return o(104);default:return u("invalid video codec")}}getMimeType(){switch(this.codec){case"VP8":return o("video/VP8");case"VP9":return o("video/VP9");case"AV1":return o("video/AV1");case"H264":case"H264Main":return o("video/H264");default:return u("invalid video codec")}}getProfileId(){switch(this.codec){case"H264":return"42e0";case"H264Main":return"4d00";default:return null}}getSdpFmtpLine(){switch(this.codec){case"VP8":return o("");case"VP9":return o("profile-id=2");case"AV1":return o("level-idx=5;profile=0;tier=0");case"H264":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");case"H264Main":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032");default:return u("invalid video codec")}}};function E(e){let t=new Map;if(!e)return t;for(let r of e.split(";")){let[n,a]=r.trim().toLowerCase().split("=",2);n&&a&&t.set(n,a)}return t}function de(e,t){for(let r of e)if(t(r))return r}function ge(){return typeof AudioContext<"u"&&typeof Worker<"u"}function fe(){return typeof SharedArrayBuffer<"u"}function U(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function me(){return/electron/i.test(globalThis.navigator.userAgent)}function ye(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function xe(){return U()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function ve(e){return JSON.parse(JSON.stringify(e))}var T=class e{constructor(t){this._Generators=t;this._Futures=t.map(e.addIndex)}_Futures;async next(){let[t,r]=await Promise.race(this._Futures);return this._Futures[r]=e.addIndex(this._Generators[r],r),t}static async addIndex(t,r){return[await t(),r]}};function Re(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function ke(e,t){return t.aborted?Promise.resolve("aborted"):new Promise(r=>{let n=()=>r("aborted");t.addEventListener("abort",n,{once:!0}),setTimeout(()=>{t.removeEventListener("abort",n),r(void 0)},e)})}function Te(){return new Promise(e=>setTimeout(e,0))}var C=class{_Tasks=[];_Running=!1;_Values;constructor(...t){this._Values=t}enqueue(t){return new Promise((r,n)=>{let a=async()=>{try{let s=await t(...this._Values);r(s)}catch(s){n(s)}};this._Tasks.push(a),this._Running||this.execute()})}async execute(){for(this._Running=!0;;){let t=this._Tasks.shift();if(t===void 0)break;await t()}this._Running=!1}};function Pe(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function Ae(e,t){let r=e.pathname;r.endsWith("/")===!1&&(r+="/");try{return o(new URL(r+t,e))}catch(n){return u(String(n))}}var M=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Oe(){return crypto.randomUUID()}function Fe(e){return M.test(e)}function De(e,t){return t in e}function Ie(e){return typeof e=="function"}function Ee(e){return typeof e=="object"&&e===null}function Ue(e){return typeof e=="number"}function Me(e){return typeof e=="object"}function Ne(e){return typeof e=="string"}function je(e){return typeof e>"u"}function _e(e){return e.type==="Failure"}function $e(e){return e.type==="Success"}var{Deno:w}=globalThis,N=typeof w?.noColor=="boolean"?w.noColor:!1,j=!N;function b(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}function v(e,t){return j?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}function f(e){return v(e,b([0],0))}function L(e){return v(e,b([1],22))}function S(e){return v(e,b([2],22))}var Je=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))"].join("|"),"g");var $=new Date,d=(s=>(s[s.CRITICAL=0]="CRITICAL",s[s.ERROR=1]="ERROR",s[s.WARN=2]="WARN",s[s.INFO=3]="INFO",s[s.DEBUG=4]="DEBUG",s))(d||{}),F={0:"\u{1F4A5}",1:"\u{1F534}",2:"\u{1F7E1}",3:"\u{1F535}",4:"\u{1F7E3}"},G={4:S,3:f,2:f,1:L,0:L};function He(e){for(let t of Object.keys(d))if(isNaN(Number(t))!==!1&&t.localeCompare(e,void 0,{sensitivity:"accent"})===0)return d[t]}function J({message:e}){return String(e)}function P(e){return JSON.stringify({timestamp:e.date.toISOString(),level:d[e.level],message:e.message,extra:e.extra})}function A(e){function t(i,c){return[Math.floor(i/c),i%c]}function r(){let i,c=e.date.valueOf()-$.valueOf();[c,i]=t(c,1e3);let[h,B]=t(c,60);return`${h.toString().padStart(4,"0")}:${B.toString().padStart(2,"0")}.${i.toString().padStart(4,"0")}`}function n(){return e.extra===void 0?"":typeof Deno=="object"?" "+Deno.inspect(e.extra,{compact:!1,colors:!0,trailingComma:!0}).trimStart():" "+JSON.stringify(e.extra)}let a=F[e.level],s=e.logger.name!==void 0?`@${e.logger}`:"";return`${f(r())}${s} ${a} ${G[e.level](String(e.message))}${n()}`}function H(e){let t=`[${e.date.toISOString()}]`,r=`[${d[e.level]}]`,n=e.logger.name!==void 0?`[${e.logger.name}] `:"",a=F[e.level];return`${t} ${a} ${r.padEnd(7," ")} ${n}${e.message}`}function W(){return typeof Deno=="object"&&Deno.stdout.isTerminal()}var m=class{static sparse=J;static json=P;static pretty=A;static structured=H;static default=W()?A:P;constructor(){}},y=class{formatter;consoleObject;filter;constructor(t=m.default,r=4,n=console){this.filter=r,this.formatter=t,this.consoleObject=n}handle(t){let r=this.formatter(t);switch(t.level){case 1:this.consoleObject.error(r);break;case 2:this.consoleObject.warn(r);break;case 3:this.consoleObject.info(r);break;case 4:this.consoleObject.debug(r);break}}},V=class extends y{handle(t){let r=this.formatter(t),n=t.extra!==void 0?[r,t.extra]:[r];switch(t.level){case 0:case 1:this.consoleObject.error(...n);break;case 2:this.consoleObject.warn(...n);break;case 3:this.consoleObject.info(...n);break;case 4:this.consoleObject.debug(...n);break}}},O=class{formatter;cb;filter;constructor(t,r=m.default,n=4){this.cb=t,this.formatter=r,this.filter=n}handle(t){let r=this.formatter(t);this.cb(r,t)}},l=class{#e;sinks;filter;parent;get name(){return this.#e}constructor(t,r=void 0,n=[],a=void 0){this.#e=r,this.sinks=n,this.filter=t,this.parent=a}log(t,r,n=void 0){let s={date:new Date,level:t,logger:this,message:r,extra:n};this.filter<t||this.insert(s)}insert(t){if(!(this.filter<t.level)){for(let r of this.sinks)r.filter>=t.level&&r.handle(t);this.parent!==void 0&&this.parent.insert(t)}}error=this.log.bind(this,1);warn=this.log.bind(this,2);info=this.log.bind(this,3);debug=this.log.bind(this,4)},p=new l(3,void 0,[new y]),We=l.prototype.log.bind(p,1),ze=l.prototype.log.bind(p,2),Ze=l.prototype.log.bind(p,3),qe=l.prototype.log.bind(p,4),Ye=l.prototype.log.bind(p);export{X as APM_DEFAULTS,D as Backend,Z as CONNECTION_STATS_INITIAL,O as CallbackSink,y as ConsoleSink,m as Formatter,p as GLOBAL_LOGGER,V as InteractiveConsoleSink,q as JITTER_STATS_INITIAL,d as LogLevel,F as LogSymbols,l as Logger,z as MinDBFS,T as Selector,C as Strand,Y as VAD_DEFAULTS,k as VideoCodec,ke as abortableSleep,g as assert,qe as debug,We as error,Ae as extendUrl,R as fail,u as failure,de as find,re as fromBase64,ne as fromBase64Url,ae as fromBytes,Oe as generateUUID,Ze as info,ge as isAudioCapable,U as isBlinkBrowser,me as isElectronBrowser,_e as isFailure,ye as isFirefoxBrowser,Ie as isFunction,Ee as isNull,Ue as isNumber,Me as isObject,De as isProperty,xe as isSafariBrowser,fe as isSharedArrayBufferCapable,Ne as isString,$e as isSuccess,je as isUndefined,Ye as log,Te as nextTick,Pe as normalizeUrl,Re as sleep,o as success,se as toBytes,ve as toRaw,He as tryParseLogLevel,Q as unwrap,x as unwrapOr,Fe as validateUUID,ze as warn};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4players/odin-common",
3
- "version": "10.1.0",
3
+ "version": "10.2.0",
4
4
  "description": "Commonly used type definitions and utility functions across ODIN web projects",
5
5
  "author": "Josho Bleicker <josho.bleicker@4players.io> (https://www.4players.io)",
6
6
  "homepage": "https://www.4players.io",
@@ -10,6 +10,7 @@ export declare class VideoCodec {
10
10
  isSupported(): RTCRtpCodec | null;
11
11
  getPayloadType(): Result<number>;
12
12
  getMimeType(): Result<string>;
13
+ getProfileId(): string | null;
13
14
  getSdpFmtpLine(): Result<string>;
14
15
  }
15
16
  export {};