1.2.2 • Published 4 months ago

fsrs.js v1.2.2

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

fsrs.js

fsrs.js is a JS Package that implements the Free Spaced Repetition Scheduler algorithm. It helps developers apply FSRS in their flashcard apps.

Getting Started

npm install fsrs.js

Usage

Create a card and review it at a given time:

const fsrsJs = require("fsrs.js")

let fsrs = new fsrsJs.FSRS();
let card = new fsrsJs.Card();
let rating= fsrsJs.Rating;
let state = fsrsJs.State;

//Set algorithm parameters
// fsrs.p.request_retention=0.9
// fsrs.p.maximum_interval=36500
// fsrs.p.w=[0.4, 0.6, 2.4, 5.8, 4.93, 0.94, 0.86, 0.01, 1.49, 0.14, 0.94, 2.18, 0.05, 0.34, 1.26, 0.29, 2.61]

console.log(fsrs.p)

let now = new Date(2022, 10, 29, 12, 30, 0, 0);
let scheduling_cards = fsrs.repeat(card, now);
console.log(scheduling_cards);

There are four ratings:

rating.Again //incorrect response
rating.Hard //recall; correct response recalled with serious difficulty
rating.Good //recall; correct response after a hesitation
rating.Easy // recall; perfect response

There are four states:

state.New //Never been studied
state.Learning //Been studied for the first time recently
state.Review //Graduate from learning state
state.Relearning //Forgotten in review state
//Get the new state of card for each rating:
scheduling_cards[rating.Again].card
scheduling_cards[rating.Hard].card
scheduling_cards[rating.Good].card
scheduling_cards[rating.Easy].card

//Update the card after rating `Good`:
card = scheduling_cards[rating.Good].card

//Get the due date for card:
due = card.due

//Get the state for card:
state = card.state

//Get the review log after rating `Good`:
review_log = scheduling_cards[rating.Good].review_log

License

Distributed under the MIT License. See LICENSE for more information.

1.2.2

4 months ago

1.2.1

4 months ago

1.2.0

5 months ago

1.1.2

6 months ago

1.1.1

8 months ago

1.1.0

10 months ago

1.0.0

10 months ago

0.1.0

12 months ago

0.1.2

12 months ago

0.1.1

12 months ago

0.1.3

12 months ago

0.0.5

1 year ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago