2021-10-06 09:30:38 +00:00
|
|
|
|
|
|
|
import
|
2023-05-18 10:20:44 +00:00
|
|
|
preserves, dataspacePatterns
|
2021-10-06 09:30:38 +00:00
|
|
|
|
|
|
|
type
|
2023-08-16 08:36:43 +00:00
|
|
|
Observe*[Cap] {.acyclic, preservesRecord: "Observe".} = ref object
|
2022-12-08 08:15:01 +00:00
|
|
|
`pattern`*: dataspacePatterns.Pattern[Cap]
|
|
|
|
`observer`*: Cap
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2022-12-08 08:15:01 +00:00
|
|
|
proc `$`*[Cap](x: Observe[Cap]): string =
|
|
|
|
`$`(toPreserve(x, Cap))
|
2021-10-06 09:30:38 +00:00
|
|
|
|
2022-12-08 08:15:01 +00:00
|
|
|
proc encode*[Cap](x: Observe[Cap]): seq[byte] =
|
|
|
|
encode(toPreserve(x, Cap))
|