webserial-core 1.1.2 → 1.1.4

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 CHANGED
@@ -1,6 +1,10 @@
1
1
  # WebSerial Core
2
2
 
3
- And easy way to connect to a serial port from a web page.
3
+ An easy way to connect to a serial port from a web page.
4
+
5
+ [![CI](https://github.com/danidoble/webserial-core/actions/workflows/ci.yml/badge.svg)](https://github.com/danidoble/webserial-core/actions/workflows/ci.yml)
6
+ [![npm version](https://badge.fury.io/js/webserial-core.svg)](https://www.npmjs.com/package/webserial-core)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
8
 
5
9
  > [!NOTE]
6
10
  > Since version 1.0.7 default response is an instance of Uint8Array.
@@ -11,6 +15,17 @@ And easy way to connect to a serial port from a web page.
11
15
  > `this.getResponseAsString()`
12
16
  > Only choose one of them.
13
17
 
18
+ ## Features
19
+
20
+ - 🔌 Easy serial port connection from web browsers
21
+ - 🎯 TypeScript support with full type definitions
22
+ - 🧪 Comprehensive test suite with Vitest
23
+ - 📦 Multiple module formats (ESM, UMD)
24
+ - 🔍 Source maps for debugging
25
+ - 🌐 Socket.io integration for remote connections
26
+ - ⚡ Event-driven architecture
27
+ - 🛡️ Custom error handling with `SerialError`
28
+
14
29
  ## Installation
15
30
 
16
31
  ```bash
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Core.d.ts","sourceRoot":"","sources":["../../lib/Core.ts"],"names":[],"mappings":"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"}
@@ -6,14 +6,46 @@ interface IDevice {
6
6
  interface IDevices {
7
7
  [key: string]: IDevice;
8
8
  }
9
+ /**
10
+ * Manages and tracks all serial devices in the application
11
+ * Provides a centralized registry for device instances
12
+ * @extends Dispatcher
13
+ */
9
14
  export declare class Devices extends Dispatcher {
10
15
  static instance: Devices;
11
16
  static devices: IDevices;
12
17
  constructor();
13
18
  static $dispatchChange(device?: Core | null): void;
14
19
  static typeError(type: string): void;
20
+ /**
21
+ * Registers a new device type in the registry
22
+ * @param type - The type name of the device (e.g., 'arduino', 'esp32')
23
+ * @internal
24
+ */
15
25
  static registerType(type: string): void;
26
+ /**
27
+ * Adds a device to the registry
28
+ * @param device - The Core device instance to add
29
+ * @returns The index of the device in its type registry
30
+ * @throws {Error} If device with the same ID already exists
31
+ * @example
32
+ * ```typescript
33
+ * const arduino = new Arduino();
34
+ * Devices.add(arduino);
35
+ * ```
36
+ */
16
37
  static add(device: Core): number;
38
+ /**
39
+ * Gets a specific device by type and UUID
40
+ * @param type - The device type
41
+ * @param id - The device UUID
42
+ * @returns The device instance
43
+ * @throws {Error} If the device type is not supported
44
+ * @example
45
+ * ```typescript
46
+ * const device = Devices.get('arduino', 'uuid-123');
47
+ * ```
48
+ */
17
49
  static get(type: string, id: string): Core;
18
50
  static getAll(type?: string | null): IDevice | IDevices;
19
51
  static getList(): Core[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Devices.d.ts","sourceRoot":"","sources":["../../lib/Devices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,OAAO;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,UAAU,QAAQ;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAM;;WAYhB,eAAe,CAAC,MAAM,GAAE,IAAI,GAAG,IAAW,GAAG,IAAI;WAOjD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO3C;;;;OAIG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9C;;;;;;;;;;OAUG;WACW,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAoBvC;;;;;;;;;;OAUG;WACW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;WAUnC,MAAM,CAAC,IAAI,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,GAAG,QAAQ;WAOtD,OAAO,IAAI,IAAI,EAAE;WAWjB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;WAO7D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,MAAU,GAAG,IAAI,GAAG,IAAI;WAOzD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;WAWhC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;WAWjC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;WAUnC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;WAUtC,eAAe,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;WAKlC,kBAAkB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;CAI1D"}
@@ -0,0 +1,98 @@
1
+ type AvailableListener = {
2
+ type: string;
3
+ listening: boolean;
4
+ };
5
+ type AvailableListeners = AvailableListener[];
6
+ type DataType = string | number | boolean | object | null;
7
+ interface IDispatcher {
8
+ dispatch(type: string, data?: DataType): void;
9
+ dispatchAsync(type: string, data?: DataType, ms?: number): void;
10
+ on(type: string, callback: EventListener): void;
11
+ off(type: string, callback: EventListener): void;
12
+ serialRegisterAvailableListener(type: string): void;
13
+ availableListeners: AvailableListeners;
14
+ }
15
+ interface Listeners {
16
+ [key: string]: boolean;
17
+ debug: boolean;
18
+ }
19
+ export declare class Dispatcher extends EventTarget implements IDispatcher {
20
+ __listeners__: Listeners;
21
+ __debug__: boolean;
22
+ __listenersCallbacks__: {
23
+ key: string;
24
+ callback: EventListenerOrEventListenerObject;
25
+ }[];
26
+ /**
27
+ * Dispatches an event with the specified type and data
28
+ * @param type - The event type to dispatch
29
+ * @param data - Optional data to attach to the event
30
+ * @example
31
+ * ```typescript
32
+ * dispatcher.dispatch('connected', { port: 'COM3' });
33
+ * ```
34
+ */
35
+ dispatch(type: string, data?: DataType): void;
36
+ /**
37
+ * Dispatches an event asynchronously after a specified delay
38
+ * @param type - The event type to dispatch
39
+ * @param data - Optional data to attach to the event
40
+ * @param ms - Delay in milliseconds (default: 100)
41
+ * @example
42
+ * ```typescript
43
+ * dispatcher.dispatchAsync('timeout', { reason: 'no response' }, 500);
44
+ * ```
45
+ */
46
+ dispatchAsync(type: string, data?: null, ms?: number): void;
47
+ /**
48
+ * Registers an event listener for the specified event type
49
+ * @param type - The event type to listen to
50
+ * @param callback - The callback function to execute when the event is triggered
51
+ * @example
52
+ * ```typescript
53
+ * dispatcher.on('connected', (event) => {
54
+ * console.log('Device connected', event.detail);
55
+ * });
56
+ * ```
57
+ */
58
+ on(type: string, callback: EventListenerOrEventListenerObject): void;
59
+ /**
60
+ * Removes an event listener for the specified event type
61
+ * @param type - The event type to stop listening to
62
+ * @param callback - The callback function to remove
63
+ * @example
64
+ * ```typescript
65
+ * const handler = (event) => console.log(event.detail);
66
+ * dispatcher.on('data', handler);
67
+ * dispatcher.off('data', handler);
68
+ * ```
69
+ */
70
+ off(type: string, callback: EventListenerOrEventListenerObject): void;
71
+ /**
72
+ * Registers an available listener type for tracking
73
+ * @param type - The event type to register
74
+ * @internal
75
+ */
76
+ serialRegisterAvailableListener(type: string): void;
77
+ /**
78
+ * Gets the list of all available listeners and their state
79
+ * @returns Array of listener objects with type and listening status
80
+ * @example
81
+ * ```typescript
82
+ * const listeners = dispatcher.availableListeners;
83
+ * console.log(listeners); // [{ type: 'connected', listening: true }, ...]
84
+ * ```
85
+ */
86
+ get availableListeners(): AvailableListeners;
87
+ /**
88
+ * Removes all event listeners except internal ones (like queue listeners)
89
+ * Resets all listener states to false
90
+ * @example
91
+ * ```typescript
92
+ * dispatcher.removeAllListeners();
93
+ * ```
94
+ */
95
+ removeAllListeners(): void;
96
+ }
97
+ export {};
98
+ //# sourceMappingURL=Dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../lib/Dispatcher.ts"],"names":[],"mappings":"AAEA,KAAK,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9D,KAAK,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;AAE9C,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AAE1D,UAAU,WAAW;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE9C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAEhD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAEjD,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,UAAU,SAAS;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,UAAW,SAAQ,WAAY,YAAW,WAAW;IAChE,aAAa,EAAE,SAAS,CAEtB;IACF,SAAS,EAAE,OAAO,CAAS;IAE3B,sBAAsB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,kCAAkC,CAAA;KAAE,EAAE,CAAM;IAE7F;;;;;;;;OAQG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,QAAe;IAQnD;;;;;;;;;OASG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,EAAE,SAAM;IAQxD;;;;;;;;;;OAUG;IACI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC;IASpE;;;;;;;;;;OAUG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC;IAQrE;;;;OAIG;IACI,+BAA+B,CAAC,IAAI,EAAE,MAAM;IAMnD;;;;;;;;OAQG;IACH,IAAI,kBAAkB,IAAI,kBAAkB,CAQ3C;IAED;;;;;;;OAOG;IACI,kBAAkB,IAAI,IAAI;CAalC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Custom error codes for serial communication errors
3
+ */
4
+ export declare enum SerialErrorCode {
5
+ CONNECTION_FAILED = "CONNECTION_FAILED",
6
+ DISCONNECTION_FAILED = "DISCONNECTION_FAILED",
7
+ WRITE_FAILED = "WRITE_FAILED",
8
+ READ_FAILED = "READ_FAILED",
9
+ TIMEOUT = "TIMEOUT",
10
+ PORT_NOT_FOUND = "PORT_NOT_FOUND",
11
+ PERMISSION_DENIED = "PERMISSION_DENIED",
12
+ DEVICE_NOT_SUPPORTED = "DEVICE_NOT_SUPPORTED",
13
+ INVALID_CONFIGURATION = "INVALID_CONFIGURATION",
14
+ SOCKET_ERROR = "SOCKET_ERROR",
15
+ UNKNOWN_ERROR = "UNKNOWN_ERROR"
16
+ }
17
+ /**
18
+ * Custom error class for WebSerial operations
19
+ * Provides structured error information with codes and context
20
+ * @extends Error
21
+ */
22
+ export declare class SerialError extends Error {
23
+ /**
24
+ * Error code identifying the type of error
25
+ */
26
+ readonly code: SerialErrorCode;
27
+ /**
28
+ * Additional context about the error
29
+ */
30
+ readonly context?: Record<string, unknown>;
31
+ /**
32
+ * Timestamp when the error occurred
33
+ */
34
+ readonly timestamp: Date;
35
+ /**
36
+ * Creates a new SerialError
37
+ * @param message - Human-readable error message
38
+ * @param code - Error code from SerialErrorCode enum
39
+ * @param context - Additional context information
40
+ * @example
41
+ * ```typescript
42
+ * throw new SerialError(
43
+ * 'Failed to connect to device',
44
+ * SerialErrorCode.CONNECTION_FAILED,
45
+ * { port: 'COM3', baudRate: 9600 }
46
+ * );
47
+ * ```
48
+ */
49
+ constructor(message: string, code?: SerialErrorCode, context?: Record<string, unknown>);
50
+ /**
51
+ * Returns a JSON representation of the error
52
+ * @returns Serialized error object
53
+ */
54
+ toJSON(): Record<string, unknown>;
55
+ /**
56
+ * Returns a formatted string representation of the error
57
+ * @returns Formatted error string
58
+ */
59
+ toString(): string;
60
+ }
61
+ //# sourceMappingURL=SerialError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerialError.d.ts","sourceRoot":"","sources":["../../lib/SerialError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;CAChC;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,SAAgB,IAAI,EAAE,eAAe,CAAC;IAEtC;;OAEG;IACH,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElD;;OAEG;IACH,SAAgB,SAAS,EAAE,IAAI,CAAC;IAEhC;;;;;;;;;;;;;OAaG;gBAED,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,eAA+C,EACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAcnC;;;OAGG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWjC;;;OAGG;IACH,QAAQ,IAAI,MAAM;CAInB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerialEvent.d.ts","sourceRoot":"","sources":["../../lib/SerialEvent.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,WAAW,CAAC,WAAW,CAAE,YAAW,WAAW;gBAClE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;CAGnD"}
@@ -1,18 +1,27 @@
1
1
  import { ManagerOptions, SocketOptions } from "socket.io-client";
2
+ interface SocketResponseData {
3
+ name: string;
4
+ uuid: string;
5
+ deviceNumber: number;
6
+ [key: string]: unknown;
7
+ }
2
8
  declare class MySocket {
3
9
  #private;
10
+ constructor();
4
11
  set uri(uri: string);
5
12
  get uri(): string;
6
13
  set options(options: Partial<ManagerOptions & SocketOptions>);
7
14
  get options(): Partial<ManagerOptions & SocketOptions>;
8
- constructor();
15
+ get socketId(): string | null;
9
16
  disconnect(): void;
10
17
  prepare(): void;
11
18
  connectDevice(config: object): void;
12
19
  disconnectDevice(config: object): void;
13
20
  disconnectAllDevices(): void;
14
21
  write(data: object): void;
15
- onResponse(data: any): void;
22
+ onResponse(data: SocketResponseData): void;
23
+ isConnected(): boolean;
24
+ isDisconnected(): boolean;
16
25
  }
17
26
  export declare const Socket: MySocket;
18
27
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../lib/Socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,cAAc,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAC;AAI/F,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AASD,cAAM,QAAQ;;;IAgCZ,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,EAOlB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,EAK3D;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,CAErD;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,CAE5B;IAED,UAAU;IAcV,OAAO;IAaP,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOnC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOtC,oBAAoB,IAAI,IAAI;IAO5B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzB,UAAU,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAW1C,WAAW,IAAI,OAAO;IAItB,cAAc,IAAI,OAAO;CAG1B;AAED,eAAO,MAAM,MAAM,UAAiB,CAAC"}
@@ -11,4 +11,5 @@ export { Core } from "./Core";
11
11
  export { Devices } from "./Devices";
12
12
  export { Dispatcher } from "./Dispatcher";
13
13
  export { Socket } from "./Socket";
14
+ export { SerialError, SerialErrorCode } from "./SerialError";
14
15
  //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,EAAE,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpD;AAKD,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}