From 97b964b1c9abab35c0a82f1773be51cac838aea5 Mon Sep 17 00:00:00 2001
From: Lauri Eskola <lauri.eskola@acquia.com>
Date: Thu, 19 Mar 2020 20:06:44 +0200
Subject: [PATCH] Issue #2550717 follow-up by droplet, bnjmnm, tedbow, lauriii:
 [JS] Replace jQuery.cookie with JS-cookie and provide a BC layer

---
 core/core.libraries.yml             | 2 --
 core/misc/jquery.cookie.shim.es6.js | 4 ++--
 core/misc/jquery.cookie.shim.js     | 4 ++--
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/core/core.libraries.yml b/core/core.libraries.yml
index 6c1d31ac44d4..59660de8a096 100644
--- a/core/core.libraries.yml
+++ b/core/core.libraries.yml
@@ -666,5 +666,3 @@ js-cookie:
     gpl-compatible: true
   js:
     assets/vendor/js-cookie/js.cookie.min.js: {}
-  dependencies:
-    - core/drupal.object.assign
diff --git a/core/misc/jquery.cookie.shim.es6.js b/core/misc/jquery.cookie.shim.es6.js
index b6b925a10070..e0ac10fb473a 100644
--- a/core/misc/jquery.cookie.shim.es6.js
+++ b/core/misc/jquery.cookie.shim.es6.js
@@ -120,7 +120,7 @@
     if (value !== undefined && !isFunction(value)) {
       // The caller is setting a cookie value and not trying to retrieve the
       // cookie value using a converter callback.
-      const attributes = Object.assign($.cookie.defaults, options);
+      const attributes = { ...$.cookie.defaults, ...options };
 
       if (!$.cookie.json) {
         // An object that is passed in must be typecast to a string when the
@@ -201,7 +201,7 @@
     Drupal.deprecationError({
       message: `jQuery.removeCookie() ${deprecatedMessageSuffix}`,
     });
-    cookies.remove(key, Object.assign($.cookie.defaults, options));
+    cookies.remove(key, { ...$.cookie.defaults, ...options });
     return !cookies.get(key);
   };
 })(jQuery, Drupal, window.Cookies);
diff --git a/core/misc/jquery.cookie.shim.js b/core/misc/jquery.cookie.shim.js
index 29f98bca7944..ed63a440a71a 100644
--- a/core/misc/jquery.cookie.shim.js
+++ b/core/misc/jquery.cookie.shim.js
@@ -44,7 +44,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
     });
 
     if (value !== undefined && !isFunction(value)) {
-      var attributes = Object.assign($.cookie.defaults, options);
+      var attributes = _objectSpread({}, $.cookie.defaults, {}, options);
 
       if (!$.cookie.json) {
         value = String(value);
@@ -79,7 +79,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
     Drupal.deprecationError({
       message: "jQuery.removeCookie() ".concat(deprecatedMessageSuffix)
     });
-    cookies.remove(key, Object.assign($.cookie.defaults, options));
+    cookies.remove(key, _objectSpread({}, $.cookie.defaults, {}, options));
     return !cookies.get(key);
   };
 })(jQuery, Drupal, window.Cookies);
\ No newline at end of file
-- 
GitLab