pulse_slab_generator 0.3.0-beta.2 copy "pulse_slab_generator: ^0.3.0-beta.2" to clipboard
pulse_slab_generator: ^0.3.0-beta.2 copied to clipboard

Optional build-time layout generation for typed Pulse Slab records.

example/main.dart

import 'package:pulse_slab/pulse_slab.dart';

import 'sensor_state.dart';

void main() {
  final SensorState source = SensorState(
    sequence: 42,
    temperature: 21.5,
    active: true,
    identity: Uint8List.fromList(<int>[1, 2, 3, 4, 5, 6, 7, 8]),
  );
  final Uint8List encoded = SensorStateLayout.serialize(source);
  final SensorState decoded = SensorStateLayout.deserialize(encoded);

  final PulseStore store = PulseStore();
  try {
    final RecordHandle handle = SensorStateLayout.allocate(store);
    store.update(handle, (TransactionRecordWriter writer) {
      SensorStateLayout.write(writer, decoded);
    });
    final SensorState current = SensorStateLayout.read(store.read(handle));
    print('Sensor ${current.sequence}: ${current.temperature} C');
  } finally {
    store.dispose();
  }
}
0
likes
160
points
--
downloads

Documentation

API reference

Publisher

verified publisherpulse-slab.com

Weekly Downloads

Optional build-time layout generation for typed Pulse Slab records.

Repository (GitHub)
View/report issues

Topics

#codegen #typed-data #serialization #reactive

License

MIT (license)

Dependencies

analyzer, build, build_config, pulse_slab, source_gen

More

Packages that depend on pulse_slab_generator