Build 618874stable
Module 994500
5,746 characters · in no known chunkDependencies
Required by (224)
3921310204652459429293298143316433358341623775646823471674767550820595376191663238639956474981437824988766488073918689541495561102853112753116058119031121063123917131882135635145530149741151203158956160330168457176154181622185657187654190457191701193738212737215530216599217424218785219317224868230797232835234957236834239211247933249790251632252431252726254828262797268719279182280157282108284675288539297334302557304578308726310031320095323350325909327166333189350527352043353428355998359762362790373397376728383448387755394871399476399893406595409686411986419341419534427358433880436405438653438692450827451310451909452015461715464035468389473511479975484734492385496879507104510461511144514581517381518769521376534148539895541712542308552258554601555067557740562153565860566396570287571964573163573355577593578434584777588158588857591840592329594831595623605691614584614662624044629016655098659280677420684343685961688438707335708653709779713132715069723690727584729398732755735547738876739174741812743361754744758873763754767675778572799061800828802842803664803977806621806911808261808728810181818550821269822382826320831688832910844789849205860603861464868918870391877133886235889460910463912309918192921955931481933024936449943577946228958720963027963765966833969632970309975134978263983161985110987741988903
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>U});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,g=0,m={friends:void 0,blocked:void 0,ignored:void 0,blockedOrIgnored:void 0},S=new Set;function N(e){e===l.eA$.FRIEND?S.add("friends"):e===l.eA$.BLOCKED&&(S.add("blocked"),S.add("ignored"),S.add("blockedOrIgnored"))}function C(){S.add("ignored"),S.add("blockedOrIgnored")}function O(){S.add("friends"),S.add("blocked"),S.add("ignored"),S.add("blockedOrIgnored")}function R(){for(let e of S)m[e]=void 0;S.clear()}function L(e){E.has(e)||(E.add(e),C())}function y(e){E.delete(e)&&C()}let D=new Map;function v(e,t){let n=o.get(e);if(n===t)return;null!=n&&D.get(n)?.delete(e),o.set(e,t);let i=D.get(t);null!=i?i.add(e):D.set(t,new Set([e])),N(n),N(t)}function b(e){let t=o.get(e);null!=t&&(o.delete(e),D.get(t)?.delete(e),N(t))}function M(){T=_.size,g=A.size,p=Math.max((D.get(l.eA$.PENDING_INCOMING)?.size??0)-T-g,0),I++}class P 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 g}getOutgoingCount(){return D.get(l.eA$.PENDING_OUTGOING)?.size??0}getFriendCount(){return D.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==m.friends&&(m.friends=Array.from(D.get(l.eA$.FRIEND)??[])),m.friends}getBlockedIDs(){return null==m.blocked&&(m.blocked=Array.from(D.get(l.eA$.BLOCKED)??[])),m.blocked}getIgnoredIDs(){return null==m.ignored&&(m.ignored=Array.from(E.values()).filter(e=>this.isIgnored(e))),m.ignored}getBlockedOrIgnoredIDs(){if(null==m.blockedOrIgnored){let e=new Set(E),t=D.get(l.eA$.BLOCKED);if(null!=t)for(let n of t)e.add(n);m.blockedOrIgnored=e}return m.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 U=new P(r.h,{CONNECTION_OPEN:function(e){o.clear(),D.clear(),d={},c={},u={},E.clear(),_.clear(),A.clear(),O(),h={},f={},e.relationships.forEach(e=>{v(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&&(L(e.id),e.type===l.eA$.PENDING_INCOMING&&A.add(e.id))}),R(),M()},OVERLAY_INITIALIZE:function(e){for(let[t,n]of(o.clear(),D.clear(),O(),e.relationships))v(t,n);R(),M()},RELATIONSHIP_ADD:function(e){let t=o.get(e.relationship.id);v(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?(L(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)):(y(e.relationship.id),A.delete(e.relationship.id)),R(),M(),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){b(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||y(e.relationship.id),A.delete(e.relationship.id),_.delete(e.relationship.id),R(),M()},RELATIONSHIP_UPDATE:function(e){let{relationship:t}=e;v(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?(L(t.id),t.type===l.eA$.PENDING_INCOMING&&A.add(t.id)):(y(t.id),A.delete(t.id)),R(),M()},RELATIONSHIP_PENDING_INCOMING_REMOVED:function(e){for(let e of o.keys())o.get(e)===l.eA$.PENDING_INCOMING&&(b(e),_.delete(e),A.delete(e),delete f[e]);R(),M()},UPDATE_STRANGER_STATUS:function(e){f[e.userId]={expiry:Date.now()+3e5,isStranger:e.isStranger}}})}