1
1
mirror of https://github.com/theoludwig/p61-project.git synced 2024-07-17 07:00:12 +02:00
p61-project/domain/entities/HabitsTracker.ts

28 lines
632 B
TypeScript
Raw Normal View History

import type { GoalFrequency } from "./Goal"
2024-03-16 00:36:44 +01:00
import type { HabitHistory } from "./HabitHistory"
2024-03-22 10:23:28 +01:00
export interface HabitsTrackerData {
habitsHistory: {
[key in GoalFrequency]: HabitHistory[]
}
2024-03-16 00:36:44 +01:00
}
2024-03-22 10:23:28 +01:00
export class HabitsTracker implements HabitsTrackerData {
public habitsHistory: HabitsTrackerData["habitsHistory"]
2024-03-16 00:36:44 +01:00
2024-03-22 10:23:28 +01:00
public constructor(options: HabitsTrackerData) {
2024-03-16 00:36:44 +01:00
const { habitsHistory } = options
this.habitsHistory = habitsHistory
}
public static default(): HabitsTracker {
return new HabitsTracker({
habitsHistory: {
daily: [],
weekly: [],
monthly: [],
},
})
2024-03-16 00:36:44 +01:00
}
}