1234567891011121314151617181920212223242526272829 |
- 'use strict';
- /**
- * `input` type prompt
- */
-
- var Input = require('./input');
-
- /**
- * Extention of the Input prompt specifically for use with number inputs.
- */
-
- class NumberPrompt extends Input {
- filterInput(input) {
- if (input && typeof input === 'string') {
- input = input.trim();
- // Match a number in the input
- let numberMatch = input.match(/(^-?\d+|^\d+\.\d*|^\d*\.\d+)(e\d+)?$/);
- // If a number is found, return that input.
- if (numberMatch) {
- return Number(numberMatch[0]);
- }
- }
-
- // If the input was invalid return the default value.
- return this.opt.default == null ? NaN : this.opt.default;
- }
- }
-
- module.exports = NumberPrompt;
|