Module 994500

5,450 characters · in no known chunk
Dependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>D});var i=n(17928),r=n(228366),a=n(383233),s=n(287809),l=n(652215);let o=new Map,d={},c={},u={},_=new Set,E=new Set,A=new Set,h={},I=0,f={},p=0,T=0,m=0,g={friends:void 0,blocked:void 0,ignored:void 0,blockedOrIgnored:void 0};function S(){g.friends=void 0,g.blocked=void 0,g.ignored=void 0,g.blockedOrIgnored=void 0}let N=new Map;function C(e,t){let n=o.get(e);if(n===t)return;null!=n&&N.get(n)?.delete(e),o.set(e,t);let i=N.get(t);null!=i?i.add(e):N.set(t,new Set([e])),S()}function O(e){let t=o.get(e);null!=t&&(o.delete(e),N.get(t)?.delete(e),S())}function R(){T=_.size,m=A.size,p=Math.max((N.get(l.eA$.PENDING_INCOMING)?.size??0)-T-m,0),I++}class L extends i.Ay.Store{static displayName="RelationshipStore";initialize(){this.waitFor(s.default)}isFriend(e){return null!=e&&o.get(e)===l.eA$.FRIEND}isBlockedOrIgnored(e){return this.isBlocked(e)||this.isIgnored(e)}isBlockedOrIgnoredForMessage(e){return this.isBlockedForMessage(e)||this.isIgnoredForMessage(e)}isBlocked(e){return null!=e&&o.get(e)===l.eA$.BLOCKED}isBlockedForMessage(e){if(null!=e.author&&o.get(e.author.id)===l.eA$.BLOCKED)return!0;if(e instanceof a.Ay){if(this.isBlocked(e.interactionMetadata?.user?.id))return!0}else if(this.isBlocked(e.interaction_metadata?.user?.id))return!0;return!1}isIgnored(e){return null!=e&&o.get(e)!==l.eA$.BLOCKED&&E.has(e)}isIgnoredForMessage(e){if(null!=e.author&&this.isIgnored(e.author.id))return!0;if(e instanceof a.Ay){if(this.isIgnored(e.interactionMetadata?.user?.id))return!0}else if(this.isIgnored(e.interaction_metadata?.user?.id))return!0;return!1}isUnfilteredPendingIncoming(e){return o.get(e)===l.eA$.PENDING_INCOMING&&!this.isSpam(e)&&!this.isIgnored(e)}getPendingCount(){return p}getSpamCount(){return T}getPendingIgnoredCount(){return m}getOutgoingCount(){return N.get(l.eA$.PENDING_OUTGOING)?.size??0}getFriendCount(){return N.get(l.eA$.FRIEND)?.size??0}getRelationshipCount(){return o.size}getMutableRelationships(){return o}getVersion(){return I}isSpam(e){return _.has(e)}getRelationshipType(e){let t=o.get(e);return null!=t?t:l.eA$.NONE}getNickname(e){return d[e]}getSince(e){return c[e]}getSinces(){return c}getNote(e){return u[e]}getFriendIDs(){return null==g.friends&&(g.friends=Array.from(N.get(l.eA$.FRIEND)??[])),g.friends}getBlockedIDs(){return null==g.blocked&&(g.blocked=Array.from(N.get(l.eA$.BLOCKED)??[])),g.blocked}getIgnoredIDs(){return null==g.ignored&&(g.ignored=Array.from(E.values()).filter(e=>this.isIgnored(e))),g.ignored}getBlockedOrIgnoredIDs(){if(null==g.blockedOrIgnored){let e=new Set(E),t=N.get(l.eA$.BLOCKED);if(null!=t)for(let n of t)e.add(n);g.blockedOrIgnored=Array.from(e.values())}return g.blockedOrIgnored}getOriginApplicationId(e){return h[e]}isStranger(e){if(null!=f[e])return f[e].expiry<Date.now()?void delete f[e]:f[e].isStranger}}let D=new L(r.h,{CONNECTION_OPEN:function(e){o.clear(),N.clear(),d={},c={},u={},E.clear(),_.clear(),A.clear(),S(),h={},f={},e.relationships.forEach(e=>{C(e.id,e.type),null!=e.nickname&&(d[e.id]=e.nickname),null!=e.since&&(c[e.id]=e.since),null!=e.note&&(u[e.id]=e.note),e.is_spam_request&&_.add(e.id),null!=e.origin_application_id&&(h[e.id]=e.origin_application_id),e.user_ignored&&(E.add(e.id),e.type===l.eA$.PENDING_INCOMING&&A.add(e.id))}),R()},OVERLAY_INITIALIZE:function(e){for(let[t,n]of(o.clear(),N.clear(),e.relationships))C(t,n);R()},RELATIONSHIP_ADD:function(e){let t=o.get(e.relationship.id);C(e.relationship.id,e.relationship.type),null!=e.relationship.nickname&&(d={...d,[e.relationship.id]:e.relationship.nickname}),null!=e.relationship.since&&(c={...c,[e.relationship.id]:e.relationship.since}),null!=e.relationship.note&&(u={...u,[e.relationship.id]:e.relationship.note}),null!=e.relationship.originApplicationId&&(h={...h,[e.relationship.id]:e.relationship.originApplicationId}),e.relationship.isSpamRequest?_.add(e.relationship.id):_.delete(e.relationship.id),e.relationship.userIgnored?(E.add(e.relationship.id),e.relationship.type===l.eA$.PENDING_INCOMING?A.add(e.relationship.id):e.relationship.type===l.eA$.FRIEND&&A.delete(e.relationship.id)):(E.delete(e.relationship.id),A.delete(e.relationship.id)),R(),e.relationship.type===l.eA$.FRIEND&&t===l.eA$.PENDING_OUTGOING&&r.h.dispatch({type:"FRIEND_REQUEST_ACCEPTED",user:e.relationship.user})},RELATIONSHIP_REMOVE:function(e){O(e.relationship.id),null!=d[e.relationship.id]&&(d={...d},delete d[e.relationship.id]),null!=c[e.relationship.id]&&(c={...c},delete c[e.relationship.id]),null!=u[e.relationship.id]&&(u={...u},delete u[e.relationship.id]),null!=h[e.relationship.id]&&(h={...h},delete h[e.relationship.id]),e.relationship.userIgnored||E.delete(e.relationship.id),A.delete(e.relationship.id),_.delete(e.relationship.id),R()},RELATIONSHIP_UPDATE:function(e){let{relationship:t}=e;C(t.id,t.type),null==t.since?delete c[t.id]:c[t.id]=t.since,null==t.nickname?delete d[t.id]:d[t.id]=t.nickname,null==t.note?delete u[t.id]:u[t.id]=t.note,t.isSpamRequest?_.add(t.id):_.delete(t.id),null!=f[t.id]&&delete f[t.id],null==t.originApplicationId?delete h[t.id]:h[t.id]=t.originApplicationId,t.userIgnored?(E.add(t.id),t.type===l.eA$.PENDING_INCOMING&&A.add(t.id)):(E.delete(t.id),A.delete(t.id)),R()},RELATIONSHIP_PENDING_INCOMING_REMOVED:function(e){for(let e of o.keys())o.get(e)===l.eA$.PENDING_INCOMING&&(O(e),_.delete(e),A.delete(e),delete f[e]);R()},UPDATE_STRANGER_STATUS:function(e){f[e.userId]={expiry:Date.now()+3e5,isStranger:e.isStranger}}})}