(
effect: Name,
handler: ExtractEffect<E> extends infer E ?
Extract<E, Effect<Name>> extends Unresumable<Effect> ?
(
{
effect,
terminate,
}: { effect: Extract<E, Effect<Name>>; terminate: (value: T) => void },
...payloads: Extract<E, Effect<Name>>["payloads"]
) => void | Generator<F, void, unknown> | Effected<F, void>
: (
{
effect,
resume,
terminate,
}: {
effect: Extract<E, Effect<Name>>;
resume: (value: Extract<E, Effect<Name>>["__returnType"]) => void;
terminate: (value: T) => void;
},
...payloads: Extract<E, Effect<Name>>["payloads"]
) => void | Generator<F, void, unknown> | Effected<F, void>
: never,
)
| 2252 | out R = unknown, |
| 2253 | > extends Iterable<E, R, unknown> { |
| 2254 | handle<Name extends ExtractEffect<E>["name"], T = R, F extends Effect = never>( |
| 2255 | effect: Name, |
| 2256 | handler: ExtractEffect<E> extends infer E ? |
| 2257 | Extract<E, Effect<Name>> extends Unresumable<Effect> ? |
no outgoing calls