Skip to content

Commit 72ee122

Browse files
committed
chore: use error.cause in envelopes
1 parent 81f22bd commit 72ee122

14 files changed

+94
-116
lines changed

packages/parser/src/envelopes/apigw.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ export class ApiGatewayEnvelope extends Envelope {
2323
if (!parsedEnvelope.success) {
2424
return {
2525
success: false,
26-
error: new ParseError(
27-
'Failed to parse ApiGatewayEnvelope',
28-
parsedEnvelope.error
29-
),
26+
error: new ParseError('Failed to parse ApiGatewayEnvelope', {
27+
cause: parsedEnvelope.error,
28+
}),
3029
originalEvent: data,
3130
};
3231
}
@@ -36,10 +35,9 @@ export class ApiGatewayEnvelope extends Envelope {
3635
if (!parsedBody.success) {
3736
return {
3837
success: false,
39-
error: new ParseError(
40-
'Failed to parse ApiGatewayEnvelope body',
41-
parsedBody.error
42-
),
38+
error: new ParseError('Failed to parse ApiGatewayEnvelope body', {
39+
cause: parsedBody.error,
40+
}),
4341
originalEvent: data,
4442
};
4543
}

packages/parser/src/envelopes/apigwv2.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ export class ApiGatewayV2Envelope extends Envelope {
2323
if (!parsedEnvelope.success) {
2424
return {
2525
success: false,
26-
error: new ParseError(
27-
'Failed to parse API Gateway V2 envelope',
28-
parsedEnvelope.error
29-
),
26+
error: new ParseError('Failed to parse API Gateway V2 envelope', {
27+
cause: parsedEnvelope.error,
28+
}),
3029
originalEvent: data,
3130
};
3231
}
@@ -36,10 +35,9 @@ export class ApiGatewayV2Envelope extends Envelope {
3635
if (!parsedBody.success) {
3736
return {
3837
success: false,
39-
error: new ParseError(
40-
'Failed to parse API Gateway V2 envelope body',
41-
parsedBody.error
42-
),
38+
error: new ParseError('Failed to parse API Gateway V2 envelope body', {
39+
cause: parsedBody.error,
40+
}),
4341
originalEvent: data,
4442
};
4543
}

packages/parser/src/envelopes/cloudwatch.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,9 @@ export class CloudWatchEnvelope extends Envelope {
3434
if (!parsedEnvelope.success) {
3535
return {
3636
success: false,
37-
error: new ParseError(
38-
'Failed to parse CloudWatch envelope',
39-
parsedEnvelope.error
40-
),
37+
error: new ParseError('Failed to parse CloudWatch envelope', {
38+
cause: parsedEnvelope.error,
39+
}),
4140
originalEvent: data,
4241
};
4342
}
@@ -48,10 +47,9 @@ export class CloudWatchEnvelope extends Envelope {
4847
if (!parsedMessage.success) {
4948
return {
5049
success: false,
51-
error: new ParseError(
52-
'Failed to parse CloudWatch log event',
53-
parsedMessage.error
54-
),
50+
error: new ParseError('Failed to parse CloudWatch log event', {
51+
cause: parsedMessage.error,
52+
}),
5553
originalEvent: data,
5654
};
5755
} else {

packages/parser/src/envelopes/dynamodb.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,9 @@ export class DynamoDBStreamEnvelope extends Envelope {
3939
if (!parsedEnvelope.success) {
4040
return {
4141
success: false,
42-
error: new ParseError(
43-
'Failed to parse DynamoDB Stream envelope',
44-
parsedEnvelope.error
45-
),
42+
error: new ParseError('Failed to parse DynamoDB Stream envelope', {
43+
cause: parsedEnvelope.error,
44+
}),
4645
originalEvent: data,
4746
};
4847
}
@@ -55,11 +54,12 @@ export class DynamoDBStreamEnvelope extends Envelope {
5554
return {
5655
success: false,
5756
error: !parsedNewImage.success
58-
? new ParseError('Failed to parse NewImage', parsedNewImage.error)
59-
: new ParseError(
60-
'Failed to parse OldImage',
61-
(parsedOldImage as ParsedResultError<unknown>).error
62-
),
57+
? new ParseError('Failed to parse NewImage', {
58+
cause: parsedNewImage.error,
59+
})
60+
: new ParseError('Failed to parse OldImage', {
61+
cause: (parsedOldImage as ParsedResultError<unknown>).error,
62+
}),
6363
originalEvent: data,
6464
};
6565
} else {

packages/parser/src/envelopes/envelope.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export class Envelope {
2727
return schema.parse(data);
2828
}
2929
} catch (e) {
30-
throw new ParseError(`Failed to parse envelope`, e as Error);
30+
throw new ParseError(`Failed to parse envelope`, { cause: e as Error });
3131
}
3232
};
3333

@@ -63,13 +63,17 @@ export class Envelope {
6363
}
6464
: {
6565
success: false,
66-
error: new ParseError(`Failed to parse envelope`, parsed.error),
66+
error: new ParseError(`Failed to parse envelope`, {
67+
cause: parsed.error,
68+
}),
6769
originalEvent: input,
6870
};
6971
} catch (e) {
7072
return {
7173
success: false,
72-
error: new ParseError(`Failed to parse envelope`, e as Error),
74+
error: new ParseError(`Failed to parse envelope`, {
75+
cause: e as Error,
76+
}),
7377
originalEvent: input,
7478
};
7579
}

packages/parser/src/envelopes/event-bridge.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@ export class EventBridgeEnvelope extends Envelope {
2424
if (!parsedEnvelope.success) {
2525
return {
2626
success: false,
27-
error: new ParseError(
28-
'Failed to parse EventBridge envelope',
29-
parsedEnvelope.error
30-
),
27+
error: new ParseError('Failed to parse EventBridge envelope', {
28+
cause: parsedEnvelope.error,
29+
}),
3130
originalEvent: data,
3231
};
3332
}
@@ -37,10 +36,9 @@ export class EventBridgeEnvelope extends Envelope {
3736
if (!parsedDetail.success) {
3837
return {
3938
success: false,
40-
error: new ParseError(
41-
'Failed to parse EventBridge envelope detail',
42-
parsedDetail.error
43-
),
39+
error: new ParseError('Failed to parse EventBridge envelope detail', {
40+
cause: parsedDetail.error,
41+
}),
4442
originalEvent: data,
4543
};
4644
}

packages/parser/src/envelopes/kafka.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,9 @@ export class KafkaEnvelope extends Envelope {
5353
if (!parsedEnvelope.success) {
5454
return {
5555
success: false,
56-
error: new ParseError(
57-
'Failed to parse Kafka envelope',
58-
parsedEnvelope.error
59-
),
56+
error: new ParseError('Failed to parse Kafka envelope', {
57+
cause: parsedEnvelope.error,
58+
}),
6059
originalEvent: data,
6160
};
6261
}
@@ -68,10 +67,9 @@ export class KafkaEnvelope extends Envelope {
6867
if (!parsedRecord.success) {
6968
return {
7069
success: false,
71-
error: new ParseError(
72-
'Failed to parse Kafka record',
73-
parsedRecord.error
74-
),
70+
error: new ParseError('Failed to parse Kafka record', {
71+
cause: parsedRecord.error,
72+
}),
7573
originalEvent: data,
7674
};
7775
}

packages/parser/src/envelopes/kinesis-firehose.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,9 @@ export class KinesisFirehoseEnvelope extends Envelope {
3737
if (!parsedEnvelope.success) {
3838
return {
3939
success: false,
40-
error: new ParseError(
41-
'Failed to parse Kinesis Firehose envelope',
42-
parsedEnvelope.error
43-
),
40+
error: new ParseError('Failed to parse Kinesis Firehose envelope', {
41+
cause: parsedEnvelope.error,
42+
}),
4443
originalEvent: data,
4544
};
4645
}
@@ -51,10 +50,9 @@ export class KinesisFirehoseEnvelope extends Envelope {
5150
if (!parsedData.success) {
5251
return {
5352
success: false,
54-
error: new ParseError(
55-
'Failed to parse Kinesis Firehose record',
56-
parsedData.error
57-
),
53+
error: new ParseError('Failed to parse Kinesis Firehose record', {
54+
cause: parsedData.error,
55+
}),
5856
originalEvent: data,
5957
};
6058
}

packages/parser/src/envelopes/kinesis.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,9 @@ export class KinesisEnvelope extends Envelope {
3434
if (!parsedEnvelope.success) {
3535
return {
3636
success: false,
37-
error: new ParseError(
38-
'Failed to parse Kinesis Data Stream envelope',
39-
parsedEnvelope.error
40-
),
37+
error: new ParseError('Failed to parse Kinesis Data Stream envelope', {
38+
cause: parsedEnvelope.error,
39+
}),
4140
originalEvent: data,
4241
};
4342
}
@@ -49,10 +48,9 @@ export class KinesisEnvelope extends Envelope {
4948
if (!parsedRecord.success) {
5049
return {
5150
success: false,
52-
error: new ParseError(
53-
'Failed to parse Kinesis Data Stream record',
54-
parsedRecord.error
55-
),
51+
error: new ParseError('Failed to parse Kinesis Data Stream record', {
52+
cause: parsedRecord.error,
53+
}),
5654
originalEvent: data,
5755
};
5856
}

packages/parser/src/envelopes/lambda.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,9 @@ export class LambdaFunctionUrlEnvelope extends Envelope {
3939
if (!parsedBody.success) {
4040
return {
4141
success: false,
42-
error: new ParseError(
43-
'Failed to parse Lambda function URL body',
44-
parsedBody.error
45-
),
42+
error: new ParseError('Failed to parse Lambda function URL body', {
43+
cause: parsedBody.error,
44+
}),
4645
originalEvent: data,
4746
};
4847
}

packages/parser/src/envelopes/sns.ts

+15-20
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@ export class SnsEnvelope extends Envelope {
3535
if (!parsedEnvelope.success) {
3636
return {
3737
success: false,
38-
error: new ParseError(
39-
`Failed to parse SNS envelope`,
40-
parsedEnvelope.error
41-
),
38+
error: new ParseError(`Failed to parse SNS envelope`, {
39+
cause: parsedEnvelope.error,
40+
}),
4241
originalEvent: data,
4342
};
4443
}
@@ -49,10 +48,9 @@ export class SnsEnvelope extends Envelope {
4948
if (!parsedMessage.success) {
5049
return {
5150
success: false,
52-
error: new ParseError(
53-
`Failed to parse SNS message`,
54-
parsedMessage.error
55-
),
51+
error: new ParseError(`Failed to parse SNS message`, {
52+
cause: parsedMessage.error,
53+
}),
5654
originalEvent: data,
5755
};
5856
}
@@ -101,10 +99,9 @@ export class SnsSqsEnvelope extends Envelope {
10199
if (!parsedEnvelope.success) {
102100
return {
103101
success: false,
104-
error: new ParseError(
105-
`Failed to parse SQS envelope`,
106-
parsedEnvelope.error
107-
),
102+
error: new ParseError(`Failed to parse SQS envelope`, {
103+
cause: parsedEnvelope.error,
104+
}),
108105
originalEvent: data,
109106
};
110107
}
@@ -120,10 +117,9 @@ export class SnsSqsEnvelope extends Envelope {
120117
if (!snsNotification.success) {
121118
return {
122119
success: false,
123-
error: new ParseError(
124-
`Failed to parse SNS notification`,
125-
snsNotification.error
126-
),
120+
error: new ParseError(`Failed to parse SNS notification`, {
121+
cause: snsNotification.error,
122+
}),
127123
originalEvent: data,
128124
};
129125
}
@@ -134,10 +130,9 @@ export class SnsSqsEnvelope extends Envelope {
134130
if (!parsedMessage.success) {
135131
return {
136132
success: false,
137-
error: new ParseError(
138-
`Failed to parse SNS message`,
139-
parsedMessage.error
140-
),
133+
error: new ParseError(`Failed to parse SNS message`, {
134+
cause: parsedMessage.error,
135+
}),
141136
originalEvent: data,
142137
};
143138
}

packages/parser/src/envelopes/sqs.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,9 @@ export class SqsEnvelope extends Envelope {
3333
if (!parsedEnvelope.success) {
3434
return {
3535
success: false,
36-
error: new ParseError(
37-
'Failed to parse Sqs Envelope',
38-
parsedEnvelope.error
39-
),
36+
error: new ParseError('Failed to parse Sqs Envelope', {
37+
cause: parsedEnvelope.error,
38+
}),
4039
originalEvent: data,
4140
};
4241
}
@@ -47,10 +46,9 @@ export class SqsEnvelope extends Envelope {
4746
if (!parsedRecord.success) {
4847
return {
4948
success: false,
50-
error: new ParseError(
51-
'Failed to parse Sqs Record',
52-
parsedRecord.error
53-
),
49+
error: new ParseError('Failed to parse Sqs Record', {
50+
cause: parsedRecord.error,
51+
}),
5452
originalEvent: data,
5553
};
5654
}

packages/parser/src/envelopes/vpc-lattice.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ export class VpcLatticeEnvelope extends Envelope {
2626
if (!parsedEnvelope.success) {
2727
return {
2828
success: false,
29-
error: new ParseError(
30-
'Failed to parse VpcLattice envelope',
31-
parsedEnvelope.error
32-
),
29+
error: new ParseError('Failed to parse VpcLattice envelope', {
30+
cause: parsedEnvelope.error,
31+
}),
3332
originalEvent: data,
3433
};
3534
}
@@ -39,10 +38,9 @@ export class VpcLatticeEnvelope extends Envelope {
3938
if (!parsedBody.success) {
4039
return {
4140
success: false,
42-
error: new ParseError(
43-
'Failed to parse VpcLattice envelope body',
44-
parsedBody.error
45-
),
41+
error: new ParseError('Failed to parse VpcLattice envelope body', {
42+
cause: parsedBody.error,
43+
}),
4644
originalEvent: data,
4745
};
4846
}

0 commit comments

Comments
 (0)