UNPKG

atombeak

Version:

Create asynchronous atomic functions!

25 lines (24 loc) 1.27 kB
import { Retry, Good } from '../Result'; import { Log } from '../Log'; export declare const OUTER_CHANGED = "OUTER_CHANGED"; export declare type OuterChangedMessage<Outer> = { type: 'OUTER_CHANGED'; oldOuter: Outer; newOuter: Outer; }; export declare function outerChangedMessage<Outer>(oldOuter: Outer, newOuter: Outer): OuterChangedMessage<Outer>; export declare const NEXT_ITERATION = "NEXT_ITERATION"; export declare type NextIteration<Outer, Action> = { type: 'NEXT_ITERATION'; attempt: number; log: Log<Outer, Action>; }; export declare function nextIteration<Outer, Action>(attempt: number, log: Log<Outer, Action>): NextIteration<Outer, Action>; export declare const RESULT_RECEIVED = "RESULT_RECEIVED"; export declare type ResultReceivedMessage<Outer, Inner, Action> = { type: 'RESULT_RECEIVED'; attempt: number; result: Good<Outer, Inner, Action> | Retry<Outer, Action>; }; export declare function resultReceivedMessage<Outer, Inner, Action>(attempt: number, result: Good<Outer, Inner, Action> | Retry<Outer, Action>): ResultReceivedMessage<Outer, Inner, Action>; export declare type Message<Outer, Inner, Action> = OuterChangedMessage<Outer> | NextIteration<Outer, Action> | ResultReceivedMessage<Outer, Inner, Action>;