Protobuf's varint encoding/decoding for LEB128 friendly types with full const context operations supports.
Installation
[]
= "0.10"
Optional Features
arbitrary-int: Support encode/decodearbitrary-inttypes by using LEB128.bnum: Support encode/decodebnumtypes by using LEB128.chrono: Support encode/decodechronotypes by using LEB128 (not fully compatible inconstcontext).chrono-tz: Support encode/decodechrono-tztypes by using LEB128.ethereum-types: Support encode/decodeethereum-typestypes by using LEB128.float8: Support encode/decodefloat8types by using LEB128.half: Support encode/decodehalftypes by using LEB128.num-complex: Support encode/decodenum-complextypes by using LEB128.num-rational: Support encode/decodenum-rationaltypes by using LEB128.primitive-types: Support encode/decodeprimitive-typestypes by using LEB128.ruint: Support encode/decoderuinttypes by using LEB128 (not compatible inconstcontext).time: Support encode/decodetimetypes by using LEB128.
Testing
This crate is tested with the quickcheck crate and cargo fuzz (including all optional features).
License
varing is under the terms of both the MIT license and the
Apache License (Version 2.0).
See LICENSE-APACHE, LICENSE-MIT for details.
Copyright (c) 2025 Al Liu.