ts-fsrs 3.1.0-beta2 → 3.1.0-beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/default.js +1 -1
- package/dist/fsrs.js +6 -3
- package/dist/models.d.ts +1 -0
- package/dist/scheduler.d.ts +1 -1
- package/dist/scheduler.js +10 -6
- package/package.json +1 -1
package/dist/default.js
CHANGED
|
@@ -29,7 +29,7 @@ exports.default_w = exports.envParams.FSRS_W || [
|
|
|
29
29
|
0.34, 1.26, 0.29, 2.61,
|
|
30
30
|
];
|
|
31
31
|
exports.default_enable_fuzz = exports.envParams.FSRS_ENABLE_FUZZ || false;
|
|
32
|
-
exports.FSRSVersion = "3.1.0-
|
|
32
|
+
exports.FSRSVersion = "3.1.0-beta3";
|
|
33
33
|
const generatorParameters = (props) => {
|
|
34
34
|
return {
|
|
35
35
|
request_retention: props?.request_retention || exports.default_request_retention,
|
package/dist/fsrs.js
CHANGED
|
@@ -83,12 +83,13 @@ class FSRS extends algorithm_1.FSRSAlgorithm {
|
|
|
83
83
|
if (log.rating === models_1.Rating.Manual) {
|
|
84
84
|
throw new Error("Cannot rollback a manual rating");
|
|
85
85
|
}
|
|
86
|
-
let last_due, last_review, last_lapses;
|
|
86
|
+
let last_due, last_review, last_lapses, last_elapsed_days;
|
|
87
87
|
switch (log.state) {
|
|
88
88
|
case models_1.State.New:
|
|
89
89
|
last_due = log.due;
|
|
90
90
|
last_review = undefined;
|
|
91
91
|
last_lapses = 0;
|
|
92
|
+
last_elapsed_days = 0;
|
|
92
93
|
break;
|
|
93
94
|
case models_1.State.Learning:
|
|
94
95
|
case models_1.State.Relearning:
|
|
@@ -98,6 +99,7 @@ class FSRS extends algorithm_1.FSRSAlgorithm {
|
|
|
98
99
|
last_lapses =
|
|
99
100
|
card.lapses -
|
|
100
101
|
(log.rating === models_1.Rating.Again && log.state === models_1.State.Review ? 1 : 0);
|
|
102
|
+
last_elapsed_days = log.elapsed_days == 0 ? 0 : card.scheduled_days;
|
|
101
103
|
break;
|
|
102
104
|
}
|
|
103
105
|
return {
|
|
@@ -105,7 +107,7 @@ class FSRS extends algorithm_1.FSRSAlgorithm {
|
|
|
105
107
|
due: last_due,
|
|
106
108
|
stability: log.stability,
|
|
107
109
|
difficulty: log.difficulty,
|
|
108
|
-
elapsed_days: log.
|
|
110
|
+
elapsed_days: log.last_elapsed_days,
|
|
109
111
|
scheduled_days: log.scheduled_days,
|
|
110
112
|
reps: Math.max(0, card.reps - 1),
|
|
111
113
|
lapses: Math.max(0, last_lapses),
|
|
@@ -122,7 +124,8 @@ class FSRS extends algorithm_1.FSRSAlgorithm {
|
|
|
122
124
|
due: card.due,
|
|
123
125
|
stability: card.stability,
|
|
124
126
|
difficulty: card.difficulty,
|
|
125
|
-
elapsed_days:
|
|
127
|
+
elapsed_days: 0,
|
|
128
|
+
last_elapsed_days: card.elapsed_days,
|
|
126
129
|
scheduled_days: card.scheduled_days,
|
|
127
130
|
review: now,
|
|
128
131
|
};
|
package/dist/models.d.ts
CHANGED
package/dist/scheduler.d.ts
CHANGED
package/dist/scheduler.js
CHANGED
|
@@ -9,7 +9,7 @@ class SchedulingCard {
|
|
|
9
9
|
good;
|
|
10
10
|
easy;
|
|
11
11
|
last_review;
|
|
12
|
-
|
|
12
|
+
last_elapsed_days;
|
|
13
13
|
copy(card) {
|
|
14
14
|
return {
|
|
15
15
|
...card,
|
|
@@ -17,7 +17,7 @@ class SchedulingCard {
|
|
|
17
17
|
}
|
|
18
18
|
constructor(card, now) {
|
|
19
19
|
this.last_review = card.last_review || card.due;
|
|
20
|
-
this.
|
|
20
|
+
this.last_elapsed_days = card.elapsed_days;
|
|
21
21
|
card.elapsed_days =
|
|
22
22
|
card.state === models_1.State.New ? 0 : now.diff(card.last_review, "days"); //相距时间
|
|
23
23
|
card.last_review = now; // 上次复习时间
|
|
@@ -74,7 +74,8 @@ class SchedulingCard {
|
|
|
74
74
|
due: this.last_review,
|
|
75
75
|
stability: card.stability,
|
|
76
76
|
difficulty: card.difficulty,
|
|
77
|
-
elapsed_days:
|
|
77
|
+
elapsed_days: card.elapsed_days,
|
|
78
|
+
last_elapsed_days: this.last_elapsed_days,
|
|
78
79
|
scheduled_days: card.scheduled_days,
|
|
79
80
|
review: now,
|
|
80
81
|
},
|
|
@@ -87,7 +88,8 @@ class SchedulingCard {
|
|
|
87
88
|
due: this.last_review,
|
|
88
89
|
stability: card.stability,
|
|
89
90
|
difficulty: card.difficulty,
|
|
90
|
-
elapsed_days:
|
|
91
|
+
elapsed_days: card.elapsed_days,
|
|
92
|
+
last_elapsed_days: this.last_elapsed_days,
|
|
91
93
|
scheduled_days: card.scheduled_days,
|
|
92
94
|
review: now,
|
|
93
95
|
},
|
|
@@ -100,7 +102,8 @@ class SchedulingCard {
|
|
|
100
102
|
due: this.last_review,
|
|
101
103
|
stability: card.stability,
|
|
102
104
|
difficulty: card.difficulty,
|
|
103
|
-
elapsed_days:
|
|
105
|
+
elapsed_days: card.elapsed_days,
|
|
106
|
+
last_elapsed_days: this.last_elapsed_days,
|
|
104
107
|
scheduled_days: card.scheduled_days,
|
|
105
108
|
review: now,
|
|
106
109
|
},
|
|
@@ -113,7 +116,8 @@ class SchedulingCard {
|
|
|
113
116
|
due: this.last_review,
|
|
114
117
|
stability: card.stability,
|
|
115
118
|
difficulty: card.difficulty,
|
|
116
|
-
elapsed_days:
|
|
119
|
+
elapsed_days: card.elapsed_days,
|
|
120
|
+
last_elapsed_days: this.last_elapsed_days,
|
|
117
121
|
scheduled_days: card.scheduled_days,
|
|
118
122
|
review: now,
|
|
119
123
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-fsrs",
|
|
3
|
-
"version": "3.1.0-
|
|
3
|
+
"version": "3.1.0-beta3",
|
|
4
4
|
"description": "ts-fsrs is a TypeScript package used to implement the Free Spaced Repetition Scheduler (FSRS) algorithm. It helps developers apply FSRS to their flashcard applications, thereby improving the user learning experience.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|