@@ -44,7 +44,7 @@ export class TfIdfSearchIndex implements ISearchIndex {
4444 var tokenMap = this . _tokenMap ;
4545 var tokenDatum ;
4646
47- if ( ! tokenMap . hasOwnProperty ( token ) ) {
47+ if ( typeof tokenMap [ token ] !== 'object' ) {
4848 tokenMap [ token ] = tokenDatum = {
4949 $numDocumentOccurrences : 0 ,
5050 $totalNumOccurrences : 1 ,
@@ -57,7 +57,7 @@ export class TfIdfSearchIndex implements ISearchIndex {
5757
5858 var uidMap = tokenDatum . $uidMap ;
5959
60- if ( ! uidMap . hasOwnProperty ( uid ) ) {
60+ if ( typeof uidMap [ uid ] !== 'object' ) {
6161 tokenDatum . $numDocumentOccurrences ++ ;
6262 uidMap [ uid ] = {
6363 $document : doc ,
@@ -95,7 +95,7 @@ export class TfIdfSearchIndex implements ISearchIndex {
9595 for ( var j = 0 , numKeys = keys . length ; j < numKeys ; j ++ ) {
9696 var uid = keys [ j ] ;
9797
98- if ( ! tokenMetadata . $uidMap . hasOwnProperty ( uid ) ) {
98+ if ( typeof tokenMetadata . $uidMap [ uid ] !== 'object' ) {
9999 delete uidToDocumentMap [ uid ] ;
100100 }
101101 }
@@ -127,7 +127,7 @@ 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 ]
130+ var numDocumentsWithToken :number = typeof tokenMap [ token ] !== 'undefined'
131131 ? tokenMap [ token ] . $numDocumentOccurrences
132132 : 0 ;
133133
@@ -156,9 +156,11 @@ export class TfIdfSearchIndex implements ISearchIndex {
156156 }
157157
158158 var uid :any = document && document [ uidFieldName ] ;
159- var termFrequency :number = tokenMap [ token ] && tokenMap [ token ] . $uidMap [ uid ]
160- ? tokenMap [ token ] . $uidMap [ uid ] . $numTokenOccurrences
161- : 0 ;
159+ var termFrequency :number =
160+ typeof tokenMap [ token ] !== 'undefined' &&
161+ typeof tokenMap [ token ] . $uidMap [ uid ] !== 'undefined'
162+ ? tokenMap [ token ] . $uidMap [ uid ] . $numTokenOccurrences
163+ : 0 ;
162164
163165 score += termFrequency * inverseDocumentFrequency ;
164166 }
0 commit comments