import type { Privilege } from "@/types/models/privilege.type"; import type { RawPrivilege } from "./types"; export const validatePrivilege = (privilege: RawPrivilege): Error | null => { const typeValues: typeof privilege.type[] = ["count", "day", "full"]; if (!typeValues.includes(privilege.type)) { return new Error("invalid value"); } if (isNaN(Number(privilege.price))) { return new Error("price must be a number"); } return null; }; export const convertPrivilegiesToMap = (privilegies: Privilege[]) => { return privilegies.reduce>((accamulator, privilege) => { if (!accamulator[privilege.serviceKey]) { accamulator[privilege.serviceKey] = []; } accamulator[privilege.serviceKey].push(privilege); return accamulator; }, {}); };