Skip to content

Commit

Permalink
fence blocks
Browse files Browse the repository at this point in the history
  • Loading branch information
revelaction committed Oct 19, 2023
1 parent 8668486 commit 9771486
Showing 1 changed file with 33 additions and 27 deletions.
60 changes: 33 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,46 +19,52 @@ It currently provides:

First, instantiate the srs struct with the provided algorithm, uid and db implementations:

// Algo
now := time.Now().UTC()
sm2 := sm2.New(now)
```go
// Algo
now := time.Now().UTC()
sm2 := sm2.New(now)

// Db
opts := badger.DefaultOptions("./badger")
opts.Logger = nil
bad, err := badger.Open(opts)
defer bad.Close()
db := bdg.New(bad, sm2)
// Db
opts := badger.DefaultOptions("./badger")
opts.Logger = nil
bad, err := badger.Open(opts)
defer bad.Close()
db := bdg.New(bad, sm2)

// uid
entropy := ulidPkg.Monotonic(crand.Reader, 0)
uid := ulid.New(entropy)
// uid
entropy := ulidPkg.Monotonic(crand.Reader, 0)
uid := ulid.New(entropy)

// instantiate srs struct
hdl := srs.New(db, uid)
// instantiate srs struct
hdl := srs.New(db, uid)
```


After that, you can update and save card reviews of a given deck:

r = review.Review{}
r.DeckId = "somedeckid"
```go
r = review.Review{}
r.DeckId = "somedeckid"

r.Items = []review.ReviewItem{
{CardId: 65, Quality: 1},
{CardId: 3, Quality: 5},
{CardId: 1, Quality: 0},
}
r.Items = []review.ReviewItem{
{CardId: 65, Quality: 1},
{CardId: 3, Quality: 5},
{CardId: 1, Quality: 0},
}

_, err = hdl.Update(r)
if err != nil {
fatal(err)
}
_, err = hdl.Update(r)
if err != nil {
fatal(err)
}
```


And retrieve cards that are due for review

tdue := time.Now().UTC()
dueCards, _ := hdl.Due(res.DeckId, tdue)
```go
tdue := time.Now().UTC()
dueCards, _ := hdl.Due(res.DeckId, tdue)
```


See `srs_test.go` for more examples.
Expand Down

0 comments on commit 9771486

Please sign in to comment.