File System SyncWriteStream/SyncReadStream implementation from Node.js Core
npm install fs-stream-sync
- not 100% same as ReadStream/WriteStream
- some event not trigger as expect
- some api still async
- SyncWriteStream.write can't append
wellcome send pr, make this near original fs.stream
import {
ReadStream, WriteStream,
SyncReadStream, SyncWriteStream,
createReadStream, createWriteStream,
createSyncReadStream, createSyncWriteStream
} from 'fs-stream-sync';
import * as fs from "fs-extra";
import * as FsStream from "fs-stream-sync";
fs.ensureDirSync('./temp')
fs.removeSync('./temp/temp1.txt')
let file = './temp/temp1.txt'
let s = FsStream.createSyncWriteStream(file, {
flags: 'w+',
});
[
'open',
'ready',
'close',
'finish',
].forEach(function (name)
{
s.on(name, function (...argv)
{
console.log(name, argv);
})
})
s.open()
let text = ''
let line = `test${0}\n`
s.write(line)
text += line
s.on('close', function (...argv)
{
let buf = fs.readFileSync(file)
console.log('close2', argv, buf.toString() === text);
})
s.destroy()
let buf = fs.readFileSync(file)
console.log(buf.toString() === text);
open [ 4 ]
ready []
close []
close2 [] true
true