Rename `merge` to `deepMerge` so it's more clear what it's doing

Rename merge to deepMerge so it’s more clear what it’s doing

diff --git a/app/assets/javascripts/discourse-common/addon/lib/object.js b/app/assets/javascripts/discourse-common/addon/lib/object.js
index b34594e..e90cf26 100644
--- a/app/assets/javascripts/discourse-common/addon/lib/object.js
+++ b/app/assets/javascripts/discourse-common/addon/lib/object.js
@@ -1,9 +1,9 @@
-// a fairly simple deep merge based on: https://gist.github.com/ahtcx/0cd94e62691f539160b32ecda18af3d6
 function isObject(obj) {
   return obj && typeof obj === "object";
 }
 
-export function merge(...objects) {
+// a fairly simple deep merge based on: https://gist.github.com/ahtcx/0cd94e62691f539160b32ecda18af3d6
+export function deepMerge(...objects) {
   function deepMergeInner(target, source) {
     Object.keys(source).forEach(key => {
       const targetValue = target[key];
diff --git a/app/assets/javascripts/discourse/app/controllers/topic.js b/app/assets/javascripts/discourse/app/controllers/topic.js
index be9b7e9..f6eead8 100644
--- a/app/assets/javascripts/discourse/app/controllers/topic.js
+++ b/app/assets/javascripts/discourse/app/controllers/topic.js
@@ -26,7 +26,7 @@ import { escapeExpression } from "discourse/lib/utilities";
 import { AUTO_DELETE_PREFERENCES } from "discourse/models/bookmark";
 import { inject as service } from "@ember/service";
 import bootbox from "bootbox";
-import { merge } from "discourse-common/lib/object";
+import { deepMerge } from "discourse-common/lib/object";
 
 let customPostMessageCallbacks = {};
 
@@ -250,7 +250,7 @@ export default Controller.extend(bufferedProperty("model"), {
     this.set("loadingPostIds", true);
 
     return ajax(url, {
-      data: merge(
+      data: deepMerge(
         { post_number: post.get("post_number") },
         postStream.get("streamFilters")
       )
diff --git a/app/assets/javascripts/discourse/app/lib/search.js b/app/assets/javascripts/discourse/app/lib/search.js
index c91677b..53d14d2 100644
--- a/app/assets/javascripts/discourse/app/lib/search.js
+++ b/app/assets/javascripts/discourse/app/lib/search.js
@@ -13,7 +13,7 @@ import User from "discourse/models/user";
 import Post from "discourse/models/post";
 import Topic from "discourse/models/topic";
 import { escapeExpression } from "discourse/lib/utilities";
-import { merge } from "discourse-common/lib/object";
+import { deepMerge } from "discourse-common/lib/object";
 
 export function translateResults(results, opts) {
   opts = opts || {};
@@ -207,7 +207,7 @@ export function applySearchAutocomplete(
   };
 
   $input.autocomplete(
-    merge(
+    deepMerge(
       {
         template: findRawTemplate("category-tag-autocomplete"),
         key: "#",
@@ -227,7 +227,7 @@ export function applySearchAutocomplete(
 
   if (siteSettings.enable_mentions) {
     $input.autocomplete(
-      merge(
+      deepMerge(
         {
           template: findRawTemplate("user-selector-autocomplete"),
           key: "@",
diff --git a/app/assets/javascripts/discourse/app/lib/utilities.js b/app/assets/javascripts/discourse/app/lib/utilities.js
index 946e12f..a5ee007 100644
--- a/app/assets/javascripts/discourse/app/lib/utilities.js
+++ b/app/assets/javascripts/discourse/app/lib/utilities.js
@@ -4,7 +4,7 @@ import toMarkdown from "discourse/lib/to-markdown";
 import Handlebars from "handlebars";
 import { default as getURL, getURLWithCDN } from "discourse-common/lib/get-url";
 import { helperContext } from "discourse-common/lib/helpers";
-import { merge } from "discourse-common/lib/object";
+import { deepMerge } from "discourse-common/lib/object";
 
 let _defaultHomepage;
 
@@ -86,7 +86,7 @@ export function avatarImg(options, customGetURL) {
 
 export function tinyAvatar(avatarTemplate, options) {
   return avatarImg(
-    merge({ avatarTemplate: avatarTemplate, size: "tiny" }, options)
+    deepMerge({ avatarTemplate: avatarTemplate, size: "tiny" }, options)
   );
 }
 
diff --git a/app/assets/javascripts/discourse/app/mixins/upload.js b/app/assets/javascripts/discourse/app/mixins/upload.js
index 2846ce3..a718633 100644
--- a/app/assets/javascripts/discourse/app/mixins/upload.js
+++ b/app/assets/javascripts/discourse/app/mixins/upload.js
@@ -8,7 +8,7 @@ import getUrl from "discourse-common/lib/get-url";
 import { on } from "@ember/object/evented";
 import Mixin from "@ember/object/mixin";
 import bootbox from "bootbox";
-import { merge } from "discourse-common/lib/object";
+import { deepMerge } from "discourse-common/lib/object";
 
 export default Mixin.create({
   uploading: false,
@@ -57,7 +57,7 @@ export default Mixin.create({
     });
 
     $upload.fileupload(
-      merge(
+      deepMerge(
         {
           url: this.calculateUploadUrl(),
           dataType: "json",
@@ -83,7 +83,7 @@ export default Mixin.create({
     });
 
     $upload.on("fileuploadsubmit", (e, data) => {
-      const opts = merge(
+      const opts = deepMerge(
         {
           bypassNewUserRestriction: true,
           user: this.currentUser,
diff --git a/app/assets/javascripts/discourse/app/models/nav-item.js b/app/assets/javascripts/discourse/app/models/nav-item.js
index 8c8bb5b..bbd8974 100644
--- a/app/assets/javascripts/discourse/app/models/nav-item.js
+++ b/app/assets/javascripts/discourse/app/models/nav-item.js
@@ -9,7 +9,7 @@ import deprecated from "discourse-common/lib/deprecated";
 import Site from "discourse/models/site";
 import User from "discourse/models/user";
 import { getOwner } from "discourse-common/lib/get-owner";
-import { merge } from "discourse-common/lib/object";
+import { deepMerge } from "discourse-common/lib/object";
 
 const NavItem = EmberObject.extend({
   @discourseComputed("name")
@@ -181,7 +181,7 @@ NavItem.reopenClass({
       args.noSubcategories = true;
     }
     NavItem.extraArgsCallbacks.forEach(cb =>
-      merge(args, cb.call(this, filterType, opts))
+      deepMerge(args, cb.call(this, filterType, opts))
     );
 
     let store = getOwner(this).lookup("service:store");
@@ -223,7 +223,9 @@ NavItem.reopenClass({
     };
 
     const extraItems = NavItem.extraNavItemDescriptors
-      .map(descriptor => ExtraNavItem.create(merge({}, context, descriptor)))
+      .map(descriptor =>
+        ExtraNavItem.create(deepMerge({}, context, descriptor))
+      )
       .filter(item => {
         if (!item.customFilter) return true;
         return item.customFilter(category, args);
diff --git a/app/assets/javascripts/discourse/app/models/post-stream.js b/app/assets/javascripts/discourse/app/models/post-stream.js
index f2036ff..faec526 100644
--- a/app/assets/javascripts/discourse/app/models/post-stream.js
+++ b/app/assets/javascripts/discourse/app/models/post-stream.js
@@ -10,7 +10,7 @@ import discourseComputed from "discourse-common/utils/decorators";
 import { loadTopicView } from "discourse/models/topic";
 import { Promise } from "rsvp";
 import User from "discourse/models/user";
-import { merge } from "discourse-common/lib/object";
+import { deepMerge } from "discourse-common/lib/object";
 
 export default RestModel.extend({
   _identityMap: null,
@@ -275,7 +275,7 @@ export default RestModel.extend({
     this.set("loadingFilter", true);
     this.set("loadingNearPost", opts.nearPost);
 
-    opts = merge(opts, this.streamFilters);
+    opts = deepMerge(opts, this.streamFilters);
 
     // Request a topicView
     return loadTopicView(topic, opts)
@@ -944,7 +944,7 @@ export default RestModel.extend({
       include_suggested: includeSuggested
     };
 
-    data = merge(data, this.streamFilters);
+    data = deepMerge(data, this.streamFilters);
     const store = this.store;
 
     return ajax(url, { data }).then(result => {
diff --git a/app/assets/javascripts/discourse/app/models/topic.js b/app/assets/javascripts/discourse/app/models/topic.js
index 56d1cce..751baf3 100644
--- a/app/assets/javascripts/discourse/app/models/topic.js
+++ b/app/assets/javascripts/discourse/app/models/topic.js
@@ -23,10 +23,10 @@ import { Promise } from "rsvp";
 import Site from "discourse/models/site";

[... diff too long, it was truncated ...]

GitHub sha: 3a46e44e

This commit appears in #10566 which was merged by eviltrout.