diff --git a/js/misc/params.js b/js/misc/params.js index 04691ba6a..0e3af9532 100644 --- a/js/misc/params.js +++ b/js/misc/params.js @@ -14,22 +14,12 @@ // // Return value: a new object, containing the merged parameters from // @params and @defaults -function parse(params, defaults, allowExtras) { - let ret = {}, prop; - - if (!params) - params = {}; - - for (prop in params) { - if (!(prop in defaults) && !allowExtras) - throw new Error('Unrecognized parameter "' + prop + '"'); - ret[prop] = params[prop]; +function parse(params = {}, defaults, allowExtras) { + if (!allowExtras) { + for (let prop in params) + if (!(prop in defaults)) + throw new Error(`Unrecognized parameter "${prop}"`); } - for (prop in defaults) { - if (!(prop in params)) - ret[prop] = defaults[prop]; - } - - return ret; -} \ No newline at end of file + return Object.assign(defaults, params); +}