• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# fs-minipass
2
3Filesystem streams based on [minipass](http://npm.im/minipass).
4
54 classes are exported:
6
7- ReadStream
8- ReadStreamSync
9- WriteStream
10- WriteStreamSync
11
12When using `ReadStreamSync`, all of the data is made available
13immediately upon consuming the stream.  Nothing is buffered in memory
14when the stream is constructed.  If the stream is piped to a writer,
15then it will synchronously `read()` and emit data into the writer as
16fast as the writer can consume it.  (That is, it will respect
17backpressure.)  If you call `stream.read()` then it will read the
18entire file and return the contents.
19
20When using `WriteStreamSync`, every write is flushed to the file
21synchronously.  If your writes all come in a single tick, then it'll
22write it all out in a single tick.  It's as synchronous as you are.
23
24The async versions work much like their node builtin counterparts,
25with the exception of introducing significantly less Stream machinery
26overhead.
27
28## USAGE
29
30It's just streams, you pipe them or read() them or write() to them.
31
32```js
33const fsm = require('fs-minipass')
34const readStream = new fsm.ReadStream('file.txt')
35const writeStream = new fsm.WriteStream('output.txt')
36writeStream.write('some file header or whatever\n')
37readStream.pipe(writeStream)
38```
39
40## ReadStream(path, options)
41
42Path string is required, but somewhat irrelevant if an open file
43descriptor is passed in as an option.
44
45Options:
46
47- `fd` Pass in a numeric file descriptor, if the file is already open.
48- `readSize` The size of reads to do, defaults to 16MB
49- `size` The size of the file, if known.  Prevents zero-byte read()
50  call at the end.
51- `autoClose` Set to `false` to prevent the file descriptor from being
52  closed when the file is done being read.
53
54## WriteStream(path, options)
55
56Path string is required, but somewhat irrelevant if an open file
57descriptor is passed in as an option.
58
59Options:
60
61- `fd` Pass in a numeric file descriptor, if the file is already open.
62- `mode` The mode to create the file with. Defaults to `0o666`.
63- `start` The position in the file to start reading.  If not
64  specified, then the file will start writing at position zero, and be
65  truncated by default.
66- `autoClose` Set to `false` to prevent the file descriptor from being
67  closed when the stream is ended.
68- `flags` Flags to use when opening the file.  Irrelevant if `fd` is
69  passed in, since file won't be opened in that case.  Defaults to
70  `'a'` if a `pos` is specified, or `'w'` otherwise.
71