From 6da423fc072a6899ea357e2d72444fdd1a619389 Mon Sep 17 00:00:00 2001 From: Lewdcario Date: Wed, 8 Aug 2018 22:17:08 -0500 Subject: [PATCH] backport: Permissions#toArray --- src/util/Permissions.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/util/Permissions.js b/src/util/Permissions.js index e6929e209..1b7123189 100644 --- a/src/util/Permissions.js +++ b/src/util/Permissions.js @@ -155,6 +155,15 @@ class Permissions { return this.missing(permissions, !explicit); } + /** + * Gets an {@link Array} of permission names (such as `VIEW_CHANNEL`) based on the permissions available. + * @param {boolean} [checkAdmin=true] Whether to allow the administrator permission to override + * @returns {string[]} + */ + toArray(checkAdmin = true) { + return Object.keys(this.constructor.FLAGS).filter(perm => this.has(perm, checkAdmin)); + } + /** * Freezes these permissions, making them immutable. * @returns {Permissions} These permissions