A transformation piping tool based on regex.
This module is available on npm:
$ npm install regex-pipe
The following example will show how to transform the content of a file to another.
const Pipe = require('regex-pipe');
const regex = /(blue|red|yellow)/;
const transformation = matches => 'I have a ' + matches[1] + ' house\n';
new Pipe('./in.txt', './out.txt')
.parse(regex, transformation, { delimiter: Pipe.DELIMITERS.LINE_BY_LINE })
.then(() => {
// Now the out.txt file contains the output...
})
.catch(err => {
// An error happened...
});
Considering the in.txt
content as:
They have a blue house
They have a red house
They have a yellow house
After the execution, the out.txt
content will be:
I have a blue house
I have a red house
I have a yellow house
In other words, the Pipe.parse
will replace every chunk of data with the return of the transformation
function
The following example will show how to replace the content of a file to another.
const Pipe = require('regex-pipe');
const regex = /blue/;
const replacement = 'red';
new Pipe('./in.txt', './out.txt')
.replace(regex, replacement, { delimiter: Pipe.DELIMITERS.LINE_BY_LINE })
.then(() => {
// Now the out.txt file contains the output...
})
.catch(err => {
// An error happened...
});
Considering the in.txt
content as:
They have a blue house
After the execution, the out.txt
content will be:
They have a red house
This is much like to what the String.replace
does
If you want a feature to be added or give some other feedback, feel free to open an issue.