binarize 1.4.0 copy "binarize: ^1.4.0" to clipboard
binarize: ^1.4.0 copied to clipboard

Binarize allows for a more streamlined and extendable binary creation experience.

example/main.dart

import 'package:binarize/binarize.dart';

void main() {
  // Write value types to the PayloadWriter.
  final writer = Payload.write()
    ..set(boolean, true) // Store a boolean.
    ..set(flags, [true, false, true]) // Store a list of booleans.

    ..set(float32, 1.5) // Store a double as a float32.
    ..set(float64, 3.5) // Store a double as a float64.

    ..set(int8, 5) // Store an int as int8.
    ..set(int16, -15) // Store an int as int16.
    ..set(int32, 38) // Store an int as int32.
    ..set(int64, -2050) // Store an int as int64.

    ..set(string32, 'Hello world') // Store a string with a fixed length.

    ..set(uint8, 5) // Store an int as uint8.
    ..set(uint16, 15) // Store an int as uint16.
    ..set(uint32, 30) // Store an int as uint32.
    ..set(uint64, 60) // Store an int as uint64.

    ..set(const Bytes(3), [1, 2, 3]) // Store a list of 3 bytes.
    ..set(nullable(boolean), null) // Store a nullable boolean value.
    ..set(list(uint8), [1, 2, 3, 4, 5]) // Store a list of uint8 values.
    ..set(map(string8, uint8), {'1': 1, '2': 2, '3': 3}) // Store a map.
    ..set(const RawList(string8, amount: 2), ['1', '2']); // Store a raw list

  // Converting the payload to a list of bytes.
  final byteList = binarize(writer);

  // Read the bytes back into values using PayloadReader.
  Payload.read(byteList)
    ..get(boolean) // Get a boolean value.
    ..get(flags) // Get a list of 8 booleans, representing flags.

    ..get(float32) // Get a float32 value as a double.
    ..get(float64) // Get a float64 value as a double.

    ..get(int8) // Get an int8 value as an int.
    ..get(int16) // Get an int16 value as an int.
    ..get(int32) // Get an int32 value as an int.
    ..get(int64) // Get an int64 value as an int.

    ..get(string32) // Get a string value.

    ..get(uint8) // Get an uint8 value as an int.
    ..get(uint16) // Get an uint16 value as an int.
    ..get(uint32) // Get an uint32 value as an int.
    ..get(uint64) // Get an uint64 value as an int.

    ..get(const Bytes(3)) // Get a list of 3 bytes.
    ..get(nullable(boolean)) // Get a nullable boolean value.
    ..get(list(uint8)) // Get a list of uint8 values.
    ..get(map(string8, uint8)) // Get a map of key(string) => value(int)
    ..get(const RawList(string8, amount: 2)); // Get a raw list of strings.
}
47
likes
160
pub points
69%
popularity

Publisher

verified publisherwolfenra.in

Binarize allows for a more streamlined and extendable binary creation experience.

Repository (GitLab)
View/report issues
Contributing

Documentation

API reference

License

MIT (license)

More

Packages that depend on binarize