( options: TriggerOptions<TEvent> )
| 101 | * @param options options for the EventTrigger |
| 102 | */ |
| 103 | export function eventTrigger<TEvent extends any = any>( |
| 104 | options: TriggerOptions<TEvent> |
| 105 | ): Trigger<EventSpecification<TEvent>> { |
| 106 | return new EventTrigger({ |
| 107 | name: options.name, |
| 108 | filter: options.filter, |
| 109 | source: options.source, |
| 110 | event: { |
| 111 | name: options.name, |
| 112 | title: "Event", |
| 113 | source: options.source ?? "trigger.dev", |
| 114 | icon: "custom-event", |
| 115 | examples: options.examples, |
| 116 | parsePayload: (rawPayload: any) => { |
| 117 | if (options.schema) { |
| 118 | const results = options.schema.safeParse(rawPayload); |
| 119 | |
| 120 | if (!results.success) { |
| 121 | throw new ParsedPayloadSchemaError(formatSchemaErrors(results.error.issues)); |
| 122 | } |
| 123 | |
| 124 | return results.data; |
| 125 | } |
| 126 | |
| 127 | return rawPayload as any; |
| 128 | }, |
| 129 | }, |
| 130 | }); |
| 131 | } |
no test coverage detected
searching dependent graphs…