24 lines
840 B
JavaScript
24 lines
840 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.deserializerMiddleware = void 0;
|
|
const deserializerMiddleware = (options, deserializer) => (next, context) => 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;
|
|
}
|
|
throw error;
|
|
}
|
|
};
|
|
exports.deserializerMiddleware = deserializerMiddleware;
|