1 | var $, _, walk;
|
2 |
|
3 | $ = {};
|
4 |
|
5 | $.normalizePath = require('../dist/normalizePath');
|
6 |
|
7 | _ = {};
|
8 |
|
9 | _.merge = require('lodash/merge');
|
10 |
|
11 | walk = require('klaw');
|
12 |
|
13 | module.exports = async function(source, callback) {
|
14 | if (!(source && callback)) {
|
15 | throw new Error('walk_/error: invalid argument length');
|
16 | }
|
17 | source = $.normalizePath(source);
|
18 | await new Promise(function(resolve) {
|
19 | return walk(source).on('data', function(item) {
|
20 | return callback(_.merge(item, {
|
21 | path: $.normalizePath(item.path)
|
22 | }));
|
23 | }).on('end', function() {
|
24 | return resolve();
|
25 | });
|
26 | });
|
27 | return this;
|
28 | };
|