Skip to content

Latest commit

 

History

History
85 lines (65 loc) · 1.38 KB

README.md

File metadata and controls

85 lines (65 loc) · 1.38 KB

strind

NPM Build

Partition strings based on character indices.

Install

yarn add strind

Usage

Required 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
        }
      ]
    }
 *
 */

Callback

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' }
    ]
 *
 */

License

MIT