test-openapi
Version:
Automated client requests
39 lines (27 loc) • 1.04 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.findBodyHandler=void 0;var _typeIs=require("type-is");
var _error=require("../../errors/error.js");
var _handler=require("../../errors/handler.js");
const findBodyHandler=function({mime}){
return BODY_HANDLERS.find(({condition})=>condition({mime}))||{};
};exports.findBodyHandler=findBodyHandler;
const normalizeHandler=function({name,condition,parse,stringify}){
const parseA=(0,_handler.addErrorHandler)(parse,bodyHandler.bind(null,name));
return{condition,parse:parseA,stringify};
};
const bodyHandler=function(name,{message}){
throw new _error.TestOpenApiError(
`Could not read response body as ${name}: ${message}`,
{property:"task.call.response.body"});
};
const isJson=function({mime}){
return(0,_typeIs.is)(mime,JSON_MIMES)!==false;
};
const JSON_MIMES=["application/json","+json"];
const BODY_HANDLERS=[
{
name:"JSON",
condition:isJson,
parse:JSON.parse,
stringify:JSON.stringify}].
map(normalizeHandler);
//# sourceMappingURL=body.js.map