Skip to content

Commit eeb3475

Browse files
authored
Always create an empty prehandler list for convenient later mutation (#111)
1 parent 43cc912 commit eeb3475

File tree

5 files changed

+11
-24
lines changed

5 files changed

+11
-24
lines changed

packages/amqp/lib/AbstractAmqpConsumerMonoSchema.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,7 @@ export abstract class AbstractAmqpConsumerMonoSchema<
3535
{
3636
private readonly messageSchema: ZodSchema<MessagePayloadType>
3737
private readonly schemaEither: Either<Error, ZodSchema<MessagePayloadType>>
38-
private readonly prehandlers?: Prehandler<
39-
MessagePayloadType,
40-
ExecutionContext,
41-
PrehandlerOutput
42-
>[]
38+
private readonly prehandlers: Prehandler<MessagePayloadType, ExecutionContext, PrehandlerOutput>[]
4339

4440
constructor(
4541
dependencies: AMQPConsumerDependencies,
@@ -51,7 +47,7 @@ export abstract class AbstractAmqpConsumerMonoSchema<
5147
) {
5248
super(dependencies, options)
5349

54-
this.prehandlers = options.prehandlers
50+
this.prehandlers = options.prehandlers ?? []
5551
this.messageSchema = options.messageSchema
5652
this.schemaEither = {
5753
result: this.messageSchema,

packages/core/lib/queues/AbstractQueueService.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,12 +224,10 @@ export abstract class AbstractQueueService<
224224
}
225225

226226
protected processPrehandlersInternal(
227-
prehandlers:
228-
| Prehandler<MessagePayloadSchemas, ExecutionContext, PrehandlerOutput>[]
229-
| undefined,
227+
prehandlers: Prehandler<MessagePayloadSchemas, ExecutionContext, PrehandlerOutput>[],
230228
message: MessagePayloadSchemas,
231229
) {
232-
if (!prehandlers || prehandlers.length === 0) {
230+
if (prehandlers.length === 0) {
233231
return Promise.resolve({} as PrehandlerOutput)
234232
}
235233

packages/core/lib/queues/HandlerContainer.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export class MessageHandlerConfig<
8383
PrehandlerOutput,
8484
BarrierOutput
8585
>
86-
public readonly prehandlers?: Prehandler<
86+
public readonly prehandlers: Prehandler<
8787
MessagePayloadSchema,
8888
ExecutionContext,
8989
PrehandlerOutput
@@ -103,7 +103,7 @@ export class MessageHandlerConfig<
103103
this.handler = handler
104104
this.messageLogFormatter = options?.messageLogFormatter ?? defaultLogFormatter
105105
this.preHandlerBarrier = options?.preHandlerBarrier
106-
this.prehandlers = options?.prehandlers
106+
this.prehandlers = options?.prehandlers ?? []
107107
}
108108
}
109109

@@ -116,6 +116,7 @@ export class MessageHandlerConfigBuilder<
116116
MessagePayloadSchemas,
117117
ExecutionContext,
118118
PrehandlerOutput,
119+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
119120
any
120121
>[]
121122

packages/sns/lib/sns/AbstractSnsSqsConsumerMonoSchema.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,7 @@ export abstract class AbstractSnsSqsConsumerMonoSchema<
8585
private readonly snsClient: SNSClient
8686
private readonly messageSchema: ZodSchema<MessagePayloadType>
8787
private readonly schemaEither: Either<Error, ZodSchema<MessagePayloadType>>
88-
private readonly prehandlers?: Prehandler<
89-
MessagePayloadType,
90-
ExecutionContext,
91-
PrehandlerOutput
92-
>[]
88+
private readonly prehandlers: Prehandler<MessagePayloadType, ExecutionContext, PrehandlerOutput>[]
9389

9490
// @ts-ignore
9591
public topicArn: string
@@ -106,7 +102,7 @@ export abstract class AbstractSnsSqsConsumerMonoSchema<
106102

107103
this.subscriptionConfig = options.subscriptionConfig
108104
this.snsClient = dependencies.snsClient
109-
this.prehandlers = options.prehandlers
105+
this.prehandlers = options.prehandlers ?? []
110106
this.messageSchema = options.messageSchema
111107
this.schemaEither = {
112108
result: this.messageSchema,

packages/sqs/lib/sqs/AbstractSqsConsumerMonoSchema.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,12 @@ export abstract class AbstractSqsConsumerMonoSchema<
9393
{
9494
private readonly messageSchema: ZodSchema<MessagePayloadType>
9595
private readonly schemaEither: Either<Error, ZodSchema<MessagePayloadType>>
96-
private readonly prehandlers?: Prehandler<
97-
MessagePayloadType,
98-
ExecutionContext,
99-
PrehandlerOutput
100-
>[]
96+
private readonly prehandlers: Prehandler<MessagePayloadType, ExecutionContext, PrehandlerOutput>[]
10197

10298
protected constructor(dependencies: SQSConsumerDependencies, options: ConsumerOptionsType) {
10399
super(dependencies, options)
104100

105-
this.prehandlers = options.prehandlers
101+
this.prehandlers = options.prehandlers ?? []
106102
this.messageSchema = options.messageSchema
107103
this.schemaEither = {
108104
result: this.messageSchema,

0 commit comments

Comments
 (0)