Transform stream which insert text into the passing stream
stream-insert
implements the Tranform Stream API.
var fs = require('fs');
var StreamInsert = require('stream-insert');
var insert = new StreamInsert('Line to append', /^Searched line$/);
fs.createReadStream('input.txt').pipe(insert).pipe(fs.createWriteStream('output.txt'));
StreamInsert(insertions, query, options)
Parameter | Type(s) | Required | Default | Description |
---|---|---|---|---|
insertions |
string , string[] |
Yes | Strings to insert into the stream. | |
query |
object , string , string[] , RegExp , RegExp[] |
Yes | Query object (see below) or RegExp(s)/string(s) used to detect where the strings will be inserted. | |
options |
object , string |
No | {} |
Additional options. If a string is passed, set the separator option. |
Filter | Type(s) | Required | Default | Description |
---|---|---|---|---|
searches |
string , string[] , RegExp , RegExp[] |
Yes | RegExp(s)/string(s) used to detect where the strings will be inserted. | |
operator |
string |
No | AND |
If AND , insert after all searches are found (sequentially). If OR , insert after each matching search. |
before |
RegExp , string |
No | null |
Don't insert after this RegExp matched. |
after |
RegExp , string |
No | null |
Don't insert until this RegExp matched. |
strict |
boolean |
No | true |
In strict mode, boudaries (before & after) are not tested against searches. |
Option | Type(s) | Required | Default | Description |
---|---|---|---|---|
prepend |
boolean |
No | false |
Insert strings before the last match, after otherwise. |
separator |
string |
No | \n |
Separator used to split the stream. Default to \n to read the input stream line by line. |
limit |
number |
No | -1 |
Maximum number of insertions (-1 for infinity). |
insertSeparator |
boolean |
No | true |
If true , insert the separator between the insert and the matched string. |