| '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); |
| } |
| }; |