Commit With Frontend and Backend in MERN
This commit is contained in:
33
backend/node_modules/mongoose/lib/helpers/path/setDottedPath.js
generated
vendored
Normal file
33
backend/node_modules/mongoose/lib/helpers/path/setDottedPath.js
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
'use strict';
|
||||
|
||||
const specialProperties = require('../specialProperties');
|
||||
|
||||
|
||||
module.exports = function setDottedPath(obj, path, val) {
|
||||
if (path.indexOf('.') === -1) {
|
||||
if (specialProperties.has(path)) {
|
||||
return;
|
||||
}
|
||||
|
||||
obj[path] = val;
|
||||
return;
|
||||
}
|
||||
const parts = path.split('.');
|
||||
|
||||
const last = parts.pop();
|
||||
let cur = obj;
|
||||
for (const part of parts) {
|
||||
if (specialProperties.has(part)) {
|
||||
continue;
|
||||
}
|
||||
if (cur[part] == null) {
|
||||
cur[part] = {};
|
||||
}
|
||||
|
||||
cur = cur[part];
|
||||
}
|
||||
|
||||
if (!specialProperties.has(last)) {
|
||||
cur[last] = val;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user