mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-03 03:39:29 +08:00
20 lines
490 B
Text
20 lines
490 B
Text
import { writeSync } from 'fs'
|
|
|
|
export function writeStream (data, stream, mode = 'default') {
|
|
const write = stream.__write || stream.write
|
|
|
|
switch (mode) {
|
|
case 'async':
|
|
return new Promise((resolve) => {
|
|
if (write.call(stream, data) === true) {
|
|
resolve()
|
|
} else {
|
|
stream.once('drain', () => { resolve() })
|
|
}
|
|
})
|
|
case 'sync':
|
|
return writeSync(stream.fd, data)
|
|
default:
|
|
return write.call(stream, data)
|
|
}
|
|
}
|