import { toEndpointV1 } from "@smithy/core/endpoints"; export const serializerMiddleware = (options, serializer) => (next, context) => async (args) => { const endpointConfig = options; const endpoint = context.endpointV2 ? async () => toEndpointV1(context.endpointV2) : endpointConfig.endpoint; if (!endpoint) { throw new Error("No valid endpoint provider available."); } const request = await serializer(args.input, { ...options, endpoint }); return next({ ...args, request, }); };