@@ -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