Skip to content

Commit 41917ad

Browse files
author
Brian Vaughn
committed
Changed how TfIdfSearchIndex handles potentially nullable values in order to avoid an eager deopt
1 parent 1a7d05b commit 41917ad

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

source/SearchIndex/TfIdfSearchIndex.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,9 @@ export class TfIdfSearchIndex implements ISearchIndex {
127127

128128
return function calculateIdf(token : string, documents : Array<Object>) : number {
129129
if (!tokenToIdfCache[token]) {
130-
var numDocumentsWithToken:number = tokenMap[token] && tokenMap[token].$numDocumentOccurrences || 0;
130+
var numDocumentsWithToken:number = tokenMap[token]
131+
? tokenMap[token].$numDocumentOccurrences
132+
: 0;
131133

132134
tokenToIdfCache[token] = 1 + Math.log(documents.length / (1 + numDocumentsWithToken));
133135
}
@@ -154,10 +156,9 @@ export class TfIdfSearchIndex implements ISearchIndex {
154156
}
155157

156158
var uid:any = document && document[uidFieldName];
157-
var termFrequency:number =
158-
tokenMap[token] &&
159-
tokenMap[token].$uidMap[uid] &&
160-
tokenMap[token].$uidMap[uid].$numTokenOccurrences || 0;
159+
var termFrequency:number = tokenMap[token] && tokenMap[token].$uidMap[uid]
160+
? tokenMap[token].$uidMap[uid].$numTokenOccurrences
161+
: 0;
161162

162163
score += termFrequency * inverseDocumentFrequency;
163164
}

0 commit comments

Comments
 (0)