Best JavaScript code snippet using storybook-root
index.js
Source:index.js
1const path = require("path");2const fs = require("fs");3const util = require("util");4const writeFileAsync = util.promisify(fs.writeFile);5const inquirer = require("inquirer");6const Manager = require("./lib/Manager");7const Engineer = require("./lib/Engineer");8const Intern = require("./lib/Intern");9// Manager promt Questions10const managerQuestions = [11 {12 name: "id",13 message: "Enter manager's ID:",14 },15 {16 name: "name",17 message: "Enter manager's name:",18 },19 {20 name: "email",21 message: "Enter manager's email:",22 },23 {24 name: "officeNumber",25 message: "Enter your office number:",26 },27];28// Engineer prompt questions:29const engineerQuestions = [30 {31 name: "id",32 message: "Enter engineer's ID",33 },34 {35 name: "name",36 message: "Enter engineer's name:",37 },38 {39 name: "email",40 message: "Enter engineer's email:",41 },42 {43 name: "gitHub",44 message: "Enter your Github URL:",45 },46];47// Intern prompt questions:48const internQuestions = [49 {50 name: "id",51 message: "Enter intern's ID",52 },53 {54 name: "name",55 message: "Enter intern's name:",56 },57 {58 name: "email",59 message: "Enter intern's email:",60 },61 {62 name: "school",63 message: "Enter your school:",64 },65];66// count67const questionCount = [68 {69 name: "count",70 message: "How many do you want to enter?",71 },72];73// Creates Team74async function createTeam(75 managersResponses,76 engineersResponses,77 internsResponses78) {79 const managersHTML = [];80 const engineersHTML = [];81 const internsHTML = [];82 managersResponses.forEach((manager) => {83 var managerFile = fs.readFileSync("./templates/manager.html", "utf8");84 managerFile = replacePlaceholders(managerFile, "name", manager.getName());85 managerFile = replacePlaceholders(managerFile, "email", manager.getEmail());86 managerFile = replacePlaceholders(managerFile, "role", manager.getRole());87 managerFile = replacePlaceholders(managerFile, "id", manager.getId());88 managerFile = replacePlaceholders(89 managerFile,90 "officeNumber",91 manager.getofficeNumber()92 );93 managersHTML.push(managerFile);94 });95 engineersResponses.forEach((engineer) => {96 var engineerFile = fs.readFileSync("./templates/engineer.html", "utf8");97 engineerFile = replacePlaceholders(98 engineerFile,99 "name",100 engineer.getName()101 );102 engineerFile = replacePlaceholders(103 engineerFile,104 "email",105 engineer.getEmail()106 );107 engineerFile = replacePlaceholders(108 engineerFile,109 "role",110 engineer.getRole()111 );112 engineerFile = replacePlaceholders(engineerFile, "id", engineer.getId());113 engineerFile = replacePlaceholders(114 engineerFile,115 "github",116 engineer.getGithub()117 );118 engineersHTML.push(engineerFile);119 });120 internsResponses.forEach((intern) => {121 var internFile = fs.readFileSync("./templates/intern.html", "utf8");122 internFile = replacePlaceholders(internFile, "name", intern.getName());123 internFile = replacePlaceholders(internFile, "email", intern.getEmail());124 internFile = replacePlaceholders(internFile, "role", intern.getRole());125 internFile = replacePlaceholders(internFile, "id", intern.getId());126 internFile = replacePlaceholders(internFile, "school", intern.getSchool());127 internsHTML.push(internFile);128 });129 writeHTMLFile(managersHTML, engineersHTML, internsHTML);130}131function writeHTMLFile(managersHTML, engineersHTML, internsHTML) {132 var teamFile = fs.readFileSync("./templates/main.html", "utf8");133 var teamHTML = [];134 managersHTML.forEach((element) => {135 teamHTML.push(element);136 });137 engineersHTML.forEach((element) => {138 teamHTML.push(element);139 });140 internsHTML.forEach((element) => {141 teamHTML.push(element);142 });143 teamHTML = teamHTML.join("");144 teamFile = replacePlaceholders(teamFile, "team", teamHTML);145 writeFileAsync("./output/team.html", teamFile);146 console.log("######## Your File Has Been Created! #########");147}148function replacePlaceholders(template, placeholder, value) {149 const pattern = new RegExp("{{ " + placeholder + " }}", "gm");150 return template.replace(pattern, value);151}152(async function () {153 // Organizes array of questions for manager, engineer and intern154 const managersArray = [];155 const engineersArray = [];156 const internsArray = [];157 console.log("********** CREATE YOUR TEAM **********");158 console.log(" ");159 // Manager PROMPT160 console.log("====== Manager Info ======");161 var responseManager = await inquirer.prompt(managerQuestions);162 var newManager = new Manager(163 responseManager.name,164 responseManager.id,165 responseManager.email,166 responseManager.officeNumber167 );168 managersArray.push(newManager);169 console.log(" ");170 //Count for Engineers171 console.log("====== Engineer Info ======");172 var responseCount = await inquirer.prompt(questionCount);173 console.log(" ");174 for (let index = 0; index < parseInt(responseCount.count); index++) {175 //Engineer PROMPT176 var responseEngineer = await inquirer.prompt(engineerQuestions);177 var newEngineer = new Engineer(178 responseEngineer.name,179 responseEngineer.id,180 responseEngineer.email,181 responseEngineer.gitHub182 );183 engineersArray.push(newEngineer);184 console.log(" ");185 }186 console.log(" ");187 //Count fo Interns188 console.log("====== Intern Info ======");189 responseCount = await inquirer.prompt(questionCount);190 console.log(" ");191 for (let index = 0; index < parseInt(responseCount.count); index++) {192 //Intern PROMPT193 var responseIntern = await inquirer.prompt(internQuestions);194 var newIntern = new Intern(195 responseIntern.name,196 responseIntern.id,197 responseIntern.email,198 responseIntern.school199 );200 internsArray.push(newIntern);201 console.log(" ");202 }203 console.log(" ");204 // Function create team using data captured205 await createTeam(managersArray, engineersArray, internsArray);...
ExampleManagerFile.js
Source:ExampleManagerFile.js
1/**2 * Examples for using the manager file3 * @copyright Kplian Ltda 20204 * @uthor Favio Figueroa5 */6import React, { useState } from 'react';7import BasicContainer from '../../../_pxp/containers/BasicContainer';8import TablePxp from '../../../_pxp/components/Table/TablePxp';9import DialogPxp from '../../../_pxp/components/DialogPxp';10import ManagerFile from '../../../_parameters/components/ManagerFile/ManagerFile';11import ProductDocuments from '../../../_pxp/icons/ProductDocuments';12const ExampleManagerFile = () => {13 const [managerFile, setIdManagerFile] = useState({14 open: false,15 table: 'segu.tusuario',16 idTableDesc: 'id_usuario',17 idTable: undefined,18 });19 const openManagerFile = ({ idTable }) => {20 setIdManagerFile((prev) => ({21 ...prev,22 idTable,23 open: true,24 }));25 };26 const json = {27 columns: {28 cuenta: {29 type: 'TextField',30 initialValue: '',31 label: 'Cuenta',32 gridForm: { xs: 12, sm: 3 },33 grid: true,34 },35 },36 getDataTable: {37 url: 'seguridad/Usuario/listarUsuario',38 params: {39 start: '0',40 limit: '10',41 sort: 'id_usuario',42 dir: 'desc',43 },44 },45 idStore: 'id_usuario',46 buttonDel: false,47 buttonNew: false,48 buttonEdit: false,49 actionsTableCell: {50 buttonDel: false,51 buttonEdit: false,52 extraButtons: {53 managerFile: {54 label: 'Manager File',55 buttonIcon: <ProductDocuments />,56 onClick: (row) => {57 openManagerFile({58 idTable: row.id_usuario,59 });60 },61 },62 },63 },64 };65 return (66 <>67 <BasicContainer>68 <TablePxp dataConfig={json} />69 <DialogPxp70 titleToolbar="Manager File"71 onClose={() => {72 setIdManagerFile({ ...managerFile, open: false });73 }}74 open={managerFile.open}75 >76 <ManagerFile77 idTable={managerFile.idTable}78 table={managerFile.table}79 idTableDesc={managerFile.idTableDesc}80 />81 </DialogPxp>82 </BasicContainer>83 </>84 );85};...
supportedDBs.js
Source:supportedDBs.js
1const supportedDBFiles = {2 MONGODB: {3 managerFile: './Managers/MongoDBManager.js',4 },5 MYSQLDB: {6 managerFile: './Managers/MySql2DBManager.js',7 },8}9const importManager = async dbType => {10 const managerFile = await import(supportedDBFiles[dbType].managerFile)11 return managerFile.default12}13export default class {14 static allowedDBs = Object.keys(supportedDBFiles)15 static validateDBType = dbType => {16 return this.allowedDBs.includes(dbType)17 }18 static getDBManager = async dbType => {19 if (this.validateDBType(dbType)) {20 return new (await importManager(dbType))()21 } else {22 return new Error('Unsupported DB type')23 }24 }...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!