nsd-ble 0.3.3 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +887 -0
- package/dist/Objects-Zntmn07s.cjs +1 -0
- package/dist/Objects-ulh5Kfet.js +1043 -0
- package/dist/main.cjs +1 -1
- package/dist/main.js +641 -287
- package/dist/objects.cjs +1 -1
- package/dist/objects.js +1 -1
- package/dist/types/Types.d.ts +99 -0
- package/dist/types/ble/BluetoothProvider.d.ts +9 -0
- package/dist/types/ble/Mesh.d.ts +14 -9
- package/dist/types/ble/MeshWriter.d.ts +8 -0
- package/dist/types/ble/MockBluetooth.d.ts +25 -0
- package/dist/types/ble/Settings.d.ts +4 -0
- package/dist/types/composable/Debug.d.ts +26 -0
- package/dist/types/main.d.ts +3 -1
- package/dist/types/standee/Loader.d.ts +5 -0
- package/package.json +1 -1
- package/dist/Objects-C2BH61j-.js +0 -941
- package/dist/Objects-WdcC281c.cjs +0 -1
- package/readme.md +0 -30
package/dist/objects.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Objects-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Objects-Zntmn07s.cjs");exports.Buffer=e.Buffer;exports.ButtonResult=e.ButtonResult;exports.Standee=e.Standee;
|
package/dist/objects.js
CHANGED
package/dist/types/Types.d.ts
CHANGED
|
@@ -22,3 +22,102 @@ type ImagePixels = {
|
|
|
22
22
|
height: number;
|
|
23
23
|
pixels: number[];
|
|
24
24
|
};
|
|
25
|
+
|
|
26
|
+
interface ReconnectStatus {
|
|
27
|
+
attempt: number;
|
|
28
|
+
maxRetries: number;
|
|
29
|
+
delay: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface PacketSentEvent {
|
|
33
|
+
cacheId: number;
|
|
34
|
+
position: number;
|
|
35
|
+
dataSize: number;
|
|
36
|
+
packetBytes: number;
|
|
37
|
+
batchIndex: number;
|
|
38
|
+
timestamp: number;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
interface MessageQueuedEvent {
|
|
42
|
+
cacheId: number;
|
|
43
|
+
type: number;
|
|
44
|
+
targetId: number;
|
|
45
|
+
packetCount: number;
|
|
46
|
+
totalBytes: number;
|
|
47
|
+
timestamp: number;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
interface RetransmitEvent {
|
|
51
|
+
cacheId: number;
|
|
52
|
+
packetCount: number;
|
|
53
|
+
reason: "feedback" | "timeout";
|
|
54
|
+
timestamp: number;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
interface TimeoutEvent {
|
|
58
|
+
cacheId: number;
|
|
59
|
+
retryCount: number;
|
|
60
|
+
maxRetries: number;
|
|
61
|
+
willRetry: boolean;
|
|
62
|
+
timestamp: number;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
interface MessageCompleteEvent {
|
|
66
|
+
cacheId: number;
|
|
67
|
+
timestamp: number;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
interface DebugLogEntry {
|
|
71
|
+
type: DebugEventType;
|
|
72
|
+
timestamp: number;
|
|
73
|
+
data: Record<string, unknown>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
type DebugEventType =
|
|
77
|
+
| "packet_sent"
|
|
78
|
+
| "message_queued"
|
|
79
|
+
| "retransmit"
|
|
80
|
+
| "timeout"
|
|
81
|
+
| "message_complete"
|
|
82
|
+
| "message_done"
|
|
83
|
+
| "received_packets"
|
|
84
|
+
| "node_discovered"
|
|
85
|
+
| "node_lost"
|
|
86
|
+
| "connected"
|
|
87
|
+
| "disconnected";
|
|
88
|
+
|
|
89
|
+
interface DecodedPacket {
|
|
90
|
+
cacheId: number;
|
|
91
|
+
targetId: number;
|
|
92
|
+
ttl: number;
|
|
93
|
+
position: number;
|
|
94
|
+
dataSize: number;
|
|
95
|
+
typeName: string;
|
|
96
|
+
typeValue: number;
|
|
97
|
+
payloadBytes: number;
|
|
98
|
+
raw: number[];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
interface MessageTimingRecord {
|
|
102
|
+
cacheId: number;
|
|
103
|
+
queuedAt: number;
|
|
104
|
+
firstPacketAt: number | null;
|
|
105
|
+
completedAt: number | null;
|
|
106
|
+
latencyMs: number | null;
|
|
107
|
+
retransmitCount: number;
|
|
108
|
+
timeoutCount: number;
|
|
109
|
+
packetsSent: number;
|
|
110
|
+
totalPackets: number;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
interface VirtualStandee {
|
|
114
|
+
id: number;
|
|
115
|
+
neighbors: number[];
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
interface MockMeshConfig {
|
|
119
|
+
standees: VirtualStandee[];
|
|
120
|
+
responseDelay?: number;
|
|
121
|
+
dropRate?: number;
|
|
122
|
+
partialDelivery?: boolean;
|
|
123
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface BluetoothProvider {
|
|
2
|
+
connect(options: BluetoothOptions): Promise<void>;
|
|
3
|
+
reconnect(): Promise<void>;
|
|
4
|
+
readCharacteristic(serviceUuid: string, charUuid: string): Promise<DataView<ArrayBufferLike> | undefined>;
|
|
5
|
+
writeCharacteristic(serviceUuid: string, charUuid: string, data: Uint8Array): Promise<void>;
|
|
6
|
+
subscribe(serviceUuid: string, charUuid: string, callback: characteristicCallback): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function setBluetoothProvider(provider: BluetoothProvider | null): void;
|
|
9
|
+
export declare function getBluetoothProvider(): BluetoothProvider | null;
|
package/dist/types/ble/Mesh.d.ts
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
import { SyncEvent } from 'ts-events';
|
|
1
2
|
declare function connect(): Promise<void>;
|
|
2
3
|
declare function reconnect(): Promise<void>;
|
|
4
|
+
declare function _resetForTesting(): void;
|
|
3
5
|
export declare function useMesh(): {
|
|
4
6
|
connect: typeof connect;
|
|
5
|
-
onConnect:
|
|
6
|
-
onDisconnect:
|
|
7
|
+
onConnect: SyncEvent<void>;
|
|
8
|
+
onDisconnect: SyncEvent<void>;
|
|
9
|
+
onReconnecting: SyncEvent<ReconnectStatus>;
|
|
10
|
+
onReconnectFailed: SyncEvent<void>;
|
|
7
11
|
reconnect: typeof reconnect;
|
|
8
|
-
onNodes:
|
|
9
|
-
onNode:
|
|
10
|
-
onNodeLost:
|
|
11
|
-
onPlusButton:
|
|
12
|
-
onMinButton:
|
|
13
|
-
onEitherButton:
|
|
14
|
-
onMessageDone:
|
|
12
|
+
onNodes: SyncEvent<Map<number, number[]>>;
|
|
13
|
+
onNode: SyncEvent<Map<number, number[]>>;
|
|
14
|
+
onNodeLost: SyncEvent<number>;
|
|
15
|
+
onPlusButton: SyncEvent<import('./MessageCharacteristic.js').ButtonResult>;
|
|
16
|
+
onMinButton: SyncEvent<import('./MessageCharacteristic.js').ButtonResult>;
|
|
17
|
+
onEitherButton: SyncEvent<import('./MessageCharacteristic.js').ButtonResult>;
|
|
18
|
+
onMessageDone: SyncEvent<number>;
|
|
19
|
+
_resetForTesting: typeof _resetForTesting;
|
|
15
20
|
};
|
|
16
21
|
export {};
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
import { SyncEvent } from 'ts-events';
|
|
1
2
|
import { default as Buffer } from './Buffer.js';
|
|
2
3
|
declare function write(buffer: Buffer): Promise<void>;
|
|
4
|
+
declare function abortAll(error: Error): void;
|
|
3
5
|
export declare function useMeshWriter(): {
|
|
4
6
|
write: typeof write;
|
|
7
|
+
abortAll: typeof abortAll;
|
|
8
|
+
onPacketSent: SyncEvent<PacketSentEvent>;
|
|
9
|
+
onMessageQueued: SyncEvent<MessageQueuedEvent>;
|
|
10
|
+
onRetransmit: SyncEvent<RetransmitEvent>;
|
|
11
|
+
onTimeout: SyncEvent<TimeoutEvent>;
|
|
12
|
+
onMessageComplete: SyncEvent<MessageCompleteEvent>;
|
|
5
13
|
};
|
|
6
14
|
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare function activate(config: MockMeshConfig): void;
|
|
2
|
+
declare function deactivate(): void;
|
|
3
|
+
declare function isActive(): boolean;
|
|
4
|
+
declare function getConfig(): MockMeshConfig;
|
|
5
|
+
declare function updateConfig(partial: Partial<MockMeshConfig>): void;
|
|
6
|
+
declare function pressButton(standeeId: number, button: "plus" | "minus" | "either", data?: string): void;
|
|
7
|
+
declare function simulateNodeLost(standeeId: number): void;
|
|
8
|
+
declare function simulateNodeJoin(standee: VirtualStandee): void;
|
|
9
|
+
declare function disconnect(): void;
|
|
10
|
+
declare function reconnectable(value: boolean): void;
|
|
11
|
+
declare function _resetForTesting(): void;
|
|
12
|
+
export declare function useMockBluetooth(): {
|
|
13
|
+
activate: typeof activate;
|
|
14
|
+
deactivate: typeof deactivate;
|
|
15
|
+
isActive: typeof isActive;
|
|
16
|
+
getConfig: typeof getConfig;
|
|
17
|
+
updateConfig: typeof updateConfig;
|
|
18
|
+
pressButton: typeof pressButton;
|
|
19
|
+
simulateNodeLost: typeof simulateNodeLost;
|
|
20
|
+
simulateNodeJoin: typeof simulateNodeJoin;
|
|
21
|
+
disconnect: typeof disconnect;
|
|
22
|
+
reconnectable: typeof reconnectable;
|
|
23
|
+
_resetForTesting: typeof _resetForTesting;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SyncEvent } from 'ts-events';
|
|
2
|
+
declare function enable(): void;
|
|
3
|
+
declare function disable(): void;
|
|
4
|
+
declare function isEnabled(): boolean;
|
|
5
|
+
declare function setMaxLogSize(size: number): void;
|
|
6
|
+
declare function getLog(): ReadonlyArray<DebugLogEntry>;
|
|
7
|
+
declare function getTimings(): ReadonlyArray<MessageTimingRecord>;
|
|
8
|
+
declare function getTimingForCache(cacheId: number): MessageTimingRecord | undefined;
|
|
9
|
+
declare function clear(): void;
|
|
10
|
+
declare function decodePacket(packet: Uint8Array): DecodedPacket;
|
|
11
|
+
declare function _resetForTesting(): void;
|
|
12
|
+
export declare function useDebug(): {
|
|
13
|
+
enable: typeof enable;
|
|
14
|
+
disable: typeof disable;
|
|
15
|
+
isEnabled: typeof isEnabled;
|
|
16
|
+
clear: typeof clear;
|
|
17
|
+
getLog: typeof getLog;
|
|
18
|
+
getTimings: typeof getTimings;
|
|
19
|
+
getTimingForCache: typeof getTimingForCache;
|
|
20
|
+
setMaxLogSize: typeof setMaxLogSize;
|
|
21
|
+
decodePacket: typeof decodePacket;
|
|
22
|
+
onDebugEvent: SyncEvent<DebugLogEntry>;
|
|
23
|
+
onTimingUpdate: SyncEvent<MessageTimingRecord>;
|
|
24
|
+
_resetForTesting: typeof _resetForTesting;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
package/dist/types/main.d.ts
CHANGED
|
@@ -10,4 +10,6 @@ import { useBinary } from './composable/Binary';
|
|
|
10
10
|
import { useImage } from './composable/Image';
|
|
11
11
|
import { useConverter } from './composable/Converter';
|
|
12
12
|
import { useUtils } from './composable/DisplayUtils';
|
|
13
|
-
|
|
13
|
+
import { useDebug } from './composable/Debug';
|
|
14
|
+
import { useMockBluetooth } from './ble/MockBluetooth';
|
|
15
|
+
export { useMesh, useGraphics, useStandees, useLoader, useStandeeElements, useDisplay, useActions, useButtons, useBinary, useImage, useConverter, useUtils, useDebug, useMockBluetooth, };
|
|
@@ -6,11 +6,16 @@ export interface LoaderProgress {
|
|
|
6
6
|
total: number;
|
|
7
7
|
percentage: number;
|
|
8
8
|
}
|
|
9
|
+
export interface LoaderError {
|
|
10
|
+
buffer: number;
|
|
11
|
+
error: Error;
|
|
12
|
+
}
|
|
9
13
|
declare class Loader {
|
|
10
14
|
id: number;
|
|
11
15
|
buffers: Buffer[];
|
|
12
16
|
totalPackets: number;
|
|
13
17
|
onProgress: SyncEvent<LoaderProgress>;
|
|
18
|
+
onError: SyncEvent<LoaderError>;
|
|
14
19
|
constructor(buffers: Buffer[], id: number);
|
|
15
20
|
send(): Promise<void>;
|
|
16
21
|
}
|