Merge pull request #11216 from ypresto/speedup-config-setdefaults

🐎 wrap loop of config.setDefaults() in transact()
This commit is contained in:
Max Brunsfeld
2016-07-25 10:29:35 -07:00
committed by GitHub

View File

@@ -959,9 +959,10 @@ class Config
setDefaults: (keyPath, defaults) ->
if defaults? and isPlainObject(defaults)
keys = splitKeyPath(keyPath)
for key, childValue of defaults
continue unless defaults.hasOwnProperty(key)
@setDefaults(keys.concat([key]).join('.'), childValue)
@transact =>
for key, childValue of defaults
continue unless defaults.hasOwnProperty(key)
@setDefaults(keys.concat([key]).join('.'), childValue)
else
try
defaults = @makeValueConformToSchema(keyPath, defaults)