node-ejs-renderer/node_modules/memfs/lib/fsa-to-node/FsaNodeFsOpenFile.js

34 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-06-09 13:55:01 -04:00
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FsaNodeFsOpenFile = void 0;
/**
* Represents an open file. Stores additional metadata about the open file, such
* as the seek position.
*/
class FsaNodeFsOpenFile {
constructor(fd, createMode, flags, file, filename) {
this.fd = fd;
this.createMode = createMode;
this.flags = flags;
this.file = file;
this.filename = filename;
this.seek = 0;
this.keepExistingData = !!(flags & 1024 /* FLAG.O_APPEND */);
}
async close() { }
async write(data, seek) {
if (typeof seek !== 'number')
seek = this.seek;
const writer = await this.file.createWritable({ keepExistingData: this.keepExistingData });
await writer.write({
type: 'write',
data,
position: seek,
});
await writer.close();
this.keepExistingData = true;
this.seek += data.byteLength;
}
}
exports.FsaNodeFsOpenFile = FsaNodeFsOpenFile;
//# sourceMappingURL=FsaNodeFsOpenFile.js.map