@hotmeshio/hotmesh
Version:
Serverless Workflow
38 lines (37 loc) • 1.83 kB
TypeScript
import { EngineService } from '../engine';
import { ActivityData, ActivityMetadata, ActivityType, TriggerActivity } from '../../types/activity';
import { JobState, ExtensionType, JobStatus } from '../../types/job';
import { ProviderTransaction } from '../../types/provider';
import { StringScalarType } from '../../types/serializer';
import { Activity } from './activity';
declare class Trigger extends Activity {
config: TriggerActivity;
constructor(config: ActivityType, data: ActivityData, metadata: ActivityMetadata, hook: ActivityData | null, engine: EngineService, context?: JobState);
process(options?: ExtensionType): Promise<string>;
transitionAndLogAdjacent(options: ExtensionType, jobStatus: JobStatus, attrs: StringScalarType): Promise<void>;
/**
* `pending` flows will not transition from the trigger to adjacent children until resumed
*/
initStatus(options: ExtensionType, count: number): number;
setExpired(seconds: number, transaction: ProviderTransaction): Promise<void>;
safeKey(key: string): string;
bindSearchData(options?: ExtensionType): void;
bindMarkerData(options?: ExtensionType): void;
setStatus(amount: number): Promise<void>;
/**
* if the parent (spawner) chose not to await, emit the job_id
* as the data payload { job_id }
*/
execAdjacentParent(): Promise<void>;
createInputContext(): Partial<JobState>;
getState(): Promise<void>;
bindJobMetadataPaths(): string[];
bindActivityMetadataPaths(): string[];
resolveGranularity(): string;
getJobStatus(): number;
resolveJobId(context: Partial<JobState>): string;
resolveJobKey(context: Partial<JobState>): string;
setStateNX(status?: number): Promise<void>;
setStats(transaction?: ProviderTransaction): Promise<void>;
}
export { Trigger };