| | import isFunction from '../utils/is-function'; |
| | import extend from '../utils/extend'; |
| | import isObject from '../utils/is-object'; |
| | import hasOwnProp from '../utils/has-own-prop'; |
| |
|
| | export function set (config) { |
| | var prop, i; |
| | for (i in config) { |
| | prop = config[i]; |
| | if (isFunction(prop)) { |
| | this[i] = prop; |
| | } else { |
| | this['_' + i] = prop; |
| | } |
| | } |
| | this._config = config; |
| | |
| | |
| | |
| | this._dayOfMonthOrdinalParseLenient = new RegExp( |
| | (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + |
| | '|' + (/\d{1,2}/).source); |
| | } |
| |
|
| | export function mergeConfigs(parentConfig, childConfig) { |
| | var res = extend({}, parentConfig), prop; |
| | for (prop in childConfig) { |
| | if (hasOwnProp(childConfig, prop)) { |
| | if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { |
| | res[prop] = {}; |
| | extend(res[prop], parentConfig[prop]); |
| | extend(res[prop], childConfig[prop]); |
| | } else if (childConfig[prop] != null) { |
| | res[prop] = childConfig[prop]; |
| | } else { |
| | delete res[prop]; |
| | } |
| | } |
| | } |
| | for (prop in parentConfig) { |
| | if (hasOwnProp(parentConfig, prop) && |
| | !hasOwnProp(childConfig, prop) && |
| | isObject(parentConfig[prop])) { |
| | |
| | res[prop] = extend({}, res[prop]); |
| | } |
| | } |
| | return res; |
| | } |
| |
|