10 lines
344 B
TypeScript
10 lines
344 B
TypeScript
export const bitwiseEncode = (enumValues: number[]): number => {
|
|
return enumValues.reduce((acc, curr) => acc | curr, 0);
|
|
};
|
|
|
|
export const bitwiseDecode = (value: number, decodeEnum: object): number[] => {
|
|
const enumValues = Object.keys(decodeEnum).map(Number).filter(Boolean);
|
|
|
|
return enumValues.map((b) => value & b).filter(Boolean);
|
|
};
|