From 7615da1040e3c57adc051d73b2e9a225de95baaa Mon Sep 17 00:00:00 2001 From: Tobias Speicher Date: Fri, 18 Feb 2022 13:34:45 +0100 Subject: [PATCH] Replace deprecated String.prototype.substr() String.prototype.substr() is deprecated (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) so we replace it with slice() which works similarily but isn't deprecated. Signed-off-by: Tobias Speicher --- .../polynomial-hash/__test__/PolynomialHash.test.js | 4 ++-- .../polynomial-hash/__test__/SimplePolynomialHash.test.js | 4 ++-- src/algorithms/string/rabin-karp/rabinKarp.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/algorithms/cryptography/polynomial-hash/__test__/PolynomialHash.test.js b/src/algorithms/cryptography/polynomial-hash/__test__/PolynomialHash.test.js index 0d487848..ef4d7cad 100644 --- a/src/algorithms/cryptography/polynomial-hash/__test__/PolynomialHash.test.js +++ b/src/algorithms/cryptography/polynomial-hash/__test__/PolynomialHash.test.js @@ -21,12 +21,12 @@ describe('PolynomialHash', () => { // Check hashing for different word lengths. frameSizes.forEach((frameSize) => { - let previousWord = text.substr(0, frameSize); + let previousWord = text.slice(0, frameSize); let previousHash = polynomialHash.hash(previousWord); // Shift frame through the whole text. for (let frameShift = 1; frameShift < (text.length - frameSize); frameShift += 1) { - const currentWord = text.substr(frameShift, frameSize); + const currentWord = text.slice(frameShift, frameShift + frameSize); const currentHash = polynomialHash.hash(currentWord); const currentRollingHash = polynomialHash.roll(previousHash, previousWord, currentWord); diff --git a/src/algorithms/cryptography/polynomial-hash/__test__/SimplePolynomialHash.test.js b/src/algorithms/cryptography/polynomial-hash/__test__/SimplePolynomialHash.test.js index 28c55196..4c2bca86 100644 --- a/src/algorithms/cryptography/polynomial-hash/__test__/SimplePolynomialHash.test.js +++ b/src/algorithms/cryptography/polynomial-hash/__test__/SimplePolynomialHash.test.js @@ -18,12 +18,12 @@ describe('PolynomialHash', () => { // Check hashing for different word lengths. frameSizes.forEach((frameSize) => { - let previousWord = text.substr(0, frameSize); + let previousWord = text.slice(0, frameSize); let previousHash = polynomialHash.hash(previousWord); // Shift frame through the whole text. for (let frameShift = 1; frameShift < (text.length - frameSize); frameShift += 1) { - const currentWord = text.substr(frameShift, frameSize); + const currentWord = text.slice(frameShift, frameShift + frameSize); const currentHash = polynomialHash.hash(currentWord); const currentRollingHash = polynomialHash.roll(previousHash, previousWord, currentWord); diff --git a/src/algorithms/string/rabin-karp/rabinKarp.js b/src/algorithms/string/rabin-karp/rabinKarp.js index 9084eb40..d7f097d6 100644 --- a/src/algorithms/string/rabin-karp/rabinKarp.js +++ b/src/algorithms/string/rabin-karp/rabinKarp.js @@ -32,7 +32,7 @@ export default function rabinKarp(text, word) { // In case of hash collision the strings may not be equal. if ( wordHash === currentFrameHash - && text.substr(charIndex, word.length) === word + && text.slice(charIndex, charIndex + word.length) === word ) { return charIndex; }