eventual 0.10.4 copy "eventual: ^0.10.4" to clipboard
eventual: ^0.10.4 copied to clipboard

Data toolkit to manage eventual values and sync UI widgets with ease.

example/main.dart

import 'package:eventual/eventual.dart';

void main() async {
  final myValue =
      EventualValue<int>().withFreshnessTimeout(Duration(milliseconds: 10));

  print("NO VALUE YET:");
  print("myValue.value = ${myValue.value}");
  print("myValue.hasValue = ${myValue.hasValue}");
  print("myValue.isLoading = ${myValue.isLoading}");
  print("myValue.isLoadingFresh = ${myValue.isLoadingFresh}");
  print("myValue.loadingMessage = ${myValue.loadingMessage}");
  print("myValue.hasError = ${myValue.hasError}");
  print("myValue.errorMessage = ${myValue.errorMessage}");
  print("myValue.lastUpdated = ${myValue.lastUpdated}");
  print("myValue.lastError = ${myValue.lastError}");
  print("myValue.isFresh = ${myValue.isFresh}");
  print("\n");

  print("SET TO LOADING:");
  myValue.loadingMessage = "Please, wait";
  print("myValue.value = ${myValue.value}");
  print("myValue.hasValue = ${myValue.hasValue}");
  print("myValue.isLoading = ${myValue.isLoading}  <<");
  print("myValue.isLoadingFresh = ${myValue.isLoadingFresh}  <<");
  print("myValue.loadingMessage = ${myValue.loadingMessage}  <<");
  print("myValue.hasError = ${myValue.hasError}");
  print("myValue.errorMessage = ${myValue.errorMessage}");
  print("myValue.lastUpdated = ${myValue.lastUpdated}");
  print("myValue.lastError = ${myValue.lastError}");
  print("myValue.isFresh = ${myValue.isFresh}");
  print("\n");

  print("SET AN ERROR:");
  myValue.error = "Something went wrong";
  print("myValue.value = ${myValue.value}");
  print("myValue.hasValue = ${myValue.hasValue}");
  print("myValue.isLoading = ${myValue.isLoading}  --");
  print("myValue.isLoadingFresh = ${myValue.isLoadingFresh}  --");
  print("myValue.loadingMessage = ${myValue.loadingMessage}  --");
  print("myValue.hasError = ${myValue.hasError}  <<");
  print("myValue.errorMessage = ${myValue.errorMessage}  <<");
  print("myValue.lastUpdated = ${myValue.lastUpdated}");
  print("myValue.lastError = ${myValue.lastError}  <<");
  print("myValue.isFresh = ${myValue.isFresh}");
  print("\n");

  print("SET A VALUE:");
  myValue.value = 1234;
  print("myValue.value = ${myValue.value}  <<");
  print("myValue.hasValue = ${myValue.hasValue}  <<");
  print("myValue.isLoading = ${myValue.isLoading}");
  print("myValue.isLoadingFresh = ${myValue.isLoadingFresh}");
  print("myValue.loadingMessage = ${myValue.loadingMessage}");
  print("myValue.hasError = ${myValue.hasError}");
  print("myValue.errorMessage = ${myValue.errorMessage}");
  print("myValue.lastUpdated = ${myValue.lastUpdated}  <<");
  print("myValue.lastError = ${myValue.lastError}");
  print("myValue.isFresh = ${myValue.isFresh}  <<");
  print("\n");

  print("LET THE VALUE BE OLD:");
  await Future.delayed(Duration(milliseconds: 50));
  print("myValue.value = ${myValue.value}");
  print("myValue.hasValue = ${myValue.hasValue}");
  print("myValue.isLoading = ${myValue.isLoading}");
  print("myValue.isLoadingFresh = ${myValue.isLoadingFresh}");
  print("myValue.loadingMessage = ${myValue.loadingMessage}");
  print("myValue.hasError = ${myValue.hasError}");
  print("myValue.errorMessage = ${myValue.errorMessage}");
  print("myValue.lastUpdated = ${myValue.lastUpdated}");
  print("myValue.lastError = ${myValue.lastError}");
  print("myValue.isFresh = ${myValue.isFresh}  --");
  print("\n");
}
1
likes
40
pub points
0%
popularity

Publisher

unverified uploader

Data toolkit to manage eventual values and sync UI widgets with ease.

Homepage
Repository (GitHub)
View/report issues

License

BSD-3-Clause (LICENSE)

Dependencies

flutter

More

Packages that depend on eventual