From 4b5110bb5165fa9d249be18d191845cf4e0164c4 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 16 Jun 2015 14:47:12 -0400 Subject: [PATCH] feature(config) add mapCondition --- lib/client/config.js | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/lib/client/config.js b/lib/client/config.js index 3608fb8e..9f19efaa 100644 --- a/lib/client/config.js +++ b/lib/client/config.js @@ -170,15 +170,33 @@ var CloudCmd, Util, DOM, io; }; function changeConfig(config) { - Object.keys(config).forEach(function(name) { - var item = config[name], - isBool = Util.type.boolean(item); + var array = Object.keys(config); + + mapCondition(array, function(name) { + var type = typeof config[name], + is = type === 'boolean'; - if (isBool) - config[name] = setState(item); + return is; + }).forEach(function(name) { + var item = config[name]; + + config[name] = setState(item); }); } + function mapCondition(array, fn) { + var result = []; + + array.forEach(function(item) { + var is = fn(item); + + if (is) + result.push(item); + }); + + return result; + } + function setState(state) { var ret = '';