UNPKG

smiles-drawer

Version:

A SMILES drawer and parser. Generate molecular structure depictions in pure JavaScript.

39 lines (33 loc) 1.05 kB
// @ts-check export default class Options { /** * A helper method to extend the default options with user supplied ones. */ static extend() { let extended = {}; let deep = false; let i = 0; let length = arguments.length; if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') { deep = arguments[0]; i++; } let merge = function(obj) { for (let prop in obj) { if (Object.prototype.hasOwnProperty.call(obj, prop)) { if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') { extended[prop] = Options.extend(true, extended[prop], obj[prop]); } else { extended[prop] = obj[prop]; } } } }; for (; i < length; i++) { let obj = arguments[i]; merge(obj); } return extended; } }