diff options
author | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
commit | bbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch) | |
tree | c58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/readdirp/examples/grep.js | |
parent | 003fb34971cf63466184351b4db5f7c67df4f444 (diff) |
update packages
Diffstat (limited to 'node_modules/readdirp/examples/grep.js')
-rw-r--r-- | node_modules/readdirp/examples/grep.js | 71 |
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) - ; |