UNPKG

@hotmeshio/hotmesh

Version:

Serverless Workflow

28 lines (27 loc) 1.31 kB
import { EngineService } from '../engine'; import { TelemetryService } from '../telemetry'; import { ActivityData, ActivityMetadata, ActivityType, HookActivity } from '../../types/activity'; import { HookRule } from '../../types/hook'; import { JobState, JobStatus } from '../../types/job'; import { ProviderTransaction } from '../../types/provider'; import { StreamCode, StreamStatus } from '../../types/stream'; import { Activity } from './activity'; /** * Supports `signal hook`, `time hook`, and `cycle hook` patterns */ declare class Hook extends Activity { config: HookActivity; constructor(config: ActivityType, data: ActivityData, metadata: ActivityMetadata, hook: ActivityData | null, engine: EngineService, context?: JobState); process(): Promise<string>; /** * does this activity use a time-hook or web-hook */ doesHook(): boolean; doHook(telemetry: TelemetryService): Promise<void>; doPassThrough(telemetry: TelemetryService): Promise<void>; getHookRule(topic: string): Promise<HookRule | undefined>; registerHook(transaction?: ProviderTransaction): Promise<string | void>; processWebHookEvent(status?: StreamStatus, code?: StreamCode): Promise<JobStatus | void>; processTimeHookEvent(jobId: string): Promise<JobStatus | void>; } export { Hook };