Module 711014

5,304 characters · in no known chunk
Dependencies
Source Raw
function(e,t,n){"use strict";let i;n.d(t,{Ay:()=>V}),n(321073);var r=n(812729),s=n.n(r),a=n(284009),o=n.n(a),l=n(212455),u=n(263715),c=n(857071),d=n(617617),_=n(583613),f=n(403362),h=n(383394),p=n(919638),E=n(696451),m=n(71393),g=n(536802),A=n(543465),I=n(287809);let T=new u.zF;function S(e){switch(e.type){case u.PJ.FOLDER:return{folderId:e.id,folderName:e.name,folderColor:e.color,expanded:e.expanded,guildIds:e.children.map(e=>e.id)};case u.PJ.GUILD:return{folderId:void 0,guildIds:[e.id]};default:throw Error("[SortedGuildStore] Unexpected guilds tree node type.")}}function N(e,t){let n=T;if(T=new u.zF,0===e.length&&t.length>0)for(let e of t)T.addNode((0,u.EL)(e));else for(let t of e)if(0!==t.guildIds.length)if(null==t.folderId)T.addNode((0,u.EL)(t.guildIds[0]));else{let e=(0,u.xW)(t,void 0,h.A.isFolderExpanded(t.folderId));for(let n of(T.addNode(e),t.guildIds))T.addNode((0,u.EL)(n),e)}for(let e of T.allNodes())e.type===u.PJ.GUILD&&(c.A.isLurking(e.id)||E.Ay.isCurrentUserGuest(e.id)||null==m.A.getGuild(e.id)&&!p.A.isUnavailable(e.id))&&T.removeNode(e);for(let e of Object.values(T.nodes))e.type===u.PJ.FOLDER&&0===e.children.length&&T.removeNode(e);for(let e of m.A.getGuildIds()){let t,n;t=e,null!=T.nodes[t]||c.A.isLurking(e)||E.Ay.isCurrentUserGuest(e)||(n=e,T.addNode((0,u.EL)(n),T.root,!1))}T.version=n.version;let i=s()(n,T);return i?T=n:T.version=n.version+1,!i}function y(){return N(d.A.getGuildFolders()??[],d.A.settings.guildFolders?.guildPositions??[])}function C(){let e=d.A.getGuildFolders();return!(null!=i&&s()(i,e))&&N((i=e)??[],d.A.settings.guildFolders?.guildPositions??[])}function v(e){let{sourceId:t,targetId:n,moveToBelow:i,combine:r}=e,s=T.getNode(t),a=T.getNode(n);if(null==s||null==a)return!1;if(o()(!(r&&s.type===u.PJ.FOLDER),`[SORTED GUILDS] Can't combine a folder ${s.id} with another guilds list item`),o()(!(r&&null!=a.parentId),`[SORTED GUILDS] Can't combine with a guild ${a.id} that's already inside of a folder`),o()(s.type!==u.PJ.FOLDER||null==a.parentId,`[SORTED GUILDS] Can't move a folder ${s.id} to inside of another folder ${a.parentId}`),r){let e=a.type!==u.PJ.FOLDER?T.convertToFolder(a):a;T.moveInto(s,e,i)}else T.moveNextTo(s,a,i)}function O(e){let{sourceIds:t,name:n}=e,i=t.shift();if(null==i)return!1;let r=T.getNode(i);if(null==r)return!1;let s=T.convertToFolder(r);s.name=n,t.forEach(e=>{let t=T.getNode(e);null!=t&&T.moveInto(t,s,!0)})}function R(e){let{targetId:t,sourceIds:n,...i}=e,r=T.getNode(t);if(null==r||r.type!==u.PJ.FOLDER)return!1;let s=""===i.name?void 0:i.name;if(s!==r.name){let e=T.cloneNode(r);o()(e.id===r.id,"[SORTED GUILDS] Replacement folder node must have same id."),e.name=s,T.replaceNode(r,e)}let a=T.getNode(t);if(null==a)return!1;let l=a.children.map(e=>e.id).filter(f.Vq),c=new Set(l),d=new Set(n),_=new Set([...l].filter(e=>!d.has(e)));n.filter(e=>!c.has(e)).forEach(e=>{let t=T.getNode(e);null!=t&&T.moveInto(t,a,!0)}),_.forEach(e=>{let t=T.getNode(e);null!=t&&T.moveNextTo(t,a,!0)})}function b(e){let{targetId:t}=e,n=T.getNode(t);if(null==n||n.type!==u.PJ.FOLDER)return!1;n.children.map(e=>e.id).filter(f.Vq).forEach(e=>{let t=T.getNode(e);null!=t&&T.moveNextTo(t,n,!0)})}function D(e){let{guildId:t,joinedAt:n,user:i}=e,r=I.default.getCurrentUser(),s=m.A.getGuild(t);if(r?.id!==i.id||null==s)return!1;let a="string"==typeof n?new Date(n):n;return a!==s.joinedAt&&null!=a&&y()}function L(e){let{folderId:t}=e,n=T.getNode(t),i=h.A.isFolderExpanded(t);if(null==n||n.type!==u.PJ.FOLDER||n.expanded===i)return!1;P(n,i)}function w(e){let{folderId:t,expanded:n}=e,i=T.getNode(t);if(null==i||i.type!==u.PJ.FOLDER||i.expanded===n)return!1;P(i,n)}function M(){for(let e of T.allNodes())e.type===u.PJ.FOLDER&&e.expanded&&P(e,!1)}function P(e,t){let n=T.cloneNode(e);o()(n.id===e.id,"[SORTED GUILDS] setNodeExpanded: Replacement folder node must have same id."),n.expanded=t,T.replaceNode(e,n)}let x=(0,_.L_)((e,t)=>e.sortedGuildNodes().map(e=>e.id)),U=(0,_.L_)((e,t)=>e.getRoots().map(S)),k=(0,_.L_)((e,t)=>{let n=[];return!function e(t){switch(t.type){case u.PJ.FOLDER:case u.PJ.GUILD:n.push(t)}for(let n of t.children)e(n)}(e.root),n}),G=(0,_.L_)((e,t)=>e.root.children.map(S));class F extends g.A{static displayName="SortedGuildStore";static LATEST_SNAPSHOT_VERSION=2;constructor(){super({CONNECTION_OPEN:y,OVERLAY_INITIALIZE:y,CACHE_LOADED:()=>this.loadCache(),GUILD_CREATE:y,GUILD_DELETE:y,GUILD_MEMBER_ADD:D,USER_SETTINGS_PROTO_UPDATE:C,GUILD_MOVE_BY_ID:v,GUILD_FOLDER_CREATE_LOCAL:O,GUILD_FOLDER_EDIT_LOCAL:R,GUILD_FOLDER_DELETE_LOCAL:b,TOGGLE_GUILD_FOLDER_EXPAND:L,SET_GUILD_FOLDER_EXPANDED:w,GUILD_FOLDER_COLLAPSE:M})}initialize(){this.waitFor(m.A,A.Ay,d.A,p.A,c.A,h.A,l.A)}getGuildsTree(){return T}getGuildFolders(){return U(T,T.version)}getGuildFolderById(e){return this.getGuildFolders().find(t=>t.folderId===e)}getFlattenedGuildIds(){return x(T,T.version)}getFlattenedGuildFolderList(){return k(T,T.version)}getCompatibleGuildFolders(){return G(T,T.version)}getFastListGuildFolders(){return T.getRoots()}loadCache=()=>{let e=this.readSnapshot(F.LATEST_SNAPSHOT_VERSION),t=e?.tree;if(null!=t)for(let e of((T=new u.zF).loadSnapshot(t),T.allNodes()))e.type===u.PJ.FOLDER&&(e.expanded=h.A.isFolderExpanded(e.id))};takeSnapshot(){return{version:F.LATEST_SNAPSHOT_VERSION,data:{tree:T.getSnapshot()}}}}let V=new F}