msgpack_serializable 0.1.0 copy "msgpack_serializable: ^0.1.0" to clipboard
msgpack_serializable: ^0.1.0 copied to clipboard

A library for serializing and deserializing objects in the MessagePack format.

MessagePack Serializable #

Overview #

This project provides an implementation for serializing and deserializing objects using MessagePack.

Build #

To generate the necessary files, run the following command:

dart run build_runner build

Usage #

Here is a simple example of how to use the MessagePackSerializable class:

import 'package:msgpack_annotation/msgpack_annotation.dart';

import 'builder_example.g.msgpack.dart';

@MsgPackSerializable()
class Customer {
  final CustomerId id;
  final String name;

  Customer({required this.id, required this.name});

  factory Customer.fromMsgPack(Deserializer deserializer) => $customerFromMsgPack(deserializer);

  void toMsgPack(Serializer serializer) => $customerToMsgPack(this, serializer);

  @override
  String toString() => 'Customer(id: $id, name: $name)';
}

@MsgPackSerializable()
class CustomerId {
  final String id;

  CustomerId({required this.id});

  factory CustomerId.fromMsgPack(Deserializer deserializer) => $customerIdFromMsgPack(deserializer);

  void toMsgPack(Serializer serializer) => $customerIdToMsgPack(this, serializer);

  @override
  String toString() => 'CustomerId(id: $id)';
}

void main() {
  final customer = Customer(
    id: CustomerId(id: '1910'),
    name: 'FC St. Pauli',
  );

  final serializer = Serializer();
  customer.toMsgPack(serializer);
  final bytes = serializer.takeBytes();

  final deserializer = Deserializer(bytes);
  final newCustomer = Customer.fromMsgPack(deserializer);

  print(newCustomer);
}

License #

This project is licensed under the MIT License. For more information, see the LICENSE file.

0
likes
130
points
91
downloads

Publisher

verified publisherblimster.net

Weekly Downloads

A library for serializing and deserializing objects in the MessagePack format.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, build, code_builder, dart_style, msgpack_annotation, recase

More

Packages that depend on msgpack_serializable