@@ -178,6 +178,10 @@ function transformResult(result) {
178178 moveLine ( result . line ) ;
179179 }
180180
181+ if ( result . box ) {
182+ moveBox ( result . box ) ;
183+ }
184+
181185 if ( result . boxes && result . boxes . length > 0 ) {
182186 for ( i = 0 ; i < result . boxes . length ; i ++ ) {
183187 moveBox ( result . boxes [ i ] ) ;
@@ -202,39 +206,35 @@ function transformResult(result) {
202206}
203207
204208function addResult ( result , imageData ) {
205- var i ;
206-
207209 if ( ! imageData || ! _resultCollector ) {
208210 return ;
209211 }
210212
211213 if ( result . barcodes ) {
212- for ( i = 0 ; i < result . barcodes . length ; i ++ ) {
213- addResult ( result . barcodes [ i ] , imageData ) ;
214- }
215- return ;
216- }
217-
218- if ( result . codeResult ) {
214+ result . barcodes . filter ( barcode => barcode . codeResult )
215+ . forEach ( barcode => addResult ( barcode , imageData ) ) ;
216+ } else if ( result . codeResult ) {
219217 _resultCollector . addResult ( imageData , _inputStream . getCanvasSize ( ) , result . codeResult ) ;
220218 }
221219}
222220
223221function hasCodeResult ( result ) {
224- return result && result . barcodes ?
222+ return result && ( result . barcodes ?
225223 result . barcodes . some ( barcode => barcode . codeResult ) :
226- result . codeResult ;
224+ result . codeResult ) ;
227225}
228226
229227function publishResult ( result , imageData ) {
228+ const resultToPublish = result && ( result . barcodes || result ) ;
229+
230230 if ( result && _onUIThread ) {
231231 transformResult ( result ) ;
232232 addResult ( result , imageData ) ;
233233 }
234234
235- Events . publish ( "processed" , result ) ;
235+ Events . publish ( "processed" , resultToPublish ) ;
236236 if ( hasCodeResult ( result ) ) {
237- Events . publish ( "detected" , result ) ;
237+ Events . publish ( "detected" , resultToPublish ) ;
238238 }
239239}
240240
0 commit comments