Build 541864stable
Module 290863
8,205 characters · in no known chunkDependencies
Required by (82)
131021076255283316440056403444767558923619166462267319775449092495561113630116956135635146655149741166444175203181622185657201934202195219065308726313961325909344346349230352043398817406595410540436405438857450740453314461213468389474463489379501440501838538409541712574520588224595623635885640132646986651649655116685399696157718019720149729937768038772800778768783592790417803977808323834757841595845056849205878431880682911411911860921955922068943577961974963307985668986687
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>U,m:()=>C}),n(321073);var i=n(812729),r=n.n(i),s=n(735438),a=n.n(s),o=n(17928),l=n(228366),u=n(682261),c=n(935208),d=n(495544),_=n(287809),f=n(652215);let h=Object.freeze([]),p={},E={},m={},g={},A={},I={},T={};function S(e,t){let n=p[e];return null!=n?n[t]:null}let N=e=>{switch(e.type){case f.$pd.CUSTOM_STATUS:return 4;case f.$pd.COMPETING:return 3;case f.$pd.STREAMING:return 2;case f.$pd.PLAYING:return 1;default:return 0}},y=e=>+!!(0,u.A)(e);function C(e,t){return N(t)-N(e)||y(t)-y(e)||(t.created_at??0)-(e.created_at??0)}function v(e){if(0===e.length)return e;let t=[],n=[];for(let i of e)i.type===f.$pd.PLAYING?n.push(i):t.push(i);return n.length<=1?e:[...t,[...n].sort(C)[0]].sort(C)}function O(e,t){m[e]=t,g[e]=v(t)}function R(e){if(delete E[e],delete m[e],delete g[e],delete A[e],delete I[e],null==p[e])return;let t=Object.values(p[e]),n=t.reduce((e,t)=>{let n=t.processedAtTimestamp,i=e.processedAtTimestamp,r=null!=t.activities?t.activities.length:0,s=null!=e.activities?e.activities.length:0;return n>i||n===i&&r>s?t:e},t[0]);n.status!==f.clD.OFFLINE||null!=n.hiddenActivities&&n.hiddenActivities.length>0?(E[e]=n.status,O(e,n.activities),A[e]=b(Object.values(t).flatMap(e=>e.hiddenActivities??[])),null!=n.clientStatus&&(I[e]=n.clientStatus)):a().every(p[e],e=>e.status===f.clD.OFFLINE&&(null==e.hiddenActivities||0===e.hiddenActivities.length))?delete p[e]:n.status===f.clD.OFFLINE&&t.some(e=>null!=e.hiddenActivities&&e.hiddenActivities.length>0)&&(A[e]=b(Object.values(t).flatMap(e=>e.hiddenActivities??[])))}function b(e){return 0===e.length?e:[...new Map([...e].reverse().map(e=>[`${e.application_id}:${e.party?.id}`,e])).values()]}function D(e){let t=p[e];if(null==t)return;let n=a().maxBy(Object.values(t),e=>e.processedAtTimestamp);(n.status!==f.clD.OFFLINE||null!=n.hiddenActivities&&n.hiddenActivities.length>0)&&(E[e]=n.status,O(e,n.activities),A[e]=n.hiddenActivities??[],null!=n.clientStatus&&(I[e]=n.clientStatus))}function L(e){let{guildId:t,userId:n,status:i,clientStatus:s,activities:a,hiddenActivities:o,processedAtTimestamp:l}=e;if(n===d.default.getId())return!1;let u=i===f.clD.OFFLINE&&(null==o||0===o.length),c=p[n];if(null==c){if(u)return!1;c=p[n]={}}if(u)c[t]={status:i,clientStatus:s,activities:h,hiddenActivities:h,processedAtTimestamp:l};else{let e=a.length>1?[...a].sort(C):a,n=b(o??[]),u=c[t];a=null!=u&&r()(u.activities,e)?u.activities:e,c[t]={status:i,clientStatus:s,activities:a,hiddenActivities:n,processedAtTimestamp:l}}return delete T[n],R(n),!0}function w(e){let{guildId:t,userId:n,status:i,clientStatus:r,activities:s,hiddenActivities:a,processedAtTimestamp:o}=e;if(n===d.default.getId())return;let l=i===f.clD.OFFLINE&&(null==a||0===a.length),u=p[n];if(null==u){if(l)return;u=p[n]={}}if(l)u[t]={status:i,clientStatus:r,activities:h,hiddenActivities:h,processedAtTimestamp:o};else{let e=s.length>1?[...s].sort(C):s,n=b(a??[]);u[t]={status:i,clientStatus:r,activities:e,hiddenActivities:n,processedAtTimestamp:o}}}function M(e,t){if(t===d.default.getId())return!1;let n=p[t];if(null==n||null==n[e])return!1;delete n[e],0===Object.keys(n).length&&delete p[t],R(t)}function P(e){for(let t of c.default.keys(p))M(e,t)}class x extends o.Ay.Store{static displayName="PresenceStore";initialize(){this.waitFor(d.default,_.default)}setCurrentUserOnConnectionOpen(e,t){E[d.default.getId()]=e,O(d.default.getId(),[...t].sort(C))}getStatus(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:f.clD.OFFLINE,i=_.default.getUser(e);if(null!=i&&i.hasFlag(f.nhx.BOT_HTTP_INTERACTIONS)&&(n=f.clD.UNKNOWN),null==t)return E[e]??n;let r=S(e,t);return r?.status??n}getActivities(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return g[e]??h;let n=S(e,t);return null==n||null==n.activities?h:v(n.activities)}getUnfilteredActivities(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return m[e]??h;let n=S(e,t);return null==n||null==n.activities?h:n.activities}getHiddenActivities(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null==t?A[e]??h:S(e,t)?.hiddenActivities??h}getPrimaryActivity(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.getActivities(e,t).filter(e=>e.type!==f.$pd.HANG_STATUS)[0]}getAllApplicationActivities(e){let t=[];for(let n of c.default.keys(g))for(let i of g[n])i.application_id===e&&t.push({userId:n,activity:i});return t}getApplicationActivity(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this.findActivity(e,e=>e.application_id===t,n,!0)}findActivity(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];i=i??!1;let r=this.getActivities(e,n);return i&&(r=r.concat(this.getHiddenActivities(e,n))),r.find(t)}getActivityMetadata(e){return T[e]}getUserIds(){return c.default.keys(m)}isMobileOnline(e){let t=I[e];return null!=t&&t[f.xfJ.MOBILE]===f.clD.ONLINE&&t[f.xfJ.DESKTOP]!==f.clD.ONLINE&&t[f.xfJ.VR]!==f.clD.ONLINE}isVROnline(e){let t=I[e];return null!=t&&t[f.xfJ.VR]===f.clD.ONLINE}getClientStatus(e){return I[e]}getState(){return{presencesForGuilds:p,statuses:E,activities:m,filteredActivities:g,hiddenActivities:A,activityMetadata:T,clientStatuses:I}}}let U=new x(l.h,{CONNECTION_OPEN:function(){return!0},CONNECTION_OPEN_SUPPLEMENTAL:function(e){let{guilds:t,presences:n}=e,i=d.default.getId();p={},T={},E={[i]:E[i]},m={[i]:m[i]},g={[i]:g[i]},A={[i]:A[i]},I={[i]:{}};let r=new Set;t.forEach(e=>{e.presences.forEach(t=>{let{user:n,status:i,clientStatus:s,activities:a,hiddenActivities:o,processedAtTimestamp:l}=t;w({guildId:e.id,userId:n.id,status:i,clientStatus:s,activities:a,hiddenActivities:o,processedAtTimestamp:l}),r.add(n.id)})}),n.forEach(e=>{let{user:t,status:n,clientStatus:i,activities:s,hiddenActivities:a,processedAtTimestamp:o}=e;null!=t&&(w({guildId:f.ME,userId:t.id,status:n,clientStatus:i,activities:s,hiddenActivities:a,processedAtTimestamp:o}),r.add(t.id))}),r.delete(i),r.forEach(D)},OVERLAY_INITIALIZE:function(e){let{presences:t}=e;p=t.presencesForGuilds,E=t.statuses,m=t.activities,A=t.hiddenActivities,T=t.activityMetadata},GUILD_CREATE:function(e){let{guild:t}=e;t.presences.forEach(e=>{let{user:n,status:i,clientStatus:r,activities:s,hiddenActivities:a,processedAtTimestamp:o}=e;L({guildId:t.id,userId:n.id,status:i,clientStatus:r,activities:s,hiddenActivities:a,processedAtTimestamp:o})})},GUILD_DELETE:function(e){let{guild:t}=e;P(t.id)},GUILD_MEMBER_REMOVE:function(e){let{guildId:t,user:n}=e;return M(t,n.id)},PRESENCE_UPDATES:function(e){let{updates:t}=e;return t.map(e=>{let{guildId:t,user:n,status:i,clientStatus:r,activities:s,hiddenActivities:a,processedAtTimestamp:o}=e;return L({guildId:t??f.ME,userId:n.id,status:i,clientStatus:r,activities:s,hiddenActivities:a,processedAtTimestamp:o})}).some(e=>e)},PRESENCES_REPLACE:function(e){let{presences:t}=e;P(f.ME),t.forEach(e=>{let{user:t,status:n,clientStatus:i,activities:r,hiddenActivities:s,processedAtTimestamp:a}=e;null!=t&&L({guildId:f.ME,userId:t.id,status:n,clientStatus:i,activities:r,hiddenActivities:s,processedAtTimestamp:a})})},ACTIVITY_METADATA_UPDATE:function(e){let{userId:t,metadata:n}=e;return T[t]=n,!1},THREAD_MEMBER_LIST_UPDATE:function(e){let{guildId:t,members:n}=e;n.forEach(e=>{null!=e.presence&&L({guildId:t,userId:e.user_id,status:e.presence.status,clientStatus:e.presence.clientStatus,activities:e.presence.activities,hiddenActivities:e.presence.hiddenActivities,processedAtTimestamp:e.presence.processedAtTimestamp})})},THREAD_MEMBERS_UPDATE:function(e){let{guildId:t,addedMembers:n}=e;n?.forEach(e=>{null!=e.presence&&L({guildId:t,userId:e.userId,status:e.presence.status,clientStatus:e.presence.clientStatus,activities:e.presence.activities,hiddenActivities:e.presence.hiddenActivities,processedAtTimestamp:e.presence.processedAtTimestamp})})},SELF_PRESENCE_STORE_UPDATE:function(e){let t=d.default.getId();if(E[t]===e.status&&m[t]===e.activities&&A[t]===e.hiddenActivities)return!1;E[t]=e.status,O(t,[...e.activities].sort(C)),A[t]=[...e.hiddenActivities].sort(C),delete T[t]}})}