UNPKG

ngx-scanner-qrcode

Version:

This library is built to provide a solution scanner QR code. This library takes in raw images and will locate, extract and parse any QR code found within.

166 lines (165 loc) 4.97 kB
import { ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { AsyncSubject, BehaviorSubject } from 'rxjs'; import { ScannerQRCodeConfig, ScannerQRCodeDevice, ScannerQRCodeResult, ScannerQRCodeSelectedFiles, ScannerQRCodeSymbolType } from './ngx-scanner-qrcode.options'; import * as i0 from "@angular/core"; export declare class NgxScannerQrcodeComponent implements OnInit, OnDestroy { private renderer; private elementRef; /** * Element * playsinline required to tell iOS safari we don't want fullscreen */ video: ElementRef<HTMLVideoElement>; canvas: ElementRef<HTMLCanvasElement>; resultsPanel: ElementRef<HTMLDivElement>; /** * EventEmitter */ event: EventEmitter<ScannerQRCodeResult[]>; /** * Input */ config: ScannerQRCodeConfig; src: string | undefined; fps: number | undefined; vibrate: number | undefined; decode: string | undefined; isBeep: boolean | undefined; isMasked: boolean | undefined; unScan: boolean | undefined; loadWasmUrl: string | undefined; symbolType: ScannerQRCodeSymbolType[] | undefined; constraints: MediaStreamConstraints | any; canvasStyles: CanvasRenderingContext2D[] | any[]; /** * Export */ isStart: boolean; isPause: boolean; isLoading: boolean; isTorch: boolean; data: BehaviorSubject<ScannerQRCodeResult[]>; devices: BehaviorSubject<ScannerQRCodeDevice[]>; deviceIndexActive: number; /** * Private */ private rAF_ID; private dataForResize; private ready; private STATUS; constructor(renderer: Renderer2, elementRef: ElementRef); ngOnInit(): void; /** * loadCameraDevices */ loadCameraDevices(): void; /** * start * @param playDeviceCustom * @returns */ start(playDeviceCustom?: Function): AsyncSubject<any>; /** * stop * @returns */ stop(): AsyncSubject<any>; /** * play * @returns */ play(): AsyncSubject<any>; /** * pause * @returns */ pause(): AsyncSubject<any>; /** * playDevice * @param deviceId * @param as * @returns */ playDevice(deviceId: string, as?: AsyncSubject<any>): AsyncSubject<any>; /** * loadImage * @param src * @returns */ loadImage(src: string): AsyncSubject<any>; /** * torcher * @returns */ torcher(): AsyncSubject<any>; /** * applyConstraints * @param constraints * @param deviceIndex * @returns */ applyConstraints(constraints: MediaTrackConstraintSet | MediaTrackConstraints | any, deviceIndex?: number): AsyncSubject<any>; /** * getConstraints * @param deviceIndex * @returns */ getConstraints(deviceIndex?: number): MediaTrackConstraintSet | MediaTrackConstraints; /** * download * @param fileName * @param percentage * @param quality * @returns */ download(fileName?: string, percentage?: number, quality?: number): AsyncSubject<ScannerQRCodeSelectedFiles[]>; /** * resize */ private resize; /** * overrideConfig */ private overrideConfig; /** * safariWebRTC * Fix issue on safari * https://webrtchacks.com/guide-to-safari-webrtc * @param as * @param playDeviceCustom */ private safariWebRTC; /** * playDeviceOptinal * @param as * @param playDeviceCustom */ private playDeviceOptinal; /** * drawImage * @param element * @param callback */ private drawImage; /** * eventEmit * @param response */ private eventEmit; /** * Single-thread * Loop Recording on Camera * Must be destroy request * Not using: requestAnimationFrame * @param delay */ private requestAnimationFrame; /** * isReady */ get isReady(): AsyncSubject<boolean>; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxScannerQrcodeComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxScannerQrcodeComponent, "ngx-scanner-qrcode", ["scanner"], { "config": { "alias": "config"; "required": false; }; "src": { "alias": "src"; "required": false; }; "fps": { "alias": "fps"; "required": false; }; "vibrate": { "alias": "vibrate"; "required": false; }; "decode": { "alias": "decode"; "required": false; }; "isBeep": { "alias": "isBeep"; "required": false; }; "isMasked": { "alias": "isMasked"; "required": false; }; "unScan": { "alias": "unScan"; "required": false; }; "loadWasmUrl": { "alias": "loadWasmUrl"; "required": false; }; "symbolType": { "alias": "symbolType"; "required": false; }; "constraints": { "alias": "constraints"; "required": false; }; "canvasStyles": { "alias": "canvasStyles"; "required": false; }; }, { "event": "event"; }, never, never, true, never>; }