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

15 lines
336 B
Nim
Raw Normal View History

import
std/typetraits, preserves, dataspacePatterns
type
2022-12-08 08:15:01 +00:00
Observe*[Cap] {.preservesRecord: "Observe".} = ref object
`pattern`*: dataspacePatterns.Pattern[Cap]
`observer`*: Cap
2022-12-08 08:15:01 +00:00
proc `$`*[Cap](x: Observe[Cap]): string =
`$`(toPreserve(x, Cap))
2022-12-08 08:15:01 +00:00
proc encode*[Cap](x: Observe[Cap]): seq[byte] =
encode(toPreserve(x, Cap))