btcube-web
Version:
A TypeScript library for interacting with smart speedcube devices via Web Bluetooth API.
41 lines (37 loc) • 1.06 kB
TypeScript
// Generated by dts-bundle-generator v9.5.1
import { KPattern } from 'cubing/kpuzzle';
import { Subject } from 'rxjs';
export type CubeStateEvent = {
type: string;
pattern: KPattern;
};
export type CubeMoveEvent = {
move: string;
cubeTimestamp?: number;
localTimestamp?: number;
};
export type CubeGyroEvent = {
type: "gyro";
gyroEnabled: boolean;
};
export type CubeBatteryEvent = {
type: "battery";
battery: number;
};
export type CubeInfoEvent = CubeBatteryEvent | CubeGyroEvent;
export declare const now: () => number;
export declare function interpolateTimes(times: (number | undefined)[]): number[];
export declare function interpolateMoves(moves: CubeMoveEvent[]): CubeMoveEvent[];
export type SmartCube = {
device: BluetoothDevice;
events: {
state: Subject<CubeStateEvent>;
moves: Subject<CubeMoveEvent>;
info: Subject<CubeInfoEvent>;
};
commands: {
[key: string]: () => Promise<void>;
};
};
export declare function connectSmartCube(requestMacAddress?: (device: BluetoothDevice) => Promise<string>): Promise<SmartCube>;
export {};