syndicate-nim/src/syndicate/protocols/dataspace.nim

15 lines
328 B
Nim
Raw Normal View History

import
std/typetraits, preserves, dataspacePatterns
type
2021-09-24 19:25:47 +00:00
Observe*[E] {.preservesRecord: "Observe".} = ref object
`pattern`*: dataspacePatterns.Pattern[E]
`observer`*: Preserve[E]
proc `$`*[E](x: Observe[E]): string =
`$`(toPreserve(x, E))
2021-09-24 19:25:47 +00:00
proc encode*[E](x: Observe[E]): seq[byte] =
encode(toPreserve(x, E))