Expand description

Lazy evaluation allows for a more simple approach to sharing data between tasks.

The main driving trait that allows for this is Provider. Objects that implement this trait can try to provide a value of that type. There are three main flavors of providers.

Properties

Prop<T> - A property that can be set to a specific value.

Usage

Should be used when single values are needed, and this property is needed to either be used as an output that’s set by the task, or the task needs an input. When used with the CreateTask derive macro.

struct LogTask {
    msg: Prop<String>
}

Re-exports

pub use prop::*;

Modules

Anonymous properties.
Provides implementations of providers

Structs

A value could not be provided

Traits

Represents that a type can be represented as a provider. All Providers implement this trait.
The provider trait represents an object that can continuously produce a value. Provider values can be chained together using the ProviderExt trait.
Provides extensions that are not object safe to the Provider trait.