aboutsummaryrefslogtreecommitdiff
path: root/node_modules/readdirp/examples/grep.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/readdirp/examples/grep.js')
-rw-r--r--node_modules/readdirp/examples/grep.js71
1 files changed, 0 insertions, 71 deletions
diff --git a/node_modules/readdirp/examples/grep.js b/node_modules/readdirp/examples/grep.js
deleted file mode 100644
index 01d5f2954..000000000
--- a/node_modules/readdirp/examples/grep.js
+++ /dev/null
@@ -1,71 +0,0 @@
-'use strict';
-var readdirp = require('..')
- , util = require('util')
- , fs = require('fs')
- , path = require('path')
- , es = require('event-stream')
- ;
-
-function findLinesMatching (searchTerm) {
-
- return es.through(function (entry) {
- var lineno = 0
- , matchingLines = []
- , fileStream = this;
-
- function filter () {
- return es.mapSync(function (line) {
- lineno++;
- return ~line.indexOf(searchTerm) ? lineno + ': ' + line : undefined;
- });
- }
-
- function aggregate () {
- return es.through(
- function write (data) {
- matchingLines.push(data);
- }
- , function end () {
-
- // drop files that had no matches
- if (matchingLines.length) {
- var result = { file: entry, lines: matchingLines };
-
- // pass result on to file stream
- fileStream.emit('data', result);
- }
- this.emit('end');
- }
- );
- }
-
- fs.createReadStream(entry.fullPath, { encoding: 'utf-8' })
-
- // handle file contents line by line
- .pipe(es.split('\n'))
-
- // keep only the lines that matched the term
- .pipe(filter())
-
- // aggregate all matching lines and delegate control back to the file stream
- .pipe(aggregate())
- ;
- });
-}
-
-console.log('grepping for "arguments"');
-
-// create a stream of all javascript files found in this and all sub directories
-readdirp({ root: path.join(__dirname), fileFilter: '*.js' })
-
- // find all lines matching the term for each file (if none found, that file is ignored)
- .pipe(findLinesMatching('arguments'))
-
- // format the results and output
- .pipe(
- es.mapSync(function (res) {
- return '\n\n' + res.file.path + '\n\t' + res.lines.join('\n\t');
- })
- )
- .pipe(process.stdout)
- ;