mirror of https://github.com/pelias/api.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
639 B
30 lines
639 B
|
|
var check = require('check-types'); |
|
var DEFAULT_DETAILS_BOOL = true; |
|
|
|
// validate inputs, convert types and apply defaults |
|
function sanitize( raw, clean ){ |
|
|
|
// error & warning messages |
|
var messages = { errors: [], warnings: [] }; |
|
|
|
if( !check.undefined( raw.details ) ){ |
|
clean.details = isTruthy( raw.details ); |
|
} else { |
|
clean.details = DEFAULT_DETAILS_BOOL; |
|
} |
|
|
|
return messages; |
|
} |
|
|
|
// be lenient with 'truthy' values |
|
function isTruthy(val) { |
|
if( check.string( val ) ){ |
|
return ['true', '1', 'yes', 'y'].indexOf(val) !== -1; |
|
} |
|
|
|
return val === 1 || val === true; |
|
} |
|
|
|
// export function |
|
module.exports = sanitize;
|
|
|