Add unembed routine

This commit is contained in:
Emery Hemingway 2021-10-25 01:53:12 +02:00
parent a03a188bc2
commit bc9568d6bd
1 changed files with 6 additions and 0 deletions

View File

@ -382,6 +382,12 @@ iterator fields*(pr: Preserve): Preserve =
## Iterate the fields of a record value.
for i in 0..<pr.record.high: yield pr.record[i]
proc unembed*[E](pr: Preserve[E]): E =
## Unembed an `E` value from a `Preserve[E]` value.
if pr.kind != pkEmbedded:
raise newException(ValueError, "not an embedded value")
pr.embed
proc writeVarint(s: Stream; n: int) =
var n = n
while true: