mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
* abstract BitField from Permissions * reduce useless code, improve docs * add a ReadOnly identifier to the return type of Bitfield#freeze() https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-1.html#partial-readonly-record-and-pick * fix the RangeError * update docs, convert Speaking and ActivityFlags to bitfields * fix some docs * Fix Speaking BitField oops * docs for oops * more incorrect docs * Fix incorrectly named property * add new classes to index * fix missing @extends docs * default bitfield resolve to 0, and cleanup defaulting everywhere Also removes GuildMember#missiongPermissions() alias that had incorrect behavior * Breaking: Rename Overwrite allowed and denied to allow and deny To be consistent with the api's naming * fix setSpeaking usage to bitfields instead of booleans * fix speaking bug in playChunk * docs: Updated typings * fix: BitFieldResolvable should use RecursiveArray * bugfix/requested change * typings: Cleanup (#2) * typings: Fix BitField#{toArray,@@iterator} output type * typings: correct PermissionOverwrites property names and nitpicks
27 lines
776 B
JavaScript
27 lines
776 B
JavaScript
const Permissions = require('../../util/Permissions');
|
|
const Collection = require('../../util/Collection');
|
|
|
|
module.exports = function resolvePermissions(overwrites) {
|
|
if (overwrites instanceof Collection || overwrites instanceof Array) {
|
|
overwrites = overwrites.map(overwrite => {
|
|
const role = this.guild.roles.resolve(overwrite.id);
|
|
if (role) {
|
|
overwrite.id = role.id;
|
|
overwrite.type = 'role';
|
|
} else {
|
|
overwrite.id = this.client.users.resolveID(overwrite.id);
|
|
overwrite.type = 'member';
|
|
}
|
|
|
|
return {
|
|
allow: Permissions.resolve(overwrite.allow),
|
|
deny: Permissions.resolve(overwrite.deny),
|
|
type: overwrite.type,
|
|
id: overwrite.id,
|
|
};
|
|
});
|
|
}
|
|
|
|
return overwrites;
|
|
};
|