atomic_state 0.1.2 copy "atomic_state: ^0.1.2" to clipboard
atomic_state: ^0.1.2 copied to clipboard

A dart package for global application atomically immutable updated state.

example/main.dart

import 'dart:convert';

import 'package:atomic_state/atomic_state.dart';

class Counter {
  static String name = 'counter';
  final int count;

  Counter({this.count = 0});
  factory Counter.from(Counter counter, {int count}) =>
      Counter(count: count ?? counter.count);

  Counter inc([int value = 1]) => Counter.from(this, count: count + value);

  Map<String, dynamic> toJson() => {'count': count};
}

void main() {
  final store = Store([Counter()]);

  store.updateState<Counter>((counter) => counter.inc());

  assert(store.getState<Counter>().count == 1);
  assert(jsonEncode(store) == '{"Counter":{"count":1}}');
}
0
likes
30
pub points
0%
popularity

Publisher

unverified uploader

A dart package for global application atomically immutable updated state.

Repository (GitHub)
View/report issues

License

Apache-2.0 (LICENSE)

More

Packages that depend on atomic_state