Module 384684

2,127 characters · in no known chunk
Dependencies
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>R});var r=n(311907),i=n(73153),s=n(260509),a=n(34457),o=n(696451),l=n(317525),u=n(71393),c=n(287809),d=n(98318),_=n(652215);let f=new Set,p=new Map,h=new Map,m=new Map,E=new Map,g=null;function A(e){let t=c.default.getCurrentUser(),n=u.A.getGuild(e);if(null==n||null==t)return!1;let r=new Set,i=new Set,f=new Set;if(E.set(e,(0,s.bM)(n,t)),n.features.has(_.GuildFeatures.ROLE_SUBSCRIPTIONS_ENABLED)){let s=o.Ay.getMember(e,t.id),u=new Set(s?.roles??[]);for(let t of l.A.getSortedRoles(n.id))(0,d.U)(t)&&(r.add(t.id),(0,d.X)(t)&&(i.add(t.id),u.has(t.id)&&f.add(t.id))),u.has(t.id)&&(0,a._m)(t,_.xBc.ADMINISTRATOR)&&E.set(e,!0)}return p.set(e,r),m.set(e,f),h.set(e,i),!0}function I(){let e=u.A.getGuildsArray(),t=new Set;for(let n of e)n.features.has(_.GuildFeatures.ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE)&&t.add(n.id);return g=t,t}function T(){p.clear(),m.clear(),h.clear(),E.clear(),g=null}function S(e){let{guild:{id:t}}=e;if(g?.has(t)!==!0)return!1;let n=new Set(g);n.delete(t),g=n}function y(e){let{guild:{id:t}}=e;if(null==g)return!1;let n=u.A.getGuild(t);if(null==n)return!1;let r=n.features.has(_.GuildFeatures.ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE);if(r&&!g.has(t)){let e=new Set(g);return e.add(t),g=e,!0}if(!r&&g.has(t)){let e=new Set(g);return e.delete(t),g=e,!0}return!1}function v(e){let{guildId:t}=e;return!!p.has(t)&&A(t)}function N(e){let{guildId:t,user:n}=e,r=c.default.getCurrentUser();return!!(n.id===r?.id&&p.has(t))&&A(t)}class C extends r.Ay.Store{static displayName="SubscriptionRoleStore";initialize(){this.waitFor(u.A,l.A,c.default,o.Ay)}getGuildIdsWithPurchasableRoles(){return null==g?I():g}buildRoles(e){p.has(e)||A(e)}getSubscriptionRoles(e){return this.buildRoles(e),p.get(e)??f}getPurchasableSubscriptionRoles(e){return this.buildRoles(e),h.get(e)??f}getUserSubscriptionRoles(e){return this.buildRoles(e),m.get(e)??f}getUserIsAdmin(e){return this.buildRoles(e),E.get(e)??!1}}let R=new C(i.h,{CONNECTION_OPEN:T,LOGOUT:T,GUILD_CREATE:y,GUILD_DELETE:S,GUILD_UPDATE:y,GUILD_ROLE_CREATE:v,GUILD_ROLE_UPDATE:v,GUILD_ROLE_DELETE:v,GUILD_MEMBER_UPDATE:N})}