--- /dev/null
+'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;