WIP updates
This commit is contained in:
@@ -1,9 +1,15 @@
|
||||
export interface enumLike {
|
||||
[key: number]: string | number;
|
||||
}
|
||||
|
||||
export const bitwiseEncode = (enumValues: number[]): number => {
|
||||
return enumValues.reduce((acc, curr) => acc | curr, 0);
|
||||
};
|
||||
|
||||
export const bitwiseDecode = (value: number, decodeEnum: object): number[] => {
|
||||
export const bitwiseDecode = (
|
||||
value: number,
|
||||
decodeEnum: enumLike
|
||||
): number[] => {
|
||||
const enumValues = Object.keys(decodeEnum).map(Number).filter(Boolean);
|
||||
|
||||
return enumValues.map((b) => value & b).filter(Boolean);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user