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

export default function(tasks) {
    function makeCallback(index) {
        function fn() {
            if (tasks.length) {
                tasks[index].apply(null, arguments);
            }
            return fn.next();
        }
        fn.next = function() {
            return (index < tasks.length - 1) ? makeCallback(index + 1) : null;
        };
        return fn;
    }
    return makeCallback(0);
}