stagify
Version:
mongoose aggregate pipeline parser
26 lines (25 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isValidId = exports.projectize = exports.isValidObject = exports.lean = void 0;
var mongoose_1 = require("mongoose");
var ObjectId = mongoose_1.Types.ObjectId;
var lean = function (data) { return JSON.parse(JSON.stringify(data)); };
exports.lean = lean;
var isValidObject = function (obj) { return obj !== null && typeof obj === 'object' && Object.keys(obj).length > 0; };
exports.isValidObject = isValidObject;
var projectize = function (select) {
if ((0, exports.isValidObject)(select)) {
for (var key in select) {
select[key] = typeof select[key] === 'string' ? parseInt(select[key], 10) : 0;
}
return {
$project: select,
};
}
else {
return null;
}
};
exports.projectize = projectize;
var isValidId = function (id) { return ObjectId.isValid(id) && String(new ObjectId(id)) === id; };
exports.isValidId = isValidId;