Potentially outdated documentation
You're reading API reference for version 3.0.3. The latest stable release is version 3.1.0.
type alias Callablethefrontside/effection
type Callable = Operation<T> | Promise<T> | (() => Operation<T>) | (() => Promise<T>) | (() => T)
A uniform integration type representing anything that can be evaluated as a the parameter to call.
call converts a Callable
into an Operation
which can then be used
anywhere within Effection.
APIs that accept Callable
values allow end developers to pass simple
functions without necessarily needing to know anything about Operations.
function hello(to: Callable<string>): Operation<string> {
return function*() {
return `hello ${yield* call(to)}`;
}
}
await run(() => hello(() => "world!")); // => "hello world!"
await run(() => hello(async () => "world!")); // => "hello world!"
await run(() => hello(function*() { return "world!" })); "hello world!";
Type Parameters
T