UNPKG

@aws-lambda-powertools/parser

Version:
33 lines 1.27 kB
import type { MiddlewareObj } from '@middy/core'; import type { StandardSchemaV1 } from '@standard-schema/spec'; import type { Envelope } from '../types/envelope.js'; import type { ParserOptions, ParserOutput } from '../types/parser.js'; /** * A Middy.js middleware to parse incoming events using a specified schema and optional envelope. * * @example * ```typescript * import { parser } from '@aws-lambda-powertools/parser/middleware'; * import middy from '@middy/core'; * import { SqsEnvelope } from '@aws-lambda-powertools/parser/envelopes/sqs'; * * const orderSchema = z.object({ * id: z.number(), * description: z.string(), * quantity: z.number(), * }); * * type Order = z.infer<typeof orderSchema>; * * export const handler = middy() * .use(parser({ schema: orderSchema, envelope: SqsEnvelope })) * .handler(async (event) => { * // ^ event is inferred as Order[] * }) * ``` * * @param options - options for the parser */ declare const parser: <TSchema extends StandardSchemaV1, TEnvelope extends Envelope, TSafeParse extends boolean = false>(options: ParserOptions<TSchema, TEnvelope, TSafeParse>) => MiddlewareObj<ParserOutput<TSchema, TEnvelope, TSafeParse>>; export { parser }; //# sourceMappingURL=index.d.ts.map