summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/extensions/object.js
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2017-02-07 18:02:49 +0000
committerLuke "Jared" Bennett <lbennett@gitlab.com>2017-02-07 18:33:00 +0000
commitdf469864b1ab1e0bfaa1e843d3d0a84042604646 (patch)
tree81a59a012180c8e2c43f8573a50d5ddec26040ab /app/assets/javascripts/extensions/object.js
parentbc13687c7e374116e4830d004b82e9960d3a55cc (diff)
downloadgitlab-ce-update-filenames-regex.tar.gz
Updated the filename regexupdate-filenames-regex
Diffstat (limited to 'app/assets/javascripts/extensions/object.js')
-rw-r--r--app/assets/javascripts/extensions/object.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/assets/javascripts/extensions/object.js b/app/assets/javascripts/extensions/object.js
new file mode 100644
index 00000000000..70a2d765abd
--- /dev/null
+++ b/app/assets/javascripts/extensions/object.js
@@ -0,0 +1,26 @@
+/* eslint-disable no-restricted-syntax */
+
+// Adapted from https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill
+if (typeof Object.assign !== 'function') {
+ Object.assign = function assign(target, ...args) {
+ if (target == null) { // TypeError if undefined or null
+ throw new TypeError('Cannot convert undefined or null to object');
+ }
+
+ const to = Object(target);
+
+ for (let index = 0; index < args.length; index += 1) {
+ const nextSource = args[index];
+
+ if (nextSource != null) { // Skip over if undefined or null
+ for (const nextKey in nextSource) {
+ // Avoid bugs when hasOwnProperty is shadowed
+ if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
+ to[nextKey] = nextSource[nextKey];
+ }
+ }
+ }
+ }
+ return to;
+ };
+}