mirror of
https://github.com/zedeus/nitter.git
synced 2026-01-29 06:42:50 -05:00
Add experimental GraphQL list members parser
This commit is contained in:
31
src/experimental/types/graphlistmembers.nim
Normal file
31
src/experimental/types/graphlistmembers.nim
Normal file
@@ -0,0 +1,31 @@
|
||||
import graphuser
|
||||
|
||||
type
|
||||
GraphListMembers* = object
|
||||
data*: tuple[list: List]
|
||||
|
||||
List = object
|
||||
membersTimeline*: tuple[timeline: Timeline]
|
||||
|
||||
Timeline = object
|
||||
instructions*: seq[Instruction]
|
||||
|
||||
Instruction = object
|
||||
kind*: string
|
||||
entries*: seq[tuple[content: Content]]
|
||||
|
||||
ContentEntryType* = enum
|
||||
TimelineTimelineItem
|
||||
TimelineTimelineCursor
|
||||
|
||||
Content = object
|
||||
case entryType*: ContentEntryType
|
||||
of TimelineTimelineItem:
|
||||
itemContent*: tuple[userResults: UserData]
|
||||
of TimelineTimelineCursor:
|
||||
value*: string
|
||||
cursorType*: string
|
||||
|
||||
proc renameHook*(v: var Instruction; fieldName: var string) =
|
||||
if fieldName == "type":
|
||||
fieldName = "kind"
|
||||
@@ -1,12 +0,0 @@
|
||||
import user
|
||||
|
||||
type
|
||||
GraphUserResult* = object
|
||||
legacy*: RawUser
|
||||
restId*: string
|
||||
|
||||
GraphUserData* = object
|
||||
result*: GraphUserResult
|
||||
|
||||
GraphUser* = object
|
||||
data*: tuple[user: GraphUserData]
|
||||
12
src/experimental/types/graphuser.nim
Normal file
12
src/experimental/types/graphuser.nim
Normal file
@@ -0,0 +1,12 @@
|
||||
import user
|
||||
|
||||
type
|
||||
GraphUser* = object
|
||||
data*: tuple[user: UserData]
|
||||
|
||||
UserData* = object
|
||||
result*: UserResult
|
||||
|
||||
UserResult = object
|
||||
legacy*: RawUser
|
||||
restId*: string
|
||||
Reference in New Issue
Block a user