UNPKG

apeman-app-rest

Version:
44 lines (36 loc) 775 B
/** * @function parseQuery */ 'use strict' 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