Build 584177stable
Module 607567
4,275 characters · in no known chunkDependencies
Required by (33)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{Ay:()=>y,RQ:()=>N,hz:()=>S});var i=n(435558),r=n.n(i),a=n(17928),s=n(713402),l=n(228366),o=n(889227),d=n(280450),c=n(734057),u=n(696451),_=n(287809),E=n(977997),A=n(935208),h=n(427262),I=n(652215);let f=Object.freeze([]),p={};function T(e){let t=p[e];return null==t&&(t=new C(e),p[e]=t),t}function m(e,t){return u.Ay.getMember(e,t.id)}function g(e,t,n){let i=t?.nick??h.Ay.getName(n);return{member:t,comparator:S(e,i)}}function S(e,t){return`${e.selfStream?"\0":"\x01"}${t.toLowerCase()}\0${e.userId}`}function N(e,t,n,i){var r;let a=_.default.getUser(n),s=null==a;null==a&&(a=new o.A({id:n,username:"...",discriminator:n.slice(-5,-1)}));let{member:l,comparator:d}=g(e,m(t,r=a),r),c={voiceState:e,user:a,member:l,comparator:d,nick:l?.nick,connectedOn:i?.connectedOn??Date.now()};return s&&(c._isPlaceholder=!0),c}class C{guildId;_pending=new Set;_voiceStates=new s.J(e=>{let{voiceState:{channelId:t}}=e;return null!=t?[t]:[]},e=>{let{comparator:t}=e;return t});constructor(e){this.guildId=e}updateVoiceState(e){if(null!=this._pending)return this._pending.add(e),!1;let t=E.A.getVoiceState(this.guildId,e),n=this._voiceStates.get(e),i=_.default.getUser(e);if(null!=t&&null!=i){if(null==n)return this._voiceStates.set(e,N(t,this.guildId,e)),!0;else if(n.voiceState!==t){let r=m(this.guildId,i),a=r?.nick??h.Ay.getName(i);return this._voiceStates.set(e,{...n,member:r,comparator:S(t,a),nick:a,voiceState:t}),!0}}else if(null!=n)return this._voiceStates.delete(e),!0;return!1}updateMember(e){if(null!=this._pending)return this._pending.add(e),!1;let t=this._voiceStates.get(e),n=_.default.getUser(e);if(null!=t&&null!=n){let i=m(this.guildId,n);if(i?.nick!==t.member?.nick||i?.avatar!==t.member?.avatar){let{comparator:r}=g(t.voiceState,i,n);return this._voiceStates.set(e,{...t,member:i,comparator:r,nick:i?.nick}),!0}}return!1}updateUsers(){return null==this._pending&&this._voiceStates.values().reduce((e,t)=>{let n=_.default.getUser(t.user.id);return null!=n&&t.user!==n?(this._voiceStates.set(n.id,N(t.voiceState,this.guildId,n.id,t)),!0):e},!1)}getUserIds(){return this.processPending(),this._voiceStates.keys()}getVoiceStates(){return this.processPending(),this._voiceStates.indexes()}getVoiceStatesForChannel(e){this.processPending();let t=this._voiceStates.values(e);return 0===t.length?f:t}countVoiceStatesForChannel(e){return this.processPending(),this._voiceStates.size(e)}getVersion(){return this.processPending(),this._voiceStates.version}processPending(){if(null!=this._pending){let e=this._pending;this._pending=void 0,e.forEach(e=>this.updateVoiceState(e))}}}function O(){return r().reduce(p,(e,t)=>t.updateUsers()||e,!1)}function R(){p={};let e=E.A.getAllVoiceStates();A.default.keys(e).forEach(t=>{Object.keys(e[t]).forEach(e=>{T(t??I.ME).updateVoiceState(e)})})}class L extends a.Ay.Store{static displayName="SortedVoiceStateStore";initialize(){R(),this.waitFor(d.default,c.A,u.Ay,_.default,E.A),this.syncWith([_.default],O)}getVoiceStates(e){return T(e??I.ME).getVoiceStates()}getAllVoiceStates(){return p}getVoiceStatesForChannel(e){let t=e.getGuildId(),n=e.id;return T(t??I.ME).getVoiceStatesForChannel(n)}getVoiceStatesForChannelAlt(e,t){return T(t??I.ME).getVoiceStatesForChannel(e)}countVoiceStatesForChannel(e){let t=c.A.getChannel(e);return null==t?0:T(t.getGuildId()??I.ME).countVoiceStatesForChannel(e)}getVoiceStateVersion(e){return T(e??I.ME).getVersion()}}let y=new L(l.h,{CONNECTION_OPEN:function(){p={}},OVERLAY_INITIALIZE:function(){R()},VOICE_CHANNEL_SELECT:function(e){let{guildId:t}=e,n=d.default.getId();return null!=n&&T(t??I.ME).updateVoiceState(n)},VOICE_STATE_UPDATES:function(e){let{voiceStates:t}=e;return t.reduce((e,t)=>{let{guildId:n,userId:i}=t;return T(n??I.ME).updateVoiceState(i)||e},!1)},GUILD_MEMBER_UPDATE:function(e){let{guildId:t,user:n}=e;return T(t).updateMember(n.id)},GUILD_CREATE:function(e){let{guild:t}=e;delete p[t.id]},GUILD_DELETE:function(e){let{guild:t}=e;delete p[t.id]},PASSIVE_UPDATE_V2:function(e){let t=!1,n=new Set(p[e.guildId]?.getUserIds()),i=new Set(e.voiceStates?.map(e=>e.userId)),r=new Set(e.removedVoiceStateUsers);for(let r of new Set([...n,...i]))t=T(e.guildId).updateVoiceState(r)||t;for(let i of n)r.has(i)||(t=T(e.guildId).updateMember(i)||t);return t}})}