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