@gurezo/web-serial-rxjs 2.4.0 → 3.1.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.
Files changed (57) hide show
  1. package/README.ja.md +17 -10
  2. package/README.md +21 -12
  3. package/dist/errors/serial-error-code.d.ts +81 -37
  4. package/dist/errors/serial-error-code.d.ts.map +1 -1
  5. package/dist/errors/serial-error-context.d.ts +61 -0
  6. package/dist/errors/serial-error-context.d.ts.map +1 -0
  7. package/dist/errors/serial-error.d.ts +42 -21
  8. package/dist/errors/serial-error.d.ts.map +1 -1
  9. package/dist/index.d.ts +42 -12
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.mjs +1278 -635
  12. package/dist/index.mjs.map +4 -4
  13. package/dist/internal/assert-never.d.ts +11 -0
  14. package/dist/internal/assert-never.d.ts.map +1 -0
  15. package/dist/internal/branded-numbers.d.ts +37 -0
  16. package/dist/internal/branded-numbers.d.ts.map +1 -0
  17. package/dist/internal/strip-ansi-sequences.d.ts +25 -0
  18. package/dist/internal/strip-ansi-sequences.d.ts.map +1 -0
  19. package/dist/session/create-serial-session.d.ts +6 -3
  20. package/dist/session/create-serial-session.d.ts.map +1 -1
  21. package/dist/session/index.d.ts +7 -2
  22. package/dist/session/index.d.ts.map +1 -1
  23. package/dist/session/internal/build-request-options.d.ts +7 -7
  24. package/dist/session/internal/build-request-options.d.ts.map +1 -1
  25. package/dist/session/internal/error-severity.d.ts +38 -0
  26. package/dist/session/internal/error-severity.d.ts.map +1 -0
  27. package/dist/session/internal/line-buffer.d.ts +15 -4
  28. package/dist/session/internal/line-buffer.d.ts.map +1 -1
  29. package/dist/session/internal/receive-pipeline.d.ts +34 -0
  30. package/dist/session/internal/receive-pipeline.d.ts.map +1 -0
  31. package/dist/session/internal/receive-replay-buffer.d.ts +3 -2
  32. package/dist/session/internal/receive-replay-buffer.d.ts.map +1 -1
  33. package/dist/session/internal/session-error-reporter.d.ts +32 -0
  34. package/dist/session/internal/session-error-reporter.d.ts.map +1 -0
  35. package/dist/session/internal/session-lifecycle.d.ts +44 -0
  36. package/dist/session/internal/session-lifecycle.d.ts.map +1 -0
  37. package/dist/session/internal/validate-serial-port-filters.d.ts +12 -0
  38. package/dist/session/internal/validate-serial-port-filters.d.ts.map +1 -0
  39. package/dist/session/is-connected-session-state.d.ts +11 -0
  40. package/dist/session/is-connected-session-state.d.ts.map +1 -0
  41. package/dist/session/normalize-serial-error.d.ts +1 -1
  42. package/dist/session/normalize-serial-error.d.ts.map +1 -1
  43. package/dist/session/serial-session-options.d.ts +118 -65
  44. package/dist/session/serial-session-options.d.ts.map +1 -1
  45. package/dist/session/serial-session-state.d.ts +50 -12
  46. package/dist/session/serial-session-state.d.ts.map +1 -1
  47. package/dist/session/serial-session.d.ts +52 -18
  48. package/dist/session/serial-session.d.ts.map +1 -1
  49. package/dist/session/session-runtime.d.ts +140 -0
  50. package/dist/session/session-runtime.d.ts.map +1 -0
  51. package/dist/terminal/create-terminal-buffer.d.ts +15 -3
  52. package/dist/terminal/create-terminal-buffer.d.ts.map +1 -1
  53. package/dist/types.d.ts +18 -0
  54. package/dist/types.d.ts.map +1 -0
  55. package/package.json +1 -1
  56. package/dist/session/session-state-machine.d.ts +0 -40
  57. package/dist/session/session-state-machine.d.ts.map +0 -1
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Payload accepted by {@link SerialSession.send$}.
3
+ *
4
+ * Strings are UTF-8 encoded via a shared `TextEncoder`; `Uint8Array` values
5
+ * are passed through unchanged.
6
+ */
7
+ export type SerialPayload = string | Uint8Array;
8
+ /**
9
+ * Connection parameters passed to `port.open` when opening a serial port.
10
+ *
11
+ * Derived from the W3C {@link SerialOptions} type. Excludes
12
+ * {@link SerialSessionOptions.filters}, which apply only to
13
+ * `navigator.serial.requestPort`.
14
+ *
15
+ * @see {@link SerialOptions}
16
+ */
17
+ export type SerialConnectionOptions = Pick<SerialOptions, 'baudRate' | 'dataBits' | 'stopBits' | 'parity' | 'bufferSize' | 'flowControl'>;
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,aAAa,EACb,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,CAC/E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gurezo/web-serial-rxjs",
3
- "version": "2.4.0",
3
+ "version": "3.1.0",
4
4
  "description": "RxJS-based utilities for the Web Serial API, usable from Angular, React, Svelte, and Vanilla JavaScript/TypeScript.",
5
5
  "author": "Akihiko Kigure <akihiko.kigure@gmail.com>",
6
6
  "license": "MIT",
@@ -1,40 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { SerialSessionState } from './serial-session-state';
3
- /**
4
- * Internal state machine that backs {@link SerialSession.state$}.
5
- *
6
- * The machine is deliberately kept as an internal module (not exported
7
- * from the package) because the public surface is only the Observable.
8
- * Sub-issues of #199 (read pump / send queue / errors) drive transitions
9
- * through the dedicated `to*` methods below instead of mutating a shared
10
- * `BehaviorSubject` directly.
11
- *
12
- * Design notes:
13
- *
14
- * - Invalid transitions are silently rejected so that the `state$` stream
15
- * never emits a state that violates the lifecycle contract. A
16
- * `console.warn` is emitted in development builds to aid debugging.
17
- * - `unsupported` is terminal: once entered (during construction when
18
- * `navigator.serial` is missing), the machine refuses every further
19
- * transition.
20
- * - `state$` is derived from a {@link BehaviorSubject} so late subscribers
21
- * still receive the current state on subscription.
22
- *
23
- * @internal
24
- */
25
- export declare class SessionStateMachine {
26
- private readonly subject;
27
- constructor(initial?: SerialSessionState);
28
- get current(): SerialSessionState;
29
- get state$(): Observable<SerialSessionState>;
30
- toConnecting(): boolean;
31
- toConnected(): boolean;
32
- toDisconnecting(): boolean;
33
- toIdle(): boolean;
34
- toError(): boolean;
35
- toUnsupported(): boolean;
36
- toDisposed(): boolean;
37
- complete(): void;
38
- private transition;
39
- }
40
- //# sourceMappingURL=session-state-machine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-state-machine.d.ts","sourceRoot":"","sources":["../../src/session/session-state-machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAsC5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;gBAElD,OAAO,GAAE,kBAA4C;IAIjE,IAAI,OAAO,IAAI,kBAAkB,CAEhC;IAED,IAAI,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAE3C;IAED,YAAY,IAAI,OAAO;IAIvB,WAAW,IAAI,OAAO;IAItB,eAAe,IAAI,OAAO;IAI1B,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,OAAO;IAIlB,aAAa,IAAI,OAAO;IAIxB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,IAAI;IAIhB,OAAO,CAAC,UAAU;CAoBnB"}