Module 240525

2,658 characters · in no known chunk
Dependencies
Required by (3)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{Ay:()=>x});var r=n(734057),i=n(498642),s=n(536802),a=n(309010),o=n(753027),l=n(447508),u=n(383682),c=n(27548),d=n(363433),_=n(552618),f=n(879658);let p=750,h=15,m=500,E=25,g=25,A=1,I=null,T=new l.o(p,m),S=new u.K(h),y=!1;class v extends s.A{static displayName="SaveableChannelsStore";static LATEST_SNAPSHOT_VERSION=1;constructor(){super({CACHE_LOADED_LAZY_NO_CACHE:P,CACHE_LOADED_LAZY:()=>this.loadCache(),CHANNEL_DELETE:b,CHANNEL_UPDATES:O,CONNECTION_OPEN_SUPPLEMENTAL:C,GUILD_DELETE:w,LOGIN_SUCCESS:M,THREAD_DELETE:L,THREAD_UPDATE:D})}initialize(){this.waitFor(r.A),this.waitFor(a.A),this.waitFor(i.A),this.syncWith([o.A],()=>!0),this.syncWith([a.A],N)}loadCache(){let e=this.readSnapshot(v.LATEST_SNAPSHOT_VERSION);null!=e&&(y=!0,v.mergeSnapshot(e))}canEvictOrphans(){return y}saveLimit(e){let t=r.A.getBasicChannel(e);return null!=t&&(0,d.Z)(t)?E:null!=t&&(a.A.getChannelId()===e||T.has(e))?g:A}getSaveableChannels(){let e=r.A.getChannelIds(null).map(e=>({guildId:null,channelId:e}));return o.A.isLowDisk?null!=I?[...e,I]:e:[...e,...T.values()]}takeSnapshot(){return{version:v.LATEST_SNAPSHOT_VERSION,data:{channels:[...T.allValues()].filter(e=>!e.fallback),penalized:[...S.keys()],lastChannel:I}}}static mergeSnapshot(e){let t=T,n=S;for(let n of(T=new l.o(T.primaryCapacity,T.extendedCapacity),S=new u.K(S.capacity),I=I??e.lastChannel,[e.channels,t.values()]))for(let e of n)e.fallback||T.put(e.channelId,e);for(let t of[e.penalized,n.keys()])for(let e of t)S.put(e,null)}static recordChannel(e){let t=r.A.getBasicChannel(e);if(null!=t&&(0,_.c)(t)){let n={guildId:t.guild_id??null,channelId:e,channelType:t.type};I=n,T.put(e,n),(0,c.qA)(t)&&null!=S.put(e,null)&&T.delete(e)}}static deleteChannel(e){T.delete(e)}static deleteGuild(e){for(let t of T.allValues())t.guildId===e&&T.delete(t.channelId)}static dropUnreachableChannels(){for(let e of T.keys()){let t=r.A.getBasicChannel(e);(0,_.c)(t)||v.deleteChannel(e)}}static deleteUnreadableGuildChannels(e){for(let t of T.values())e!==t.guildId||(0,_.J)(t.channelId)||v.deleteChannel(t.channelId)}static replaceLru(e){T=e}}function N(){let e=a.A.getChannelId();null!=e&&v.recordChannel(e)}function C(){v.dropUnreachableChannels(),v.replaceLru((0,f.I)(T,p+m))}function R(e){let t=e.id,n=(0,_.c)(e),r=a.A.getChannelId();n&&t===r&&v.recordChannel(t),n||v.deleteChannel(t)}function O(e){for(let t of e.channels)R(t)}function b(e){v.deleteChannel(e.channel.id)}function D(e){R(e.channel)}function L(e){v.deleteChannel(e.channel.id)}function w(e){return!e.guild.unavailable&&(v.deleteGuild(e.guild.id),!0)}function M(e){T.clear(),S.clear(),y=!1}function P(e){y=!0}let x=new v}