blejs-types
Typescript definitions for common bluetooth interfaces.
The purpose of this repository is to declare a set of common types that can be used to develop interfaces to multiple bluetooth platforms.
For example, packages like @abandonware/noble, react-native-ble-manager, and webbluetooth all provide similar functionality for various hardware - however their interfaces are quite different.
In order to use the same upper-level application packages (like @csllc/cs1816) with a variety of BLE hardware, we develop shims that implement the blejs-types for that platform, and allow @csllc/cs1816 to interact with them without necessarily knowing any specifics about the underlying drivers and packages.
Examples of these shims include: @csllc/rn-mb-ble for React Native @csllc/noble-ble for Noble (NodeJS on Windows, Linux, and Mac)