150 lines
4.2 KiB
TypeScript
150 lines
4.2 KiB
TypeScript
// Metro module 5016 (f5017).
|
|
import { DelayedCall } from "../../_bundle/Timeout";
|
|
import Module12 from "../../_bundle/Module12";
|
|
function $mk75223($env) {
|
|
return (a0) => {
|
|
const r1 = $env;
|
|
return (0, r1[1])(r1[0], a0);
|
|
};
|
|
}
|
|
class GuildMemberRequestState {
|
|
constructor(a0, a1) {
|
|
let env14540;
|
|
const r1 = env14540 = {};
|
|
env14540[0] = a0;
|
|
env14540[1] = a1;
|
|
const r11 = {
|
|
__proto__: new.target.prototype,
|
|
_pendingRequests: new Set(),
|
|
_sentRequests: null,
|
|
_unacknowledgedRequests: null
|
|
};
|
|
r11._sentRequests = new Set();
|
|
r11._unacknowledgedRequests = new Set();
|
|
r11._guildId = a0;
|
|
r11._guildMemberExists = $mk75223(r1);
|
|
return r11;
|
|
}
|
|
acknowledge(a0) {
|
|
this._unacknowledgedRequests.delete(a0);
|
|
this._pendingRequests.delete(a0);
|
|
}
|
|
flushRequests(a0) {
|
|
let c14541_0;
|
|
if (this._pendingRequests.size !== 0) {
|
|
const r5 = [];
|
|
c14541_0 = r5;
|
|
this._pendingRequests.forEach((_pendingRequest) => {
|
|
if (!this._guildMemberExists(_pendingRequest)) {
|
|
this._unacknowledgedRequests.add(_pendingRequest);
|
|
this._sentRequests.add(_pendingRequest);
|
|
c14541_0.push(_pendingRequest);
|
|
}
|
|
});
|
|
if (r5.length > 0) {
|
|
a0(this._guildId, r5);
|
|
}
|
|
this._pendingRequests.clear();
|
|
}
|
|
}
|
|
requestUnacknowledged() {
|
|
let r1 = this._unacknowledgedRequests.size !== 0;
|
|
if (r1) {
|
|
this._unacknowledgedRequests.forEach((_unacknowledgedRequest) => {
|
|
if (this._guildMemberExists(_unacknowledgedRequest)) {
|
|
this._unacknowledgedRequests.delete(_unacknowledgedRequest);
|
|
} else {
|
|
this._pendingRequests.add(_unacknowledgedRequest);
|
|
}
|
|
});
|
|
r1 = this._pendingRequests.size !== 0 && void 0;
|
|
}
|
|
return r1;
|
|
}
|
|
request(a0) {
|
|
if (!this._guildMemberExists(a0) && !this._sentRequests.has(a0) && !this._pendingRequests.has(a0)) {
|
|
this._pendingRequests.add(a0);
|
|
return void 0;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
class GuildMemberRequester {
|
|
_guildStates = {};
|
|
_flush = new DelayedCall(0, () => this.flushRequests());
|
|
constructor(a0, a1) {
|
|
this._guildMemberExists = a0;
|
|
this._onChange = a1;
|
|
}
|
|
reset() {
|
|
this._guildStates = {};
|
|
this._flush.cancel();
|
|
}
|
|
request(a0, a1) {
|
|
if (this._getGuildState(a0).request(a1) !== false) {
|
|
this._flush.delay(false);
|
|
}
|
|
}
|
|
acknowledge(a0, a1) {
|
|
this._getGuildState(a0).acknowledge(a1);
|
|
}
|
|
flushRequests() {
|
|
Module12.forEach(this._guildStates, (a0) => a0.flushRequests(this._onChange));
|
|
}
|
|
requestUnacknowledged() {
|
|
if (Module12.reduce(this._guildStates, (a0, a1) => a1.requestUnacknowledged() !== false || a0, false)) {
|
|
this._flush.delay();
|
|
}
|
|
}
|
|
_getGuildState(a0) {
|
|
let r11 = this._guildStates[a0];
|
|
if (r11 == null) {
|
|
const _guildStates = this._guildStates;
|
|
const _guildMemberExists = this._guildMemberExists;
|
|
let env14545;
|
|
const r15 = env14545 = {};
|
|
env14545[0] = a0;
|
|
env14545[1] = _guildMemberExists;
|
|
const r20 = {
|
|
__proto__: GuildMemberRequestState.prototype,
|
|
_pendingRequests: new Set(),
|
|
_sentRequests: null,
|
|
_unacknowledgedRequests: null
|
|
};
|
|
r20._sentRequests = new Set();
|
|
r20._unacknowledgedRequests = new Set();
|
|
r20._guildId = a0;
|
|
r20._guildMemberExists = $mk75223(r15);
|
|
_guildStates[a0] = r20;
|
|
r11 = r20;
|
|
}
|
|
return r11;
|
|
}
|
|
getDebugState(c14546_0) {
|
|
const pendingRequestGuildIds = [];
|
|
let c14546_1 = pendingRequestGuildIds;
|
|
const unacknowledgedRequestGuildIds = [];
|
|
let c14546_2 = unacknowledgedRequestGuildIds;
|
|
const sentRequestGuildIds = [];
|
|
let c14546_3 = sentRequestGuildIds;
|
|
Module12.forEach(this._guildStates, (a0) => {
|
|
const _pendingRequests = a0._pendingRequests;
|
|
if (_pendingRequests.has(c14546_0)) {
|
|
c14546_1.push(a0._guildId);
|
|
}
|
|
if (a0._unacknowledgedRequests.has(c14546_0)) {
|
|
c14546_2.push(a0._guildId);
|
|
}
|
|
if (a0._sentRequests.has(c14546_0)) {
|
|
c14546_3.push(a0._guildId);
|
|
}
|
|
});
|
|
return {
|
|
pendingRequestGuildIds,
|
|
unacknowledgedRequestGuildIds,
|
|
sentRequestGuildIds
|
|
};
|
|
}
|
|
}
|
|
export default GuildMemberRequester;
|