
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
'use strict';
var VirtualFileSystem = /*#__PURE__*/function () {
function VirtualFileSystem() {
this.fileData = {};
}
var _proto = VirtualFileSystem.prototype;
_proto.readFileSync = function readFileSync(fileName, options) {
if (options === void 0) {
options = {};
}
var encoding = typeof options === 'string' ? options : options.encoding;
var virtualFileName = normalizeFilename(fileName);
var data = this.fileData[virtualFileName];
if (data == null) {
throw new Error("File '" + virtualFileName + "' not found in virtual file system");
}
if (encoding) {
// return a string
return typeof data === 'string' ? data : data.toString(encoding);
}
return Buffer.from(data, typeof data === 'string' ? 'base64' : undefined);
};
_proto.writeFileSync = function writeFileSync(fileName, content) {
this.fileData[normalizeFilename(fileName)] = content;
};
_proto.bindFileData = function bindFileData(data, options) {
if (data === void 0) {
data = {};
}
if (options === void 0) {
options = {};
}
if (options.reset) {
this.fileData = data;
} else {
Object.assign(this.fileData, data);
}
};
return VirtualFileSystem;
}();
function normalizeFilename(fileName) {
if (fileName.indexOf(__dirname) === 0) {
fileName = fileName.substring(__dirname.length);
}
if (fileName.indexOf('/') === 0) {
fileName = fileName.substring(1);
}
return fileName;
}
var virtualFs = new VirtualFileSystem();
module.exports = virtualFs;