ble-device-info-service: add actions

This adds actions that are triggered when the device info service
characteristics are read.
This commit is contained in:
David Lechner
2021-12-27 12:38:51 -06:00
parent 6a9e867fe9
commit e92d5c1511
8 changed files with 90 additions and 45 deletions
+3 -6
View File
@@ -44,16 +44,13 @@ export function connect(): BleDeviceConnectAction {
return { type: BleDeviceActionType.Connect };
}
export type BleDeviceDidConnectAction = Action<BleDeviceActionType.DidConnect> & {
firmwareVersion: string;
};
export type BleDeviceDidConnectAction = Action<BleDeviceActionType.DidConnect>;
/**
* Creates an action that indicates a device was connected.
* @param firmwareVersion The firmware version of the hub (e.g. 3.0.0a1)
*/
export function didConnect(firmwareVersion: string): BleDeviceDidConnectAction {
return { type: BleDeviceActionType.DidConnect, firmwareVersion };
export function didConnect(): BleDeviceDidConnectAction {
return { type: BleDeviceActionType.DidConnect };
}
export enum BleDeviceFailToConnectReasonType {
+2 -5
View File
@@ -1,7 +1,6 @@
// SPDX-License-Identifier: MIT
// Copyright (c) 2021 The Pybricks Authors
import { firmwareVersion } from '@pybricks/firmware';
import { Action } from '../actions';
import {
BleDeviceDidFailToConnectReason,
@@ -30,10 +29,8 @@ test('connection', () => {
.connection,
).toBe(BleConnectionState.Connecting);
expect(
reducers(
{ connection: BleConnectionState.Connecting } as State,
didConnect(firmwareVersion),
).connection,
reducers({ connection: BleConnectionState.Connecting } as State, didConnect())
.connection,
).toBe(BleConnectionState.Connected);
expect(
reducers(