Skip to content

Latest commit

History

541 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

A toolkit for writing software in dart

Includes:

Usage

The ZIO<R, E, A> type represents an synchronous or asynchronous operation.

  • The R generic is for representing the requirements / environment
  • The E generic is for representing errors
  • The A generic is for the success type

There are a handful of helpful methods to ease composition!

import'package:elemental/elemental.dart';
ZIO<NoEnv, Never, String> greeting(String name) =>ZIO(() =>"Hello $name!")
// Note `ZIO<NoEnv, Never, String>` can be shortened to `IO<String>`.// Here we create a simple wrapper around `print`IO<Unit> log(String message) =>IO(() =>print(message)).asUnit;
// And compose them together!
greeting.tap(log).run();

It is worth noting that the above will run synchronously. Only when you start using Future's in your program, will things run asynchronously.

Layers

A quick intro to services and layers can be found in example/.

About

A toolkit for writing software in dart. Effect-system, dependency management and more!

Topics

Resources

Stars

25 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages