From 551f68d85a4eff50837fdae4f1e9760add78489a Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Thu, 21 Oct 2021 17:01:42 +0530 Subject: [PATCH] feat: `setDefault` for JS Objects --- frappe/public/js/frappe/utils/utils.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frappe/public/js/frappe/utils/utils.js b/frappe/public/js/frappe/utils/utils.js index b49dfa0280..2baff996c6 100644 --- a/frappe/public/js/frappe/utils/utils.js +++ b/frappe/public/js/frappe/utils/utils.js @@ -23,6 +23,14 @@ if (!Array.prototype.uniqBy) { }); } +// Python's dict.setdefault ported for JS objects +Object.defineProperty(Object.prototype, "setDefault", { + value: function(key, default_value) { + if (!(key in this)) this[key] = default_value; + return this[key]; + } +}); + // Pluralize String.prototype.plural = function(revert) { const plural = {