qrcodedetector.js 749 Bytes
import ARCS from '../build/arcs.js';

let QRCodeDetector;

QRCodeDetector = ARCS.Componenent.create(
    function() {
        let busy = false;
        let dataCache = null;
        const worker = new Worker("../deps/jsqr/worker.js");
        worker.addEventListener("message", ({data} => {
            busy = false;
            dataCache = data;
        });
        
        this.detect(imageData) {
            if (!busy) {
                busy = true;
                worker.postMessage(imageData);
            } 
            if (dataCache !== null) {
                this.emit('onQRCode', dataCache);
            }            
        };        
    },
    ['detect'],
    ['onQRCode']    
);



export default {QRCodeDetector: QRCodeDetector};