Echo/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js

66 lines
1.2 KiB
JavaScript
Raw Normal View History

2021-02-11 21:31:41 +08:00
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
function SyncAsyncFileSystemDecorator(fs) {
this.fs = fs;
if (fs.statSync) {
this.stat = function(arg, callback) {
let result;
try {
result = fs.statSync(arg);
} catch (e) {
return callback(e);
}
callback(null, result);
};
}
if (fs.readdirSync) {
this.readdir = function(arg, callback) {
let result;
try {
result = fs.readdirSync(arg);
} catch (e) {
return callback(e);
}
callback(null, result);
};
}
if (fs.readFileSync) {
this.readFile = function(arg, callback) {
let result;
try {
result = fs.readFileSync(arg);
} catch (e) {
return callback(e);
}
callback(null, result);
};
}
if (fs.readlinkSync) {
this.readlink = function(arg, callback) {
let result;
try {
result = fs.readlinkSync(arg);
} catch (e) {
return callback(e);
}
callback(null, result);
};
}
if (fs.readJsonSync) {
this.readJson = function(arg, callback) {
let result;
try {
result = fs.readJsonSync(arg);
} catch (e) {
return callback(e);
}
callback(null, result);
};
}
}
module.exports = SyncAsyncFileSystemDecorator;