@ilijanl/temporalio-utils
Version:
A set of utils around temporalio typescript sdk
26 lines (25 loc) • 839 B
JavaScript
// src/activity/index.ts
import { ApplicationFailure } from "@temporalio/common";
var manualActivityRetryType = "ManualActivityRetry";
var isManualActivityRetry = (error) => typeof error === "object" && error !== null && "type" in error && error.type === manualActivityRetryType;
var retry = (options) => {
const error = ApplicationFailure.create({
// this type is can be used in logs and alerts to filter out manual retries
type: manualActivityRetryType,
nonRetryable: false,
...options
});
throw error;
};
var createActivity = (definition, executeFn) => ({
definition,
executeFn
});
var getActivityIdempotencyKey = (input) => `${input.info.workflowExecution.runId}_${input.info.activityId}`;
export {
createActivity,
getActivityIdempotencyKey,
isManualActivityRetry,
manualActivityRetryType,
retry
};