forked from mebjas/html5-qrcode
-
Notifications
You must be signed in to change notification settings - Fork 1
/
code-decoder.ts
36 lines (30 loc) · 975 Bytes
/
code-decoder.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
* @fileoverview
* Shim layer for providing the decoding library.
*
* @author mebjas <minhazav@gmail.com>
*
* The word "QR Code" is registered trademark of DENSO WAVE INCORPORATED
* http://www.denso-wave.com/qrcode/faqpatent-e.html
*/
import {
QrcodeResult,
Html5QrcodeSupportedFormats,
QrcodeDecoder
} from "./core";
import { ZXingHtml5QrcodeDecoder } from "./zxing-html5-qrcode-decoder"
/**
* Shim layer for {@interface QrcodeDecoder}.
*
* Currently uses {@class ZXingHtml5QrcodeDecoder}, can be replace with another library.
*/
export class Html5QrcodeShim implements QrcodeDecoder {
private zxingDecorderDelegate: QrcodeDecoder;
public constructor(
requestedFormats: Array<Html5QrcodeSupportedFormats>) {
this.zxingDecorderDelegate = new ZXingHtml5QrcodeDecoder(requestedFormats);
}
decode(canvas: HTMLCanvasElement): QrcodeResult {
return this.zxingDecorderDelegate.decode(canvas);
}
}