Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
private decode(
callbackFn: (result: Result) => any,
retryIfNotFound: boolean = true,
retryIfChecksumOrFormatError: boolean = true,
once = false
): void {
if (undefined === this.canvasElementContext) {
this.prepareCaptureCanvas();
}
this.canvasElementContext.drawImage(this.videoElement || this.imageElement, 0, 0);
// @note generates zone.js error when switching cameras
const luminanceSource = new HTMLCanvasElementLuminanceSource(this.canvasElement);
const binaryBitmap = new BinaryBitmap(new HybridBinarizer(luminanceSource));
try {
const result = this.readerDecode(binaryBitmap);
callbackFn(result);
if (!once && !!this.stream) {
setTimeout(() => this.decodeWithDelay(callbackFn), this.timeBetweenScansMillis);
}
} catch (re) {
console.log(retryIfChecksumOrFormatError, re);
if (retryIfNotFound && Exception.isOfType(re, Exception.NotFoundException)) {
console.warn('Not found, trying again...');