Safe Haskell | None |
---|
- class CursorKey a where
- data IdsCursorKey
- data UsersCursorKey
- 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 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 | |
|
(FromJSON wrapped, CursorKey c) => FromJSON (WithCursor c wrapped) |