Partition strings based on character indices.
yarn add strindRequired arguments are the string and an array of tuples that denote the start and end parse indices.
import strind from "strind";
const result = strind("abcd", [
[1, 1],
[2, 6],
]);
console.log(result);
/**
* {
matched: ['b', 'cd'],
unmatched: [
{
chars: 'a',
index: 0
}
]
}
*
*/The module accepts an optional callback as the third argument.
The function is called with the substring chars and boolean matches if the substring matches the array indices.
import strind from "strind";
// signature
// strind(string, Array<Tuple>, [function])
const result = strind(
"abcd",
[
[1, 1],
[2, 6],
],
({ chars, matches }) => ({
isHighlighted: matches,
text: chars,
})
);
console.log(result);
/**
* [
{ isHighlighted: false, text: 'a' },
{ isHighlighted: true, text: 'b' },
{ isHighlighted: true, text: 'cd' }
]
*
*/