find-in v0.2.0
find-in
Node text search in files
npm install find-inHow it works?
It creates read stream to read from the target file in chunks, matches the chunks using match method and returns an array of objects contains the final results.
API
find(options)
options object contains:
path: stringfile path,request: arrayarray of regex that will be matched in fileencoding:? stringread stream encoding (default:utf8)join: stringnumber of chunk combined (default: 2), increasing the number will widen the matching chunk boundaries
The results is promise contains report: array An array of objects. Each element contains three keys:
isFound: Booleansearch resultreg: stringregex sent in requestmatch: arraymatching result. An array if there are results otherwise returns null. for more see String.prototype.match()
Examples
const find = require("find-in");
// let's create some request to search for it in our file.
const req = [/old/g, /new/g];
const report = await find({ path: "/path/to/fileName", request: req });
// > report:
//
// [
// {
// isFound: true,
// reg: /old/g,
// match: ["old"], // the result of matching
// },
// {
// isFound: false, // not found so it wasn't changed
// reg: /new/g,
// match: null,
// },
// ];Or you can check a specific result as following.
const report = await find({
path: "/path/to/fileName",
request: [phrase0, phrase1, phrase2, phrase3],
});
if (report[2].isFound) {
console.log("found phrase2!");
// do something
} else {
console.log("phrase2 is not found!");
// do something else
}Tests
yarn testRelated projects
textics & textics-stream - counts lines, words, chars and spaces for a given string.
packageSorter - Sorting packages for monorepos production.
builderz - Building your project with zero config.
corename - Extracts package name.
get-info - Utility functions for projects production.
move-position - Moves element in given array form index-A to index-B.
License
This project is licensed under the MIT License