sourceModuleCodec.tri (1276B)
1 !import "source.object" !Local 2 !import "source.module" !Local 3 !import "prelude" !Local 4 5 sourceModuleCodecHash = "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" 6 codecTree = (and? 7 (equal? (sourceObjectEncode (t (t t))) [(1) (1) (0)]) 8 (equal? (sourceObjectEncode (t (t t) (t t t))) 9 [(2) (1) (0) (2) (0) (0)])) 10 codecBadTag = resultIsErr (sourceObjectDecodeComplete [(3)]) 11 codecTrailing = resultIsErr (sourceObjectDecodeComplete [(0) (0)]) 12 codecRoundTrip = resultIsOk (sourceObjectDecodeComplete [(2) (0) (1) (0)]) 13 codecDuplicate = resultIsErr (sourceModuleDecode (sourceModuleEncode 14 [(pair "duplicate" sourceModuleCodecHash) 15 (pair "duplicate" sourceModuleCodecHash)])) 16 codecEscaped = resultIsOk (sourceModuleDecode 17 (sourceModuleEncode [(pair "perc%ent" sourceModuleCodecHash)])) 18 codecInvalidEscape = resultIsErr (sourceModuleDecode 19 "arboricx.module-manifest.v1\nexport\tperc%ent\tarboricx.tree-term.v1\t0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\tarboricx.abi.tree.v1\n") 20 sourceModuleCodec = 21 andLazy? codecTree (_ : 22 andLazy? codecBadTag (_ : 23 andLazy? codecTrailing (_ : 24 andLazy? codecRoundTrip (_ : 25 andLazy? codecDuplicate (_ : 26 andLazy? codecEscaped (_ : codecInvalidEscape))))))