apeman-app-rest
Version:
apeman app to handle restful endpoint.
44 lines (36 loc) • 775 B
JavaScript
/**
* @function parseQuery
*/
const qs = require('qs')
/** @lends parseQuery */
function parseQuery (querystring) {
if (!querystring) {
return {}
}
let query = qs.parse(querystring)
let include = parseQuery.include(query.include)
let filter = parseQuery.filter(query.filter)
let sort = parseQuery.sort(query.sort)
let page = parseQuery.page(query.page)
return {
include, filter, sort, page
}
}
Object.assign(parseQuery, {
filter (filter) {
return filter
},
include (include) {
return String(include || '').split(/,/g)
.map((include) => String(include).trim())
.filter((include) => !!include)
},
sort (sort) {
return sort
},
page (page) {
return page
}
})
module.exports = parseQuery