Herbert Vojčík 6 years ago
parent
commit
385bb09343
1 changed files with 4 additions and 10 deletions
  1. 4 10
      lib/cow-value-model.js

+ 4 - 10
lib/cow-value-model.js

@@ -29,14 +29,10 @@ var cowValueModel = exports.cowValueModel = function cowValueModel() {
 
     fillKeys(keyDescriptions);
 
-    function setField() {
-        var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-        var index = arguments[1];
-        var val = arguments[2];
-
+    function setField(x, index, val) {
         if (index >= keys.length) return val;
         var key = keys[index],
-            value = x[key],
+            value = x == null ? undefined : x[key],
             modified = setField(value, index + 1, val);
         return value === modified ? x : copyWith(x, key, modified);
     }
@@ -45,10 +41,8 @@ var cowValueModel = exports.cowValueModel = function cowValueModel() {
 
     return function (obj) {
         var val = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : GET_SENTINEL;
-        return val === GET_SENTINEL ? keys.reduce(function () {
-            var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-            var key = arguments[1];
-            return x[key];
+        return val === GET_SENTINEL ? keys.reduce(function (x, key) {
+            return x == null ? undefined : x[key];
         }, obj) : setField(obj, 0, val);
     };
 };