Change check for array/number, and fix docs

This commit is contained in:
Schuyler Cebulskie
2017-03-21 02:53:08 -04:00
parent 245bd91101
commit 58068fdae9

View File

@@ -8,10 +8,10 @@ const Constants = require('../util/Constants');
class Permissions {
/**
* @param {GuildMember} [member] Member the permissions are for **(deprecated)**
* @param {number|PermissionResolvable[]} bitfield Permissions or bitfield to read from
* @param {number|PermissionResolvable[]} permissions Permissions or bitfield to read from
*/
constructor(member, bitfield) {
bitfield = typeof member === 'object' && !(member instanceof Array) ? bitfield : member;
constructor(member, permissions) {
permissions = typeof member === 'object' && !(member instanceof Array) ? permissions : member;
/**
* Member the permissions are for
@@ -24,7 +24,7 @@ class Permissions {
* Bitfield of the packed permissions
* @type {number}
*/
this.bitfield = bitfield instanceof Array ? this.constructor.resolve(bitfield) : bitfield;
this.bitfield = typeof permissions === 'number' ? permissions : this.constructor.resolve(permissions);
}
/**
@@ -149,8 +149,8 @@ class Permissions {
/**
* Resolves permissions to their numeric form.
* @param {PermissionResolvable|Permissions[]} permission - Permission(s) to resolve
* @returns {number|number[]}
* @param {PermissionResolvable|PermissionResolvable[]} permission - Permission(s) to resolve
* @returns {number}
*/
static resolve(permission) {
if (permission instanceof Array) return permission.map(p => this.resolve(p)).reduce((prev, p) => prev | p, 0);