forked from CSI-KJSCE/BOS-React-
Commit With Frontend and Backend in MERN
This commit is contained in:
33
backend/node_modules/mongoose/lib/helpers/populate/setPopulatedVirtualValue.js
generated
vendored
Normal file
33
backend/node_modules/mongoose/lib/helpers/populate/setPopulatedVirtualValue.js
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Set a populated virtual value on a document's `$$populatedVirtuals` value
|
||||
*
|
||||
* @param {*} populatedVirtuals A document's `$$populatedVirtuals`
|
||||
* @param {*} name The virtual name
|
||||
* @param {*} v The result of the populate query
|
||||
* @param {*} options The populate options. This function handles `justOne` and `count` options.
|
||||
* @returns {Array<Document>|Document|Object|Array<Object>} the populated virtual value that was set
|
||||
*/
|
||||
|
||||
module.exports = function setPopulatedVirtualValue(populatedVirtuals, name, v, options) {
|
||||
if (options.justOne || options.count) {
|
||||
populatedVirtuals[name] = Array.isArray(v) ?
|
||||
v[0] :
|
||||
v;
|
||||
|
||||
if (typeof populatedVirtuals[name] !== 'object') {
|
||||
populatedVirtuals[name] = options.count ? v : null;
|
||||
}
|
||||
} else {
|
||||
populatedVirtuals[name] = Array.isArray(v) ?
|
||||
v :
|
||||
v == null ? [] : [v];
|
||||
|
||||
populatedVirtuals[name] = populatedVirtuals[name].filter(function(doc) {
|
||||
return doc && typeof doc === 'object';
|
||||
});
|
||||
}
|
||||
|
||||
return populatedVirtuals[name];
|
||||
};
|
||||
Reference in New Issue
Block a user