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.26 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseUrl=exports.parseCookies=exports.manipulateData=exports.isSpecialCharacter=exports.isJson=exports.getFakerData=exports.generateFakerData=exports.IsJsonString=void 0;var _toArray2=_interopRequireDefault(require("@babel/runtime/helpers/toArray")),_defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof")),_faker=require("@faker-js/faker"),_fakerModel=_interopRequireDefault(require("../constants/fakerModel")),_schemaDefaults=require("../constants/schemaDefaults");function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){(0,_defineProperty2["default"])(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var isSpecialCharacter=function(a){return!/[!~@#$%^&*()+\=[\]{}; ':"\\|,.<>/?]+/.test(a)};exports.isSpecialCharacter=isSpecialCharacter;var parseUrl=function(a){for(var b=new URLSearchParams(a),c=Object.values(_schemaDefaults.queryParamObj),d=0;d<c.length;d++)delete b["delete"](c[d]);var e=Object.fromEntries(b),f=0===Object.keys(e).length?"":"?".concat(b.toString());return f};exports.parseUrl=parseUrl;var IsJsonString=function(a){try{if(0===a.length)return 0===a.length;var b=JSON.parse(a);if("object"===(0,_typeof2["default"])(b))return!0}catch(a){return!1}};exports.IsJsonString=IsJsonString;var isJson=function(a){if("object"===(0,_typeof2["default"])(a))return!0;try{JSON.parse(a)}catch(a){return!1}return!0};exports.isJson=isJson;var manipulateData=function(a){var c=[],d=function(d){var e=d,f=a[e],g={name:e,parent:"Sample Object"};g.children=[],f.forEach(function(a){g.children.push({name:a.displayValue,parent:e})}),c.push(g)};/* eslint-disable guard-for-in */for(var e in a)d(e);return c};exports.manipulateData=manipulateData;var n=0,increment=function(){return n+=1,n},getFakerData=function(a,b,c){var d;if("custom"===a){switch(b.toLowerCase()){case"number":d=increment();break;case"boolean":d=.5>Math.random();break;case"string":d="".concat(c," ").concat(n);break;case"array":d=[];break;case"object":d={};break;case"date":d=parseInt(Date.now()/1e3,10);break;default:d="";}return d}return _faker.faker.helpers.fake("{{".concat(a,".").concat(b,"}}"))};exports.getFakerData=getFakerData;var generateFakerData=function(a,b,c,d,e,f){var g=JSON.parse(JSON.stringify(e)),h=d;if(null!==a&&Object.keys(a).forEach(function(d){if(Array.isArray(a[d]))for(var p=0;p<a[d].length;p++)if("object"===(0,_typeof2["default"])(a[d][p]))generateFakerData(a[d][p],b,c,!1,e,f);else if("object"!==(0,_typeof2["default"])(a[d][p])&&a[d][p].constructor!==Object&&a[d][p].toString().includes("$")){var g=a[d][p].split("."),j=g[0].slice(1),k=g[1],l=getFakerData(j,k);a[d][p]=l}if("object"===(0,_typeof2["default"])(a[d]))null!==a[d]&&"object"===(0,_typeof2["default"])(a[d])&&a[d].constructor===Object&&generateFakerData(a[d],b,c,!0,e,f);else if(a[d].toString().includes("$")){var m=a[d].split("."),n=m[0].slice(1),o=m[1];// eslint-disable-next-line no-prototype-builtins
if(_fakerModel["default"].hasOwnProperty(n)||"custom"===n.toLowerCase()){var i=getFakerData(n,o,d);h=!1,a[d]=i}}}),!h&&null!==a){var i=Object.keys(a),j=Object.keys(g),k=i.filter(function(a){return!j.includes(a)});if(0===k.length){if(f)return _objectSpread({},a);c.push(JSON.parse(JSON.stringify(a)))}return c}};exports.generateFakerData=generateFakerData;var parseCookies=function(a){var b={},c=a.headers.cookie;return c?(c.split(";").forEach(function(a){var c=a.split("="),d=(0,_toArray2["default"])(c),e=d[0],f=d.slice(1),g=e.trim();if(g){var h=f.join("=").trim();h&&(b[g]=decodeURIComponent(h))}}),b):b};exports.parseCookies=parseCookies;