UNPKG

test-openapi

Version:
96 lines (62 loc) 2.22 kB
"use strict";require("core-js/modules/es.promise");Object.defineProperty(exports,"__esModule",{value:true});exports.serialize=void 0;var _lodash=require("lodash"); var _flat=require("../../../../utils/flat.js"); var _location=require("../../../../utils/location.js"); var _body=require("../../body.js"); var _content_type=require("./content_type.js"); var _method=require("./method.js"); var _user_agent=require("./user_agent.js"); var _extra_headers=require("./extra_headers.js"); const serialize=async function({call}){ if(call===undefined){ return; } const callA=await normalizeCall({call}); const request=(0,_extra_headers.addFetchRequestHeaders)({call:callA}); const requestA=(0,_lodash.omitBy)(request,value=>value===undefined); const rawRequest=(0,_lodash.mapValues)(requestA,stringifyParam); const{request:requestB,rawRequest:rawRequestA}=(0,_extra_headers.addContentLength)({ request:requestA, rawRequest}); return{call:{...call,request:requestB,rawRequest:rawRequestA}}; };exports.serialize=serialize; const normalizeCall=async function({call}){ const callA=(0,_content_type.normalizeContentType)({call}); const callB=(0,_method.normalizeMethod)({call:callA}); const callC=await(0,_user_agent.normalizeUserAgent)({call:callB}); const callD=normalizeTimeout({call:callC}); return callD; }; const normalizeTimeout=function({ call:{timeout=DEFAULT_TIMEOUT,...call}}) { return{...call,timeout}; }; const DEFAULT_TIMEOUT=1e6; const stringifyParam=function(value,key,call){ const{location}=(0,_location.keyToLocation)({key}); return PARAM_STRINGIFIERS[location]({value,call}); }; const stringifyParamFlat=function({value}){ return(0,_flat.stringifyFlat)(value); }; const stringifyBody=function({ value, call:{"headers.content-type":contentType}}) { const{stringify=_flat.stringifyFlat}=(0,_body.findBodyHandler)({mime:contentType}); return stringify(value); }; const keepAsIs=function({value}){ return value; }; const PARAM_STRINGIFIERS={ method:stringifyParamFlat, server:stringifyParamFlat, path:stringifyParamFlat, url:stringifyParamFlat, query:stringifyParamFlat, headers:stringifyParamFlat, body:stringifyBody, timeout:keepAsIs, https:keepAsIs}; //# sourceMappingURL=main.js.map