[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[DIR]test/2023-06-13 07:16 -  
[   ]LICENSE2015-03-26 20:44 765  
[   ]index.js2017-03-07 22:17 5.0K3e510ca test new git [كارل مبارك]
[   ]package.json2023-06-13 07:16 1.7K3e510ca test new git [كارل مبارك]
[TXT]README.md2015-03-26 20:44 1.0Kd768d73 docs [كارل مبارك]
# fs-write-stream-atomic

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.**

## USAGE

```javascript
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 to
* `options` {Object}
  * `chown` {Object} User and group to set ownership after write
    * `uid` {Number}
    * `gid` {Number}
  * `encoding` {String} default = 'utf8'
  * `mode` {Number} default = `0666`
  * `flags` {String} default = `'w'`