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

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

example/example.dart

import 'package:rumil_codec/rumil_codec.dart';

class Person {
  final String name;
  final int age;
  Person(this.name, this.age);
  @override
  String toString() => 'Person($name, $age)';
}

void main() {
  // Primitive round-trip
  final bytes = intCodec.encode(42);
  print(intCodec.decode(bytes)); // 42

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

  final encoded = personCodec.encode(Person('Alice', 30));
  print(personCodec.decode(encoded)); // Person(Alice, 30)

  // Composites
  final listCodec = intCodec.list;
  print(listCodec.decode(listCodec.encode([1, 2, 3]))); // [1, 2, 3]
}
0
likes
160
points
486
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