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,800 @@
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>;
646
+
647
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
648
+
649
+ export interface InitOutput {
650
+ readonly memory: WebAssembly.Memory;
651
+ readonly __wbg_wasmmodbusclient_free: (a: number, b: number) => void;
652
+ readonly __wbg_wasmserialmodbusclient_free: (a: number, b: number) => void;
653
+ readonly __wbg_wasmserialporthandle_free: (a: number, b: number) => void;
654
+ readonly __wbg_wasmserialserver_free: (a: number, b: number) => void;
655
+ readonly __wbg_wasmserialserverconfig_free: (a: number, b: number) => void;
656
+ readonly __wbg_wasmserverbindingplan_free: (a: number, b: number) => void;
657
+ readonly __wbg_wasmserverstatussnapshot_free: (a: number, b: number) => void;
658
+ readonly __wbg_wasmtcpgatewayconfig_free: (a: number, b: number) => void;
659
+ readonly __wbg_wasmtcpserver_free: (a: number, b: number) => void;
660
+ readonly request_serial_port: () => any;
661
+ readonly wasmmodbusclient_diagnostics: (a: number, b: number, c: number, d: number) => any;
662
+ readonly wasmmodbusclient_get_comm_event_counter: (a: number) => any;
663
+ readonly wasmmodbusclient_get_comm_event_log: (a: number) => any;
664
+ readonly wasmmodbusclient_has_pending_requests: (a: number) => number;
665
+ readonly wasmmodbusclient_is_connected: (a: number) => number;
666
+ readonly wasmmodbusclient_mask_write_register: (a: number, b: number, c: number, d: number) => any;
667
+ readonly wasmmodbusclient_new: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
668
+ readonly wasmmodbusclient_read_coils: (a: number, b: number, c: number) => any;
669
+ readonly wasmmodbusclient_read_device_identification: (a: number, b: number, c: number) => any;
670
+ readonly wasmmodbusclient_read_discrete_inputs: (a: number, b: number, c: number) => any;
671
+ readonly wasmmodbusclient_read_exception_status: (a: number) => any;
672
+ readonly wasmmodbusclient_read_fifo_queue: (a: number, b: number) => any;
673
+ readonly wasmmodbusclient_read_file_record: (a: number, b: number, c: number, d: number) => any;
674
+ readonly wasmmodbusclient_read_holding_registers: (a: number, b: number, c: number) => any;
675
+ readonly wasmmodbusclient_read_input_registers: (a: number, b: number, c: number) => any;
676
+ readonly wasmmodbusclient_read_single_coil: (a: number, b: number) => any;
677
+ readonly wasmmodbusclient_read_single_discrete_input: (a: number, b: number) => any;
678
+ readonly wasmmodbusclient_read_single_holding_register: (a: number, b: number) => any;
679
+ readonly wasmmodbusclient_read_single_input_register: (a: number, b: number) => any;
680
+ readonly wasmmodbusclient_read_write_multiple_registers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => any;
681
+ readonly wasmmodbusclient_reconnect: (a: number) => number;
682
+ readonly wasmmodbusclient_report_server_id: (a: number) => any;
683
+ readonly wasmmodbusclient_write_file_record: (a: number, b: number, c: number, d: number, e: number) => any;
684
+ readonly wasmmodbusclient_write_multiple_coils: (a: number, b: number, c: number, d: number, e: number) => any;
685
+ readonly wasmmodbusclient_write_multiple_registers: (a: number, b: number, c: number, d: number, e: number) => any;
686
+ readonly wasmmodbusclient_write_single_coil: (a: number, b: number, c: number) => any;
687
+ readonly wasmmodbusclient_write_single_register: (a: number, b: number, c: number) => any;
688
+ readonly wasmserialmodbusclient_diagnostics: (a: number, b: number, c: number, d: number) => any;
689
+ readonly wasmserialmodbusclient_get_comm_event_counter: (a: number) => any;
690
+ readonly wasmserialmodbusclient_get_comm_event_log: (a: number) => any;
691
+ readonly wasmserialmodbusclient_has_pending_requests: (a: number) => number;
692
+ readonly wasmserialmodbusclient_is_connected: (a: number) => number;
693
+ readonly wasmserialmodbusclient_mask_write_register: (a: number, b: number, c: number, d: number) => any;
694
+ readonly wasmserialmodbusclient_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number, number];
695
+ readonly wasmserialmodbusclient_read_coils: (a: number, b: number, c: number) => any;
696
+ readonly wasmserialmodbusclient_read_device_identification: (a: number, b: number, c: number) => any;
697
+ readonly wasmserialmodbusclient_read_discrete_inputs: (a: number, b: number, c: number) => any;
698
+ readonly wasmserialmodbusclient_read_exception_status: (a: number) => any;
699
+ readonly wasmserialmodbusclient_read_fifo_queue: (a: number, b: number) => any;
700
+ readonly wasmserialmodbusclient_read_file_record: (a: number, b: number, c: number, d: number) => any;
701
+ readonly wasmserialmodbusclient_read_holding_registers: (a: number, b: number, c: number) => any;
702
+ readonly wasmserialmodbusclient_read_input_registers: (a: number, b: number, c: number) => any;
703
+ readonly wasmserialmodbusclient_read_single_coil: (a: number, b: number) => any;
704
+ readonly wasmserialmodbusclient_read_single_discrete_input: (a: number, b: number) => any;
705
+ readonly wasmserialmodbusclient_read_single_holding_register: (a: number, b: number) => any;
706
+ readonly wasmserialmodbusclient_read_single_input_register: (a: number, b: number) => any;
707
+ readonly wasmserialmodbusclient_read_write_multiple_registers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => any;
708
+ readonly wasmserialmodbusclient_reconnect: (a: number) => number;
709
+ readonly wasmserialmodbusclient_report_server_id: (a: number) => any;
710
+ readonly wasmserialmodbusclient_write_file_record: (a: number, b: number, c: number, d: number, e: number) => any;
711
+ readonly wasmserialmodbusclient_write_multiple_coils: (a: number, b: number, c: number, d: number, e: number) => any;
712
+ readonly wasmserialmodbusclient_write_multiple_registers: (a: number, b: number, c: number, d: number, e: number) => any;
713
+ readonly wasmserialmodbusclient_write_single_coil: (a: number, b: number, c: number) => any;
714
+ readonly wasmserialmodbusclient_write_single_register: (a: number, b: number, c: number) => any;
715
+ readonly wasmserialporthandle_is_valid: (a: number) => number;
716
+ readonly wasmserialserver_attach_serial_port: (a: number, b: any) => void;
717
+ readonly wasmserialserver_clear_last_error: (a: number) => void;
718
+ readonly wasmserialserver_dispatch_request: (a: number, b: any) => any;
719
+ readonly wasmserialserver_is_running: (a: number) => number;
720
+ readonly wasmserialserver_last_error_message: (a: number) => [number, number];
721
+ readonly wasmserialserver_mode: (a: number) => number;
722
+ readonly wasmserialserver_new: (a: number, b: any) => [number, number, number];
723
+ readonly wasmserialserver_recv_frame: (a: number) => [number, number, number, number];
724
+ readonly wasmserialserver_send_frame: (a: number, b: number, c: number) => [number, number];
725
+ readonly wasmserialserver_start: (a: number) => [number, number];
726
+ readonly wasmserialserver_status_snapshot: (a: number) => number;
727
+ readonly wasmserialserver_stop: (a: number) => [number, number];
728
+ readonly wasmserialserver_transport_connected: (a: number) => number;
729
+ readonly wasmserialserverconfig_ascii: () => number;
730
+ readonly wasmserialserverconfig_mode: (a: number) => number;
731
+ readonly wasmserialserverconfig_rtu: () => number;
732
+ readonly wasmserverbindingplan_app_callbacks_required: (a: number) => number;
733
+ readonly wasmserverbindingplan_lifecycle_managed: (a: number) => number;
734
+ readonly wasmserverbindingplan_serial_ascii: () => number;
735
+ readonly wasmserverbindingplan_serial_rtu: () => number;
736
+ readonly wasmserverbindingplan_supports_diagnostics_stats: (a: number) => number;
737
+ readonly wasmserverbindingplan_supports_traffic_hooks: (a: number) => number;
738
+ readonly wasmserverbindingplan_tcp_gateway: () => number;
739
+ readonly wasmserverbindingplan_transport: (a: number) => number;
740
+ readonly wasmserverstatussnapshot_dispatched_requests: (a: number) => number;
741
+ readonly wasmserverstatussnapshot_last_error_present: (a: number) => number;
742
+ readonly wasmserverstatussnapshot_received_frames: (a: number) => number;
743
+ readonly wasmserverstatussnapshot_running: (a: number) => number;
744
+ readonly wasmserverstatussnapshot_sent_frames: (a: number) => number;
745
+ readonly wasmserverstatussnapshot_transport: (a: number) => number;
746
+ readonly wasmserverstatussnapshot_transport_connected: (a: number) => number;
747
+ readonly wasmtcpgatewayconfig_new: (a: number, b: number) => number;
748
+ readonly wasmtcpgatewayconfig_ws_url: (a: number) => [number, number];
749
+ readonly wasmtcpserver_clear_last_error: (a: number) => void;
750
+ readonly wasmtcpserver_dispatch_request: (a: number, b: any) => any;
751
+ readonly wasmtcpserver_is_running: (a: number) => number;
752
+ readonly wasmtcpserver_last_error_message: (a: number) => [number, number];
753
+ readonly wasmtcpserver_new: (a: number, b: any) => [number, number, number];
754
+ readonly wasmtcpserver_recv_frame: (a: number) => [number, number, number, number];
755
+ readonly wasmtcpserver_send_frame: (a: number, b: number, c: number) => [number, number];
756
+ readonly wasmtcpserver_start: (a: number) => [number, number];
757
+ readonly wasmtcpserver_status_snapshot: (a: number) => number;
758
+ readonly wasmtcpserver_stop: (a: number) => [number, number];
759
+ readonly wasmtcpserver_transport_connected: (a: number) => number;
760
+ readonly wasmtcpserver_transport_connecting: (a: number) => number;
761
+ readonly wasmtcpserver_ws_url: (a: number) => [number, number];
762
+ readonly wasm_bindgen__convert__closures_____invoke__he928e7e1c8da304e: (a: number, b: number, c: any) => [number, number];
763
+ readonly wasm_bindgen__convert__closures_____invoke__h4f85ea5e4844fd49: (a: number, b: number, c: any, d: any) => void;
764
+ readonly wasm_bindgen__convert__closures_____invoke__h258b1f08e5552ea5: (a: number, b: number, c: any) => void;
765
+ readonly wasm_bindgen__convert__closures_____invoke__h258b1f08e5552ea5_2: (a: number, b: number, c: any) => void;
766
+ readonly wasm_bindgen__convert__closures_____invoke__h258b1f08e5552ea5_3: (a: number, b: number, c: any) => void;
767
+ readonly wasm_bindgen__convert__closures_____invoke__h258b1f08e5552ea5_4: (a: number, b: number, c: any) => void;
768
+ readonly wasm_bindgen__convert__closures_____invoke__hb8062e98139a7b2f: (a: number, b: number) => void;
769
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
770
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
771
+ readonly __wbindgen_exn_store: (a: number) => void;
772
+ readonly __externref_table_alloc: () => number;
773
+ readonly __wbindgen_externrefs: WebAssembly.Table;
774
+ readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
775
+ readonly __externref_table_dealloc: (a: number) => void;
776
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
777
+ readonly __wbindgen_start: () => void;
778
+ }
779
+
780
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
781
+
782
+ /**
783
+ * Instantiates the given `module`, which can either be bytes or
784
+ * a precompiled `WebAssembly.Module`.
785
+ *
786
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
787
+ *
788
+ * @returns {InitOutput}
789
+ */
790
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
791
+
792
+ /**
793
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
794
+ * for everything else, calls `WebAssembly.instantiate` directly.
795
+ *
796
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
797
+ *
798
+ * @returns {Promise<InitOutput>}
799
+ */
800
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;