import {pito} from 'pito'; export enum Furniture { Induction = 0, Microwave = 1, AirConditioner = 2, WashingMachine = 3, TV = 4, Closet = 5, Bed = 6, Table = 7, ShoeCloset = 8, Bidet = 9, Stove = 10, Refrigerator = 11, ElectronicDoorLock = 12, } export function packingFurniture(...furnitures: Furniture[]): bigint { return furnitures.reduce( (acc, curr) => acc | (1n << BigInt(curr)), 0n, ); } export function unpackingFurniture(furnitures: bigint | string | number): Furniture[] { const data = typeof furnitures === 'bigint' ? furnitures : BigInt(furnitures); return [...Array(64).keys()].filter((v) => ((data >> BigInt(v)) & 1n) === 1n).map((v) => v as Furniture); } // export const FurnitureDefine = pito.Enums(Furniture); export enum Heating { Central = 0, Local = 1, Individual = 2, } export const HeatingDefine = pito.Enums(Heating);