@@ -23,44 +23,48 @@ type Task = {
2323 friendlyId : string ;
2424} ;
2525
26- export type TestTask =
26+ type Queue = {
27+ id : string ;
28+ name : string ;
29+ type : "custom" | "task" ;
30+ paused : boolean ;
31+ } ;
32+
33+ export type TestTaskResult =
2734 | {
35+ foundTask : true ;
2836 triggerSource : "STANDARD" ;
29- queue ?: {
30- id : string ;
31- name : string ;
32- type : "custom" | "task" ;
33- paused : boolean ;
34- } ;
37+ queue ?: Queue ;
3538 task : Task ;
3639 runs : StandardRun [ ] ;
3740 latestVersions : string [ ] ;
41+ disableVersionSelection : boolean ;
42+ allowArbitraryQueues : boolean ;
3843 }
3944 | {
45+ foundTask : true ;
4046 triggerSource : "SCHEDULED" ;
41- queue ?: {
42- id : string ;
43- name : string ;
44- type : "custom" | "task" ;
45- paused : boolean ;
46- } ;
47+ queue ?: Queue ;
4748 task : Task ;
4849 possibleTimezones : string [ ] ;
4950 runs : ScheduledRun [ ] ;
5051 latestVersions : string [ ] ;
51- } ;
52-
53- export type TestTaskResult =
54- | {
55- foundTask : true ;
56- task : TestTask ;
5752 disableVersionSelection : boolean ;
5853 allowArbitraryQueues : boolean ;
5954 }
6055 | {
6156 foundTask : false ;
6257 } ;
6358
59+ export type StandardTaskResult = Extract <
60+ TestTaskResult ,
61+ { foundTask : true ; triggerSource : "STANDARD" }
62+ > ;
63+ export type ScheduledTaskResult = Extract <
64+ TestTaskResult ,
65+ { foundTask : true ; triggerSource : "SCHEDULED" }
66+ > ;
67+
6468type RawRun = {
6569 id : string ;
6670 queue : string ;
@@ -217,71 +221,71 @@ export class TestTaskPresenter {
217221 case "STANDARD" :
218222 return {
219223 foundTask : true ,
220- task : {
221- triggerSource : "STANDARD" ,
222- queue : taskQueue
223- ? {
224- id : taskQueue . friendlyId ,
225- name : taskQueue . name . replace ( / ^ t a s k \/ / , "" ) ,
226- type : queueTypeFromType ( taskQueue . type ) ,
227- paused : taskQueue . paused ,
228- }
229- : undefined ,
230- task : taskWithEnvironment ,
231- runs : await Promise . all (
232- latestRuns . map (
233- async ( r ) =>
234- ( {
235- ...r ,
236- payload : await prettyPrintPacket ( r . payload , r . payloadType ) ,
237- metadata : r . seedMetadata
238- ? await prettyPrintPacket ( r . seedMetadata , r . seedMetadataType )
239- : undefined ,
240- ttlSeconds : r . ttl ? parse ( r . ttl , "s" ) ?? undefined : undefined ,
241- } satisfies StandardRun )
242- )
243- ) ,
244- latestVersions,
245- } ,
224+ triggerSource : "STANDARD" ,
225+ queue : taskQueue
226+ ? {
227+ id : taskQueue . friendlyId ,
228+ name : taskQueue . name . replace ( / ^ t a s k \/ / , "" ) ,
229+ type : queueTypeFromType ( taskQueue . type ) ,
230+ paused : taskQueue . paused ,
231+ }
232+ : undefined ,
233+ task : taskWithEnvironment ,
234+ runs : await Promise . all (
235+ latestRuns . map (
236+ async ( r ) =>
237+ ( {
238+ ...r ,
239+ payload : await prettyPrintPacket ( r . payload , r . payloadType ) ,
240+ metadata : r . seedMetadata
241+ ? await prettyPrintPacket ( r . seedMetadata , r . seedMetadataType )
242+ : undefined ,
243+ ttlSeconds : r . ttl ? parse ( r . ttl , "s" ) ?? undefined : undefined ,
244+ } satisfies StandardRun )
245+ )
246+ ) ,
247+ latestVersions,
246248 disableVersionSelection,
247249 allowArbitraryQueues,
248250 } ;
249- case "SCHEDULED" :
251+ case "SCHEDULED" : {
250252 const possibleTimezones = getTimezones ( ) ;
251253 return {
252254 foundTask : true ,
253- task : {
254- triggerSource : "SCHEDULED" ,
255- queue : taskQueue
256- ? {
257- id : taskQueue . friendlyId ,
258- name : taskQueue . name . replace ( / ^ t a s k \/ / , "" ) ,
259- type : queueTypeFromType ( taskQueue . type ) ,
260- paused : taskQueue . paused ,
261- }
262- : undefined ,
263- task : taskWithEnvironment ,
264- possibleTimezones,
265- runs : (
266- await Promise . all (
267- latestRuns . map ( async ( r ) => {
268- const payload = await getScheduleTaskRunPayload ( r ) ;
255+ triggerSource : "SCHEDULED" ,
256+ queue : taskQueue
257+ ? {
258+ id : taskQueue . friendlyId ,
259+ name : taskQueue . name . replace ( / ^ t a s k \/ / , "" ) ,
260+ type : queueTypeFromType ( taskQueue . type ) ,
261+ paused : taskQueue . paused ,
262+ }
263+ : undefined ,
264+ task : taskWithEnvironment ,
265+ possibleTimezones,
266+ runs : (
267+ await Promise . all (
268+ latestRuns . map ( async ( r ) => {
269+ const payload = await getScheduleTaskRunPayload ( r ) ;
269270
270- if ( payload . success ) {
271- return {
272- ...r ,
273- payload : payload . data ,
274- ttlSeconds : r . ttl ? parse ( r . ttl , "s" ) ?? undefined : undefined ,
275- } satisfies ScheduledRun ;
276- }
277- } )
278- )
279- ) . filter ( Boolean ) ,
280- latestVersions,
281- } ,
271+ if ( payload . success ) {
272+ return {
273+ ...r ,
274+ payload : payload . data ,
275+ ttlSeconds : r . ttl ? parse ( r . ttl , "s" ) ?? undefined : undefined ,
276+ } satisfies ScheduledRun ;
277+ }
278+ } )
279+ )
280+ ) . filter ( Boolean ) ,
281+ latestVersions,
282282 disableVersionSelection,
283283 allowArbitraryQueues,
284284 } ;
285+ }
286+ default : {
287+ return task . triggerSource satisfies never ;
288+ }
285289 }
286290 }
287291}
0 commit comments