package; import kiss.Prelude; import kiss.List; import kiss.Stream; import sys.io.File; import datetime.DateTime; enum EntryType { Daily(daysOfWeek:Array, lastDayDone:String); Interval(days:Int, lastDayDone:String); // -1 represents the last day of the month, and so on Monthly(daysOfMonth:Array, lastDayDone:String); Bonus; Todo; } typedef EntryLabel = { label:String, points:Int }; typedef Entry = { type: EntryType, labels: Array, }; typedef RewardFile = { path: String, startingPoints: Int }; @:build(kiss.Kiss.build()) class HabitModel {}