Skip to content

Commit

Permalink
feat(models.ts): Add return type annotations and define new RecordLog…
Browse files Browse the repository at this point in the history
…Item type
  • Loading branch information
2Lavine authored and ishiko732 committed Nov 3, 2023
1 parent 2350556 commit 9d3c71a
Showing 1 changed file with 19 additions and 17 deletions.
36 changes: 19 additions & 17 deletions src/fsrs/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ export type StateType = "New" | "Learning" | "Review" | "Relearning";

export enum State {
New = 0,
Learning,
Review,
Relearning,
Learning = 1,
Review = 2,
Relearning = 3,
}

export type RatingType = "Again" | "Hard" | "Good" | "Easy";

export enum Rating {
Again = 1,
Hard,
Good,
Easy,
Hard = 2,
Good = 3,
Easy = 4,
}

export interface ReviewLog {
Expand All @@ -23,21 +23,23 @@ export interface ReviewLog {
scheduled_days: number;
review: Date;
}

export type RecordLogItem = {
card: Card; log: ReviewLog
}
export type RecordLog = {
[key in Rating]: { card: Card; log: ReviewLog };
[key in Rating]: RecordLogItem;
};

export interface Card {
due: Date;
stability: number; // 稳定性
difficulty: number; //难度
elapsed_days: number;
scheduled_days: number;
reps: number;
lapses: number;
state: State;
last_review?: Date;
due: Date; // Due date
stability: number; // Stability
difficulty: number; // Difficulty level
elapsed_days: number; // Number of days elapsed
scheduled_days: number; // Number of days scheduled
reps: number; // Repetition count
lapses: number; // Number of lapses or mistakes
state: State; // Card's state (New, Learning, Review, Relearning)
last_review?: Date; // Date of the last review (optional)
}

export type CardInput = Card & { state: StateType | State };
Expand Down

0 comments on commit 9d3c71a

Please sign in to comment.