UNPKG

@scandit/web-datacapture-core

Version:

Scandit Data Capture SDK for the Web

167 lines (164 loc) 4.75 kB
/// <reference types="emscripten" /> import { BrowserCompatibility } from './browserCompatibility.js'; declare namespace BrowserHelper { /** * @hidden */ interface Browser { name?: string; version?: string; } /** * @hidden */ interface CPU { architecture?: string; } /** * @hidden */ interface Device { model?: string; vendor?: string; type?: string; } /** * @hidden */ interface Engine { name?: string; version?: string; } /** * @hidden */ interface OS { name?: string; version?: string; } interface UserAgentInfo { getBrowser: () => Browser; getOS: () => OS; getEngine: () => Engine; getDevice: () => Device; getCPU: () => CPU; getUA: () => string; setUA: (uastring: string) => void; } /** * @hidden */ export function getUserAgentInfo(): UserAgentInfo; /** * @hidden * * @returns Whether the device is a desktop/laptop for sure. */ export function isDesktopDevice(): boolean; export function isIPhone(): boolean; /** * @hidden * * @returns Whether the device is a iOS device running a recent-enough OS version allowing any browser to access all * available cameras (including the UltraWide one). */ export function isIOSDeviceWithExtendedCameraAccess(): boolean; export function getCanvas(): HTMLCanvasElement | null; /** * @hidden * */ export function hasSIMDSupport(): Promise<boolean>; /** * @hidden * */ export function hasThreadsSupport(): Promise<boolean>; /** * @returns The built [[BrowserCompatibility]] object representing the current OS/Browser's support for features. */ export function checkBrowserCompatibility(): BrowserCompatibility; export function checkMultithreadingSupport(): Promise<boolean>; /** * @hidden * * Get a device id for the current browser. * * When available it's retrieved from localStorage, as fallback from cookies (used by older library versions), * when not available it's randomly generated and stored in localStorage to be retrieved by later calls and returned. * * @returns The device id for the current browser. */ export function getDeviceId(): string; /** * @hidden * * Check if a given object is a valid HTMLElement * * @param object The object to check. * @returns Whether the given object is a valid HTMLElement. */ export function isValidHTMLElement(object: unknown): boolean; /** * Check if the iOS version is at least 14.6. * @returns Whether iOS version is at least 14.6. * @hidden */ export function isSupportedIOSVersion(): boolean; /** * Check if the browser is Safari. * @returns Whether the browser is safari. * @hidden */ export function isSafari(): boolean; /** * Check if the document is served by an iOS web view. * @returns Whether the document is served by an iOS web view. * @hidden */ export function isIosWebView(): boolean; /** * Check if the document is served by an Android web view. * @returns Whether the document is served by an Android web view. * @hidden */ export function isAndroidWebView(): Promise<boolean>; /** * Check if the OS is Windows. * @returns Whether the OS is Windows. * @hidden */ export function isWindows(): boolean; /** * Check if the browser is Firefox. * @returns Whether the browser is Firefox. * @hidden */ export function isFirefox(): boolean; /** * Get the vibration method supported by the current browser and device, if any. * @returns The vibration method supported by the current browser and device, if any. * @hidden */ export function getSupportedVibrationMethod(): typeof navigator.vibrate | undefined; /** * Check if vibration is supported by the current browser and device. * @returns Whether vibration is supported by the current browser and device. * @hidden */ export function isVibrationAvailable(): boolean; /** * Check if the OS is iOS. * @returns Whether the OS is iOS. * @hidden */ export function isIOS(): boolean; /** * Check if the browser supports the Animation API. * @returns Whether the browser supports the Animation API. * @hidden */ export function isAnimationApiSupported(): boolean; export { }; } export { BrowserHelper };