From 630be18ae95b365b03462d4b0442f6a08564686e Mon Sep 17 00:00:00 2001 From: Yuzu Date: Tue, 6 Sep 2022 20:40:50 -0500 Subject: [PATCH] feat: add utility to reduce permissions --- packages/core/src/structures/special/permissions.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/core/src/structures/special/permissions.ts b/packages/core/src/structures/special/permissions.ts index c7c9f7c..5e02684 100644 --- a/packages/core/src/structures/special/permissions.ts +++ b/packages/core/src/structures/special/permissions.ts @@ -112,6 +112,12 @@ export class Permissions implements BitField { } } + static reduce(permissions: PermissionResolvable[]): Permissions { + const solved = permissions.map(Permissions.resolve); + + return new Permissions(solved.reduce((y, x) => y | x, Permissions.None)); + } + *[Symbol.iterator]() { yield* this.array; }