* Add new method Permissions#any
* Update src/util/BitField.js
This is much better
Co-Authored-By: bdistin <bdistin@gmail.com>
* Remove unreachable code
* Gotta keep the linter happy
* Apply bdistin suggested change to both methods
* 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
* add Permissions.toArray()
* accept Permissions objects to Permissions.missing()
* accept Permissions as parameter to Permissions.has()
* style fixes
* remove redundant line, update JSDoc for Permission.resolve()
* JSDoc, style, and checkAdmin fixes
* add Permissions.resolveToObject()
* accept PermissionResolvable to Permissions.missing()
* remove `resolveToObject`, fix constructor JSDoc
* remove redundant parameter type
* fix `Permissions.missing()`
* fix checkAdmin
* update Permissions.toArray() description
* eliminate ambiguity in Permissions.toArray() description
* add backticks to permission example
* remove irrelevant type in Permission ctor description
* use this.constructor to properly support OOP
* use simplified approach for Permissions.toArray()
* fix return type on Permissions.toArray()
* move `Permissions#toArray` to more suitable position
* bitwise approach to `Permissions#missing`
* allow `Permissions` to be iterated over
* don't checkAdmin on return array
* remove unnecessary conditional
* fix JSDoc indentation
* use simpler & more reliable approach for missing()
* update PermissionResolvable typedef
* fix Permissions.add/remove, by completely changing what they do
* permissions cleanup
Removes overwrite._denied and overwrite._allowed in favor of overwrite.denied.bitfield and overwrite.allowed.bitfield
uses the modified Permissions.add and Permissions.remove to clean up existing code
fixes GuildMember.missingPermissions
changes Permissions add/remove to reverse loops for speed, changes resolve to allow the number 0 as a valid permission.
* Revert createChannel overwrite.allow / overwrite.deny for arrays of {allow:bitfield, deny:bitfield}
Documentation should be improved here, although I would need advice. I believe a overwrite object typedef is needed, to show the structure of the object, and also include that collections may be used for this, rather than arrays.
* api router fix for overwritePermissions
* add Permissions.freeze, and change all returned Permissions to immutable instances
* Make Permissions a permission resolveable
change role.permissions to be an instance of Permissions
* Make permissions.add/remove return a new instance if the instance is frozen
* Fix invalid error
* Update GuildChannel.js
* Update Guild.js
* fix bad merge