simplex_bot_actor/src/simplex_bot_actor/simple_types.nim

28 lines
727 B
Nim

import
preserves
type
ContactAssertion* {.preservesRecord: "contact".} = object
`id`*: BiggestInt
`cap`* {.preservesEmbedded.}: Preserve[void]
ReceivedMessage* {.preservesRecord: "message".} = object
`prevId`*: Preserve[void]
`msgId`*: Preserve[void]
`content`*: Content
Content* {.preservesRecord: "text".} = object
`text`*: string
GroupAssertion* {.preservesRecord: "group".} = object
`id`*: BiggestInt
`cap`* {.preservesEmbedded.}: Preserve[void]
proc `$`*(x: ContactAssertion | ReceivedMessage | Content | GroupAssertion): string =
`$`(toPreserve(x))
proc encode*(x: ContactAssertion | ReceivedMessage | Content | GroupAssertion): seq[
byte] =
encode(toPreserve(x))