getOptions.js
1 'use strict'; 2 3 function getOptions(options) { 4 options = { 5 // Own options 6 validator: undefined, 7 retry: true, 8 trim: true, 9 default: undefined, 10 useDefaultOnTimeout: false, 11 12 // `read` package options 13 silent: false, 14 replace: '', 15 input: process.stdin, 16 output: process.stdout, 17 timeout: 0, 18 19 ...options, 20 }; 21 22 // Validate that default is a string 23 if (options.default !== undefined && typeof options.default !== 'string') { 24 throw new Error('The default option value must be a string'); 25 } 26 27 // Normalize validator to an array 28 if (!Array.isArray(options.validator)) { 29 options.validator = options.validator ? [options.validator] : []; 30 } 31 32 return options; 33 } 34 35 module.exports = getOptions;