# HG changeset patch # User Lucas Thompson # Date 1493285529 -3600 # Node ID 4224929943bc2666710888858b7b3f4c49b88c9f # Parent 7a6ef711c73a48572b1fc96047c0f202e74eabd7 Small refactoring to avoid duplication of process and collect. It really seems like there is no need to have both methods. diff -r 7a6ef711c73a -r 4224929943bc src/app/services/feature-extraction/FeatureExtractionWorker.ts --- a/src/app/services/feature-extraction/FeatureExtractionWorker.ts Thu Apr 27 10:14:34 2017 +0100 +++ b/src/app/services/feature-extraction/FeatureExtractionWorker.ts Thu Apr 27 10:32:09 2017 +0100 @@ -60,13 +60,18 @@ } process(request: SimpleRequest): Observable { - return undefined; + return this.dispatch('process', request); } collect(request: SimpleRequest): Observable { + return this.dispatch('collect', request); + } + + protected dispatch(method: 'process' | 'collect', + request: SimpleRequest): Observable { const key = request.key.split(':')[0]; return this.services.has(key) ? - this.services.get(key).collect(request) : Observable.throw('Invalid key'); + this.services.get(key)[method](request) : Observable.throw('Invalid key'); } } @@ -75,9 +80,10 @@ super(); } - collect(request: SimpleRequest): Observable { + protected dispatch(method: 'process' | 'collect', + request: SimpleRequest): Observable { let lastPercentagePoint = 0; - return super.collect(request) + return super.dispatch(method, request) .scan(streamingResponseReducer) .filter(val => { const percentage =