irest-app-test
Version:
iRest simulator application tooling and scripts - Backend
2 lines • 4.87 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.composeResponse=composeResponse,exports["default"]=collectResponse,exports.findAndReplace=findAndReplace,exports.findInArray=findInArray,exports.findInObject=findInObject,exports.getBulkResponse=getBulkResponse;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")),_defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof")),_util=require("../../../helpers/util"),_sizeof=_interopRequireDefault(require("../../../helpers/sizeof")),_responseHelper=require("../../../helpers/responseHelper"),_logger=_interopRequireDefault(require("../../../logger")),_messages=require("../../../constants/messages"),_require=require("@faker-js/faker"),faker=_require.faker;function collectResponse(a,b){getBulkResponse(a,b)}function findAndReplace(a,b,c,d){var f,e=String.prototype,g=c[d];if(Array.isArray(g)||g.constructor!==Object&&g.includes("custom.Array")){if(f=[],a.requestData.dataCount){var h=a.mockData.dynamicResponseRandom?faker.lorem.sentences():a.requestData.dynamicData;if(1===(0,_responseHelper.getDynamicCount)(a))f=h;else for(var j=1;j<=(0,_responseHelper.getDynamicCount)(a);j++)f.push(h)}if(a.requestData.dataSize)for(var k=1024*(0,_responseHelper.getDynamicSize)(a),l=0,m=a.mockData.dynamicResponseRandom?faker.lorem.sentences():a.requestData.dynamicData;l<k;)f.push(m),l=(0,_sizeof["default"])(f)}else if("object"===(0,_typeof2["default"])(g)&&g.constructor===Object||g.includes("custom.Object")){if(f={},a.requestData.dataCount)for(var n=a.mockData.dynamicResponseRandom?faker.lorem.sentences():a.requestData.dynamicData,o=0;o<=(0,_responseHelper.getDynamicCount)(a)-1;o++)f=Object.assign(f,(0,_defineProperty2["default"])({},o,n));if(a.requestData.dataSize)for(var p=1024*(0,_responseHelper.getDynamicSize)(a),q=0,r=0,s=a.mockData.dynamicResponseRandom?faker.lorem.sentences():a.requestData.dynamicData;q<p;)f=Object.assign(f,(0,_defineProperty2["default"])({},r,s)),q=(0,_sizeof["default"])(f),r+=1}else{if(f="",a.requestData.dataCount)for(var t=a.mockData.dynamicResponseRandom?faker.lorem.sentences():JSON.stringify(a.requestData.dynamicData).replace(/(["'])/g,""),u=1;u<=(0,_responseHelper.getDynamicCount)(a);u++)f=e.concat.call(f,t);if(a.requestData.dataSize)for(var v=1024*(0,_responseHelper.getDynamicSize)(a),w=0,x=a.mockData.dynamicResponseRandom?faker.lorem.sentences():JSON.stringify(a.requestData.dynamicData).replace(/(["'])/g,"");w<v;)f=e.concat.call(f,x),w=(0,_sizeof["default"])(f)}// eslint-disable-next-line no-param-reassign
return c[d]=f,a.requestData.inputData}function findInObject(a,b,c,d,e,f){0!==Object.keys(c).length&&composeResponse(a,b,c,e,f)}function findInArray(a,b,c,d,e,f){if(0!==c.length)for(var g,h=0;h<c.length;h++)g=c[h],"object"===(0,_typeof2["default"])(g)&&g.constructor===Array&&findInArray(a,b,g,d,e,f),"object"===(0,_typeof2["default"])(g)&&g.constructor===Object&&composeResponse(a,b,g,e,f)}function composeResponse(a,b,c,d,e){Object.prototype.hasOwnProperty.call(c,d)?findAndReplace(a,b,c,d):Object.keys(c).forEach(function(f){var g=Array.isArray(c[f])?c[f][e]:c[f];"object"===(0,_typeof2["default"])(g)&&g.constructor===Object?findInObject(a,b,g,f,d,e):"object"===(0,_typeof2["default"])(g)&&g.constructor===Array&&findInArray(a,b,g,f,d,e)})}function getBulkResponse(a,b){if(a.requestData.dataSize||a.requestData.dataCount){var c=JSON.parse(a.requestData.specificKey),d=c[c.length-1],e=c.filter(function(a){return"number"==typeof a}),f=e[0];composeResponse(a,b,a.requestData.inputData,d,f)}var g=[],h=[],j=[],k=a.mockData,l=k.statusCode,m=a.isPreview?k.TempApiResponseSchemaTypes:k.ApiResponseSchemaTypes,n=m.find(function(b){return b.method===a.method}),o=n.successResponse;if(a.requestData.bulkDataCount){for(var p,q=1;q<=(0,_responseHelper.getBulkCount)(a);q++)p=JSON.parse(JSON.stringify(a.requestData.inputData)),h=(0,_util.generateFakerData)(p,a,j,!1,a.requestData.inputData);g=(0,_toConsumableArray2["default"])(h)}if(a.requestData.bulkDataSize)for(var r,s=1024*(0,_responseHelper.getBulkSize)(a),t=0;t<s;)r=JSON.parse(JSON.stringify(a.requestData.inputData)),h=(0,_util.generateFakerData)(r,a,j,!1,a.requestData.inputData),g=(0,_toConsumableArray2["default"])(h),t=(0,_sizeof["default"])(g);a.requestData.inputData=Array.isArray(g)?1===g.length?g[0]:g:g;try{o=o.replaceAll(":\"$data\"",":".concat(JSON.stringify(a.requestData.inputData))),o=JSON.parse(o)}catch(a){return _logger["default"].error(JSON.stringify(a)),b.status(500).send({message:_messages.serverErrorMessage,status:500,err:a})}return b.status(parseInt(l,10)).send(0===Object.keys(a.requestData.inputData).length?o:a.requestData.inputData)}