@@ -6,14 +6,14 @@ type Token = {
66
77export const waitToken = task ( {
88 id : "wait-token" ,
9- run : async ( payload : any , { ctx } ) => {
10- logger . log ( "Hello, world" , { payload } ) ;
9+ run : async ( { completeBeforeWaiting } : { completeBeforeWaiting : boolean } , { ctx } ) => {
10+ logger . log ( "Hello, world" , { completeBeforeWaiting } ) ;
1111
1212 const idempotencyKey = "a" ;
1313
1414 const token = await wait . createToken ( {
1515 // idempotencyKey,
16- timeout : new Date ( Date . now ( ) + 5_000 ) ,
16+ timeout : new Date ( Date . now ( ) + 10_000 ) ,
1717 } ) ;
1818 logger . log ( "Token" , token ) ;
1919
@@ -22,17 +22,22 @@ export const waitToken = task({
2222 timeout : "10s" } ) ;
2323 logger . log ( "Token2" , token2 ) ;
2424
25- //todo test with an already completed token
26- await completeWaitToken . trigger ( { token : token . id , delay : 4 } ) ;
25+ if ( completeBeforeWaiting ) {
26+ await wait . completeToken < Token > ( token . id , { status : "approved" } ) ;
27+ await wait . for ( { seconds : 10 } ) ;
28+ } else {
29+ await completeWaitToken . trigger ( { token : token . id , delay : 4 } ) ;
30+ }
2731
2832
2933 //wait for the token
3034 const result = await wait . forToken < { foo : string } > ( token ) ;
3135 if ( ! result . ok ) {
32-
36+ logger . log ( "Token timeout" , result ) ;
37+ } else {
38+ logger . log ( "Token completed" , result ) ;
3339 }
3440
35- logger . log ( "Token completed" , result ) ;
3641 } ,
3742} )
3843
0 commit comments