// 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;