Datepicker plugin for Inquirer.js
install plugin
npm i inquirer-datepicker-prompt
register prompt
inquirer.registerPrompt('datetime', require('inquirer-datepicker-prompt'))
message
Inherited from inquirer, message to be displayed while retrieving response.
format
An array of format specifiers for printing the date to the console. Uses a subset of the dateformat mask options.
For example:
// 1/1/17 5:00 PM
{
type: 'datetime',
name: 'dt',
message: 'When would you like a table?',
format: ['m', '/', 'd', '/', 'yy', ' ', 'h', ':', 'MM', ' ', 'TT']
}
// 01/01/2017 05:00 PM
{
type: 'datetime',
name: 'dt',
message: 'When would you like a table?',
format: ['mm', '/', 'dd', '/', 'yyyy', ' ', 'hh', ':', 'MM', ' ', 'TT']
}
Supported options:
d/dd/ddd/dddd
m/mm/mmm/mmmm
yy/yyyy
h/hh/H/HH
M/MM
s/ss
t/tt/T/TT
initial
Initial value for datepicker, must be a Date object. If not specified current date and time will be used. Example:
{
type: 'datetime',
name: 'dt',
message: 'When would you like a table?',
initial: new Date('2017-01-01 12:30'),
}
{date,time}.{min,max}
These specify a range of valid dates/time for entry. Users will be prohibited from entering a value higher.
{
type: 'datetime',
name: 'dt',
message: 'When would you like a table?',
// Enter only 1/1 to 3/1
date: {
min: "1/1/2017",
max: "3/1/2017"
},
// Enter only 9:00AM to 5:00PM
time: {
min: "9:00AM",
max: "5:00PM"
}
}
time.{seconds, minutes, hours}.interval
These specify the allowed interval (modulo). For instance:
// Minutes can only be entered in intervals of 15 minutes
{
type: 'datetime',
name: 'dt',
message: 'When would you like a table?',
time: {
minutes: {
interval: 15
}
}
}
filter
Specify a callback to alter the returned value:
{
type: 'datetime',
name: 'dt',
message: 'When would you like a table?',
time: {
minutes: {
interval: 15
}
},
filter: (dt) => {
return dt;
}
}