@@ -2,7 +2,7 @@ import type { ZodSchema, z } from 'zod';
22import { ParseError } from '../errors.js' ;
33import { KinesisFirehoseSchema } from '../schemas/index.js' ;
44import type { ParsedResult } from '../types/index.js' ;
5- import { Envelope } from './envelope.js' ;
5+ import { Envelope , envelopeDiscriminator } from './envelope.js' ;
66
77/**
88 * Kinesis Firehose Envelope to extract array of Records
@@ -17,6 +17,11 @@ import { Envelope } from './envelope.js';
1717 * https://docs.aws.amazon.com/lambda/latest/dg/services-kinesisfirehose.html
1818 */
1919export const KinesisFirehoseEnvelope = {
20+ /**
21+ * This is a discriminator to differentiate whether an envelope returns an array or an object
22+ * @hidden
23+ */
24+ [ envelopeDiscriminator ] : 'array' as const ,
2025 parse < T extends ZodSchema > ( data : unknown , schema : T ) : z . infer < T > [ ] {
2126 const parsedEnvelope = KinesisFirehoseSchema . parse ( data ) ;
2227
@@ -25,7 +30,10 @@ export const KinesisFirehoseEnvelope = {
2530 } ) ;
2631 } ,
2732
28- safeParse < T extends ZodSchema > ( data : unknown , schema : T ) : ParsedResult {
33+ safeParse < T extends ZodSchema > (
34+ data : unknown ,
35+ schema : T
36+ ) : ParsedResult < unknown , z . infer < T > [ ] > {
2937 const parsedEnvelope = KinesisFirehoseSchema . safeParse ( data ) ;
3038
3139 if ( ! parsedEnvelope . success ) {
0 commit comments