123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 'use strict';
-
- const c = require('kleur');
-
- const figures = require('./figures'); // rendering user input.
-
-
- const styles = Object.freeze({
- password: {
- scale: 1,
- render: input => '*'.repeat(input.length)
- },
- emoji: {
- scale: 2,
- render: input => '😃'.repeat(input.length)
- },
- invisible: {
- scale: 0,
- render: input => ''
- },
- default: {
- scale: 1,
- render: input => `${input}`
- }
- });
-
- const render = type => styles[type] || styles.default; // icon to signalize a prompt.
-
-
- const symbols = Object.freeze({
- aborted: c.red(figures.cross),
- done: c.green(figures.tick),
- exited: c.yellow(figures.cross),
- default: c.cyan('?')
- });
-
- const symbol = (done, aborted, exited) => aborted ? symbols.aborted : exited ? symbols.exited : done ? symbols.done : symbols.default; // between the question and the user's input.
-
-
- const delimiter = completing => c.gray(completing ? figures.ellipsis : figures.pointerSmall);
-
- const item = (expandable, expanded) => c.gray(expandable ? expanded ? figures.pointerSmall : '+' : figures.line);
-
- module.exports = {
- styles,
- render,
- symbols,
- symbol,
- delimiter,
- item
- };
|