1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1 20 20 20 20 20 20 | module.exports = function(target, keypath, value) { var keys = typeof keypath === "string" ? keypath.split(".") : keypath; var ct = target; var key; for (var i = 0, n = keys.length - 1; i < n; i++) { key = keys[i]; if (!ct[key]) { ct[key] = {}; } ct = ct[key]; } ct[keys[keys.length - 1]] = value; return value; }; |