UNPKG

@sberid/js-sdk

Version:

Javascript SDK для партнеров Сбер ID, упрощающая подключение SberbankID на сайте.

67 lines (57 loc) 1.83 kB
export type BrowserMode = 'normal' | 'incognito' | 'unknown'; export interface AbstractParser { parsedResult: ParsedResult; getUA(): string; test(regex: RegExp): boolean; getDetailInfo<T>(parsersList: ParserConfig<T>[]): ParserConfig<T> | undefined; parseBrowser(): BrowserDetail; getBrowser(): BrowserDetail; getBrowserName(toLowerCase?: boolean): string; getBrowserVersion(): string | undefined; parseOS(): OSDetail; getOS(): OSDetail; getOSName(toLowerCase?: boolean): string; getOSVersion(): string | undefined; parseApp(): AppDetail; getApp(): AppDetail; getAppName(toLowerCase?: boolean): string; parsePlatform(): PlatformDetail; getPlatform(): PlatformDetail; getPlatformType(toLowerCase?: boolean): string; parse(): AbstractParser; getResult(): ParsedResult; } export interface AbstractBrowserModeDetector { browserMode: BrowserMode; retry: (ready: () => boolean) => Promise<boolean>; run: () => Promise<BrowserMode>; } export interface AbstractBrowserItemModeDetect { BrowserModeDetector: AbstractBrowserModeDetector; detectBrowsingMode: () => void; } export interface AppDetail { name?: string; } export interface OSDetail extends AppDetail { versionName?: string; version?: string; } export interface BrowserDetail extends AppDetail { version?: string; } export interface PlatformDetail { type?: string; vendor?: string; model?: string; } export interface ParserConfig<T> { test: RegExp[] | ((parser: AbstractParser) => boolean); describe: ((ua: string) => T) | (() => T); } export interface ParsedResult { browser: BrowserDetail; os: OSDetail; platform: PlatformDetail; app: AppDetail; }