| '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; |