Skip to content

Commit 37efee6

Browse files
authored
Rollup merge of rust-lang#83717 - notriddle:main-js-slice-loop, r=GuillaumeGomez
rustdoc: Separate filter-empty-string out into its own function
2 parents 39638d1 + 227f5ed commit 37efee6

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

src/librustdoc/html/static/main.js

+12-9
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,15 @@ function hideThemeButtonState() {
219219
var titleBeforeSearch = document.title;
220220
var searchTitle = null;
221221

222+
function removeEmptyStringsFromArray(x) {
223+
for (var i = 0, len = x.length; i < len; ++i) {
224+
if (x[i] === "") {
225+
x.splice(i, 1);
226+
i -= 1;
227+
}
228+
}
229+
}
230+
222231
function clearInputTimeout() {
223232
if (searchTimeout !== null) {
224233
clearTimeout(searchTimeout);
@@ -756,7 +765,7 @@ function hideThemeButtonState() {
756765
results = {}, results_in_args = {}, results_returned = {},
757766
split = valLower.split("::");
758767

759-
split = split.filter(function(segment) { return segment !== ""; });
768+
removeEmptyStringsFromArray(split);
760769

761770
function transformResults(results, isType) {
762771
var out = [];
@@ -1338,17 +1347,11 @@ function hideThemeButtonState() {
13381347
var valGenerics = extractGenerics(val);
13391348

13401349
var paths = valLower.split("::");
1341-
var j;
1342-
for (j = 0, len = paths.length; j < len; ++j) {
1343-
if (paths[j] === "") {
1344-
paths.splice(j, 1);
1345-
j -= 1;
1346-
}
1347-
}
1350+
removeEmptyStringsFromArray(paths);
13481351
val = paths[paths.length - 1];
13491352
var contains = paths.slice(0, paths.length > 1 ? paths.length - 1 : 1);
13501353

1351-
var lev;
1354+
var lev, j;
13521355
for (j = 0; j < nSearchWords; ++j) {
13531356
ty = searchIndex[j];
13541357
if (!ty || (filterCrates !== undefined && ty.crate !== filterCrates)) {

src/tools/rustdoc-js/tester.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,8 @@ function loadMainJsAndIndex(mainJs, searchIndex, storageJs, crate) {
264264
// execQuery last parameter is built in buildIndex.
265265
// buildIndex requires the hashmap from search-index.
266266
var functionsToLoad = ["buildHrefAndPath", "pathSplitter", "levenshtein", "validateResult",
267-
"handleAliases", "getQuery", "buildIndex", "execQuery", "execSearch"];
267+
"handleAliases", "getQuery", "buildIndex", "execQuery", "execSearch",
268+
"removeEmptyStringsFromArray"];
268269

269270
ALIASES = {};
270271
finalJS += 'window = { "currentCrate": "' + crate + '", rootPath: "../" };\n';

0 commit comments

Comments
 (0)