Build 533169stable
Module 9842
4,201 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>k,a:()=>_}),n(321073);var r=n(635377),i=n.n(r),s=n(311907),a=n(73153),o=n(390248),l=n(141468),u=n(734057),c=n(320501),d=n(652215),_=function(e){return e[e.LOADED=0]="LOADED",e[e.NOT_LOADED=1]="NOT_LOADED",e[e.DELETED=2]="DELETED",e}({});let f=Object.freeze({state:1}),p=new Set;class h{_cachedMessages=new(i())({max:100,dispose:(e,t)=>this.handleCacheDisposed(e,t)});_cachedMessageIds=new Set;handleCacheDisposed(e,t){this._cachedMessageIds.has(e)&&(this._cachedMessageIds=new Set(this._cachedMessageIds),this._cachedMessageIds.delete(e))}set(e,t){this._cachedMessages.set(e,t),this._cachedMessageIds.has(e)||(this._cachedMessageIds=new Set(this._cachedMessageIds),this._cachedMessageIds.add(e))}has(e){return this._cachedMessageIds.has(e)}get(e){return this._cachedMessages.get(e)}getCachedMessageIds(){return this._cachedMessageIds}}class m{_channelCaches=new Map;has(e,t){return this._channelCaches.get(e)?.has(t)??!1}get(e,t){return this._channelCaches.get(e)?.get(t)}set(e,t,n){let r=this._channelCaches.get(e);null==r&&(r=new h,this._channelCaches.set(e,r)),r.set(t,n)}updateExistingMessageIfCached(e){let t=this._channelCaches.get(e.channel_id);return null!=t&&!!t.has(e.id)&&(t.set(e.id,{state:0,message:(0,l.rh)(e)}),!0)}deleteChannelCache(e){return this._channelCaches.delete(e)}retainWhere(e){let t=[];for(let[n]of this._channelCaches)e(n)||t.push(n);for(let e of t)this.deleteChannelCache(e);return t.length}getCachedMessageIdsForChannel(e){let t=this._channelCaches.get(e);return null==t?null:t.getCachedMessageIds()}clear(){this._channelCaches.clear()}}let E=new m;function g(e){let t=!1;if(E.updateExistingMessageIfCached(e)&&(t=!0),d.sl8.has(e.type)){let n=e.message_reference;if(null==n)return t;let r=n.message_id;if(null==r)return t;if("referenced_message"in e){let t=e.referenced_message;null!=t?(E.set(t.channel_id,t.id,{state:0,message:(0,l.rh)(t)}),e.type===d.lAJ.THREAD_STARTER_MESSAGE&&g(t)):E.set(e.channel_id,r,{state:2})}else{let e=c.A.getMessage(n.channel_id,r);null!=e?E.set(n.channel_id,r,{state:0,message:e}):E.set(n.channel_id,r,f)}t=!0}return t}function A(e,t){let n=!1;for(let r of e)n=!1!==t(r)||n;return n}function I(e){let{messages:t}=e;return A(t,e=>g(e))}function T(e){let{messages:t}=e;return A(Object.values(t),e=>A(Object.values(e),e=>g(e)))}function S(e){let{data:t}=e;return A(t,e=>{let{messages:t}=e;return A(t,e=>A(e,e=>g(e)))})}function y(e){let{message:t}=e;return!!c.A.getMessages(t.channel_id).ready&&g(t)}function v(e){let{messageId:t,channelId:n}=e;if(!E.has(n,t))return!1;let r=E.get(n,t);if(null==r||0!==r.state)return!1;E.set(n,t,{state:0,message:(0,o.Td)(r.message)})}function N(e){let{message:t}=e,n=t.id,r=t.channel_id;if(!E.has(r,n))return!1;let i=E.get(r,n);if(null==i||0!==i.state)return!1;E.set(r,n,{state:0,message:(0,l.IU)(i.message,t)})}function C(e){return E.deleteChannelCache(e.channel.id)}function R(){if(0===E.retainWhere(e=>null!=u.A.getChannel(e)))return!1}function O(e,t){if(!E.has(e,t))return!1;E.set(e,t,{state:2})}function b(e){let{id:t,channelId:n}=e;return O(n,t)}function D(e){let{ids:t,channelId:n}=e;return A(t,e=>O(n,e))}function L(e){let{message:t}=e;E.set(t.channel_id,t.id,{state:0,message:t})}function w(){E.clear()}function M(e){let{firstMessages:t}=e;return null!=t&&A(t,e=>g(e))}function P(e){let{threads:t}=e;return A(Object.values(t),e=>{let{first_message:t}=e;return null!=t&&g(t)})}class x extends s.Ay.Store{static displayName="ReferencedMessageStore";initialize(){this.waitFor(c.A,u.A)}getMessageByReference(e){let t;return null!=e&&(t=E.get(e.channel_id,e.message_id)),t??f}getMessage(e,t){return E.get(e,t)??f}getReplyIdsForChannel(e){let t;return null!=e&&(t=E.getCachedMessageIdsForChannel(e)),t??p}}let k=new x(a.h,{CACHE_LOADED:T,LOCAL_MESSAGES_LOADED:I,LOAD_MESSAGES_SUCCESS:I,LOAD_MESSAGES_AROUND_SUCCESS:I,SEARCH_MESSAGES_SUCCESS:S,MOD_VIEW_SEARCH_MESSAGES_SUCCESS:S,LOAD_THREADS_SUCCESS:M,LOAD_ARCHIVED_THREADS_SUCCESS:M,MESSAGE_EXPLICIT_CONTENT_SCAN_TIMEOUT:v,LOAD_FORUM_POSTS:P,MESSAGE_CREATE:y,MESSAGE_UPDATE:N,MESSAGE_DELETE:b,MESSAGE_DELETE_BULK:D,CREATE_PENDING_REPLY:L,CHANNEL_DELETE:C,THREAD_DELETE:C,GUILD_DELETE:R,CONNECTION_OPEN:w,LOGOUT:w})}