@@ -25132,15 +25132,11 @@ var zames = require('zames/legacy');
25132
25132
var WIN = process.platform === 'win32';
25133
25133
var BROWSER = typeof window !== 'undefined';
25134
25134
25135
- var map = currify(function (fn, array) {
25136
- return array.map(fn);
25137
- });
25138
25135
var sort = currify(function (fn, array) {
25139
25136
return array.sort(fn);
25140
25137
});
25141
- var parseStats = map(parseStat);
25142
-
25143
- var getStat_ = currify(getStat);
25138
+ var getStat = currify(_getStat);
25139
+ var parseAllStats = currify(_parseAllStats);
25144
25140
25145
25141
var getAllStats = zames(_getAllStats);
25146
25142
@@ -25173,10 +25169,15 @@ var good = function good(f) {
25173
25169
25174
25170
module.exports = readify;
25175
25171
25176
- function readify(path, fn) {
25172
+ function readify(path, type, fn) {
25173
+ if (!fn) {
25174
+ fn = type;
25175
+ type = '';
25176
+ }
25177
+
25177
25178
check(path, fn);
25178
25179
25179
- readdir(path).then(getAllStats(path)).then(good(fn)).catch(fn);
25180
+ readdir(path).then(getAllStats(path, type )).then(good(fn)).catch(fn);
25180
25181
}
25181
25182
25182
25183
function check(path, callback) {
@@ -25192,14 +25193,14 @@ function check(path, callback) {
25192
25193
* @param path
25193
25194
* @param names
25194
25195
*/
25195
- function _getAllStats(path, names, callback) {
25196
+ function _getAllStats(path, type, names, callback) {
25196
25197
var length = names.length;
25197
25198
var dir = format.addSlashToEnd(path);
25198
25199
25199
- if (!length) return fillJSON(dir, [], callback);
25200
+ if (!length) return fillJSON(dir, [], type, callback);
25200
25201
25201
25202
var funcs = names.map(function (name) {
25202
- return getStat_ (name, dir + name);
25203
+ return getStat (name, dir + name);
25203
25204
});
25204
25205
25205
25206
exec.parallel(funcs, function () {
@@ -25208,7 +25209,7 @@ function _getAllStats(path, names, callback) {
25208
25209
}
25209
25210
25210
25211
var files = args.slice(1);
25211
- fillJSON(dir, files, callback);
25212
+ fillJSON(dir, files, type, callback);
25212
25213
});
25213
25214
}
25214
25215
@@ -25221,7 +25222,7 @@ function emptyStat() {
25221
25222
};
25222
25223
}
25223
25224
25224
- function getStat (name, path, callback) {
25225
+ function _getStat (name, path, callback) {
25225
25226
fs.stat(path, function (error) {
25226
25227
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : emptyStat();
25227
25228
@@ -25231,7 +25232,21 @@ function getStat(name, path, callback) {
25231
25232
});
25232
25233
}
25233
25234
25234
- function parseStat(stat) {
25235
+ function _parseAllStats(type, array) {
25236
+ return array.map(function (item) {
25237
+ return parseStat(type, item);
25238
+ });
25239
+ }
25240
+
25241
+ function parseStat(type, stat) {
25242
+ if (type === 'raw') return {
25243
+ name: stat.name,
25244
+ size: stat.size,
25245
+ date: stat.mtime,
25246
+ owner: stat.uid,
25247
+ mode: stat.mode
25248
+ };
25249
+
25235
25250
/* Переводим права доступа в 8-ричную систему */
25236
25251
var modeStr = Number(stat.mode).toString(8);
25237
25252
var owner = stat.uid || '';
@@ -25243,11 +25258,11 @@ function parseStat(stat) {
25243
25258
});
25244
25259
25245
25260
return {
25246
- ' name' : stat.name,
25247
- ' size' : format.size(size),
25248
- ' date' : mtime,
25249
- ' owner' : owner,
25250
- ' mode' : mode && format.permissions.symbolic(mode)
25261
+ name: stat.name,
25262
+ size: format.size(size),
25263
+ date: mtime,
25264
+ owner: owner,
25265
+ mode: mode && format.permissions.symbolic(mode)
25251
25266
};
25252
25267
}
25253
25268
@@ -25256,15 +25271,17 @@ function parseStat(stat) {
25256
25271
*
25257
25272
* @param params - { files, stats, path }
25258
25273
*/
25259
- function fillJSON(path, stats, callback) {
25260
- var processFiles = squad(changeOrder, sortFiles, parseStats );
25274
+ function fillJSON(path, stats, type, callback) {
25275
+ var processFiles = squad(changeOrder, sortFiles, parseAllStats(type) );
25261
25276
var json = {
25262
25277
path: '',
25263
25278
files: processFiles(stats)
25264
25279
};
25265
25280
25266
25281
json.path = format.addSlashToEnd(path);
25267
25282
25283
+ if (type === 'raw') return callback(null, json);
25284
+
25268
25285
changeUIDToName(json, function (error, files) {
25269
25286
json.files = files;
25270
25287
callback(null, json);
0 commit comments