| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | "use strict";var objUtils = require("./util/object");function getOptions(options, defaults){	if ( objUtils.isPlainObject(options) )	{		var newOptions = {};				for (var i in defaults)		{			if ( defaults.hasOwnProperty(i) )			{				if (options[i] !== undefined)				{					newOptions[i] = mergeOption(options[i], defaults[i]);				}				else				{					newOptions[i] = defaults[i];				}			}		}				return newOptions;	}	else	{		return defaults;	}}function mergeOption(newValues, defaultValues){	if (defaultValues instanceof Object && newValues instanceof Object)	{		if (defaultValues instanceof Array && newValues instanceof Array)		{			return defaultValues.concat(newValues);		}		else		{			return objUtils.shallowMerge(newValues, defaultValues);		}	}		return newValues;}module.exports = getOptions;
 |