nukak-express
Version:
flexible and efficient ORM, with declarative JSON syntax and smart type-safety
19 lines • 2.48 kB
JavaScript
export function parseQuery(req) {
req.query ??= {};
const qmsSrc = req.query;
const qm = qmsSrc;
if (qmsSrc.$select) {
qm.$select = JSON.parse(qmsSrc.$select);
}
qm.$where = qmsSrc.$where ? JSON.parse(qmsSrc.$where) : {};
if (qmsSrc.$sort) {
qm.$sort = JSON.parse(qmsSrc.$sort);
}
if (qmsSrc.$skip) {
qm.$skip = Number(qmsSrc.$skip);
}
if (qmsSrc.$limit) {
qm.$limit = Number(qmsSrc.$limit);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBWTtJQUNyQyxHQUFHLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztJQUNqQixNQUFNLE1BQU0sR0FBcUIsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUMzQyxNQUFNLEVBQUUsR0FBRyxNQUFtQyxDQUFDO0lBQy9DLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELEVBQUUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixFQUFFLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLEVBQUUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHR5cGUgeyBRdWVyeSwgUXVlcnlTdHJpbmdpZmllZCB9IGZyb20gJ251a2FrL3R5cGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VRdWVyeShyZXE6IFJlcXVlc3QpIHtcbiAgcmVxLnF1ZXJ5ID8/PSB7fTtcbiAgY29uc3QgcW1zU3JjOiBRdWVyeVN0cmluZ2lmaWVkID0gcmVxLnF1ZXJ5O1xuICBjb25zdCBxbSA9IHFtc1NyYyBhcyB1bmtub3duIGFzIFF1ZXJ5PHVua25vd24+O1xuICBpZiAocW1zU3JjLiRzZWxlY3QpIHtcbiAgICBxbS4kc2VsZWN0ID0gSlNPTi5wYXJzZShxbXNTcmMuJHNlbGVjdCk7XG4gIH1cbiAgcW0uJHdoZXJlID0gcW1zU3JjLiR3aGVyZSA/IEpTT04ucGFyc2UocW1zU3JjLiR3aGVyZSkgOiB7fTtcbiAgaWYgKHFtc1NyYy4kc29ydCkge1xuICAgIHFtLiRzb3J0ID0gSlNPTi5wYXJzZShxbXNTcmMuJHNvcnQpO1xuICB9XG4gIGlmIChxbXNTcmMuJHNraXApIHtcbiAgICBxbS4kc2tpcCA9IE51bWJlcihxbXNTcmMuJHNraXApO1xuICB9XG4gIGlmIChxbXNTcmMuJGxpbWl0KSB7XG4gICAgcW0uJGxpbWl0ID0gTnVtYmVyKHFtc1NyYy4kbGltaXQpO1xuICB9XG59XG4iXX0=