irest-app-test
Version:
iRest is a zero-configuration application that allows you to easily create/manage APIs, generate random data on demand and perform operations on that data using REST interface.
2 lines • 4.83 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 w=a.mockData.dynamicResponseRandom?faker.lorem.sentences():a.requestData.dynamicData;if(1===(0,_responseHelper.getDynamicCount)(a))f=w;else for(var x=1;x<=(0,_responseHelper.getDynamicCount)(a);x++)f.push(w)}if(a.requestData.dataSize)for(var h=1024*(0,_responseHelper.getDynamicSize)(a),j=0,k=a.mockData.dynamicResponseRandom?faker.lorem.sentences():a.requestData.dynamicData;j<h;)f.push(k),j=(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 l=a.mockData.dynamicResponseRandom?faker.lorem.sentences():a.requestData.dynamicData,m=0;m<=(0,_responseHelper.getDynamicCount)(a)-1;m++)f=Object.assign(f,(0,_defineProperty2["default"])({},m,l));if(a.requestData.dataSize)for(var n=1024*(0,_responseHelper.getDynamicSize)(a),o=0,p=0,q=a.mockData.dynamicResponseRandom?faker.lorem.sentences():a.requestData.dynamicData;o<n;)f=Object.assign(f,(0,_defineProperty2["default"])({},p,q)),o=(0,_sizeof["default"])(f),p+=1}else{if(f="",a.requestData.dataCount)for(var r=a.mockData.dynamicResponseRandom?faker.lorem.sentences():JSON.stringify(a.requestData.dynamicData).replace(/(["'])/g,""),s=1;s<=(0,_responseHelper.getDynamicCount)(a);s++)f=e.concat.call(f,r);if(a.requestData.dataSize)for(var t=1024*(0,_responseHelper.getDynamicSize)(a),u=0,v=a.mockData.dynamicResponseRandom?faker.lorem.sentences():JSON.stringify(a.requestData.dynamicData).replace(/(["'])/g,"");u<t;)f=e.concat.call(f,v),u=(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 s,t=1;t<=(0,_responseHelper.getBulkCount)(a);t++)s=JSON.parse(JSON.stringify(a.requestData.inputData)),h=(0,_util.generateFakerData)(s,a,j,!1,a.requestData.inputData);g=(0,_toConsumableArray2["default"])(h)}if(a.requestData.bulkDataSize)for(var p,q=1024*(0,_responseHelper.getBulkSize)(a),r=0;r<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),r=(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(a),b.status(500).send({message:_messages.serverErrorMessage,status:500,error:a})}return b.status(parseInt(l,10)).send(0===Object.keys(o).length?a.requestData.inputData:o)}