import { DeserializeHandler, DeserializeHandlerArguments, DeserializeHandlerOutput, DeserializeMiddleware, HandlerExecutionContext, ResponseDeserializer, } from "@aws-sdk/types"; export const deserializerMiddleware = ( options: RuntimeUtils, deserializer: ResponseDeserializer ): DeserializeMiddleware => (next: DeserializeHandler, context: HandlerExecutionContext): DeserializeHandler => async (args: DeserializeHandlerArguments): Promise> => { const { response } = await next(args); const parsed = await deserializer(response, options); return { response, output: parsed as Output, }; };