// 관리비 타입(체크박스 = 01:협의가능, 02:관리비없음) export enum AdminExpensesType { Discussion = '0', NoFee = '1', } // 관리비 항목(다중선택 = 01:인터넷, 02:유선TV, 03:청소비, 04:수도세, 05:도시가스, 06:전기세, 07:기타) export enum AdminExpensesKind { Internet = 1, TV = 2, Cleaning = 3, Water = 4, Gas = 5, Electricity = 6, Etc = 7 } export function packingAdminExpensesKind(...furnitures: AdminExpensesKind[]): bigint { return furnitures.reduce( (acc, curr) => acc | (1n << BigInt(curr)), 0n, ); } export function unpackingAdminExpensesKind(furnitures: bigint): AdminExpensesKind[] { return [...Array(64).keys()].filter((v) => ((furnitures >> BigInt(v)) & 1n) === 1n).map((v) => v as AdminExpensesKind); } //