export const deserializerMiddleware = (options, deserializer) => (next) => async (args) => { const { response } = await next(args); try { const parsed = await deserializer(response, options); return { response, output: parsed, }; } catch (error) { Object.defineProperty(error, "$response", { value: response, }); if (!("$metadata" in error)) { const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`; error.message += "\n " + hint; if (typeof error.$responseBodyText !== "undefined") { if (error.$response) { error.$response.body = error.$responseBodyText; } } } throw error; } };