Rabin-Karp algorithm for JavaScript. See docs.
⚠️ Depending on your environment, the code may requireregeneratorRuntime
to be defined, for instance by importing regenerator-runtime/runtime.
import {rabinKarp} from '@string-searching/rabin-karp';
const code = (c) => c.charCodeAt(0);
const d = 256;
const q = 13;
const findAll = rabinKarp(code, d, q);
const string = 'aaabaaa';
const pattern = 'aa';
for (const i of findAll(string, 0, string.length, pattern, 0, pattern.length)) {
// yields 0 1 4 5
}