UNPKG

nwa-client

Version:

Native WebApp client library

88 lines (81 loc) 2.94 kB
export interface IApp { isWeb: boolean; on(channel: string, callback: any): void; getInitialData(): Promise<any>; getDeviceId(): Promise<string | null>; getDeviceInfos(): Promise<DeviceInfos>; download(options: { url: string, fileName?: string, isDefaultFilename?: boolean, headers?: any }): Promise<string | null>; shareFile(path: string): Promise<void>; openFile(path: string): Promise<void>; openUrl(url: string | URL | undefined, name?: string): null; load(url: string): Promise<void>; copy(data: string): Promise<void>; paste(): Promise<string>; share(data: any): Promise<void>; setAppBadge(data: number | undefined): Promise<void>; clearAppBadge(): Promise<void>; vibrate(data: any): boolean; printHtml(content: string): Promise<void>; print(): Promise<void>; hasPermission(permissionDesc: PermissionDescriptor): Promise<PermissionStatus>; isLocationGranted(): Promise<boolean>; getCurrentPosition(options: PositionOptions | undefined): Promise<any>; watchPosition(enable: boolean, options?: PositionOptions | undefined): Promise<any>; isNotificationGranted(): Promise<boolean>; requestNotificationPermission(): Promise<boolean>; getRegistrationToken(): Promise<string>; canCheckBiometrics(): Promise<boolean>; getAvailableBiometrics(): Promise<Array<string>>; authenticate(message: string, options?: any): Promise<boolean>; openScanner(): Promise<void>; closeScanner(): Promise<void>; scanBarcode(): Promise<string>; alert(message?: string): Promise<void>; confirm(message?: string): Promise<boolean>; setShortcutItems(items: { type: string, title: string, icon: string }[]): Promise<void>; isNfcAvailable(): Promise<boolean>; readNfc(message?: string): Promise<any>; launchUrl(url?: string): Promise<any>; updateAppStyle(params: AppStyleParams): Promise<any>; select(params?: SelectFileParams): Promise<DataTransfer> } export interface AppStyleParams { backgroundColor?: number; appBarColor?: number; navBarColor?: number; appBarOffset?: boolean; navBarOffset?: boolean; keyboardResize?: boolean; } export interface SelectFileParams { type?: 'file' | 'capture' | 'scan'; multiple?: boolean; accept?: string[]; } export interface DeviceInfos { id: string; os: string; name: string; version: string; model: string; appVersion: string; firebaseId: string; registrationToken: string; } export interface LocationData { latitude: number; longitude: number; accuracy: number; altitude: number; speed: number; speedAccuracy: number; heading: number; time: number; isMock: boolean; verticalAccuracy: number; headingAccuracy: number; elapsedRealtimeNanos: number; elapsedRealtimeUncertaintyNanos: number; satelliteNumber: number; provider: string; }