fix: bitfield resolve (#244)

This commit is contained in:
Marcos Susaña 2024-08-19 11:12:19 -04:00 committed by GitHub
parent 441b980f0a
commit ca390bd47a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 2 deletions

View File

@ -4,10 +4,10 @@ export class BitField<T extends object> {
static None = 0n;
Flags: Record<string, bigint> = {};
private bit: bigint;
protected bit: bigint = BitField.None;
constructor(bitfields?: BitFieldResolvable<T>) {
this.bit = this.resolve(bitfields);
if (bitfields) this.bit = this.resolve(bitfields);
}
set bits(bits: BitFieldResolvable<T>) {

View File

@ -6,6 +6,11 @@ export class PermissionsBitField extends BitField<typeof PermissionFlagsBits> {
Flags = PermissionFlagsBits;
static All = Object.values(PermissionFlagsBits).reduce((acc, value) => acc | value, 0n);
constructor(bitfields?: BitFieldResolvable<typeof PermissionFlagsBits>) {
super();
if (bitfields) this.bit = this.resolve(bitfields);
}
declare keys: (bits?: BitFieldResolvable<typeof PermissionFlagsBits>[]) => PermissionStrings;
has(...bits: BitFieldResolvable<typeof PermissionFlagsBits>[]) {