2021-10-06 09:30:38 +00:00
|
|
|
|
|
|
|
import
|
|
|
|
std/typetraits, preserves
|
|
|
|
|
|
|
|
type
|
2021-09-24 19:25:47 +00:00
|
|
|
Says* {.preservesRecord: "Says".} = object
|
2021-10-06 09:30:38 +00:00
|
|
|
`who`*: string
|
|
|
|
`what`*: string
|
|
|
|
|
2021-09-24 19:25:47 +00:00
|
|
|
Present* {.preservesRecord: "Present".} = object
|
|
|
|
`username`*: string
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2021-09-24 19:25:47 +00:00
|
|
|
proc `$`*(x: Says | Present): string =
|
|
|
|
`$`(toPreserve(x))
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2021-09-24 19:25:47 +00:00
|
|
|
proc encode*(x: Says | Present): seq[byte] =
|
|
|
|
encode(toPreserve(x))
|