Safe Haskell | None |
---|---|
Language | Haskell98 |
- class CursorKey a where
- data IdsCursorKey
- data UsersCursorKey
- data ListsCursorKey
- data WithCursor cursorKey wrapped = WithCursor {
- previousCursor :: Integer
- nextCursor :: Integer
- contents :: [wrapped]
Documentation
data IdsCursorKey Source
Phantom type to specify the key which point out the content in the response.
data UsersCursorKey Source
Phantom type to specify the key which point out the content in the response.
data ListsCursorKey Source
Phantom type to specify the key which point out the content in the response.
data WithCursor cursorKey wrapped Source
A wrapper for API responses which have "next_cursor" field.
The first type parameter of WithCursor
specifies the field name of contents.
>>>
let Just res = decode "{\"previous_cursor\": 0, \"next_cursor\": 1234567890, \"ids\": [1111111111]}" :: Maybe (WithCursor IdsCursorKey UserId)
>>>
nextCursor res
1234567890>>>
contents res
[1111111111]
>>>
let Just res = decode "{\"previous_cursor\": 0, \"next_cursor\": 0, \"users\": [1000]}" :: Maybe (WithCursor UsersCursorKey UserId)
>>>
nextCursor res
0>>>
contents res
[1000]
WithCursor | |
|
Show wrapped => Show (WithCursor cursorKey wrapped) | |
(FromJSON wrapped, CursorKey c) => FromJSON (WithCursor c wrapped) |