2021-10-06 09:30:38 +00:00
|
|
|
|
|
|
|
import
|
|
|
|
std/typetraits, preserves, dataspacePatterns
|
|
|
|
|
|
|
|
type
|
2021-09-24 19:25:47 +00:00
|
|
|
Observe*[E] {.preservesRecord: "Observe".} = ref object
|
|
|
|
`pattern`*: dataspacePatterns.Pattern[E]
|
2021-10-06 09:30:38 +00:00
|
|
|
`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] =
|
2021-10-06 09:30:38 +00:00
|
|
|
encode(toPreserve(x, E))
|