I want to pass parameter from my app.js
page to another page User.js
which contain class function but all I am getting is undefined
value. I am trying to pass selected choice from the inqurier but its not getting passed.
class User{
setUser(name){
let userThing= fname(name);
...
...
return userThing
}
getUser(){
...
...
return
}
}
module.exports.User=User;
const { Command } = require("@oclif/command");
const inquirer = require("inquirer");
const config = require("./User.js");
class RegionCommand extends Command {
async run(){
inquirer
.prompt({
type: "list",
name: "test",
message: " Select Nickname: ",
default: false,
choices: ["Tom", "Jerry"],
})
.then((answers) => {
var selectedName=answers.test;
// var nameDetails= this.config.User.setUser(selectedName); I tried this method too but still not working.
var nameDetails= config.User.setUser(selectedName);
});
}
}
how can I pass my inqurier value app.js to user.js ?
You are trying to call a normal function like a static function. You first need to make a class instance!
const { Command } = require("@oclif/command");
const inquirer = require("inquirer");
const { User } = require("./User.js");
class RegionCommand extends Command {
async run(){
inquirer
.prompt({
type: "list",
name: "test",
message: " Select Nickname: ",
default: false,
choices: ["Tom", "Jerry"],
})
.then((answers) => {
var selectedName=answers.test;
const user = new User(); // create an instance of the class "User"
var nameDetails= user.setUser(selectedName);
});
}
}