Skip to content

Commit 4817b6b

Browse files
committed
share the hook registration code
1 parent c50437a commit 4817b6b

File tree

1 file changed

+70
-70
lines changed

1 file changed

+70
-70
lines changed

packages/trigger-sdk/src/v3/shared.ts

Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,7 @@ export function createTask<
191191
},
192192
};
193193

194-
if (params.init) {
195-
lifecycleHooks.registerTaskInitHook(params.id, {
196-
fn: lifecycleHooksAdapters.createInitHookAdapter(params.init),
197-
});
198-
}
199-
200-
if (params.onStart) {
201-
lifecycleHooks.registerTaskStartHook(params.id, {
202-
fn: lifecycleHooksAdapters.createStartHookAdapter(params.onStart),
203-
});
204-
}
194+
registerTaskLifecycleHooks(params.id, params);
205195

206196
resourceCatalog.registerTaskMetadata({
207197
id: params.id,
@@ -328,65 +318,7 @@ export function createSchemaTask<
328318
},
329319
};
330320

331-
if (params.init) {
332-
lifecycleHooks.registerTaskInitHook(params.id, {
333-
fn: lifecycleHooksAdapters.createInitHookAdapter(params.init),
334-
});
335-
}
336-
337-
if (params.onStart) {
338-
lifecycleHooks.registerTaskStartHook(params.id, {
339-
fn: lifecycleHooksAdapters.createStartHookAdapter(params.onStart),
340-
});
341-
}
342-
343-
if (params.onFailure) {
344-
lifecycleHooks.registerTaskFailureHook(params.id, {
345-
fn: lifecycleHooksAdapters.createFailureHookAdapter(params.onFailure),
346-
});
347-
}
348-
349-
if (params.onSuccess) {
350-
lifecycleHooks.registerTaskSuccessHook(params.id, {
351-
fn: lifecycleHooksAdapters.createSuccessHookAdapter(params.onSuccess),
352-
});
353-
}
354-
355-
if (params.onComplete) {
356-
lifecycleHooks.registerTaskCompleteHook(params.id, {
357-
fn: params.onComplete as AnyOnCompleteHookFunction,
358-
});
359-
}
360-
361-
if (params.onWait) {
362-
lifecycleHooks.registerTaskWaitHook(params.id, {
363-
fn: params.onWait as AnyOnWaitHookFunction,
364-
});
365-
}
366-
367-
if (params.onResume) {
368-
lifecycleHooks.registerTaskResumeHook(params.id, {
369-
fn: params.onResume as AnyOnResumeHookFunction,
370-
});
371-
}
372-
373-
if (params.catchError) {
374-
lifecycleHooks.registerTaskCatchErrorHook(params.id, {
375-
fn: params.catchError as AnyOnCatchErrorHookFunction,
376-
});
377-
}
378-
379-
if (params.handleError) {
380-
lifecycleHooks.registerTaskCatchErrorHook(params.id, {
381-
fn: lifecycleHooksAdapters.createHandleErrorHookAdapter(params.handleError),
382-
});
383-
}
384-
385-
if (params.middleware) {
386-
lifecycleHooks.registerTaskMiddlewareHook(params.id, {
387-
fn: lifecycleHooksAdapters.createMiddlewareHookAdapter(params.middleware),
388-
});
389-
}
321+
registerTaskLifecycleHooks(params.id, params);
390322

391323
resourceCatalog.registerTaskMetadata({
392324
id: params.id,
@@ -1624,3 +1556,71 @@ async function handleTaskRunExecutionResult<TIdentifier extends string = string,
16241556
};
16251557
}
16261558
}
1559+
1560+
function registerTaskLifecycleHooks<
1561+
TIdentifier extends string,
1562+
TInput = void,
1563+
TOutput = unknown,
1564+
TInitOutput extends InitOutput = any,
1565+
>(taskId: TIdentifier, params: TaskOptions<TIdentifier, TInput, TOutput, TInitOutput>) {
1566+
if (params.init) {
1567+
lifecycleHooks.registerTaskInitHook(taskId, {
1568+
fn: lifecycleHooksAdapters.createInitHookAdapter(params.init),
1569+
});
1570+
}
1571+
1572+
if (params.onStart) {
1573+
lifecycleHooks.registerTaskStartHook(taskId, {
1574+
fn: lifecycleHooksAdapters.createStartHookAdapter(params.onStart),
1575+
});
1576+
}
1577+
1578+
if (params.onFailure) {
1579+
lifecycleHooks.registerTaskFailureHook(taskId, {
1580+
fn: lifecycleHooksAdapters.createFailureHookAdapter(params.onFailure),
1581+
});
1582+
}
1583+
1584+
if (params.onSuccess) {
1585+
lifecycleHooks.registerTaskSuccessHook(taskId, {
1586+
fn: lifecycleHooksAdapters.createSuccessHookAdapter(params.onSuccess),
1587+
});
1588+
}
1589+
1590+
if (params.onComplete) {
1591+
lifecycleHooks.registerTaskCompleteHook(taskId, {
1592+
fn: params.onComplete as AnyOnCompleteHookFunction,
1593+
});
1594+
}
1595+
1596+
if (params.onWait) {
1597+
lifecycleHooks.registerTaskWaitHook(taskId, {
1598+
fn: params.onWait as AnyOnWaitHookFunction,
1599+
});
1600+
}
1601+
1602+
if (params.onResume) {
1603+
lifecycleHooks.registerTaskResumeHook(taskId, {
1604+
fn: params.onResume as AnyOnResumeHookFunction,
1605+
});
1606+
}
1607+
1608+
if (params.catchError) {
1609+
// We don't need to use an adapter here because catchError is the new version of handleError
1610+
lifecycleHooks.registerTaskCatchErrorHook(taskId, {
1611+
fn: params.catchError as AnyOnCatchErrorHookFunction,
1612+
});
1613+
}
1614+
1615+
if (params.handleError) {
1616+
lifecycleHooks.registerTaskCatchErrorHook(taskId, {
1617+
fn: lifecycleHooksAdapters.createHandleErrorHookAdapter(params.handleError),
1618+
});
1619+
}
1620+
1621+
if (params.middleware) {
1622+
lifecycleHooks.registerTaskMiddlewareHook(taskId, {
1623+
fn: lifecycleHooksAdapters.createMiddlewareHookAdapter(params.middleware),
1624+
});
1625+
}
1626+
}

0 commit comments

Comments
 (0)