forked from zhurui/management
65 lines
1.3 KiB
JavaScript
65 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
const fs = require('fs');
|
|
const call = require('../call');
|
|
|
|
/**
|
|
* A facade around {@link fs.readdirSync} that allows it to be called
|
|
* the same way as {@link fs.readdir}.
|
|
*
|
|
* @param {string} dir
|
|
* @param {function} callback
|
|
*/
|
|
exports.readdir = function (dir, callback) {
|
|
// Make sure the callback is only called once
|
|
callback = call.once(callback);
|
|
|
|
try {
|
|
let items = fs.readdirSync(dir);
|
|
callback(null, items);
|
|
}
|
|
catch (err) {
|
|
callback(err);
|
|
}
|
|
};
|
|
|
|
/**
|
|
* A facade around {@link fs.statSync} that allows it to be called
|
|
* the same way as {@link fs.stat}.
|
|
*
|
|
* @param {string} path
|
|
* @param {function} callback
|
|
*/
|
|
exports.stat = function (path, callback) {
|
|
// Make sure the callback is only called once
|
|
callback = call.once(callback);
|
|
|
|
try {
|
|
let stats = fs.statSync(path);
|
|
callback(null, stats);
|
|
}
|
|
catch (err) {
|
|
callback(err);
|
|
}
|
|
};
|
|
|
|
/**
|
|
* A facade around {@link fs.lstatSync} that allows it to be called
|
|
* the same way as {@link fs.lstat}.
|
|
*
|
|
* @param {string} path
|
|
* @param {function} callback
|
|
*/
|
|
exports.lstat = function (path, callback) {
|
|
// Make sure the callback is only called once
|
|
callback = call.once(callback);
|
|
|
|
try {
|
|
let stats = fs.lstatSync(path);
|
|
callback(null, stats);
|
|
}
|
|
catch (err) {
|
|
callback(err);
|
|
}
|
|
};
|