highlight-multiple-words
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

Highlight-multiple-words

API

The Highlight-multiple-words provide a function as findAll. This function searches a string of text for a set of search terms and returns an array of "ChunkArg" that describe the matches found.

Note - If searchWords has duplicate child or empty string it will automatically discard For Example
1. ["apple","Dummy","apple"] = ["apple","Dummy"]
2. [" "] = [ ]

It returns Array<ChunkArg>. It consists start(number), end(number) and isHighlight(boolean). isHighlight is true when a chunk is a match else false. For Example:

import { findAll } from "highlight-multiple-words";
import type { ChunkArg, FindChunksArg } from "highlight-multiple-words";

export default function App() {
  const textToHighlight = "Lorem Ipsum is simply dummy text.";
  const searchWords = ["Lorem Ipsum", "dummy"];
  
  //const textToHighlight = "लोरेम इप्सम प्रिंटिंग और टाइपसेटिंग उद्योग का केवल डमी टेक्स्ट है।";
  //const searchWords = ["लोरेम इप्सम", "डमी"];
   
  //const textToHighlight = "लोरेम इप्सम प्रिंटिंग और टाइपसेटिंग उद्योग का केवल डमी टेक्स्ट है। Lorem Ipsum is simply dummy text.";
  //const searchWords = ["लोरेम इप्सम", "डमी", "Lorem Ipsum", "dummy"];
  
  const chunks: ChunkArg[] = findAll({
    searchWords,
    textToHighlight
  });

  return (
    <div className="App">
      {chunks.map((chunk, index) => {
          const text: string = textToHighlight.substr(
            chunk.start,
            chunk.end - chunk.start
          );
          return chunk.isHighlight ? (
              <span key={text} style={{ color: "red" /* highlight style */}}>
                {text}
              </span>
            ) : (
              <span key={text}>{text}</span>
            );
        })}
      </div>
  );
}

Run this example on Code Sandbox.

findAll

The findAll function accepts several parameters, although only the searchWords array and textToHighlight string are required.

Parameter Required? Type Default Value Description
autoEscape boolean Escape special regular expression characters
caseSensitive boolean false Search should be case sensitive
findChunks Function Custom find function (advanced)
sanitize Function Custom sanitize function (advanced)
searchWords true string[] Array of words(string) to search for
textToHighlight true string Text to search and highlight


findAll Response

The findAll return Array<ChunkArg>

Key type
start number
end number
isHighlight boolean

Package Sidebar

Install

npm i highlight-multiple-words

Weekly Downloads

5

Version

1.0.5

License

ISC

Unpacked Size

12.5 kB

Total Files

18

Last publish

Collaborators

  • avinash2050kumar