diff --git a/src/model/types.ts b/src/model/types.ts index 33b1a98..e04f565 100644 --- a/src/model/types.ts +++ b/src/model/types.ts @@ -1,43 +1,48 @@ -export enum TimeUnit { - Minutes = "minutes", - Hours = "hours", - Days = "days", - Weeks = "weeks", - Months = "months", - Percent = "percent", -} +export const TimeUnit = { + Minutes: "minutes", + Hours: "hours", + Days: "days", + Weeks: "weeks", + Months: "months", + Percent: "percent", +} as const; +export type TimeUnit = (typeof TimeUnit)[keyof typeof TimeUnit]; -export enum RelationType { - FinishToStart = "FS", - StartToStart = "SS", - FinishToFinish = "FF", - StartToFinish = "SF", -} +export const RelationType = { + FinishToStart: "FS", + StartToStart: "SS", + FinishToFinish: "FF", + StartToFinish: "SF", +} as const; +export type RelationType = (typeof RelationType)[keyof typeof RelationType]; -export enum ResourceType { - Material = "Material", - Work = "Work", - Cost = "Cost", -} +export const ResourceType = { + Material: "Material", + Work: "Work", + Cost: "Cost", +} as const; +export type ResourceType = (typeof ResourceType)[keyof typeof ResourceType]; -export enum ConstraintType { - AsSoonAsPossible = "ASAP", - AsLateAsPossible = "ALAP", - MustStartOn = "MSO", - MustFinishOn = "MFO", - StartNoEarlierThan = "SNET", - StartNoLaterThan = "SNLT", - FinishNoEarlierThan = "FNET", - FinishNoLaterThan = "FNLT", -} +export const ConstraintType = { + AsSoonAsPossible: "ASAP", + AsLateAsPossible: "ALAP", + MustStartOn: "MSO", + MustFinishOn: "MFO", + StartNoEarlierThan: "SNET", + StartNoLaterThan: "SNLT", + FinishNoEarlierThan: "FNET", + FinishNoLaterThan: "FNLT", +} as const; +export type ConstraintType = (typeof ConstraintType)[keyof typeof ConstraintType]; -export enum Priority { - Lowest = 100, - Low = 250, - Medium = 500, - High = 750, - Highest = 1000, -} +export const Priority = { + Lowest: 100, + Low: 250, + Medium: 500, + High: 750, + Highest: 1000, +} as const; +export type Priority = (typeof Priority)[keyof typeof Priority]; export type { ProjectProperties } from "../schema/project.ts"; export type { WorkingTimeRange, CalendarWeekDay, CalendarException } from "../schema/calendar.ts";