import { input } from "@inquirer/prompts";
// Get input text from user with Inquirer. `input` returns CancelablePromise<string>
const getInputAsync = (promptMessage: string) =>
input({ message: promptMessage });
// String validation predicate
const checkIfIsLongerThan0 = (str: string): Boolean => str.length > 0;
const getInputUntilIsLongerThan0 = async (
promptMessage: string
): Promise<string> => {
const input = await getInputAsync(promptMessage);
return checkIfIsLongerThan0(input)
? input
: getInputUntilIsLongerThan0(promptMessage);
};
const mainAsyncWithoutEffect = async () => {
const stringFromUser1 = await getInputUntilIsLongerThan0(
"What's your user name?"
);
console.log(`Name: is ${stringFromUser1}`);
const stringFromUser2 = await getInputUntilIsLongerThan0(
"What's your email adress?"
);
console.log(`Email is: ${stringFromUser2}`);
};
mainAsyncWithoutEffect();
import { input } from "@inquirer/prompts";
// Get input text from user with Inquirer. `input` returns CancelablePromise<string>
const getInputAsync = (promptMessage: string) =>
input({ message: promptMessage });
// String validation predicate
const checkIfIsLongerThan0 = (str: string): Boolean => str.length > 0;
const getInputUntilIsLongerThan0 = async (
promptMessage: string
): Promise<string> => {
const input = await getInputAsync(promptMessage);
return checkIfIsLongerThan0(input)
? input
: getInputUntilIsLongerThan0(promptMessage);
};
const mainAsyncWithoutEffect = async () => {
const stringFromUser1 = await getInputUntilIsLongerThan0(
"What's your user name?"
);
console.log(`Name: is ${stringFromUser1}`);
const stringFromUser2 = await getInputUntilIsLongerThan0(
"What's your email adress?"
);
console.log(`Email is: ${stringFromUser2}`);
};
mainAsyncWithoutEffect();