kafka-sagas
Version:
Build sagas that consume from a kafka topic
16 lines (15 loc) • 1.52 kB
TypeScript
import { PutEffect, CallEffect, IAction, AllCombinatorEffect, RaceCombinatorEffect, ActionChannelEffect, ActionChannelInput, ITakeEffectDescription, ITakeActionChannelEffectDescription, IActionChannelEffectDescription, DelayEffect } from './types';
export declare class EffectBuilder {
protected transactionId: string;
constructor(transactionId: string);
put: <Payload>(pattern: string, payload?: Payload | undefined) => import("./types").IPutEffectDescription<Payload>;
take<Payload extends {} | undefined = {}>(input: ActionChannelInput<IAction<Payload>>): ITakeEffectDescription<IAction<Payload>>;
take<Payload extends {} | undefined = {}>(input: IActionChannelEffectDescription<IAction<Payload>>): ITakeActionChannelEffectDescription<IAction<Payload>>;
callFn<Fn extends (...args: any[]) => any>(effect: Fn, args?: Parameters<Fn>): ReturnType<CallEffect<Fn>>;
actionChannel<Payload>(input: Parameters<ActionChannelEffect<Payload>>[0], actionBuffer?: Parameters<ActionChannelEffect<Payload>>[1]): ReturnType<ActionChannelEffect<Payload>>;
all<Payload>(effects: Parameters<AllCombinatorEffect<Payload>>[0]): ReturnType<AllCombinatorEffect<Payload>>;
race<Payload>(effects: Parameters<RaceCombinatorEffect<Payload>>[0]): ReturnType<RaceCombinatorEffect<Payload>>;
delay: <Payload>(delayInMilliseconds: number, payload?: Payload | undefined) => import("./types").IDelayEffectDescription<Payload>;
private generateTopics;
private generateTopicStreamObserver;
}