MCPcopy
hub / github.com/farzher/fuzzysort / highlight

Function highlight

fuzzysort.js:175–221  ·  view source on GitHub ↗
(result, open='<b>', close='</b>')

Source from the content-addressed store, hash-verified

173 // this is written as 1 function instead of 2 for minification. perf seems fine ...
174 // except when minified. the perf is very slow
175 var highlight = (result, open='<b>', close='</b>') => {
176 var callback = typeof open === 'function' ? open : undefined
177
178 var target = result.target
179 var targetLen = target.length
180 var indexes = result.indexes
181 var highlighted = ''
182 var matchI = 0
183 var indexesI = 0
184 var opened = false
185 var parts = []
186
187 for(var i = 0; i < targetLen; ++i) { var char = target[i]
188 if(indexes[indexesI] === i) {
189 ++indexesI
190 if(!opened) { opened = true
191 if(callback) {
192 parts.push(highlighted); highlighted = ''
193 } else {
194 highlighted += open
195 }
196 }
197
198 if(indexesI === indexes.length) {
199 if(callback) {
200 highlighted += char
201 parts.push(callback(highlighted, matchI++)); highlighted = ''
202 parts.push(target.substr(i+1))
203 } else {
204 highlighted += char + close + target.substr(i+1)
205 }
206 break
207 }
208 } else {
209 if(opened) { opened = false
210 if(callback) {
211 parts.push(callback(highlighted, matchI++)); highlighted = ''
212 } else {
213 highlighted += close
214 }
215 }
216 }
217 highlighted += char
218 }
219
220 return callback ? parts : highlighted
221 }
222
223
224 var prepare = (target) => {

Callers 1

['highlight']Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…