Skip to content

Commit 7f3b649

Browse files
Fix loading serialized index from sessionStorage (#1579)
1 parent 935f2da commit 7f3b649

1 file changed

Lines changed: 19 additions & 14 deletions

File tree

assets/js/search-page.js

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ function loadIndex () {
5858
try {
5959
const serializedIndex = sessionStorage.getItem(indexStorageKey())
6060
if (serializedIndex) {
61+
registerElixirTokenFunction()
6162
return lunr.Index.load(JSON.parse(serializedIndex))
6263
} else {
6364
return null
@@ -97,24 +98,28 @@ function createIndex () {
9798
}
9899

99100
function elixirTokenSplitter (builder) {
100-
function elixirTokenFunction (token) {
101-
const tokens = token
102-
.toString()
103-
.split(/\.|\/|_/)
104-
.map(part => {
105-
return token.clone().update(() => part)
106-
})
101+
registerElixirTokenFunction()
102+
builder.pipeline.before(lunr.stemmer, elixirTokenFunction)
103+
builder.searchPipeline.before(lunr.stemmer, elixirTokenFunction)
104+
}
107105

108-
if (tokens.length > 1) {
109-
return [...tokens, token]
110-
}
106+
function elixirTokenFunction (token) {
107+
const tokens = token
108+
.toString()
109+
.split(/\.|\/|_/)
110+
.map(part => {
111+
return token.clone().update(() => part)
112+
})
111113

112-
return tokens
114+
if (tokens.length > 1) {
115+
return [...tokens, token]
113116
}
114117

115-
lunr.Pipeline.registerFunction(elixirTokenFunction, 'elixirTokenSplitter')
116-
builder.pipeline.before(lunr.stemmer, elixirTokenFunction)
117-
builder.searchPipeline.before(lunr.stemmer, elixirTokenFunction)
118+
return tokens
119+
}
120+
121+
function registerElixirTokenFunction () {
122+
return lunr.Pipeline.registerFunction(elixirTokenFunction, 'elixirTokenSplitter')
118123
}
119124

120125
function searchResultsToDecoratedSearchNodes (results) {

0 commit comments

Comments
 (0)