convict-format-with-moment
v6.2.0
Published
Formats 'duration' and 'timestamp' for convict
Downloads
71,064
Readme
Convict-format-with-moment
Formats duration
and timestamp
for convict with Moment.js.
Install
npm install convict-format-with-moment
Usage
An example config.js
file:
const convict = require('convict');
const convict_format_with_moment = require('convict-format-with-moment');
// Add all formats
convict.addFormats(convict_format_with_moment);
// Or add only specific formats:
// convict.addFormat(convict_format_with_moment.duration);
// etc.
// Define a schema
var config = convict({
format: {
format: 'duration'
},
format: {
format: 'timestamp'
}
});
Validation
Validation done through Moment.js:
duration
- milliseconds or a human readable string (e.g. 3000, "5 days")timestamp
- Unix timestamps or date strings recognized by Moment.js
Coercion
Convict will automatically coerce environmental variables from strings to their proper types when importing them. For instance, values with the format int
, nat
, port
, or Number
will become numbers after a straight forward parseInt
or parseFloat
. duration
and timestamp
are also parse and converted into numbers, though they utilize Moment.js for date parsing.