Urara-Blog/node_modules/.pnpm-store/v3/files/ac/ff2e1b9f577ee762168eccbf2eceac522cfd9b608b277e63869c5c5193c30ddd75537fe2ee21391dbcac68f68fa2f1a70d40f103c8c5142fe7293ba287ffa9
2022-08-14 01:14:53 +08:00

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)
}
}