summaryrefslogtreecommitdiff
path: root/build-es/transform.js
blob: 7b80fcad2aa2b6f078a04f489b1d51e5d033678c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
'use strict';

import isArray from 'lodash-es/isArray';

import eachOf from './eachOf';

export default function transform (arr, memo, iterator, callback) {
    if (arguments.length === 3) {
        callback = iterator;
        iterator = memo;
        memo = isArray(arr) ? [] : {};
    }

    eachOf(arr, function(v, k, cb) {
        iterator(memo, v, k, cb);
    }, function(err) {
        callback(err, memo);
    });
}