mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-28 10:14:13 +00:00
feature(config) mapCondition -> filter
This commit is contained in:
parent
f33cb44306
commit
9a7ca5cc27
1 changed files with 17 additions and 15 deletions
|
|
@ -33,9 +33,10 @@
|
|||
function convert(config) {
|
||||
var result = clone(config),
|
||||
array = Object.keys(result),
|
||||
isBool = isType.bind(null, result, 'boolean');
|
||||
isBool = partial(isType, result, 'boolean');
|
||||
|
||||
mapCondition(array, isBool)
|
||||
array
|
||||
.filter(isBool)
|
||||
.forEach(function(name) {
|
||||
var item = result[name];
|
||||
|
||||
|
|
@ -55,6 +56,20 @@
|
|||
return result;
|
||||
}
|
||||
|
||||
function partial(fn) {
|
||||
var i,
|
||||
bind = Function.prototype.bind,
|
||||
n = arguments.length,
|
||||
args = Array(n-1);
|
||||
|
||||
args[0] = null;
|
||||
|
||||
for (i = 1; i < n; i++)
|
||||
args[i] = arguments[i];
|
||||
|
||||
return bind.apply(fn, args);
|
||||
}
|
||||
|
||||
function isType(object, type, name) {
|
||||
var current = typeof object[name],
|
||||
is = current === type;
|
||||
|
|
@ -62,19 +77,6 @@
|
|||
return is;
|
||||
}
|
||||
|
||||
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 = '';
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue