Version 1
[yaffs-website] / node_modules / grunt-legacy-log / node_modules / lodash / internal / assignOwnDefaults.js
diff --git a/node_modules/grunt-legacy-log/node_modules/lodash/internal/assignOwnDefaults.js b/node_modules/grunt-legacy-log/node_modules/lodash/internal/assignOwnDefaults.js
new file mode 100644 (file)
index 0000000..682c460
--- /dev/null
@@ -0,0 +1,26 @@
+/** Used for native method references. */
+var objectProto = Object.prototype;
+
+/** Used to check objects for own properties. */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/**
+ * Used by `_.template` to customize its `_.assign` use.
+ *
+ * **Note:** This function is like `assignDefaults` except that it ignores
+ * inherited property values when checking if a property is `undefined`.
+ *
+ * @private
+ * @param {*} objectValue The destination object property value.
+ * @param {*} sourceValue The source object property value.
+ * @param {string} key The key associated with the object and source values.
+ * @param {Object} object The destination object.
+ * @returns {*} Returns the value to assign to the destination object.
+ */
+function assignOwnDefaults(objectValue, sourceValue, key, object) {
+  return (objectValue === undefined || !hasOwnProperty.call(object, key))
+    ? sourceValue
+    : objectValue;
+}
+
+module.exports = assignOwnDefaults;