Projekt

Obecné

Profil

Stáhnout (1.01 KB) Statistiky
| Větev: | Revize:
1
# fs-write-stream-atomic
2

    
3
Like `fs.createWriteStream(...)`, but atomic.
4

    
5
Writes to a tmp file and does an atomic `fs.rename` to move it into
6
place when it's done.
7

    
8
First rule of debugging: **It's always a race condition.**
9

    
10
## USAGE
11

    
12
```javascript
13
var fsWriteStreamAtomic = require('fs-write-stream-atomic')
14
// options are optional.
15
var write = fsWriteStreamAtomic('output.txt', options)
16
var read = fs.createReadStream('input.txt')
17
read.pipe(write)
18

    
19
// When the write stream emits a 'finish' or 'close' event,
20
// you can be sure that it is moved into place, and contains
21
// all the bytes that were written to it, even if something else
22
// was writing to `output.txt` at the same time.
23
```
24

    
25
### `fsWriteStreamAtomic(filename, [options])`
26

    
27
* `filename` {String} The file we want to write to
28
* `options` {Object}
29
  * `chown` {Object} User and group to set ownership after write
30
    * `uid` {Number}
31
    * `gid` {Number}
32
  * `encoding` {String} default = 'utf8'
33
  * `mode` {Number} default = `0666`
34
  * `flags` {String} default = `'w'`
35

    
(4-4/6)