tamim-cli
Version:
A CLI tool for generating module boilerplate code including routes, controllers, services, and more
61 lines (60 loc) • 2.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPostmanFields = void 0;
const random_1 = require("../../../utils/random");
const createPostmanFields = async (parsedFields) => {
return await parsedFields.reduce((acc, field) => {
let value;
switch (field.type) {
case "string":
field.name.includes("email")
? (value = "name@company.com")
: (value = "a random string");
break;
case "array=>string":
value = ["a random string"];
break;
case "ref=>Product":
value = `${(0, random_1.generateRandomString)()}`;
break;
case "array=>ref=>Product":
value = [`${(0, random_1.generateRandomString)()}`];
break;
case "date":
value = new Date().toISOString();
break;
case "number":
value = Math.floor(Math.random() * 100);
break;
default:
if (field.type.includes("array")) {
const baseType = field.type.split("=>")[1];
// console.log(baseType);
if (baseType.includes("ref")) {
value = [`${(0, random_1.generateRandomString)()}`];
break;
}
else if (baseType.toString() === "string") {
value = ["a random string"];
break;
}
else if (baseType.toString() === "date") {
value = [new Date().toISOString()];
break;
}
else if (baseType.toString() === "number") {
value = [Math.floor(Math.random() * 100)];
break;
}
else if (baseType.toString() === "boolean") {
value = [true];
break;
}
}
value = null;
}
acc[field.name] = value;
return acc;
}, {});
};
exports.createPostmanFields = createPostmanFields;