From 1b33e8aaa67a3d4941b43c7555020ab9013f91b0 Mon Sep 17 00:00:00 2001 From: pluris Date: Wed, 24 Jan 2024 08:05:45 +0900 Subject: [PATCH] url,tools,benchmark: replace deprecated `substr()` to `substring()`, `slice()` --- .eslintrc.js | 4 ++++ benchmark/http/bench-parser.js | 2 +- lib/url.js | 2 +- tools/doc/html.mjs | 4 ++-- tools/doc/json.mjs | 4 ++-- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index a154d00794ab4d..36c45a93d70fe1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -245,6 +245,10 @@ module.exports = { selector: 'ThrowStatement > CallExpression[callee.name=/Error$/]', message: 'Use `new` keyword when throwing an `Error`.', }, + { + selector: "CallExpression[callee.property.name='substr']", + message: 'Use String.prototype.slice() or String.prototype.substring() instead of String.prototype.substr()', + }, { selector: "CallExpression[callee.name='isNaN']", message: 'Use Number.isNaN() instead of the global isNaN() function.', diff --git a/benchmark/http/bench-parser.js b/benchmark/http/bench-parser.js index 6b8bbd8808c720..f2c120cd97f133 100644 --- a/benchmark/http/bench-parser.js +++ b/benchmark/http/bench-parser.js @@ -46,7 +46,7 @@ function main({ len, n }) { let header = `GET /hello HTTP/1.1${CRLF}Content-Type: text/plain${CRLF}`; for (let i = 0; i < len; i++) { - header += `X-Filler${i}: ${Math.random().toString(36).substr(2)}${CRLF}`; + header += `X-Filler${i}: ${Math.random().toString(36).substring(2)}${CRLF}`; } header += CRLF; diff --git a/lib/url.js b/lib/url.js index b6b5376c379a6c..f0cc5ee04ac0b6 100644 --- a/lib/url.js +++ b/lib/url.js @@ -958,7 +958,7 @@ Url.prototype.resolveObject = function resolveObject(relative) { srcPath.unshift(''); } - if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) { + if (hasTrailingSlash && (srcPath.join('/').slice(-1) !== '/')) { srcPath.push(''); } diff --git a/tools/doc/html.mjs b/tools/doc/html.mjs index 95782efe03d554..b2b0129b3398ce 100644 --- a/tools/doc/html.mjs +++ b/tools/doc/html.mjs @@ -394,8 +394,8 @@ function versionSort(a, b) { b = minVersion(b).trim(); let i = 0; // Common prefix length. while (i < a.length && i < b.length && a[i] === b[i]) i++; - a = a.substr(i); - b = b.substr(i); + a = a.substring(i); + b = b.substring(i); return +b.match(numberRe)[0] - +a.match(numberRe)[0]; } diff --git a/tools/doc/json.mjs b/tools/doc/json.mjs index b57987ef9a37ad..509173ca3864a2 100644 --- a/tools/doc/json.mjs +++ b/tools/doc/json.mjs @@ -320,8 +320,8 @@ function parseSignature(text, sig) { const eq = sigParam.indexOf('='); if (eq !== -1) { - defaultValue = sigParam.substr(eq + 1); - sigParam = sigParam.substr(0, eq); + defaultValue = sigParam.substring(eq + 1); + sigParam = sigParam.substring(0, eq); } // At this point, the name should match. If it doesn't find one that does.