ranges-iterate

Iterate a string and any changes within given string index ranges

Usage no npm install needed!

<script type="module">
  import rangesIterate from 'https://cdn.skypack.dev/ranges-iterate';
</script>

README

ranges-iterate

Iterate a string and any changes within given string index ranges

Install

The latest version is ESM only: Node 12+ is needed to use it and it must be imported instead of required. If your project is not on ESM yet and you want to use require, use an older version of this program, 2.1.0.

npm i ranges-iterate

Quick Take

import { strict as assert } from "assert";

import { rIterate } from "ranges-iterate";

// Ranges in the following example "punches out" a "hole" from `a` to `g`
// (included), replacing it with `xyz`. That's what gets iterated.

const gathered = [];

// a callback-based interface:
rIterate("abcdefghij", [[0, 7, "xyz"]], ({ i, val }) => {
  gathered.push(`i = ${i}; val = ${val}`);
});

assert.deepEqual(gathered, [
  "i = 0; val = x",
  "i = 1; val = y",
  "i = 2; val = z",
  "i = 3; val = h",
  "i = 4; val = i",
  "i = 5; val = j",
]);

Documentation

Please visit codsen.com for a full description of the API.

Contributing

To report bugs or request features or assistance, raise an issue on GitHub.

Licence

MIT License

Copyright (c) 2010-2022 Roy Revelt and other contributors

ok codsen star