===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
node-enquirer-2.3.6~ds/README.md-873-    } else {
node-enquirer-2.3.6~ds/README.md:874:      console.log(`Wrong! Correct answer is ${answer.correctAnswer}`);
node-enquirer-2.3.6~ds/README.md-875-    }
##############################################
node-enquirer-2.3.6~ds/README.md-1491-    this.clear(); // clear previously rendered prompt from the terminal
node-enquirer-2.3.6~ds/README.md:1492:    this.write(`${this.state.message}: ${this.value}`);
node-enquirer-2.3.6~ds/README.md-1493-  }
##############################################
node-enquirer-2.3.6~ds/docs/custom-prompts.md-32-    this.clear(); // clear previously rendered prompt from the terminal
node-enquirer-2.3.6~ds/docs/custom-prompts.md:33:    this.write(`${this.state.message}: ${this.value}`);
node-enquirer-2.3.6~ds/docs/custom-prompts.md-34-  }
##############################################
node-enquirer-2.3.6~ds/docs/prompts.md-544-    } else {
node-enquirer-2.3.6~ds/docs/prompts.md:545:      console.log(`Wrong! Correct answer is ${answer.correctAnswer}`);
node-enquirer-2.3.6~ds/docs/prompts.md-546-    }
##############################################
node-enquirer-2.3.6~ds/docs/prompts/form/default-values.md-73-        const { firstname, lastname } = this.values;
node-enquirer-2.3.6~ds/docs/prompts/form/default-values.md:74:        choice.initial = `${firstname}${lastname}`.toLowerCase();
node-enquirer-2.3.6~ds/docs/prompts/form/default-values.md-75-      }
##############################################
node-enquirer-2.3.6~ds/docs/prompts/form/default-values.md-105-        const { firstname, lastname } = this.values;
node-enquirer-2.3.6~ds/docs/prompts/form/default-values.md:106:        choice.initial = `${firstname}${lastname}`.toLowerCase();
node-enquirer-2.3.6~ds/docs/prompts/form/default-values.md-107-      }
##############################################
node-enquirer-2.3.6~ds/docs/run.js-37-    const wrap = str => {
node-enquirer-2.3.6~ds/docs/run.js:38:      return `(function (exports, console, require, module, __filename, __dirname) { ${str}\n});`
node-enquirer-2.3.6~ds/docs/run.js-39-    };
##############################################
node-enquirer-2.3.6~ds/docs/run.js-51-    let example = examples[i];
node-enquirer-2.3.6~ds/docs/run.js:52:    let n = `${i + 1}. `;
node-enquirer-2.3.6~ds/docs/run.js-53-    example.value = example.value.replace(/require\('enquirer'\)/g, `require('..')`);
##############################################
node-enquirer-2.3.6~ds/docs/support/check-links.js-30-    } else if (link.startsWith('../../')) {
node-enquirer-2.3.6~ds/docs/support/check-links.js:31:      tok.link = `${pkg.homepage}/${link.slice('../../'.length)}`;
node-enquirer-2.3.6~ds/docs/support/check-links.js-32-    } else if (!link.startsWith('http')) {
##############################################
node-enquirer-2.3.6~ds/docs/support/prompt-tree.js-94-  let link = node.label.toLowerCase() + (node.label !== 'Prompt' ? '-prompt' : '');
node-enquirer-2.3.6~ds/docs/support/prompt-tree.js:95:  node.label = `<a href="#${link}">${text}</a>`;
node-enquirer-2.3.6~ds/docs/support/prompt-tree.js-96-  if (node.bold) {
node-enquirer-2.3.6~ds/docs/support/prompt-tree.js:97:    node.label = `<strong>${node.label}</strong>`;
node-enquirer-2.3.6~ds/docs/support/prompt-tree.js-98-  }
##############################################
node-enquirer-2.3.6~ds/examples/auth/oauth.js-71-  async initialize() {
node-enquirer-2.3.6~ds/examples/auth/oauth.js:72:    this.url = `https://github.com/login/oauth/authorize?client_id=${this.options.client_id}`;
node-enquirer-2.3.6~ds/examples/auth/oauth.js-73-    await super.initialize();
##############################################
node-enquirer-2.3.6~ds/examples/auth/oauth.js-79-    this.clear();
node-enquirer-2.3.6~ds/examples/auth/oauth.js:80:    this.write(`\nOpen this URL in browser if it doesn't open automatically:\n${this.url}`);
node-enquirer-2.3.6~ds/examples/auth/oauth.js-81-  }
##############################################
node-enquirer-2.3.6~ds/examples/auth/oauth.js-99-  .run()
node-enquirer-2.3.6~ds/examples/auth/oauth.js:100:  .then(token => console.log(`\nYou've successfully logged in using Github.\nToken: ${token}`))
node-enquirer-2.3.6~ds/examples/auth/oauth.js-101-  .catch(console.error);
##############################################
node-enquirer-2.3.6~ds/examples/autofill-plugin.js-21-        if (value !== void 0) {
node-enquirer-2.3.6~ds/examples/autofill-plugin.js:22:          choices.push({ name: item.name, value, hint: `(${value})` });
node-enquirer-2.3.6~ds/examples/autofill-plugin.js-23-        }
##############################################
node-enquirer-2.3.6~ds/examples/enquirer/2-factor-authentication/generateSecret.js-17-console.log();
node-enquirer-2.3.6~ds/examples/enquirer/2-factor-authentication/generateSecret.js:18:qrcode.generate(`otpauth://totp/example?secret=${secret}`);
node-enquirer-2.3.6~ds/examples/enquirer/2-factor-authentication/generateSecret.js:19:console.log(`\nSecret: ${secret}`);
node-enquirer-2.3.6~ds/examples/enquirer/2-factor-authentication/generateSecret.js-20-console.log('Use this secret to add a new account in Google Authenticator app. Also, update the value of SECRET in config.js with this new secret.');
##############################################
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-class.js-18-    this.clear(); // clear previously rendered prompt from the terminal
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-class.js:19:    this.write(`${this.state.message}: ${this.value}`);
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-class.js-20-  }
##############################################
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-plugin-function.js-30-      let message = await this.message();
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-plugin-function.js:31:      this.write(`${message} ${value}`);
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-plugin-function.js-32-    }
##############################################
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-standalone.js-32-    let message = await this.message();
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-standalone.js:33:    this.write(`${message} ${value}`);
node-enquirer-2.3.6~ds/examples/enquirer/custom-prompt-standalone.js-34-  }
##############################################
node-enquirer-2.3.6~ds/examples/form/async-choices.js-42-        let { name, username } = this.values;
node-enquirer-2.3.6~ds/examples/form/async-choices.js:43:        choice.initial = `https://github.com/${username}/${name}`;
node-enquirer-2.3.6~ds/examples/form/async-choices.js-44-      }
##############################################
node-enquirer-2.3.6~ds/examples/fun/countdown.js-15-  header() {
node-enquirer-2.3.6~ds/examples/fun/countdown.js:16:    return `${dim('You have')} ${color(time)} ${dim('seconds left to answer!')}`;
node-enquirer-2.3.6~ds/examples/fun/countdown.js-17-  },
##############################################
node-enquirer-2.3.6~ds/examples/input/option-history.js-9-  history: {
node-enquirer-2.3.6~ds/examples/input/option-history.js:10:    store: new Store({ path: `${__dirname}/username.json` }),
node-enquirer-2.3.6~ds/examples/input/option-history.js-11-    autosave: true
##############################################
node-enquirer-2.3.6~ds/examples/multiselect/option-maxSelected.js-12-    let s = (n === 0 || n > 1) ? 's' : '';
node-enquirer-2.3.6~ds/examples/multiselect/option-maxSelected.js:13:    return `You may select ${n} more choice${s}`;
node-enquirer-2.3.6~ds/examples/multiselect/option-maxSelected.js-14-  }
##############################################
node-enquirer-2.3.6~ds/examples/number/option-validate.js-14-    if (!this.state.submitted) {
node-enquirer-2.3.6~ds/examples/number/option-validate.js:15:      return this.styles.muted(`(${dollars(this.input, this.options.price)})`);
node-enquirer-2.3.6~ds/examples/number/option-validate.js-16-    }
##############################################
node-enquirer-2.3.6~ds/examples/numeral/option-validate.js-14-    if (!this.state.submitted) {
node-enquirer-2.3.6~ds/examples/numeral/option-validate.js:15:      return this.styles.muted(`(${dollars(this.input, this.options.price)})`);
node-enquirer-2.3.6~ds/examples/numeral/option-validate.js-16-    }
##############################################
node-enquirer-2.3.6~ds/examples/password/option-footer.js-30-    let min = this.options.minLength;
node-enquirer-2.3.6~ds/examples/password/option-footer.js:31:    return value.length < min ? `Password must be ${min} or more chars` : true;
node-enquirer-2.3.6~ds/examples/password/option-footer.js-32-  },
##############################################
node-enquirer-2.3.6~ds/examples/password/option-footer.js-36-    return min - this.input.length > 0
node-enquirer-2.3.6~ds/examples/password/option-footer.js:37:      ? delayMessage(this.styles.danger(`${pointerSmall} password must be ${min} characters or longer`), this)
node-enquirer-2.3.6~ds/examples/password/option-footer.js:38:      : delayMessage(this.styles.success(`${check} password length is okay`), this);
node-enquirer-2.3.6~ds/examples/password/option-footer.js-39-  },
##############################################
node-enquirer-2.3.6~ds/examples/prompt-navigation.js-74-    message() {
node-enquirer-2.3.6~ds/examples/prompt-navigation.js:75:      return `Hi ${this.state.answers.first}! Please enter your last name`;
node-enquirer-2.3.6~ds/examples/prompt-navigation.js-76-    }
##############################################
node-enquirer-2.3.6~ds/examples/quiz/prompt.js-17-    } else {
node-enquirer-2.3.6~ds/examples/quiz/prompt.js:18:      console.log(`Wrong! Correct answer is ${answer.correctAnswer}`);
node-enquirer-2.3.6~ds/examples/quiz/prompt.js-19-    }
##############################################
node-enquirer-2.3.6~ds/examples/snippet/json-fillin.js-8-for (let name of required) {
node-enquirer-2.3.6~ds/examples/snippet/json-fillin.js:9:  template[name] = `\${${name}}`;
node-enquirer-2.3.6~ds/examples/snippet/json-fillin.js-10-}
##############################################
node-enquirer-2.3.6~ds/guide/lib/prompts/form/default-values.js-23-        let { firstname, lastname } = this.values;
node-enquirer-2.3.6~ds/guide/lib/prompts/form/default-values.js:24:        choice.initial = `${firstname}${lastname}`.toLowerCase();
node-enquirer-2.3.6~ds/guide/lib/prompts/form/default-values.js-25-      }
##############################################
node-enquirer-2.3.6~ds/index.js-104-
node-enquirer-2.3.6~ds/index.js:105:    assert(this.prompts[type], `Prompt "${type}" is not registered`);
node-enquirer-2.3.6~ds/index.js-106-
##############################################
node-enquirer-2.3.6~ds/lib/ansi.js-13-  beep: BEL,
node-enquirer-2.3.6~ds/lib/ansi.js:14:  beginning: `${ESC}G`,
node-enquirer-2.3.6~ds/lib/ansi.js:15:  down: `${ESC}J`,
node-enquirer-2.3.6~ds/lib/ansi.js-16-  esc: ESC,
node-enquirer-2.3.6~ds/lib/ansi.js:17:  getPosition: `${ESC}6n`,
node-enquirer-2.3.6~ds/lib/ansi.js:18:  hide: `${ESC}?25l`,
node-enquirer-2.3.6~ds/lib/ansi.js:19:  line: `${ESC}2K`,
node-enquirer-2.3.6~ds/lib/ansi.js:20:  lineEnd: `${ESC}K`,
node-enquirer-2.3.6~ds/lib/ansi.js:21:  lineStart: `${ESC}1K`,
node-enquirer-2.3.6~ds/lib/ansi.js-22-  restorePosition: ESC + (isTerm ? '8' : 'u'),
node-enquirer-2.3.6~ds/lib/ansi.js-23-  savePosition: ESC + (isTerm ? '7' : 's'),
node-enquirer-2.3.6~ds/lib/ansi.js:24:  screen: `${ESC}2J`,
node-enquirer-2.3.6~ds/lib/ansi.js:25:  show: `${ESC}?25h`,
node-enquirer-2.3.6~ds/lib/ansi.js:26:  up: `${ESC}1J`
node-enquirer-2.3.6~ds/lib/ansi.js-27-};
##############################################
node-enquirer-2.3.6~ds/lib/ansi.js-42-
node-enquirer-2.3.6~ds/lib/ansi.js:43:  forward: (count = 1) => `${ESC}${count}C`,
node-enquirer-2.3.6~ds/lib/ansi.js:44:  backward: (count = 1) => `${ESC}${count}D`,
node-enquirer-2.3.6~ds/lib/ansi.js:45:  nextLine: (count = 1) => `${ESC}E`.repeat(count),
node-enquirer-2.3.6~ds/lib/ansi.js:46:  prevLine: (count = 1) => `${ESC}F`.repeat(count),
node-enquirer-2.3.6~ds/lib/ansi.js-47-
node-enquirer-2.3.6~ds/lib/ansi.js:48:  up: (count = 1) => count ? `${ESC}${count}A` : '',
node-enquirer-2.3.6~ds/lib/ansi.js:49:  down: (count = 1) => count ? `${ESC}${count}B` : '',
node-enquirer-2.3.6~ds/lib/ansi.js:50:  right: (count = 1) => count ? `${ESC}${count}C` : '',
node-enquirer-2.3.6~ds/lib/ansi.js:51:  left: (count = 1) => count ? `${ESC}${count}D` : '',
node-enquirer-2.3.6~ds/lib/ansi.js-52-
node-enquirer-2.3.6~ds/lib/ansi.js-53-  to(x, y) {
node-enquirer-2.3.6~ds/lib/ansi.js:54:    return y ? `${ESC}${y + 1};${x + 1}H` : `${ESC}${x + 1}G`;
node-enquirer-2.3.6~ds/lib/ansi.js-55-  },
##############################################
node-enquirer-2.3.6~ds/lib/completer.js-48-    default: {
node-enquirer-2.3.6~ds/lib/completer.js:49:      throw new Error(`Invalid action: "${action}"`);
node-enquirer-2.3.6~ds/lib/completer.js-50-    }
##############################################
node-enquirer-2.3.6~ds/lib/interpolate.js-202-          state.values[key] = void 0;
node-enquirer-2.3.6~ds/lib/interpolate.js:203:          val = `<${message}>`;
node-enquirer-2.3.6~ds/lib/interpolate.js-204-          value = prompt.styles.primary(val);
##############################################
node-enquirer-2.3.6~ds/lib/placeholder.js-41-
node-enquirer-2.3.6~ds/lib/placeholder.js:42:  initial = utils.isPrimitive(initial) ? `${initial}` : '';
node-enquirer-2.3.6~ds/lib/placeholder.js:43:  input = utils.isPrimitive(input) ? `${input}` : '';
node-enquirer-2.3.6~ds/lib/placeholder.js-44-
##############################################
node-enquirer-2.3.6~ds/lib/prompts/autocomplete.js-50-    if (input[cursor] === void 0) return this.alert();
node-enquirer-2.3.6~ds/lib/prompts/autocomplete.js:51:    this.input = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
node-enquirer-2.3.6~ds/lib/prompts/autocomplete.js-52-    return this.complete();
##############################################
node-enquirer-2.3.6~ds/lib/prompts/form.js-52-    if (input[cursor] === void 0) return this.alert();
node-enquirer-2.3.6~ds/lib/prompts/form.js:53:    let str = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
node-enquirer-2.3.6~ds/lib/prompts/form.js-54-    choice.value = choice.input = str;
##############################################
node-enquirer-2.3.6~ds/lib/prompts/scale.js-97-    if (this.state.submitted) return '';
node-enquirer-2.3.6~ds/lib/prompts/scale.js:98:    let scale = this.scale.map(item => `   ${item.name} - ${item.message}`);
node-enquirer-2.3.6~ds/lib/prompts/scale.js-99-    let key = ['', ...scale].map(item => this.styles.muted(item));
##############################################
node-enquirer-2.3.6~ds/lib/prompts/snippet.js-49-    let suffix = item.input.slice(this.cursor);
node-enquirer-2.3.6~ds/lib/prompts/snippet.js:50:    this.input = item.input = `${prefix}${ch}${suffix}`;
node-enquirer-2.3.6~ds/lib/prompts/snippet.js-51-    this.moveCursor(1);
##############################################
node-enquirer-2.3.6~ds/lib/prompts/snippet.js-59-    let prefix = item.input.slice(0, this.cursor - 1);
node-enquirer-2.3.6~ds/lib/prompts/snippet.js:60:    this.input = item.input = `${prefix}${suffix}`;
node-enquirer-2.3.6~ds/lib/prompts/snippet.js-61-    this.moveCursor(-1);
##############################################
node-enquirer-2.3.6~ds/lib/prompts/snippet.js-119-    }
node-enquirer-2.3.6~ds/lib/prompts/snippet.js:120:    return color(`${this.state.completed}% completed`);
node-enquirer-2.3.6~ds/lib/prompts/snippet.js-121-  }
##############################################
node-enquirer-2.3.6~ds/lib/prompts/snippet.js-167-      let err = '';
node-enquirer-2.3.6~ds/lib/prompts/snippet.js:168:      for (let [key, value] of invalid) err += `Invalid ${key}: ${value}\n`;
node-enquirer-2.3.6~ds/lib/prompts/snippet.js-169-      this.state.error = err;
##############################################
node-enquirer-2.3.6~ds/lib/prompts/sort.js-21-    if (this.options.numbered === true) {
node-enquirer-2.3.6~ds/lib/prompts/sort.js:22:      return pre + `${i + 1} - ` + str;
node-enquirer-2.3.6~ds/lib/prompts/sort.js-23-    }
##############################################
node-enquirer-2.3.6~ds/lib/types/number.js-43-    if (num > this.max + step) return this.alert();
node-enquirer-2.3.6~ds/lib/types/number.js:44:    this.input = `${num + step}`;
node-enquirer-2.3.6~ds/lib/types/number.js-45-    return this.render();
##############################################
node-enquirer-2.3.6~ds/lib/types/number.js-51-    if (num < this.min - step) return this.alert();
node-enquirer-2.3.6~ds/lib/types/number.js:52:    this.input = `${num - step}`;
node-enquirer-2.3.6~ds/lib/types/number.js-53-    return this.render();
##############################################
node-enquirer-2.3.6~ds/lib/types/string.js-43-    let { cursor, input } = this.state;
node-enquirer-2.3.6~ds/lib/types/string.js:44:    this.input = `${input}`.slice(0, cursor) + ch + `${input}`.slice(cursor);
node-enquirer-2.3.6~ds/lib/types/string.js-45-    this.moveCursor(String(ch).length);
##############################################
node-enquirer-2.3.6~ds/lib/types/string.js-55-    if (cursor <= 0) return this.alert();
node-enquirer-2.3.6~ds/lib/types/string.js:56:    this.input = `${input}`.slice(0, cursor - 1) + `${input}`.slice(cursor);
node-enquirer-2.3.6~ds/lib/types/string.js-57-    this.moveCursor(-1);
##############################################
node-enquirer-2.3.6~ds/lib/types/string.js-63-    if (input[cursor] === void 0) return this.alert();
node-enquirer-2.3.6~ds/lib/types/string.js:64:    this.input = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
node-enquirer-2.3.6~ds/lib/types/string.js-65-    this.render();
##############################################
node-enquirer-2.3.6~ds/lib/utils.js-97-  width -= spaces.length;
node-enquirer-2.3.6~ds/lib/utils.js:98:  let source = `.{1,${width}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`;
node-enquirer-2.3.6~ds/lib/utils.js-99-  let output = str.trim();
##############################################
node-enquirer-2.3.6~ds/recipes/hselect.js-19-    if (this.state.submitted) return ' ';
node-enquirer-2.3.6~ds/recipes/hselect.js:20:    let sep = this.options.sep || ` ${this.styles.muted(this.symbols.middot)} `;
node-enquirer-2.3.6~ds/recipes/hselect.js-21-    let choices = this.visible.map(async(ch, i) => await this.renderChoice(ch, i));
##############################################
node-enquirer-2.3.6~ds/test/prompt.multiselect.js-222-        const pointer = colors.dim.gray(prompt.symbols.check);
node-enquirer-2.3.6~ds/test/prompt.multiselect.js:223:        assert.equal(await prompt.renderChoice(prompt.choices[0], 0), `${pointer} ${key}`);
node-enquirer-2.3.6~ds/test/prompt.multiselect.js:224:        assert.equal(await prompt.renderChoice(prompt.choices[1], 1), `${pointer} bar`);
node-enquirer-2.3.6~ds/test/prompt.multiselect.js-225-        prompt.submit();
##############################################
node-enquirer-2.3.6~ds/test/prompt.multiselect.js-249-        const pointer = colors.dim.gray(prompt.symbols.check);
node-enquirer-2.3.6~ds/test/prompt.multiselect.js:250:        assert.equal(await prompt.renderChoice(prompt.choices[0], 0), `${pointer} ${key}`);
node-enquirer-2.3.6~ds/test/prompt.multiselect.js:251:        assert.equal(await prompt.renderChoice(prompt.choices[1], 1), `${pointer} bar`);
node-enquirer-2.3.6~ds/test/prompt.multiselect.js-252-        called++;
##############################################
node-enquirer-2.3.6~ds/test/prompt.select.js-155-          let hint = dim('(this is a hint)');
node-enquirer-2.3.6~ds/test/prompt.select.js:156:          let expected = `${pointer} ${cyan.underline('A')}\n  BB ${hint}\n  CCC\n  DDDD`;
node-enquirer-2.3.6~ds/test/prompt.select.js-157-          let actual = await prompt.renderChoices();
##############################################
node-enquirer-2.3.6~ds/test/prompt.select.js-182-          let pointer = cyan(symbols.pointer);
node-enquirer-2.3.6~ds/test/prompt.select.js:183:          let expected = `${pointer} ${cyan.underline('A')}\n  BB\n  CCC\n  DDDD`;
node-enquirer-2.3.6~ds/test/prompt.select.js-184-          let actual = await prompt.renderChoices();
##############################################
node-enquirer-2.3.6~ds/test/prompt.select.js-211-          let pointer = cyan(symbols.pointer);
node-enquirer-2.3.6~ds/test/prompt.select.js:212:          let expected = `${pointer} ${cyan.underline('A')}\n  ${gray('BB')} ${dim('(disabled)')}\n  CCC\n  DDDD`;
node-enquirer-2.3.6~ds/test/prompt.select.js-213-          let actual = await prompt.renderChoices();