UNPKG

@neurosity/sdk

Version:
73 lines (72 loc) 3.04 kB
import { Observable, BehaviorSubject, ReplaySubject } from "rxjs"; import { BluetoothTransport } from "../BluetoothTransport"; import { TextCodec } from "../utils/textCodec"; import { ActionOptions, SubscribeOptions } from "../types"; import { TRANSPORT_TYPE, BLUETOOTH_CONNECTION } from "../types"; import { BleManager } from "./types/BleManagerTypes"; import { Peripheral } from "./types/BleManagerTypes"; import { NativeEventEmitter } from "./types/ReactNativeTypes"; import { PlatformOSType } from "./types/ReactNativeTypes"; import { DeviceInfo } from "../../../types/deviceInfo"; declare type Characteristic = { characteristicUUID: string; serviceUUID: string; peripheralId: string; }; declare type CharacteristicsByName = { [name: string]: Characteristic; }; declare type Options = { BleManager: BleManager; bleManagerEmitter: NativeEventEmitter; platform: PlatformOSType; autoConnect?: boolean; }; declare type BleManagerEvents = { stopScan$: Observable<void>; discoverPeripheral$: Observable<Peripheral>; connectPeripheral$: Observable<void>; disconnectPeripheral$: Observable<void>; didUpdateValueForCharacteristic$: Observable<any>; didUpdateState$: Observable<any>; }; export declare class ReactNativeTransport implements BluetoothTransport { type: TRANSPORT_TYPE; textCodec: TextCodec; options: Options; BleManager: BleManager; bleManagerEmitter: NativeEventEmitter; platform: PlatformOSType; bleEvents: BleManagerEvents; device: Peripheral; characteristicsByName: CharacteristicsByName; connection$: BehaviorSubject<BLUETOOTH_CONNECTION>; pendingActions$: BehaviorSubject<any[]>; logs$: ReplaySubject<string>; onDisconnected$: Observable<void>; connectionStream$: Observable<BLUETOOTH_CONNECTION>; _isAutoConnectEnabled$: ReplaySubject<boolean>; constructor(options: Options); addLog(log: string): void; isConnected(): boolean; _autoConnect(selectedDevice$: Observable<DeviceInfo>): Observable<void>; enableAutoConnect(autoConnect: boolean): void; connection(): Observable<BLUETOOTH_CONNECTION>; _fromEvent(eventName: string): Observable<any>; scan(options?: { seconds?: number; once?: boolean; skipConnectionUpdate?: boolean; }): Observable<Peripheral[]>; connect(peripheral: Peripheral): Promise<void>; disconnect(): Promise<void>; getCharacteristicByName(characteristicName: string): Characteristic; subscribeToCharacteristic({ characteristicName, manageNotifications, skipJSONDecoding }: SubscribeOptions): Observable<any>; readCharacteristic(characteristicName: string, parse?: boolean): Promise<any>; writeCharacteristic(characteristicName: string, data: string): Promise<void>; _addPendingAction(actionId: number): void; _removePendingAction(actionId: number): void; _autoToggleActionNotifications(): Observable<any>; dispatchAction({ characteristicName, action }: ActionOptions): Promise<any>; } export {};