modbus-rs-wasm 0.12.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.
@@ -0,0 +1,645 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /**
5
+ * Browser-facing Modbus client that communicates over a WebSocket transport.
6
+ */
7
+ export class WasmModbusClient {
8
+ free(): void;
9
+ [Symbol.dispose](): void;
10
+ /**
11
+ * Send a Diagnostics request (FC 8).
12
+ *
13
+ * `sub_function` is one of the `DiagnosticSubFunction` u16 codes.
14
+ * Returns a `Promise` resolving with `{ subFunction, data: Uint16Array }` or rejects on error.
15
+ */
16
+ diagnostics(sub_function: number, data: Uint16Array): Promise<any>;
17
+ /**
18
+ * Read the communication event counter (FC 11).
19
+ *
20
+ * Returns a `Promise` resolving with `{ status, eventCount }` or rejects on error.
21
+ */
22
+ get_comm_event_counter(): Promise<any>;
23
+ /**
24
+ * Read the communication event log (FC 12).
25
+ *
26
+ * Returns a `Promise` resolving with `{ status, eventCount, messageCount, events: Uint8Array }`
27
+ * or rejects on error.
28
+ */
29
+ get_comm_event_log(): Promise<any>;
30
+ /**
31
+ * Returns `true` if there are in-flight Modbus requests waiting for
32
+ * response/timeout resolution.
33
+ */
34
+ has_pending_requests(): boolean;
35
+ /**
36
+ * Returns `true` when the underlying WebSocket is open and the transport
37
+ * considers itself connected.
38
+ */
39
+ is_connected(): boolean;
40
+ /**
41
+ * Apply an AND/OR mask to a holding register at `address` (FC 22).
42
+ *
43
+ * Result register = (current & and_mask) | (or_mask & !and_mask).
44
+ * Returns a `Promise` resolving with `true` or rejects on error.
45
+ */
46
+ mask_write_register(address: number, and_mask: number, or_mask: number): Promise<any>;
47
+ /**
48
+ * Create a new Modbus master client and immediately start the background tick loop.
49
+ *
50
+ * # Arguments
51
+ * - `ws_url` — WebSocket URL of the Modbus/TCP gateway (e.g. `"ws://192.168.1.1:8502"`).
52
+ * - `unit_id` — Modbus unit ID / slave address of the target device (1–247).
53
+ * - `response_timeout_ms` — How long (ms) to wait before retrying or failing a request.
54
+ * - `retry_attempts` — Number of retries before reporting an error to JS.
55
+ * - `tick_interval_ms` — How often (ms) the tick loop calls `poll()`. 20 ms is a safe default.
56
+ */
57
+ constructor(ws_url: string, unit_id: number, response_timeout_ms: number, retry_attempts: number, tick_interval_ms: number);
58
+ /**
59
+ * Read `quantity` coils starting at `address`.
60
+ *
61
+ * Returns a `Promise` that resolves with a `Uint8Array` (bit-packed coil bytes)
62
+ * or rejects with an error string on failure.
63
+ */
64
+ read_coils(address: number, quantity: number): Promise<any>;
65
+ /**
66
+ * Read Device Identification (FC 43 / MEI 0x0E).
67
+ *
68
+ * `read_device_id_code`: 1=Basic, 2=Regular, 3=Extended, 4=Specific.
69
+ * `object_id`: 0x00=VendorName, 0x01=ProductCode, 0x02=Revision, 0x03=VendorURL, etc.
70
+ * Returns a `Promise` resolving with `{ readDeviceIdCode, conformityLevel, moreFollows, objects }`
71
+ * or rejects on error.
72
+ */
73
+ read_device_identification(read_device_id_code: number, object_id: number): Promise<any>;
74
+ /**
75
+ * Read `quantity` discrete inputs starting at `address`.
76
+ *
77
+ * Returns a `Promise` that resolves with a `Uint8Array` (bit-packed)
78
+ * or rejects on error.
79
+ */
80
+ read_discrete_inputs(address: number, quantity: number): Promise<any>;
81
+ /**
82
+ * Read the exception status (FC 7) — serial-line only on most devices.
83
+ *
84
+ * Returns a `Promise` resolving with a status `number` or rejects on error.
85
+ */
86
+ read_exception_status(): Promise<any>;
87
+ /**
88
+ * Read the FIFO queue pointed to by `address` (FC 24).
89
+ *
90
+ * Returns a `Promise` resolving with a `Uint16Array` or rejects on error.
91
+ */
92
+ read_fifo_queue(address: number): Promise<any>;
93
+ /**
94
+ * Read a file record (FC 20).
95
+ *
96
+ * Returns a `Promise` resolving with `Array<{ fileNumber, recordNumber, data: Uint16Array }>`
97
+ * or rejects on error.
98
+ */
99
+ read_file_record(file_number: number, record_number: number, record_length: number): Promise<any>;
100
+ /**
101
+ * Read `quantity` holding registers starting at `address`.
102
+ *
103
+ * Returns a `Promise` that resolves with a `Uint16Array` (register values)
104
+ * or rejects with an error string on failure.
105
+ */
106
+ read_holding_registers(address: number, quantity: number): Promise<any>;
107
+ /**
108
+ * Read `quantity` input registers starting at `address`.
109
+ *
110
+ * Returns a `Promise` that resolves with a `Uint16Array` or rejects on error.
111
+ */
112
+ read_input_registers(address: number, quantity: number): Promise<any>;
113
+ /**
114
+ * Read a single coil at `address`.
115
+ *
116
+ * Returns a `Promise` that resolves with a `boolean` or rejects on error.
117
+ */
118
+ read_single_coil(address: number): Promise<any>;
119
+ /**
120
+ * Read a single discrete input at `address`.
121
+ *
122
+ * Returns a `Promise` resolving with a `boolean` or rejects on error.
123
+ */
124
+ read_single_discrete_input(address: number): Promise<any>;
125
+ /**
126
+ * Read a single holding register at `address`.
127
+ *
128
+ * Returns a `Promise` that resolves with a `number` or rejects on error.
129
+ */
130
+ read_single_holding_register(address: number): Promise<any>;
131
+ /**
132
+ * Read a single input register at `address`.
133
+ *
134
+ * Returns a `Promise` that resolves with a `number` or rejects on error.
135
+ */
136
+ read_single_input_register(address: number): Promise<any>;
137
+ /**
138
+ * Perform an atomic read-then-write on holding registers.
139
+ *
140
+ * Reads `read_quantity` registers from `read_address`, then writes `values` to `write_address`.
141
+ * `write_quantity` is ignored — the quantity written is derived from `values.length`.
142
+ * Returns a `Promise` resolving with a `Uint16Array` (the values read) or rejects on error.
143
+ */
144
+ read_write_multiple_registers(read_address: number, read_quantity: number, write_address: number, _write_quantity: number, values: Uint16Array): Promise<any>;
145
+ /**
146
+ * Drop all pending in-flight requests and attempt to reconnect the WebSocket.
147
+ * Outstanding Promises for dropped requests will be rejected with `"ConnectionLost"`.
148
+ */
149
+ reconnect(): boolean;
150
+ /**
151
+ * Report Server ID (FC 17).
152
+ *
153
+ * Returns a `Promise` resolving with a `Uint8Array` (raw server ID data) or rejects on error.
154
+ */
155
+ report_server_id(): Promise<any>;
156
+ /**
157
+ * Write a file record (FC 21).
158
+ *
159
+ * `values` is a `Uint16Array` of register values to write.
160
+ * Returns a `Promise` resolving with `true` or rejects on error.
161
+ */
162
+ write_file_record(file_number: number, record_number: number, values: Uint16Array): Promise<any>;
163
+ /**
164
+ * Write multiple coils starting at `address`.
165
+ *
166
+ * `packed_bytes` is a bit-packed `Uint8Array` (LSB of byte 0 = coil at `address`).
167
+ * Returns a `Promise` that resolves with `{ address, quantity }` or rejects on error.
168
+ */
169
+ write_multiple_coils(address: number, quantity: number, packed_bytes: Uint8Array): Promise<any>;
170
+ /**
171
+ * Write `values` to multiple consecutive holding registers starting at `address`.
172
+ *
173
+ * Returns a `Promise` that resolves with `{ address, quantity }` or rejects on error.
174
+ */
175
+ write_multiple_registers(address: number, quantity: number, values: Uint16Array): Promise<any>;
176
+ /**
177
+ * Write a single coil at `address` to `value` (true = ON, false = OFF).
178
+ *
179
+ * Returns a `Promise` that resolves with `{ address, value }` or rejects on error.
180
+ */
181
+ write_single_coil(address: number, value: boolean): Promise<any>;
182
+ /**
183
+ * Write `value` to a single holding register at `address`.
184
+ *
185
+ * Returns a `Promise` that resolves with `{ address, value }` or rejects on error.
186
+ */
187
+ write_single_register(address: number, value: number): Promise<any>;
188
+ }
189
+
190
+ /**
191
+ * Browser-facing Modbus client that communicates over Web Serial RTU or ASCII.
192
+ */
193
+ export class WasmSerialModbusClient {
194
+ free(): void;
195
+ [Symbol.dispose](): void;
196
+ /**
197
+ * Send a Diagnostics request (FC 8).
198
+ *
199
+ * `sub_function` is one of the `DiagnosticSubFunction` u16 codes.
200
+ * Returns a `Promise` resolving with `{ subFunction, data: Uint16Array }` or rejects on error.
201
+ */
202
+ diagnostics(sub_function: number, data: Uint16Array): Promise<any>;
203
+ /**
204
+ * Read the communication event counter (FC 11).
205
+ *
206
+ * Returns a `Promise` resolving with `{ status, eventCount }` or rejects on error.
207
+ */
208
+ get_comm_event_counter(): Promise<any>;
209
+ /**
210
+ * Read the communication event log (FC 12).
211
+ *
212
+ * Returns a `Promise` resolving with `{ status, eventCount, messageCount, events: Uint8Array }`
213
+ * or rejects on error.
214
+ */
215
+ get_comm_event_log(): Promise<any>;
216
+ /**
217
+ * Returns `true` if there are in-flight Modbus requests waiting for
218
+ * response/timeout resolution.
219
+ */
220
+ has_pending_requests(): boolean;
221
+ /**
222
+ * Returns `true` when the serial port is open and the transport considers itself connected.
223
+ */
224
+ is_connected(): boolean;
225
+ /**
226
+ * Apply an AND/OR mask to a holding register at `address` (FC 22).
227
+ *
228
+ * Result register = (current & and_mask) | (or_mask & !and_mask).
229
+ * Returns a `Promise` resolving with `true` or rejects on error.
230
+ */
231
+ mask_write_register(address: number, and_mask: number, or_mask: number): Promise<any>;
232
+ /**
233
+ * Creates a Modbus serial client over browser Web Serial.
234
+ *
235
+ * `mode` accepts "rtu" or "ascii" (case-insensitive).
236
+ * `parity` accepts "none", "even", or "odd".
237
+ */
238
+ constructor(port_handle: WasmSerialPortHandle, unit_id: number, mode: string, baud_rate: number, data_bits: number, stop_bits: number, parity: string, response_timeout_ms: number, retry_attempts: number, tick_interval_ms: number);
239
+ /**
240
+ * Read `quantity` coils starting at `address`.
241
+ *
242
+ * Returns a `Promise` resolving with a `Uint8Array` (bit-packed coil bytes) or rejects on error.
243
+ */
244
+ read_coils(address: number, quantity: number): Promise<any>;
245
+ /**
246
+ * Read Device Identification (FC 43 / MEI 0x0E).
247
+ *
248
+ * `read_device_id_code`: 1=Basic, 2=Regular, 3=Extended, 4=Specific.
249
+ * `object_id`: 0x00=VendorName, 0x01=ProductCode, 0x02=Revision, etc.
250
+ * Returns a `Promise` resolving with `{ readDeviceIdCode, conformityLevel, moreFollows, objects }`
251
+ * or rejects on error.
252
+ */
253
+ read_device_identification(read_device_id_code: number, object_id: number): Promise<any>;
254
+ /**
255
+ * Read `quantity` discrete inputs starting at `address`.
256
+ *
257
+ * Returns a `Promise` resolving with a `Uint8Array` (bit-packed) or rejects on error.
258
+ */
259
+ read_discrete_inputs(address: number, quantity: number): Promise<any>;
260
+ /**
261
+ * Read the exception status (FC 7).
262
+ *
263
+ * Returns a `Promise` resolving with a status `number` or rejects on error.
264
+ */
265
+ read_exception_status(): Promise<any>;
266
+ /**
267
+ * Read the FIFO queue pointed to by `address` (FC 24).
268
+ *
269
+ * Returns a `Promise` resolving with a `Uint16Array` or rejects on error.
270
+ */
271
+ read_fifo_queue(address: number): Promise<any>;
272
+ /**
273
+ * Read a file record (FC 20).
274
+ *
275
+ * Returns a `Promise` resolving with `Array<{ fileNumber, recordNumber, data: Uint16Array }>`
276
+ * or rejects on error.
277
+ */
278
+ read_file_record(file_number: number, record_number: number, record_length: number): Promise<any>;
279
+ /**
280
+ * Read `quantity` holding registers starting at `address`.
281
+ *
282
+ * Returns a `Promise` resolving with a `Uint16Array` (register values) or rejects on error.
283
+ */
284
+ read_holding_registers(address: number, quantity: number): Promise<any>;
285
+ /**
286
+ * Read `quantity` input registers starting at `address`.
287
+ *
288
+ * Returns a `Promise` resolving with a `Uint16Array` or rejects on error.
289
+ */
290
+ read_input_registers(address: number, quantity: number): Promise<any>;
291
+ /**
292
+ * Read a single coil at `address`.
293
+ *
294
+ * Returns a `Promise` resolving with a `boolean` or rejects on error.
295
+ */
296
+ read_single_coil(address: number): Promise<any>;
297
+ /**
298
+ * Read a single discrete input at `address`.
299
+ *
300
+ * Returns a `Promise` resolving with a `boolean` or rejects on error.
301
+ */
302
+ read_single_discrete_input(address: number): Promise<any>;
303
+ /**
304
+ * Read a single holding register at `address`.
305
+ *
306
+ * Returns a `Promise` resolving with a `number` or rejects on error.
307
+ */
308
+ read_single_holding_register(address: number): Promise<any>;
309
+ /**
310
+ * Read a single input register at `address`.
311
+ *
312
+ * Returns a `Promise` resolving with a `number` or rejects on error.
313
+ */
314
+ read_single_input_register(address: number): Promise<any>;
315
+ /**
316
+ * Perform an atomic read-then-write on holding registers.
317
+ *
318
+ * Reads `read_quantity` registers from `read_address`, then writes `values` to `write_address`.
319
+ * `write_quantity` is ignored — the quantity written is derived from `values.length`.
320
+ * Returns a `Promise` resolving with a `Uint16Array` (the values read) or rejects on error.
321
+ */
322
+ read_write_multiple_registers(read_address: number, read_quantity: number, write_address: number, _write_quantity: number, values: Uint16Array): Promise<any>;
323
+ /**
324
+ * Drop all pending in-flight requests and attempt to reopen the serial port.
325
+ * Outstanding Promises for dropped requests will be rejected with `"ConnectionLost"`.
326
+ */
327
+ reconnect(): boolean;
328
+ /**
329
+ * Report Server ID (FC 17).
330
+ *
331
+ * Returns a `Promise` resolving with a `Uint8Array` (raw server ID data) or rejects on error.
332
+ */
333
+ report_server_id(): Promise<any>;
334
+ /**
335
+ * Write a file record (FC 21).
336
+ *
337
+ * `values` is a `Uint16Array` of register values to write.
338
+ * Returns a `Promise` resolving with `true` or rejects on error.
339
+ */
340
+ write_file_record(file_number: number, record_number: number, values: Uint16Array): Promise<any>;
341
+ /**
342
+ * Write multiple coils starting at `address`.
343
+ *
344
+ * `packed_bytes` is a bit-packed `Uint8Array` (LSB of byte 0 = coil at `address`).
345
+ * Returns a `Promise` resolving with `{ address, quantity }` or rejects on error.
346
+ */
347
+ write_multiple_coils(address: number, quantity: number, packed_bytes: Uint8Array): Promise<any>;
348
+ /**
349
+ * Write `values` to multiple consecutive holding registers starting at `address`.
350
+ *
351
+ * Returns a `Promise` resolving with `{ address, quantity }` or rejects on error.
352
+ */
353
+ write_multiple_registers(address: number, quantity: number, values: Uint16Array): Promise<any>;
354
+ /**
355
+ * Write a single coil at `address` to `value` (true = ON, false = OFF).
356
+ *
357
+ * Returns a `Promise` resolving with `{ address, value }` or rejects on error.
358
+ */
359
+ write_single_coil(address: number, value: boolean): Promise<any>;
360
+ /**
361
+ * Write `value` to a single holding register at `address`.
362
+ *
363
+ * Returns a `Promise` resolving with `{ address, value }` or rejects on error.
364
+ */
365
+ write_single_register(address: number, value: number): Promise<any>;
366
+ }
367
+
368
+ /**
369
+ * Opaque handle around a browser `SerialPort` object granted by Web Serial.
370
+ */
371
+ export class WasmSerialPortHandle {
372
+ private constructor();
373
+ free(): void;
374
+ [Symbol.dispose](): void;
375
+ /**
376
+ * Returns true if the wrapped JS value still looks like a valid SerialPort object.
377
+ */
378
+ is_valid(): boolean;
379
+ }
380
+
381
+ /**
382
+ * Browser-facing Modbus server endpoint for Web Serial traffic.
383
+ */
384
+ export class WasmSerialServer {
385
+ free(): void;
386
+ [Symbol.dispose](): void;
387
+ /**
388
+ * Attach browser SerialPort object delegated to mbus-serial transport.
389
+ */
390
+ attach_serial_port(port: any): void;
391
+ /**
392
+ * Clears the stored last-error message.
393
+ */
394
+ clear_last_error(): void;
395
+ /**
396
+ * Dispatch a request object into JS app handler.
397
+ */
398
+ dispatch_request(request: any): Promise<any>;
399
+ /**
400
+ * Whether server lifecycle is currently active.
401
+ */
402
+ is_running(): boolean;
403
+ /**
404
+ * Returns the last captured binding-layer error message, if any.
405
+ */
406
+ last_error_message(): string | undefined;
407
+ /**
408
+ * Selected serial mode as numeric enum.
409
+ */
410
+ mode(): WasmServerTransportKind;
411
+ /**
412
+ * Create a serial server with a JS request handler callback.
413
+ *
414
+ * `on_request` receives one request object and may return a direct value or Promise.
415
+ */
416
+ constructor(config: WasmSerialServerConfig, on_request: Function);
417
+ /**
418
+ * Try receiving one frame from delegated serial transport.
419
+ */
420
+ recv_frame(): Uint8Array;
421
+ /**
422
+ * Send one encoded frame through delegated serial transport.
423
+ */
424
+ send_frame(frame: Uint8Array): void;
425
+ /**
426
+ * Start server lifecycle.
427
+ */
428
+ start(): void;
429
+ /**
430
+ * Returns a point-in-time status snapshot for diagnostics/observability.
431
+ */
432
+ status_snapshot(): WasmServerStatusSnapshot;
433
+ /**
434
+ * Stop server lifecycle.
435
+ */
436
+ stop(): void;
437
+ /**
438
+ * Whether delegated serial transport currently reports connected.
439
+ */
440
+ transport_connected(): boolean;
441
+ }
442
+
443
+ /**
444
+ * Configuration for Web Serial server bindings.
445
+ */
446
+ export class WasmSerialServerConfig {
447
+ private constructor();
448
+ free(): void;
449
+ [Symbol.dispose](): void;
450
+ /**
451
+ * Create ASCII serial server config.
452
+ */
453
+ static ascii(): WasmSerialServerConfig;
454
+ /**
455
+ * Selected serial mode.
456
+ */
457
+ mode(): WasmServerTransportKind;
458
+ /**
459
+ * Create RTU serial server config.
460
+ */
461
+ static rtu(): WasmSerialServerConfig;
462
+ }
463
+
464
+ /**
465
+ * High-level design descriptor for phased server binding rollout.
466
+ */
467
+ export class WasmServerBindingPlan {
468
+ private constructor();
469
+ free(): void;
470
+ [Symbol.dispose](): void;
471
+ /**
472
+ * Whether JS app callbacks are required for request dispatch.
473
+ */
474
+ app_callbacks_required(): boolean;
475
+ /**
476
+ * Whether lifecycle includes managed start/stop semantics.
477
+ */
478
+ lifecycle_managed(): boolean;
479
+ /**
480
+ * Plan for Web Serial ASCII based server bindings.
481
+ */
482
+ static serial_ascii(): WasmServerBindingPlan;
483
+ /**
484
+ * Plan for Web Serial RTU based server bindings.
485
+ */
486
+ static serial_rtu(): WasmServerBindingPlan;
487
+ /**
488
+ * Whether diagnostics counters are part of the plan.
489
+ */
490
+ supports_diagnostics_stats(): boolean;
491
+ /**
492
+ * Whether traffic hook callbacks are part of the plan.
493
+ */
494
+ supports_traffic_hooks(): boolean;
495
+ /**
496
+ * Plan for WebSocket-gateway based server bindings.
497
+ */
498
+ static tcp_gateway(): WasmServerBindingPlan;
499
+ /**
500
+ * Selected transport family.
501
+ */
502
+ transport(): WasmServerTransportKind;
503
+ }
504
+
505
+ /**
506
+ * Lightweight runtime status snapshot for browser-side server observability.
507
+ */
508
+ export class WasmServerStatusSnapshot {
509
+ private constructor();
510
+ free(): void;
511
+ [Symbol.dispose](): void;
512
+ /**
513
+ * Number of successful `dispatch_request(...)` calls completed.
514
+ */
515
+ dispatched_requests(): number;
516
+ /**
517
+ * Whether a last error message is currently stored.
518
+ */
519
+ last_error_present(): boolean;
520
+ /**
521
+ * Number of successful `recv_frame(...)` calls.
522
+ */
523
+ received_frames(): number;
524
+ /**
525
+ * Whether server lifecycle is running.
526
+ */
527
+ running(): boolean;
528
+ /**
529
+ * Number of successful `send_frame(...)` calls.
530
+ */
531
+ sent_frames(): number;
532
+ /**
533
+ * Transport family of this server snapshot.
534
+ */
535
+ transport(): WasmServerTransportKind;
536
+ /**
537
+ * Whether delegated transport reports connected.
538
+ */
539
+ transport_connected(): boolean;
540
+ }
541
+
542
+ /**
543
+ * Transport families planned for browser-side server bindings.
544
+ */
545
+ export enum WasmServerTransportKind {
546
+ /**
547
+ * Server loop receives requests via a WebSocket gateway.
548
+ */
549
+ TcpGateway = 0,
550
+ /**
551
+ * Server loop receives RTU frames via Web Serial.
552
+ */
553
+ SerialRtu = 1,
554
+ /**
555
+ * Server loop receives ASCII frames via Web Serial.
556
+ */
557
+ SerialAscii = 2,
558
+ }
559
+
560
+ /**
561
+ * Configuration for TCP gateway server bindings.
562
+ */
563
+ export class WasmTcpGatewayConfig {
564
+ free(): void;
565
+ [Symbol.dispose](): void;
566
+ /**
567
+ * Create a new TCP-gateway config from a websocket URL.
568
+ */
569
+ constructor(ws_url: string);
570
+ /**
571
+ * WebSocket endpoint URL.
572
+ */
573
+ ws_url(): string;
574
+ }
575
+
576
+ /**
577
+ * Browser-facing Modbus server endpoint for WebSocket gateway traffic.
578
+ */
579
+ export class WasmTcpServer {
580
+ free(): void;
581
+ [Symbol.dispose](): void;
582
+ /**
583
+ * Clears the stored last-error message.
584
+ */
585
+ clear_last_error(): void;
586
+ /**
587
+ * Dispatch a request object into JS app handler.
588
+ *
589
+ * This is the phase-1 execution path used before transport loops are added.
590
+ */
591
+ dispatch_request(request: any): Promise<any>;
592
+ /**
593
+ * Whether server lifecycle is currently active.
594
+ */
595
+ is_running(): boolean;
596
+ /**
597
+ * Returns the last captured binding-layer error message, if any.
598
+ */
599
+ last_error_message(): string | undefined;
600
+ /**
601
+ * Create a server from gateway config and a JS request handler.
602
+ *
603
+ * `on_request` receives one request object and may return a direct value or Promise.
604
+ */
605
+ constructor(config: WasmTcpGatewayConfig, on_request: Function);
606
+ /**
607
+ * Try receiving one frame from delegated network transport.
608
+ */
609
+ recv_frame(): Uint8Array;
610
+ /**
611
+ * Send one encoded response/request frame through delegated network transport.
612
+ */
613
+ send_frame(frame: Uint8Array): void;
614
+ /**
615
+ * Start server lifecycle.
616
+ */
617
+ start(): void;
618
+ /**
619
+ * Returns a point-in-time status snapshot for diagnostics/observability.
620
+ */
621
+ status_snapshot(): WasmServerStatusSnapshot;
622
+ /**
623
+ * Stop server lifecycle.
624
+ */
625
+ stop(): void;
626
+ /**
627
+ * Whether the delegated websocket transport is fully open and ready.
628
+ */
629
+ transport_connected(): boolean;
630
+ /**
631
+ * Whether the delegated websocket transport handshake is still in progress.
632
+ */
633
+ transport_connecting(): boolean;
634
+ /**
635
+ * Gateway URL this server is configured to use.
636
+ */
637
+ ws_url(): string;
638
+ }
639
+
640
+ /**
641
+ * Requests a browser serial port from `navigator.serial.requestPort()`.
642
+ *
643
+ * Must be invoked from a user-gesture context (e.g. click handler).
644
+ */
645
+ export function request_serial_port(): Promise<WasmSerialPortHandle>;
@@ -0,0 +1,9 @@
1
+ /* @ts-self-types="./modbus-rs.d.ts" */
2
+ import * as wasm from "./modbus-rs_bg.wasm";
3
+ import { __wbg_set_wasm } from "./modbus-rs_bg.js";
4
+
5
+ __wbg_set_wasm(wasm);
6
+ wasm.__wbindgen_start();
7
+ export {
8
+ WasmModbusClient, WasmSerialModbusClient, WasmSerialPortHandle, WasmSerialServer, WasmSerialServerConfig, WasmServerBindingPlan, WasmServerStatusSnapshot, WasmServerTransportKind, WasmTcpGatewayConfig, WasmTcpServer, request_serial_port
9
+ } from "./modbus-rs_bg.js";
Binary file