| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 | 
							- 'use strict';
 
- Object.defineProperty(exports, '__esModule', {
 
-   value: true
 
- });
 
- exports.default = void 0;
 
- var _constants = require('../constants');
 
- function _defineProperty(obj, key, value) {
 
-   if (key in obj) {
 
-     Object.defineProperty(obj, key, {
 
-       value: value,
 
-       enumerable: true,
 
-       configurable: true,
 
-       writable: true
 
-     });
 
-   } else {
 
-     obj[key] = value;
 
-   }
 
-   return obj;
 
- }
 
- class Prompt {
 
-   constructor() {
 
-     _defineProperty(this, '_entering', void 0);
 
-     _defineProperty(this, '_value', void 0);
 
-     _defineProperty(this, '_onChange', void 0);
 
-     _defineProperty(this, '_onSuccess', void 0);
 
-     _defineProperty(this, '_onCancel', void 0);
 
-     _defineProperty(this, '_offset', void 0);
 
-     _defineProperty(this, '_promptLength', void 0);
 
-     _defineProperty(this, '_selection', void 0);
 
-     _defineProperty(this, '_onResize', () => {
 
-       this._onChange();
 
-     });
 
-     // Copied from `enter` to satisfy TS
 
-     this._entering = true;
 
-     this._value = '';
 
-     this._selection = null;
 
-     this._offset = -1;
 
-     this._promptLength = 0;
 
-     this._onChange = () => {};
 
-     this._onSuccess = () => {};
 
-     this._onCancel = () => {};
 
-   }
 
-   enter(onChange, onSuccess, onCancel) {
 
-     this._entering = true;
 
-     this._value = '';
 
-     this._onSuccess = onSuccess;
 
-     this._onCancel = onCancel;
 
-     this._selection = null;
 
-     this._offset = -1;
 
-     this._promptLength = 0;
 
-     this._onChange = () =>
 
-       onChange(this._value, {
 
-         max: 10,
 
-         offset: this._offset
 
-       });
 
-     this._onChange();
 
-     process.stdout.on('resize', this._onResize);
 
-   }
 
-   setPromptLength(length) {
 
-     this._promptLength = length;
 
-   }
 
-   setPromptSelection(selected) {
 
-     this._selection = selected;
 
-   }
 
-   put(key) {
 
-     switch (key) {
 
-       case _constants.KEYS.ENTER:
 
-         this._entering = false;
 
-         this._onSuccess(this._selection || this._value);
 
-         this.abort();
 
-         break;
 
-       case _constants.KEYS.ESCAPE:
 
-         this._entering = false;
 
-         this._onCancel(this._value);
 
-         this.abort();
 
-         break;
 
-       case _constants.KEYS.ARROW_DOWN:
 
-         this._offset = Math.min(this._offset + 1, this._promptLength - 1);
 
-         this._onChange();
 
-         break;
 
-       case _constants.KEYS.ARROW_UP:
 
-         this._offset = Math.max(this._offset - 1, -1);
 
-         this._onChange();
 
-         break;
 
-       case _constants.KEYS.ARROW_LEFT:
 
-       case _constants.KEYS.ARROW_RIGHT:
 
-         break;
 
-       case _constants.KEYS.CONTROL_U:
 
-         this._value = '';
 
-         this._offset = -1;
 
-         this._selection = null;
 
-         this._onChange();
 
-         break;
 
-       default:
 
-         this._value =
 
-           key === _constants.KEYS.BACKSPACE
 
-             ? this._value.slice(0, -1)
 
-             : this._value + key;
 
-         this._offset = -1;
 
-         this._selection = null;
 
-         this._onChange();
 
-         break;
 
-     }
 
-   }
 
-   abort() {
 
-     this._entering = false;
 
-     this._value = '';
 
-     process.stdout.removeListener('resize', this._onResize);
 
-   }
 
-   isEntering() {
 
-     return this._entering;
 
-   }
 
- }
 
- exports.default = Prompt;
 
 
  |