Skip to content

Commit

Permalink
Doubled fired events fix
Browse files Browse the repository at this point in the history
  • Loading branch information
vbaranov committed Nov 20, 2018
1 parent 03935e3 commit 22d40ab
Show file tree
Hide file tree
Showing 3 changed files with 277 additions and 285 deletions.
14 changes: 11 additions & 3 deletions base-filter.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const SafeEventEmitter = require('safe-event-emitter')
const deepEqual = require('fast-deep-equal')

class BaseFilter extends SafeEventEmitter {

Expand All @@ -15,9 +16,16 @@ class BaseFilter extends SafeEventEmitter {
}

addResults (newResults) {
this.updates = this.updates.concat(newResults)
this.allResults = this.allResults.concat(newResults)
newResults.forEach(result => this.emit('update', result))
const newResultsFiltered = newResults.filter((newResult) => {
const emittedBefore = this.allResults.some((emiitedResult) => {
return deepEqual(emiitedResult, newResult)
})

return !emittedBefore
})
this.updates = this.updates.concat(newResultsFiltered)
this.allResults = this.allResults.concat(newResultsFiltered)
newResultsFiltered.forEach(result => this.emit('update', result))
}

addInitialResults (newResults) {
Expand Down

0 comments on commit 22d40ab

Please sign in to comment.