feat(users/Profpatsch/netencode.rs): parse multiple stdin values
Adds support for parsing multiple netencode values from stdin. This is overly complicated for my tastes, but I don’t see a better way of writing this logic that does not read all of stdin before starting to parse the first value. A kingdom for a conduit. Change-Id: Ia4f849d4096c43e887756b756d2a85d7f9cd380a Reviewed-on: https://cl.tvl.fyi/c/depot/+/6631 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
d44203d046
commit
0f74816d43
4 changed files with 104 additions and 31 deletions
|
|
@ -133,11 +133,11 @@ record = T . Fix . Record . coerce @(NEMap Text T) @(NEMap Text (Fix TF))
|
|||
list :: [T] -> T
|
||||
list = T . Fix . List . coerce @[T] @([Fix TF])
|
||||
|
||||
-- Stable encoding of a netencode value. Record keys will be sorted lexicographically ascending.
|
||||
-- | Stable encoding of a netencode value. Record keys will be sorted lexicographically ascending.
|
||||
netencodeEncodeStable :: T -> Builder
|
||||
netencodeEncodeStable (T fix) = Fix.foldFix (netencodeEncodeStableF id) fix
|
||||
|
||||
-- Stable encoding of a netencode functor value. Record keys will be sorted lexicographically ascending.
|
||||
-- | Stable encoding of a netencode functor value. Record keys will be sorted lexicographically ascending.
|
||||
--
|
||||
-- The given function is used for encoding the recursive values.
|
||||
netencodeEncodeStableF :: (rec -> Builder) -> TF rec -> Builder
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue