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