Skip to content

Commit 714e42f

Browse files
committed
Updated U.reduce().
1 parent 25451be commit 714e42f

3 files changed

Lines changed: 14 additions & 0 deletions

File tree

changes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
- added: `SchemaBuilderEntity.$output()` sets the current `callback(value)` as output/result for `obj.$async(function(err, output))`
1111

1212
- updated: when the config contains `directory-temp` with empty value then the framework uses system temporary directory
13+
- updated: `U.reduce()` supports array
1314

1415
- fixed: binary `totaljs`, fixed problem with creating localized texts
1516
- fixed: `F.responseFile()` problem with cached filename, extension was broken when the framework reads the file from cache

test/test-utils.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,9 @@ function other() {
397397
assert.ok(typeof(a.age) === 'undefined', 'utils.reduce()');
398398
assert.ok(typeof(b.age) === 'number', 'utils.reduce() - reverse');
399399

400+
assert.ok(utils.reduce([{ name: 'Peter', age: 27 }, { name: 'Lucia', age: 22 }], ['name'])[0].age === undefined, 'utils.reduce() - array');
401+
assert.ok(utils.reduce([{ name: 'Peter', age: 27 }, { name: 'Lucia', age: 22 }], ['name'], true)[0].name === undefined, 'utils.reduce() - array reverse');
402+
400403
var str = 'http://www.google.sk';
401404
assert.ok(utils.isRelative(str) === false, 'utils.isRelative(): ' + str);
402405

utils.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,6 +1295,16 @@ exports.reduce = function(source, prop, reverse) {
12951295
return exports.reduce(source, Object.keys(prop), reverse);
12961296
}
12971297

1298+
if (source instanceof Array) {
1299+
1300+
var arr = [];
1301+
1302+
for (var i = 0, length = source.length; i < length; i++)
1303+
arr.push(exports.reduce(source[i], prop, reverse));
1304+
1305+
return arr;
1306+
}
1307+
12981308
var output = {};
12991309

13001310
Object.keys(source).forEach(function(o) {

0 commit comments

Comments
 (0)