UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

68 lines (66 loc) 2.39 kB
"use strict"; let __sapphire_result = require("@sapphire/result"); //#region src/lib/utils/preconditions/conditions/PreconditionConditionOr.ts /** * An {@link IPreconditionCondition} which runs all containers similarly to doing (V0 || V1 [|| V2 [|| V3 ...]]). * @since 1.0.0 */ const PreconditionConditionOr = { async messageSequential(message, command, entries, context) { let error = null; for (const child of entries) { const result = await child.messageRun(message, command, context); if (result.isOk()) return result; error = result; } return error ?? __sapphire_result.Result.ok(); }, async messageParallel(message, command, entries, context) { const results = await Promise.all(entries.map((entry) => entry.messageRun(message, command, context))); let error = null; for (const result of results) { if (result.isOk()) return result; error = result; } return error ?? __sapphire_result.Result.ok(); }, async chatInputSequential(interaction, command, entries, context) { let error = null; for (const child of entries) { const result = await child.chatInputRun(interaction, command, context); if (result.isOk()) return result; error = result; } return error ?? __sapphire_result.Result.ok(); }, async chatInputParallel(interaction, command, entries, context) { const results = await Promise.all(entries.map((entry) => entry.chatInputRun(interaction, command, context))); let error = null; for (const result of results) { if (result.isOk()) return result; error = result; } return error ?? __sapphire_result.Result.ok(); }, async contextMenuSequential(interaction, command, entries, context) { let error = null; for (const child of entries) { const result = await child.contextMenuRun(interaction, command, context); if (result.isOk()) return result; error = result; } return error ?? __sapphire_result.Result.ok(); }, async contextMenuParallel(interaction, command, entries, context) { const results = await Promise.all(entries.map((entry) => entry.contextMenuRun(interaction, command, context))); let error = null; for (const result of results) { if (result.isOk()) return result; error = result; } return error ?? __sapphire_result.Result.ok(); } }; //#endregion exports.PreconditionConditionOr = PreconditionConditionOr; //# sourceMappingURL=PreconditionConditionOr.cjs.map