deno.land / x / mongoose@6.7.5 / lib / helpers / update / modifiedPaths.js

modifiedPaths.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
'use strict';
const _modifiedPaths = require('../common').modifiedPaths;
/** * Given an update document with potential update operators (`$set`, etc.) * returns an object whose keys are the directly modified paths. * * If there are any top-level keys that don't start with `$`, we assume those * will get wrapped in a `$set`. The Mongoose Query is responsible for wrapping * top-level keys in `$set`. * * @param {Object} update * @return {Object} modified */
module.exports = function modifiedPaths(update) { const keys = Object.keys(update); const res = {};
const withoutDollarKeys = {}; for (const key of keys) { if (key.startsWith('$')) { _modifiedPaths(update[key], '', res); continue; } withoutDollarKeys[key] = update[key]; }
_modifiedPaths(withoutDollarKeys, '', res);
return res;};
mongoose

Version Info

Tagged at
a year ago