nwa-client
Version:
Native WebApp client library
91 lines • 3.04 kB
TypeScript
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;
}
//# sourceMappingURL=interfaces.d.ts.map