UNPKG

stagify

Version:

mongoose aggregate pipeline parser

34 lines (33 loc) 1.44 kB
"use strict"; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); var qs = require("qs"); var map_filter_1 = require("./map_filter"); var map_options_1 = require("./map_options"); exports.default = (function (query) { var _a = qs.parse(query), select = _a.select, page = _a.page, limit = _a.limit, sort = _a.sort, params = __rest(_a, ["select", "page", "limit", "sort"]); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment console.log({ params: params }); var filters = (0, map_filter_1.mapFilters)(params); var options = (0, map_options_1.mapOptions)(page, limit, sort); var project = {}; for (var field in select) { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access project[field] = parseInt(select[field], 10); } return { filters: filters, select: project, options: options, }; });