rumil_codec 0.4.0 copy "rumil_codec: ^0.4.0" to clipboard
rumil_codec: ^0.4.0 copied to clipboard

Binary codec library for Dart with ZigZag/Varint encoding, composable BinaryCodec instances, and product type composition via records.

rumil_codec #

Binary codec library for Dart with ZigZag/Varint encoding, composable BinaryCodec instances, and product type composition via Dart 3 records.

Usage #

import 'package:rumil_codec/rumil_codec.dart';

// Primitive codecs
final bytes = intCodec.encode(42);     // ZigZag + LEB128 varint
final value = intCodec.decode(bytes);  // 42

// Compose for domain types
final personCodec = product2(stringCodec, intCodec).xmap(
  (r) => Person(r.$1, r.$2),
  (p) => (p.name, p.age),
);

// Composites
final listCodec = intCodec.list;          // BinaryCodec<List<int>>
final optCodec = stringCodec.nullable;    // BinaryCodec<String?>

For automatic derivation via build_runner, see rumil_codec_builder. Supports both @binarySerializable (binary wire format) and @astSerializable (JSON/YAML/TOML/XML AST encoders).

See the main README for full documentation.

0
likes
160
points
227
downloads

Documentation

API reference

Publisher

verified publisherardaproject.org

Weekly Downloads

Binary codec library for Dart with ZigZag/Varint encoding, composable BinaryCodec instances, and product type composition via records.

Repository (GitHub)
View/report issues

Topics

#codec #serialization #binary

License

MIT (license)

More

Packages that depend on rumil_codec