WIP updates

This commit is contained in:
Sacha Weatherstone
2022-11-27 22:50:46 +10:00
parent a9561fe622
commit e457cef3da
79 changed files with 2100 additions and 1284 deletions
+8 -2
View File
@@ -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);
};