fix type def of decodeFromImage() param

pull/23/head
dyoshikawa 3 years ago
parent 8afbcdad33
commit 5b43865de8

@ -229,7 +229,7 @@ class QrcodeDecoder {
* refer to jsqr options: https://github.com/cozmo/jsQR * refer to jsqr options: https://github.com/cozmo/jsQR
*/ */
async decodeFromImage( async decodeFromImage(
img: HTMLImageElement, img: HTMLImageElement | string,
options: { crossOrigin?: string } = {}, options: { crossOrigin?: string } = {},
) { ) {
let imgDom: HTMLImageElement | null = null; let imgDom: HTMLImageElement | null = null;
@ -237,12 +237,8 @@ class QrcodeDecoder {
...this.defaultOption, ...this.defaultOption,
...options, ...options,
}; };
if (+img.nodeType > 0) {
if (!img.src) { if (typeof img === 'string') {
throw new Error('The ImageElement must contain a src');
}
imgDom = img;
} else if (typeof img === 'string') {
imgDom = document.createElement('img'); imgDom = document.createElement('img');
if (options.crossOrigin) { if (options.crossOrigin) {
imgDom.crossOrigin = options.crossOrigin; imgDom.crossOrigin = options.crossOrigin;
@ -253,6 +249,11 @@ class QrcodeDecoder {
imgDom!.onload = () => resolve(true); imgDom!.onload = () => resolve(true);
}); });
await proms(); await proms();
} else if (+img.nodeType > 0) {
if (!img.src) {
throw new Error('The ImageElement must contain a src');
}
imgDom = img;
} }
let code = null; let code = null;

Loading…
Cancel
Save