atombeak
Version:
Create asynchronous atomic functions!
12 lines (11 loc) • 730 B
TypeScript
import { Operation } from './Operation';
import { Log } from '../Log';
import { Trampoline } from '../Trampoline';
export declare class RetryOperation<Outer, Inner, Action> implements Operation<Outer, Inner, Action> {
execute(log: Log<Outer, Action>): Trampoline<Outer, Inner, Action>;
map<NewInner>(_fn: (inner: Inner) => NewInner): Operation<Outer, NewInner, Action>;
flatMap<NewInner>(_fn: (inner: Inner) => Operation<Outer, NewInner, Action>): Operation<Outer, NewInner, Action>;
assign<Inner extends object, K extends string | number | symbol, V>(this: Operation<Outer, Inner, Action>, _key: K, _valueOperation: Operation<Outer, V, Action>): Operation<Outer, Inner & {
[KK in K]: V;
}, Action>;
}