refactor(BitField): reverse iterator/toArray responsibilities (#9118)

refactor(BitField): reverse iterator/toArray responsabilities
This commit is contained in:
Almeida
2023-02-17 19:40:10 +00:00
committed by GitHub
parent b8684e0585
commit f70df910ed

View File

@@ -127,7 +127,7 @@ class BitField {
* @returns {string[]} * @returns {string[]}
*/ */
toArray(...hasParams) { toArray(...hasParams) {
return Object.keys(this.constructor.Flags).filter(bit => this.has(bit, ...hasParams)); return [...this[Symbol.iterator](...hasParams)];
} }
toJSON() { toJSON() {
@@ -138,8 +138,10 @@ class BitField {
return this.bitfield; return this.bitfield;
} }
*[Symbol.iterator]() { *[Symbol.iterator](...hasParams) {
yield* this.toArray(); for (const bitName of Object.keys(this.constructor.Flags)) {
if (this.has(bitName, ...hasParams)) yield bitName;
}
} }
/** /**