'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
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
var castPath = require('./castPath');
var isUndef = require('./isUndef');
var toStr = require('./toStr');
var isSymbol = require('./isSymbol');
var isStr = require('./isStr');
exports = function(obj, path, val) {
    path = castPath(path, obj);
    var lastProp = path.pop();
    var prop;
    prop = path.shift();
    while (!isUndef(prop)) {
        if (!isStr(prop) && !isSymbol(prop)) {
            prop = toStr(prop);
        }
        if (
            prop === '__proto__' ||
            prop === 'constructor' ||
            prop === 'prototype'
        ) {
            return;
        }
        if (!obj[prop]) obj[prop] = {};
        obj = obj[prop];
        prop = path.shift();
    }
    obj[lastProp] = val;
};
 
module.exports = exports;