![]() | Name | Last modified | Size | Description |
---|---|---|---|---|
![]() | Parent Directory | - | ||
![]() | node_modules/ | 2 years ago | - | |
![]() | test/ | 2 years ago | - | |
![]() | LICENSE | 10 years ago | 765 | 7375cab EXHIBTION: fix overflow ellipsis cutoff [كارل مبارك] |
![]() | README.md | 10 years ago | 1.0K | f12eb36 documentaiton updates [كارل مبارك] |
![]() | index.js | 8 years ago | 5.0K | |
![]() | package.json | 2 years ago | 1.9K | 7375cab EXHIBTION: fix overflow ellipsis cutoff [كارل مبارك] |
Like fs.createWriteStream(...)
, but atomic.
Writes to a tmp file and does an atomic fs.rename
to move it into
place when it's done.
First rule of debugging: It's always a race condition.
var fsWriteStreamAtomic = require('fs-write-stream-atomic')
// options are optional.
var write = fsWriteStreamAtomic('output.txt', options)
var read = fs.createReadStream('input.txt')
read.pipe(write)
// When the write stream emits a 'finish' or 'close' event,
// you can be sure that it is moved into place, and contains
// all the bytes that were written to it, even if something else
// was writing to `output.txt` at the same time.
fsWriteStreamAtomic(filename, [options])
filename
{String} The file we want to write tooptions
{Object}chown
{Object} User and group to set ownership after writeuid
{Number}gid
{Number}encoding
{String} default = 'utf8'mode
{Number} default = 0666
flags
{String} default = 'w'