@open-spaced-repetition/sm-2
Version:
Typescript Package for SM-2 Spaced Repetition
59 lines (55 loc) • 1.5 kB
TypeScript
declare class Card {
cardId: number;
n: number;
EF: number;
I: number;
due: Date;
needsExtraReview: boolean;
constructor(cardId?: number | null, n?: number, EF?: number, I?: number, due?: Date | null, needsExtraReview?: boolean);
equals(other: Card): boolean;
clone(): Card;
toJSON(): {
cardId: number;
n: number;
EF: number;
I: number;
due: string;
needsExtraReview: boolean;
};
static fromJSON(json: {
cardId: number;
n: number;
EF: number;
I: number;
due: string;
needsExtraReview: boolean;
}): Card;
}
declare class ReviewLog {
cardId: number;
rating: number;
reviewDatetime: Date;
reviewDuration: number | null;
constructor(cardId: number, rating: number, reviewDatetime: Date, reviewDuration?: number | null);
equals(other: ReviewLog): boolean;
clone(): ReviewLog;
toJSON(): {
cardId: number;
rating: number;
reviewDatetime: string;
reviewDuration: number | null;
};
static fromJSON(json: {
cardId: number;
rating: number;
reviewDatetime: Date;
reviewDuration: number | null;
}): ReviewLog;
}
declare class Scheduler {
static reviewCard(card: Card, rating: number, reviewDatetime?: Date | null, reviewDuration?: number | null): {
card: Card;
reviewLog: ReviewLog;
};
}
export { Card, ReviewLog, Scheduler };