File tree Expand file tree Collapse file tree 4 files changed +9
-12
lines changed Expand file tree Collapse file tree 4 files changed +9
-12
lines changed Original file line number Diff line number Diff line change 11import adapterFactory from "webrtc-adapter/src/js/adapter_factory.js" ;
22import { StreamApiNotSupportedError } from "./errors.js" ;
33import { imageDataFromVideo } from "./image-data.js" ;
4- import { hasFired } from "./promisify.js" ;
4+ import { eventOn } from "./promisify.js" ;
55
66class Camera {
77 constructor ( videoEl , stream ) {
@@ -36,7 +36,6 @@ export default async function(constraints, videoEl) {
3636 }
3737
3838 const stream = await navigator . mediaDevices . getUserMedia ( constraints ) ;
39- const streamLoaded = hasFired ( videoEl , "loadeddata" , "error" ) ;
4039
4140 if ( videoEl . srcObject !== undefined ) {
4241 videoEl . srcObject = stream ;
@@ -50,7 +49,7 @@ export default async function(constraints, videoEl) {
5049 videoEl . src = stream ;
5150 }
5251
53- await streamLoaded ;
52+ await eventOn ( videoEl , "loadeddata" ) ;
5453
5554 return new Camera ( videoEl , stream ) ;
5655}
Original file line number Diff line number Diff line change 11import { DropImageFetchError , DropImageDecodeError } from "./errors.js" ;
2- import { hasFired } from "./promisify.js" ;
2+ import { eventOn } from "./promisify.js" ;
33
44const canvas = document . createElement ( "canvas" ) ;
55const canvasCtx = canvas . getContext ( "2d" ) ;
@@ -41,23 +41,21 @@ export async function imageDataFromUrl(url) {
4141 }
4242
4343 const image = document . createElement ( "img" ) ;
44- const imageLoaded = hasFired ( image , "load" ) ;
45-
4644 image . src = url ;
4745
48- await imageLoaded ;
46+ await eventOn ( image , "load" ) ;
4947
5048 return imageDataFromImage ( image ) ;
5149}
5250
5351export async function imageDataFromFile ( file ) {
5452 if ( / i m a g e .* / . test ( file . type ) ) {
5553 const reader = new FileReader ( ) ;
56- const readerLoaded = hasFired ( reader , "load" ) ;
5754
5855 reader . readAsDataURL ( file ) ;
5956
60- const dataURL = ( await readerLoaded ) . target . result ;
57+ const result = await eventOn ( reader , "load" ) ;
58+ const dataURL = result . target . result ;
6159
6260 return imageDataFromUrl ( dataURL ) ;
6361 } else {
Original file line number Diff line number Diff line change 1- export function hasFired ( eventTarget , successEvent , errorEvent = "error" ) {
1+ export function eventOn ( eventTarget , successEvent , errorEvent = "error" ) {
22 let $resolve , $reject ;
33
44 const promise = new Promise ( ( resolve , reject ) => {
Original file line number Diff line number Diff line change 1- import { hasFired } from "./promisify.js" ;
1+ import { eventOn } from "./promisify.js" ;
22import Worker from "./worker.js" ;
33
44export async function scan ( imageData ) {
55 const worker = new Worker ( ) ;
66
77 worker . postMessage ( imageData , [ imageData . data . buffer ] ) ;
88
9- const event = await hasFired ( worker , "message" ) ;
9+ const event = await eventOn ( worker , "message" ) ;
1010
1111 worker . terminate ( ) ;
1212
You can’t perform that action at this time.
0 commit comments