2022-01-26 19:27:11 +00:00
|
|
|
import options
|
2022-01-30 22:38:39 +00:00
|
|
|
import jsony
|
2022-01-16 05:00:11 +00:00
|
|
|
import common
|
|
|
|
|
|
|
|
type
|
2022-01-23 06:04:50 +00:00
|
|
|
RawUser* = object
|
2022-01-16 05:00:11 +00:00
|
|
|
idStr*: string
|
|
|
|
name*: string
|
|
|
|
screenName*: string
|
|
|
|
location*: string
|
|
|
|
description*: string
|
|
|
|
entities*: Entities
|
|
|
|
createdAt*: string
|
|
|
|
followersCount*: int
|
|
|
|
friendsCount*: int
|
|
|
|
favouritesCount*: int
|
|
|
|
statusesCount*: int
|
|
|
|
mediaCount*: int
|
|
|
|
verified*: bool
|
|
|
|
protected*: bool
|
2022-01-26 19:27:11 +00:00
|
|
|
profileLinkColor*: string
|
2022-01-16 05:00:11 +00:00
|
|
|
profileBannerUrl*: string
|
|
|
|
profileImageUrlHttps*: string
|
2022-01-26 19:27:11 +00:00
|
|
|
profileImageExtensions*: Option[ImageExtensions]
|
2022-01-26 16:24:03 +00:00
|
|
|
pinnedTweetIdsStr*: seq[string]
|
2022-01-16 05:00:11 +00:00
|
|
|
|
|
|
|
Entities* = object
|
|
|
|
url*: Urls
|
|
|
|
description*: Urls
|
|
|
|
|
|
|
|
Urls* = object
|
|
|
|
urls*: seq[Url]
|
2022-01-26 17:24:34 +00:00
|
|
|
|
|
|
|
ImageExtensions = object
|
|
|
|
mediaColor*: tuple[r: Ok]
|
|
|
|
|
|
|
|
Ok = object
|
|
|
|
ok*: Palette
|
|
|
|
|
|
|
|
Palette = object
|
|
|
|
palette*: seq[tuple[rgb: Color]]
|
|
|
|
|
|
|
|
Color* = object
|
|
|
|
red*, green*, blue*: int
|
2022-01-30 22:38:39 +00:00
|
|
|
|
|
|
|
proc parseHook*(s: string; i: var int; v: var Slice[int]) =
|
|
|
|
var slice: array[2, int]
|
|
|
|
parseHook(s, i, slice)
|
|
|
|
v = slice[0] ..< slice[1]
|