@moddable/typings 8.2.3 → 8.3.0
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/embedded/RTC.d.ts +1 -0
- package/embedded/display.d.ts +1 -0
- package/embedded/storage/files.d.ts +2 -0
- package/embedded/storage/flash.d.ts +1 -0
- package/embedded/storage/key-value.d.ts +1 -0
- package/embedded/update.d.ts +1 -1
- package/embedded_io/analog.d.ts +2 -0
- package/embedded_io/audio/in.d.ts +1 -0
- package/embedded_io/audio/out.d.ts +2 -0
- package/embedded_io/ble/central.d.ts +3 -1
- package/embedded_io/ble/peripheral.d.ts +6 -3
- package/embedded_io/crypt/digest.d.ts +47 -0
- package/embedded_io/digital.d.ts +1 -0
- package/embedded_io/digitalbank.d.ts +1 -0
- package/embedded_io/i2c.d.ts +4 -0
- package/embedded_io/pulsecount.d.ts +2 -0
- package/embedded_io/pwm.d.ts +2 -0
- package/embedded_io/serial.d.ts +1 -0
- package/embedded_io/socket/listener.d.ts +2 -0
- package/embedded_io/socket/{tls.d.ts → tcp/tls.d.ts} +4 -3
- package/embedded_io/socket/tcp.d.ts +3 -1
- package/embedded_io/socket/udp.d.ts +2 -0
- package/embedded_io/spi.d.ts +2 -0
- package/embedded_network/dns/resolver/udp.d.ts +1 -0
- package/embedded_network/dnssd.d.ts +6 -4
- package/embedded_network/http/client.d.ts +3 -1
- package/embedded_network/http/server.d.ts +4 -2
- package/embedded_network/interface/ethernet.d.ts +1 -0
- package/embedded_network/interface/wifi.d.ts +1 -0
- package/embedded_network/mdns.d.ts +6 -4
- package/embedded_network/mqtt/client.d.ts +4 -2
- package/embedded_network/ntp/client.d.ts +3 -1
- package/embedded_network/websocket/client.d.ts +1 -0
- package/package.json +1 -1
- package/pebble/accelerometer.d.ts +1 -0
- package/pebble/battery.d.ts +1 -0
- package/pebble/button.d.ts +31 -4
- package/pebble/compass.d.ts +1 -0
- package/pebble/dictation.d.ts +1 -0
- package/pebble/global.d.ts +7 -1
- package/pebble/health.d.ts +144 -0
- package/pebble/location.d.ts +1 -0
- package/pebble/message.d.ts +1 -0
- package/tsconfig.es2024.json +2 -1
- package/tsconfig.es2025.json +1 -1
package/embedded/RTC.d.ts
CHANGED
package/embedded/display.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ declare module "embedded:storage/files" {
|
|
|
39
39
|
setSize(length: number): void;
|
|
40
40
|
flush(): void;
|
|
41
41
|
}
|
|
42
|
+
export interface File extends Disposable {}
|
|
42
43
|
|
|
43
44
|
export interface DirectoryOpenFileOptions {
|
|
44
45
|
path: string;
|
|
@@ -72,4 +73,5 @@ declare module "embedded:storage/files" {
|
|
|
72
73
|
scan(path?: string): IterableIterator<string>;
|
|
73
74
|
[Symbol.iterator](): IterableIterator<string>;
|
|
74
75
|
}
|
|
76
|
+
export interface Directory extends Disposable {}
|
|
75
77
|
}
|
package/embedded/update.d.ts
CHANGED
package/embedded_io/analog.d.ts
CHANGED
|
@@ -31,9 +31,11 @@ declare module "embedded:io/analog" {
|
|
|
31
31
|
readonly resolution: number;
|
|
32
32
|
onReadable?: () => void;
|
|
33
33
|
read(): number;
|
|
34
|
+
close(): void;
|
|
34
35
|
get format(): "number"
|
|
35
36
|
set format(value: "number")
|
|
36
37
|
target?: any;
|
|
37
38
|
}
|
|
39
|
+
interface Analog extends Disposable {}
|
|
38
40
|
export default Analog;
|
|
39
41
|
}
|
|
@@ -36,6 +36,7 @@ declare module "embedded:io/audio/out" {
|
|
|
36
36
|
write(buffer: ByteBuffer): void;
|
|
37
37
|
start(): void;
|
|
38
38
|
stop(options?: { flush?: boolean }): void;
|
|
39
|
+
close(): void;
|
|
39
40
|
|
|
40
41
|
readonly audioType: AudioType;
|
|
41
42
|
readonly bitsPerSample: 8 | 16;
|
|
@@ -45,6 +46,7 @@ declare module "embedded:io/audio/out" {
|
|
|
45
46
|
set format(value: "buffer")
|
|
46
47
|
volume: number;
|
|
47
48
|
}
|
|
49
|
+
interface AudioOut extends Disposable {}
|
|
48
50
|
|
|
49
51
|
export { AudioOut as default };
|
|
50
52
|
}
|
|
@@ -23,6 +23,7 @@ declare module "embedded:io/bluetoothle/central" {
|
|
|
23
23
|
close(): void;
|
|
24
24
|
read(): Advertisement;
|
|
25
25
|
}
|
|
26
|
+
interface GAPClient extends Disposable {}
|
|
26
27
|
|
|
27
28
|
interface GATTClientNotifiedValue extends ArrayBuffer {
|
|
28
29
|
handle: number
|
|
@@ -100,6 +101,7 @@ declare module "embedded:io/bluetoothle/central" {
|
|
|
100
101
|
writeWithOutResponse: 4;
|
|
101
102
|
};
|
|
102
103
|
}
|
|
103
|
-
|
|
104
|
+
interface GATTClient extends Disposable {}
|
|
105
|
+
|
|
104
106
|
export { GATTClient, GAPClient };
|
|
105
107
|
}
|
|
@@ -13,11 +13,13 @@ declare module "embedded:io/bluetoothle/peripheral" {
|
|
|
13
13
|
onWarning?(this: GATTServer, message: string): void;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
interface GATTServerConnection {
|
|
16
|
+
interface GATTServerConnection extends Disposable {
|
|
17
17
|
close(): void;
|
|
18
18
|
notify(characteristic: GATTServerCharacteristic, value: ArrayBuffer, callback?: (error?: Error) => void): void;
|
|
19
19
|
replyToPasskey(action: "input" | "compareNumber" | "outOfBand", value: number | boolean | ArrayBuffer): void;
|
|
20
|
-
|
|
20
|
+
disconnect(): void;
|
|
21
|
+
readonly maxinumWrite: number;
|
|
22
|
+
readonly remoteAddress: string | undefined;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
interface GATTServerService {
|
|
@@ -56,7 +58,7 @@ declare module "embedded:io/bluetoothle/peripheral" {
|
|
|
56
58
|
class GATTServer {
|
|
57
59
|
constructor(options: GATTServerOptions);
|
|
58
60
|
|
|
59
|
-
close
|
|
61
|
+
close(): void;
|
|
60
62
|
addService(service: GATTServerService): void;
|
|
61
63
|
deleteService(service: GATTServerService): void;
|
|
62
64
|
startAdvertising(scan: GATTServerAdvertisingRecords, response?: GATTServerAdvertisingRecords): void;
|
|
@@ -86,6 +88,7 @@ declare module "embedded:io/bluetoothle/peripheral" {
|
|
|
86
88
|
dualModeHost: 16;
|
|
87
89
|
}
|
|
88
90
|
}
|
|
91
|
+
interface GATTServer extends Disposable {}
|
|
89
92
|
|
|
90
93
|
export { GATTServer };
|
|
91
94
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 Moddable Tech, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the Moddable SDK Tools.
|
|
5
|
+
*
|
|
6
|
+
* The Moddable SDK Tools is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* The Moddable SDK Tools is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU General Public License
|
|
17
|
+
* along with the Moddable SDK Tools. If not, see <http://www.gnu.org/licenses/>.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
declare module "embedded:io/crypt/digest" {
|
|
22
|
+
export type DigestAlgorithm = "MD5" | "SHA1" | "SHA224" | "SHA256" | "SHA384" | "SHA512" | "GHASH";
|
|
23
|
+
|
|
24
|
+
interface DigestOptionsBase {
|
|
25
|
+
algorithm: DigestAlgorithm;
|
|
26
|
+
}
|
|
27
|
+
interface DigestOptionsGHASH extends DigestOptionsBase {
|
|
28
|
+
algorithm: "GHASH";
|
|
29
|
+
H: ByteBuffer;
|
|
30
|
+
additionalData?: ByteBuffer;
|
|
31
|
+
}
|
|
32
|
+
type DigestOptions = DigestOptionsBase | DigestOptionsGHASH;
|
|
33
|
+
|
|
34
|
+
class Digest {
|
|
35
|
+
constructor(options: DigestOptions);
|
|
36
|
+
write(data: ByteBuffer): void;
|
|
37
|
+
read(): ArrayBuffer;
|
|
38
|
+
read(buffer: ByteBuffer): number;
|
|
39
|
+
reset(): void;
|
|
40
|
+
close(): void;
|
|
41
|
+
readonly blockSize: number;
|
|
42
|
+
readonly outputSize: number;
|
|
43
|
+
}
|
|
44
|
+
interface Digest extends Disposable {}
|
|
45
|
+
|
|
46
|
+
export default Digest;
|
|
47
|
+
}
|
package/embedded_io/digital.d.ts
CHANGED
package/embedded_io/i2c.d.ts
CHANGED
|
@@ -36,9 +36,13 @@ declare module "embedded:io/i2c" {
|
|
|
36
36
|
write(value: ByteBuffer, stop?: boolean): void;
|
|
37
37
|
read(byteLength: number, stop?: boolean): ArrayBuffer;
|
|
38
38
|
read(buffer: ByteBuffer, stop?: boolean): number;
|
|
39
|
+
writeRead(writeBuffer: ByteBuffer, readByteLength: number, stop?: boolean): ArrayBuffer;
|
|
40
|
+
writeRead(writeBuffer: ByteBuffer, readBuffer: ByteBuffer, stop?: boolean): number;
|
|
41
|
+
close(): void;
|
|
39
42
|
get format(): "buffer"
|
|
40
43
|
set format(value: "buffer")
|
|
41
44
|
}
|
|
45
|
+
interface I2C extends Disposable {}
|
|
42
46
|
|
|
43
47
|
export default I2C;
|
|
44
48
|
}
|
|
@@ -31,9 +31,11 @@ declare module "embedded:io/pulsecount" {
|
|
|
31
31
|
});
|
|
32
32
|
read(): number;
|
|
33
33
|
write(count: number): void;
|
|
34
|
+
close(): void;
|
|
34
35
|
get format(): "number";
|
|
35
36
|
set format(value: "number");
|
|
36
37
|
}
|
|
38
|
+
interface PulseCount extends Disposable {}
|
|
37
39
|
|
|
38
40
|
export default PulseCount;
|
|
39
41
|
}
|
package/embedded_io/pwm.d.ts
CHANGED
|
@@ -31,8 +31,10 @@ declare module "embedded:io/pwm" {
|
|
|
31
31
|
readonly resolution: number;
|
|
32
32
|
readonly hz: number;
|
|
33
33
|
write(value: number): void;
|
|
34
|
+
close(): void;
|
|
34
35
|
get format(): "number"
|
|
35
36
|
set format(value: "number")
|
|
36
37
|
}
|
|
38
|
+
interface PWM extends Disposable {}
|
|
37
39
|
export default PWM;
|
|
38
40
|
}
|
package/embedded_io/serial.d.ts
CHANGED
|
@@ -29,9 +29,11 @@ declare module "embedded:io/socket/listener" {
|
|
|
29
29
|
target?: any;
|
|
30
30
|
})
|
|
31
31
|
read(): TCP | undefined
|
|
32
|
+
close(): void;
|
|
32
33
|
get format(): "socket/tcp"
|
|
33
34
|
set format(value: "socket/tcp")
|
|
34
35
|
readonly port: number;
|
|
35
36
|
}
|
|
37
|
+
interface Listener extends Disposable {}
|
|
36
38
|
export default Listener;
|
|
37
39
|
}
|
|
@@ -5,12 +5,13 @@ declare module "embedded:io/socket/tcp/tls" {
|
|
|
5
5
|
secure: Record<string, any> // should be called "tls" according to std?
|
|
6
6
|
}
|
|
7
7
|
export default class TLSSocket {
|
|
8
|
-
constructor(options: Options)
|
|
9
|
-
close():
|
|
8
|
+
constructor(options: Options)
|
|
9
|
+
close(): void
|
|
10
10
|
read(count: number|ArrayBufferLike) : undefined|ArrayBufferLike
|
|
11
11
|
write(buffer: ArrayBufferLike) : number
|
|
12
|
-
set format(format: string)
|
|
12
|
+
set format(format: string)
|
|
13
13
|
get format() : string
|
|
14
14
|
}
|
|
15
|
+
interface TLSSocket extends Disposable {}
|
|
15
16
|
}
|
|
16
17
|
|
|
@@ -36,7 +36,7 @@ declare module "embedded:io/socket/tcp" {
|
|
|
36
36
|
target?: any;
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
class TCP {
|
|
40
40
|
constructor(options: Options)
|
|
41
41
|
readonly remoteAddress: string | undefined;
|
|
42
42
|
readonly remotePort: number | undefined;
|
|
@@ -47,4 +47,6 @@ declare module "embedded:io/socket/tcp" {
|
|
|
47
47
|
get format(): "number" | "buffer"
|
|
48
48
|
set format(value: "number" | "buffer")
|
|
49
49
|
}
|
|
50
|
+
interface TCP extends Disposable {}
|
|
51
|
+
export default TCP;
|
|
50
52
|
}
|
package/embedded_io/spi.d.ts
CHANGED
|
@@ -38,8 +38,10 @@ declare module "embedded:io/spi" {
|
|
|
38
38
|
write(buffer: ByteBuffer): void;
|
|
39
39
|
transfer(buffer: ByteBuffer): void;
|
|
40
40
|
flush(deselect?: boolean): void;
|
|
41
|
+
close(): void;
|
|
41
42
|
get format(): "buffer";
|
|
42
43
|
set format(value: "buffer");
|
|
43
44
|
}
|
|
45
|
+
interface SPI extends Disposable {}
|
|
44
46
|
export default SPI;
|
|
45
47
|
}
|
|
@@ -38,7 +38,7 @@ declare module "embedded:network/dnssd" {
|
|
|
38
38
|
onError?(): void;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
export interface ClaimHandle {
|
|
41
|
+
export interface ClaimHandle extends Disposable {
|
|
42
42
|
close(): void;
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -57,7 +57,7 @@ declare module "embedded:network/dnssd" {
|
|
|
57
57
|
onLost?(service: ServiceObject): void;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
export interface DiscoverHandle {
|
|
60
|
+
export interface DiscoverHandle extends Disposable {
|
|
61
61
|
close(): void;
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -69,16 +69,18 @@ declare module "embedded:network/dnssd" {
|
|
|
69
69
|
txt?: Map<string, string | ByteBuffer>;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
export interface AdvertiseHandle {
|
|
72
|
+
export interface AdvertiseHandle extends Disposable {
|
|
73
73
|
close(): void;
|
|
74
74
|
updateTXT(txt: Map<string, string | ByteBuffer>): void;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
class DNSSD {
|
|
78
78
|
constructor(options: DNSSDOptions);
|
|
79
79
|
close(): void;
|
|
80
80
|
claim(options: ClaimOptions): ClaimHandle;
|
|
81
81
|
discover(options: DiscoverOptions): DiscoverHandle;
|
|
82
82
|
advertise(options: AdvertiseOptions): AdvertiseHandle;
|
|
83
83
|
}
|
|
84
|
+
interface DNSSD extends Disposable {}
|
|
85
|
+
export default DNSSD;
|
|
84
86
|
}
|
|
@@ -44,10 +44,12 @@ declare module "embedded:network/http/client" {
|
|
|
44
44
|
write(value: ByteBuffer|undefined): void;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
class HTTPClient {
|
|
48
48
|
constructor(options: ClientOptions)
|
|
49
49
|
request(options: RequestOptions): HTTPRequest
|
|
50
50
|
close(): void
|
|
51
51
|
}
|
|
52
|
+
interface HTTPClient extends Disposable {}
|
|
53
|
+
export default HTTPClient;
|
|
52
54
|
|
|
53
55
|
}
|
|
@@ -42,7 +42,7 @@ declare module "embedded:network/http/server" {
|
|
|
42
42
|
onError?(this: HTTPConnection): void;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
export interface HTTPConnection {
|
|
45
|
+
export interface HTTPConnection extends Disposable {
|
|
46
46
|
close(): void;
|
|
47
47
|
detach(): TCP;
|
|
48
48
|
accept(options: HTTPConnectionHandlers): void;
|
|
@@ -59,9 +59,11 @@ declare module "embedded:network/http/server" {
|
|
|
59
59
|
onConnect(this: HTTPServer, connection: HTTPConnection): void;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
class HTTPServer {
|
|
63
63
|
constructor(options: HTTPServerOptions);
|
|
64
64
|
close(): void;
|
|
65
65
|
readonly port: number;
|
|
66
66
|
}
|
|
67
|
+
interface HTTPServer extends Disposable {}
|
|
68
|
+
export default HTTPServer;
|
|
67
69
|
}
|
|
@@ -57,24 +57,26 @@ declare module "embedded:network/mdns" {
|
|
|
57
57
|
txt?: Map<string, string | undefined>;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
export interface ClaimInstance {
|
|
60
|
+
export interface ClaimInstance extends Disposable {
|
|
61
61
|
close(): void;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
export interface AdvertiseInstance {
|
|
64
|
+
export interface AdvertiseInstance extends Disposable {
|
|
65
65
|
close(): void;
|
|
66
66
|
updateTXT(txt?: Map<string, string | undefined>): void;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
export interface DiscoverInstance {
|
|
69
|
+
export interface DiscoverInstance extends Disposable {
|
|
70
70
|
close(): void;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
class DNSSD {
|
|
74
74
|
constructor(options: DNSSDOptions);
|
|
75
75
|
close(): void;
|
|
76
76
|
claim(options: ClaimOptions): ClaimInstance;
|
|
77
77
|
advertise(options: AdvertiseOptions): AdvertiseInstance;
|
|
78
78
|
discover(options: DiscoverOptions): DiscoverInstance;
|
|
79
79
|
}
|
|
80
|
+
interface DNSSD extends Disposable {}
|
|
81
|
+
export default DNSSD;
|
|
80
82
|
}
|
|
@@ -48,7 +48,7 @@ declare module "embedded:network/mqtt/client" {
|
|
|
48
48
|
items?: any[], // being lazy here
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
class MQTTClient {
|
|
52
52
|
constructor(options: Options)
|
|
53
53
|
read(count: number): ArrayBuffer
|
|
54
54
|
read(buffer: ByteBuffer): number
|
|
@@ -68,6 +68,8 @@ declare module "embedded:network/mqtt/client" {
|
|
|
68
68
|
static UNSUBACK: 11
|
|
69
69
|
static PINGREQ: 12
|
|
70
70
|
static PINGRESP: 13
|
|
71
|
-
static DISCONNECT: 14
|
|
71
|
+
static DISCONNECT: 14
|
|
72
72
|
}
|
|
73
|
+
interface MQTTClient extends Disposable {}
|
|
74
|
+
export default MQTTClient;
|
|
73
75
|
}
|
|
@@ -34,10 +34,12 @@ declare module "embedded:network/ntp/client" {
|
|
|
34
34
|
(error: Error): void;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
class NTP<T = any> {
|
|
38
38
|
target?: T;
|
|
39
39
|
constructor(options: NTPOptions<T>);
|
|
40
40
|
close(): void;
|
|
41
41
|
getTime(callback: NTPCallback): void;
|
|
42
42
|
}
|
|
43
|
+
interface NTP<T = any> extends Disposable {}
|
|
44
|
+
export default NTP;
|
|
43
45
|
}
|
package/package.json
CHANGED
package/pebble/battery.d.ts
CHANGED
package/pebble/button.d.ts
CHANGED
|
@@ -20,14 +20,40 @@
|
|
|
20
20
|
|
|
21
21
|
export type ButtonType = "back" | "up" | "down" | "select";
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
export type RecognizerType = "single" | "long" | "multi" | "raw";
|
|
24
|
+
|
|
25
|
+
export interface SingleRecognizerOptions {
|
|
26
|
+
repeat?: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface LongRecognizerOptions {
|
|
30
|
+
delay?: number;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface MultiRecognizerOptions {
|
|
34
|
+
min?: number;
|
|
35
|
+
max?: number;
|
|
36
|
+
lastOnly?: boolean;
|
|
37
|
+
timeout?: number;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
type OnPush = (pushed: 0 | 1, type: ButtonType, recognizer: RecognizerType, count: number, repeat: boolean) => void;
|
|
41
|
+
|
|
42
|
+
interface PebbleButtonRecognizers {
|
|
43
|
+
single?: boolean | SingleRecognizerOptions;
|
|
44
|
+
long?: boolean | LongRecognizerOptions;
|
|
45
|
+
multi?: boolean | MultiRecognizerOptions;
|
|
46
|
+
raw?: boolean;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
interface PebbleButtonSingleOptions extends PebbleButtonRecognizers {
|
|
24
50
|
type: ButtonType;
|
|
25
|
-
onPush:
|
|
51
|
+
onPush: OnPush;
|
|
26
52
|
}
|
|
27
53
|
|
|
28
|
-
interface PebbleButtonMultipleOptions {
|
|
54
|
+
interface PebbleButtonMultipleOptions extends PebbleButtonRecognizers {
|
|
29
55
|
types: ButtonType[];
|
|
30
|
-
onPush:
|
|
56
|
+
onPush: OnPush;
|
|
31
57
|
}
|
|
32
58
|
|
|
33
59
|
type PebbleButtonOptions = PebbleButtonSingleOptions | PebbleButtonMultipleOptions;
|
|
@@ -36,5 +62,6 @@ declare class PebbleButton {
|
|
|
36
62
|
constructor(options: PebbleButtonOptions);
|
|
37
63
|
close(): void;
|
|
38
64
|
}
|
|
65
|
+
interface PebbleButton extends Disposable {}
|
|
39
66
|
|
|
40
67
|
export default PebbleButton;
|
package/pebble/compass.d.ts
CHANGED
package/pebble/dictation.d.ts
CHANGED
package/pebble/global.d.ts
CHANGED
|
@@ -59,7 +59,9 @@ interface WakeupEvent {
|
|
|
59
59
|
|
|
60
60
|
type TimeEventType = "secondchange" | "minutechange" | "hourchange" | "daychange";
|
|
61
61
|
|
|
62
|
-
type
|
|
62
|
+
type HealthEventSubtype = "significant" | "movement" | "sleep" | "metric" | "heart rate";
|
|
63
|
+
|
|
64
|
+
type PebbleEventType = TimeEventType | "connected" | "resize" | "willFocus" | "didFocus" | "wakeup" | "health";
|
|
63
65
|
|
|
64
66
|
type TimeChangeCallback = (event: TimeChangeEvent) => void;
|
|
65
67
|
|
|
@@ -71,6 +73,8 @@ type FocusCallback = (inFocus: boolean) => void;
|
|
|
71
73
|
|
|
72
74
|
type WakeupCallback = (event: WakeupEvent) => void;
|
|
73
75
|
|
|
76
|
+
type HealthCallback = (subtype: HealthEventSubtype) => void;
|
|
77
|
+
|
|
74
78
|
interface watch {
|
|
75
79
|
addEventListener(event: TimeEventType, callback: TimeChangeCallback): void;
|
|
76
80
|
addEventListener(event: "connected", callback: ConnectedCallback): void;
|
|
@@ -78,12 +82,14 @@ interface watch {
|
|
|
78
82
|
addEventListener(event: "willFocus", callback: FocusCallback): void;
|
|
79
83
|
addEventListener(event: "didFocus", callback: FocusCallback): void;
|
|
80
84
|
addEventListener(event: "wakeup", callback: WakeupCallback): void;
|
|
85
|
+
addEventListener(event: "health", callback: HealthCallback): void;
|
|
81
86
|
removeEventListener(event: TimeEventType, callback: TimeChangeCallback): void;
|
|
82
87
|
removeEventListener(event: "connected", callback: ConnectedCallback): void;
|
|
83
88
|
removeEventListener(event: "resize", callback: ResizeCallback): void;
|
|
84
89
|
removeEventListener(event: "willFocus", callback: FocusCallback): void;
|
|
85
90
|
removeEventListener(event: "didFocus", callback: FocusCallback): void;
|
|
86
91
|
removeEventListener(event: "wakeup", callback: WakeupCallback): void;
|
|
92
|
+
removeEventListener(event: "health", callback: HealthCallback): void;
|
|
87
93
|
light(enable?: boolean): void;
|
|
88
94
|
exit(reason?: number): void;
|
|
89
95
|
readonly connected: ConnectionState;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 Moddable Tech, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the Moddable SDK Tools.
|
|
5
|
+
*
|
|
6
|
+
* The Moddable SDK Tools is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* The Moddable SDK Tools is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU General Public License
|
|
17
|
+
* along with the Moddable SDK Tools. If not, see <http://www.gnu.org/licenses/>.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
type HealthMetricName =
|
|
22
|
+
| "step count"
|
|
23
|
+
| "active seconds"
|
|
24
|
+
| "walked distance"
|
|
25
|
+
| "sleep seconds"
|
|
26
|
+
| "sleep restful seconds"
|
|
27
|
+
| "resting calories"
|
|
28
|
+
| "active calories"
|
|
29
|
+
| "heart rate"
|
|
30
|
+
| "heart rate raw";
|
|
31
|
+
|
|
32
|
+
type HealthAggregation = "sum" | "average" | "min" | "max";
|
|
33
|
+
|
|
34
|
+
type HealthScope = "once" | "weekly" | "weekday or weekend" | "daily";
|
|
35
|
+
|
|
36
|
+
type HealthIterationDirection = "past" | "future";
|
|
37
|
+
|
|
38
|
+
type HealthMeasurementSystem = "metric" | "imperial" | undefined;
|
|
39
|
+
|
|
40
|
+
interface HealthMetricQueryOptions {
|
|
41
|
+
metric: HealthMetricName;
|
|
42
|
+
start?: Date | number;
|
|
43
|
+
end?: Date | number;
|
|
44
|
+
aggregation?: HealthAggregation;
|
|
45
|
+
scope?: HealthScope;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
interface HealthMetricAccessibleOptions {
|
|
49
|
+
metric: HealthMetricName;
|
|
50
|
+
start: Date | number;
|
|
51
|
+
end: Date | number;
|
|
52
|
+
aggregation?: HealthAggregation;
|
|
53
|
+
scope?: HealthScope;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
type HealthActivity = typeof Health.activity[
|
|
57
|
+
"sleep" | "restfulSleep" | "walk" | "run" | "openWorkout"
|
|
58
|
+
];
|
|
59
|
+
|
|
60
|
+
interface HealthActivityIterateOptions {
|
|
61
|
+
activities: number;
|
|
62
|
+
start: Date | number;
|
|
63
|
+
end: Date | number;
|
|
64
|
+
direction?: HealthIterationDirection;
|
|
65
|
+
callback: (activity: HealthActivity, start: number, end: number) => boolean;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
interface HealthActivityAccessibleOptions {
|
|
69
|
+
activities: number;
|
|
70
|
+
start: Date | number;
|
|
71
|
+
end: Date | number;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
interface HealthMetricAlertOptions {
|
|
75
|
+
metric: HealthMetricName;
|
|
76
|
+
threshold: number;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
declare class HealthMetricAlert {
|
|
80
|
+
constructor(options: HealthMetricAlertOptions);
|
|
81
|
+
close(): void;
|
|
82
|
+
}
|
|
83
|
+
interface HealthMetricAlert extends Disposable {}
|
|
84
|
+
|
|
85
|
+
interface HealthMinuteHistoryOptions {
|
|
86
|
+
length: number;
|
|
87
|
+
start: Date | number;
|
|
88
|
+
end: Date | number;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
interface HealthMinuteRecord {
|
|
92
|
+
steps: number;
|
|
93
|
+
orientation: number;
|
|
94
|
+
vmc: number;
|
|
95
|
+
light: number;
|
|
96
|
+
heartRate: number;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
interface HealthMinuteHistory extends Array<HealthMinuteRecord | undefined> {
|
|
100
|
+
start: number;
|
|
101
|
+
end: number;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
declare class Health {
|
|
105
|
+
static metric: {
|
|
106
|
+
get(name: HealthMetricName): number;
|
|
107
|
+
query(options: HealthMetricQueryOptions): number;
|
|
108
|
+
accessible(options: HealthMetricAccessibleOptions): number;
|
|
109
|
+
readonly Alert: typeof HealthMetricAlert;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
static activity: {
|
|
113
|
+
get(): number;
|
|
114
|
+
iterate(options: HealthActivityIterateOptions): void;
|
|
115
|
+
accessible(options: HealthActivityAccessibleOptions): number;
|
|
116
|
+
|
|
117
|
+
readonly sleep: 1;
|
|
118
|
+
readonly restfulSleep: 2;
|
|
119
|
+
readonly walk: 4;
|
|
120
|
+
readonly run: 8;
|
|
121
|
+
readonly openWorkout: 16;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
static heartRate: {
|
|
125
|
+
/** Write-only. Assign desired sample period in milliseconds; assign 0 to restore automatic sampling. */
|
|
126
|
+
samplePeriod: number;
|
|
127
|
+
readonly samplePeriodExpiration: number;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
static history: {
|
|
131
|
+
byMinute(options: HealthMinuteHistoryOptions): HealthMinuteHistory;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
static access: {
|
|
135
|
+
readonly available: 1;
|
|
136
|
+
readonly permission: 2;
|
|
137
|
+
readonly supported: 4;
|
|
138
|
+
readonly data: 8;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
static displayMeasurementSystem(metric: HealthMetricName): HealthMeasurementSystem;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export default Health;
|
package/pebble/location.d.ts
CHANGED
package/pebble/message.d.ts
CHANGED
package/tsconfig.es2024.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "Base tsconfig for projects using @moddable/typings. Project tsconfig.json should `extends` this and add its own outDir, include, sourceMap, etc.",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"lib": ["es2024"],
|
|
4
|
+
"lib": ["es2024", "esnext.disposable"],
|
|
5
5
|
"module": "preserve",
|
|
6
6
|
"moduleResolution": "bundler",
|
|
7
7
|
"target": "ES2024",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"embedded:io/socket/*": ["./embedded_io/socket/*"],
|
|
12
12
|
"embedded:io/audio/*": ["./embedded_io/audio/*"],
|
|
13
13
|
"embedded:io/bluetoothle/*": ["./embedded_io/ble/*"],
|
|
14
|
+
"embedded:io/crypt/*": ["./embedded_io/crypt/*"],
|
|
14
15
|
"embedded:network/*": ["./embedded_network/*"],
|
|
15
16
|
"embedded:network/http/*": ["./embedded_network/http/*"],
|
|
16
17
|
"embedded:network/interface/*": ["./embedded_network/interface/*"],
|
package/tsconfig.es2025.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"_comment": "ES2025 overrides on top of the ES2024 base. Used when TypeScript >= 6 (see typesVersions in package.json).",
|
|
3
3
|
"extends": "./tsconfig.es2024.json",
|
|
4
4
|
"compilerOptions": {
|
|
5
|
-
"lib": ["es2025"],
|
|
5
|
+
"lib": ["es2025", "esnext.disposable"],
|
|
6
6
|
"target": "ES2025"
|
|
7
7
|
}
|
|
8
8
|
}
|