UNPKG

@teqed/interact-ibmi

Version:

Menus for interacting with IBMi AS400 using node-odbc.

30 lines (29 loc) 1.22 kB
import ora from 'ora'; import { sleep } from '../../../util.js'; import findUsers, { foundUsers } from '../../../util/find-users.js'; import autocompletePrompt from '../../generic/autocomplete-prompt.js'; export default async function () { // Create an array of strings containing menu choices made of the query results. // Make sure that foundUsers is not undefined. If it is, sleep for 100 ms and try again. const spinner = ora(`Finding users...`).start(); // eslint-disable-next-line no-unmodified-loop-condition while (foundUsers === undefined) { // eslint-disable-next-line no-await-in-loop await sleep(100); } // Remove the spinner from the console. spinner.stop(); // spinner.succeed(`Users found!`); // eslint-disable-next-line @typescript-eslint/no-explicit-any const choices = foundUsers.map((row) => { // eslint-disable-next-line @typescript-eslint/restrict-template-expressions return `${row.AUTHORIZATION_NAME}`; }); const pickUserMenuChoice = await autocompletePrompt({ choices, clearPromptOnDone: false, message: `Select a user below.`, }); void findUsers(); return pickUserMenuChoice; }