@companion-module/base 1.99.0-nightly-feat-graphics-overhaul-20251222-140818-911eb31 → 2.0.0-0-nightly-feat-2-0-20260118-171756-ca8ab85

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 (150) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +12 -11
  3. package/assets/manifest.schema.json +1 -1
  4. package/dist/__mocks__/net.d.ts +31 -0
  5. package/dist/__mocks__/net.d.ts.map +1 -0
  6. package/dist/__mocks__/net.js +104 -0
  7. package/dist/__mocks__/net.js.map +1 -0
  8. package/dist/__mocks__/util.d.ts +9 -0
  9. package/dist/__mocks__/util.d.ts.map +1 -0
  10. package/dist/__mocks__/util.js +39 -0
  11. package/dist/__mocks__/util.js.map +1 -0
  12. package/dist/common/json-value.js +1 -2
  13. package/dist/common/json-value.js.map +1 -1
  14. package/dist/common/osc.js +1 -2
  15. package/dist/common/osc.js.map +1 -1
  16. package/dist/helpers/__tests__/tcp.spec.d.ts +2 -0
  17. package/dist/helpers/__tests__/tcp.spec.d.ts.map +1 -0
  18. package/dist/helpers/__tests__/tcp.spec.js +175 -0
  19. package/dist/helpers/__tests__/tcp.spec.js.map +1 -0
  20. package/dist/helpers/__tests__/udp.spec.d.ts +2 -0
  21. package/dist/helpers/__tests__/udp.spec.d.ts.map +1 -0
  22. package/dist/helpers/__tests__/udp.spec.js +197 -0
  23. package/dist/helpers/__tests__/udp.spec.js.map +1 -0
  24. package/dist/helpers/index.js +3 -6
  25. package/dist/helpers/index.js.map +1 -1
  26. package/dist/helpers/tcp.d.ts +1 -1
  27. package/dist/helpers/tcp.d.ts.map +1 -1
  28. package/dist/helpers/tcp.js +10 -15
  29. package/dist/helpers/tcp.js.map +1 -1
  30. package/dist/helpers/telnet.d.ts +1 -1
  31. package/dist/helpers/telnet.d.ts.map +1 -1
  32. package/dist/helpers/telnet.js +6 -11
  33. package/dist/helpers/telnet.js.map +1 -1
  34. package/dist/helpers/udp.d.ts +1 -1
  35. package/dist/helpers/udp.d.ts.map +1 -1
  36. package/dist/helpers/udp.js +7 -12
  37. package/dist/helpers/udp.js.map +1 -1
  38. package/dist/host-api/context.d.ts +59 -0
  39. package/dist/host-api/context.d.ts.map +1 -0
  40. package/dist/host-api/{api.js → context.js} +5 -3
  41. package/dist/host-api/context.js.map +1 -0
  42. package/dist/host-api/main.d.ts +2 -0
  43. package/dist/host-api/main.d.ts.map +1 -0
  44. package/dist/host-api/main.js +2 -0
  45. package/dist/host-api/main.js.map +1 -0
  46. package/dist/instance-base.js +1 -2
  47. package/dist/logging.d.ts +21 -0
  48. package/dist/logging.d.ts.map +1 -0
  49. package/dist/logging.js +22 -0
  50. package/dist/logging.js.map +1 -0
  51. package/dist/main.d.ts +7 -0
  52. package/dist/main.d.ts.map +1 -0
  53. package/dist/main.js +8 -0
  54. package/dist/main.js.map +1 -0
  55. package/dist/manifest.js +4 -8
  56. package/dist/manifest.js.map +1 -1
  57. package/dist/module-api/__tests__/shared-udp-socket.spec.d.ts +2 -0
  58. package/dist/module-api/__tests__/shared-udp-socket.spec.d.ts.map +1 -0
  59. package/dist/module-api/__tests__/shared-udp-socket.spec.js +270 -0
  60. package/dist/module-api/__tests__/shared-udp-socket.spec.js.map +1 -0
  61. package/dist/module-api/action.js +1 -2
  62. package/dist/module-api/base.d.ts +4 -33
  63. package/dist/module-api/base.d.ts.map +1 -1
  64. package/dist/module-api/base.js +49 -357
  65. package/dist/module-api/base.js.map +1 -1
  66. package/dist/module-api/common.d.ts +2 -8
  67. package/dist/module-api/common.d.ts.map +1 -1
  68. package/dist/module-api/common.js +1 -2
  69. package/dist/module-api/config.js +1 -2
  70. package/dist/module-api/enums.d.ts +0 -1
  71. package/dist/module-api/enums.d.ts.map +1 -1
  72. package/dist/module-api/enums.js +4 -7
  73. package/dist/module-api/enums.js.map +1 -1
  74. package/dist/module-api/feedback.d.ts +2 -1
  75. package/dist/module-api/feedback.d.ts.map +1 -1
  76. package/dist/module-api/feedback.js +1 -2
  77. package/dist/module-api/http.js +1 -2
  78. package/dist/module-api/index.d.ts +0 -2
  79. package/dist/module-api/index.d.ts.map +1 -1
  80. package/dist/module-api/index.js +12 -17
  81. package/dist/module-api/index.js.map +1 -1
  82. package/dist/module-api/input.d.ts +0 -20
  83. package/dist/module-api/input.d.ts.map +1 -1
  84. package/dist/module-api/input.js +1 -2
  85. package/dist/module-api/preset.d.ts +1 -48
  86. package/dist/module-api/preset.d.ts.map +1 -1
  87. package/dist/module-api/preset.js +1 -2
  88. package/dist/module-api/shared-udp-socket.d.ts +3 -4
  89. package/dist/module-api/shared-udp-socket.d.ts.map +1 -1
  90. package/dist/module-api/shared-udp-socket.js +18 -25
  91. package/dist/module-api/shared-udp-socket.js.map +1 -1
  92. package/dist/module-api/style.js +1 -2
  93. package/dist/module-api/upgrade.d.ts +7 -3
  94. package/dist/module-api/upgrade.d.ts.map +1 -1
  95. package/dist/module-api/upgrade.js +11 -16
  96. package/dist/module-api/upgrade.js.map +1 -1
  97. package/dist/module-api/variable.js +1 -2
  98. package/dist/util.d.ts +10 -0
  99. package/dist/util.d.ts.map +1 -1
  100. package/dist/util.js +15 -26
  101. package/dist/util.js.map +1 -1
  102. package/generated/validate_manifest.js +961 -1
  103. package/package.json +25 -36
  104. package/dist/entrypoint.d.ts +0 -11
  105. package/dist/entrypoint.d.ts.map +0 -1
  106. package/dist/entrypoint.js +0 -134
  107. package/dist/entrypoint.js.map +0 -1
  108. package/dist/host-api/api.d.ts +0 -402
  109. package/dist/host-api/api.d.ts.map +0 -1
  110. package/dist/host-api/api.js.map +0 -1
  111. package/dist/host-api/ipc-wrapper.d.ts +0 -37
  112. package/dist/host-api/ipc-wrapper.d.ts.map +0 -1
  113. package/dist/host-api/ipc-wrapper.js +0 -128
  114. package/dist/host-api/ipc-wrapper.js.map +0 -1
  115. package/dist/host-api/versions.d.ts +0 -12
  116. package/dist/host-api/versions.d.ts.map +0 -1
  117. package/dist/host-api/versions.js +0 -5
  118. package/dist/host-api/versions.js.map +0 -1
  119. package/dist/index.d.ts +0 -8
  120. package/dist/index.d.ts.map +0 -1
  121. package/dist/index.js +0 -22
  122. package/dist/index.js.map +0 -1
  123. package/dist/internal/actions.d.ts +0 -16
  124. package/dist/internal/actions.d.ts.map +0 -1
  125. package/dist/internal/actions.js +0 -223
  126. package/dist/internal/actions.js.map +0 -1
  127. package/dist/internal/base.d.ts +0 -11
  128. package/dist/internal/base.d.ts.map +0 -1
  129. package/dist/internal/base.js +0 -39
  130. package/dist/internal/base.js.map +0 -1
  131. package/dist/internal/feedback.d.ts +0 -20
  132. package/dist/internal/feedback.d.ts.map +0 -1
  133. package/dist/internal/feedback.js +0 -307
  134. package/dist/internal/feedback.js.map +0 -1
  135. package/dist/internal/upgrade.d.ts +0 -15
  136. package/dist/internal/upgrade.d.ts.map +0 -1
  137. package/dist/internal/upgrade.js +0 -174
  138. package/dist/internal/upgrade.js.map +0 -1
  139. package/dist/module-api/graphics-composite.d.ts +0 -11
  140. package/dist/module-api/graphics-composite.d.ts.map +0 -1
  141. package/dist/module-api/graphics-composite.js +0 -3
  142. package/dist/module-api/graphics-composite.js.map +0 -1
  143. package/dist/module-api/graphics.d.ts +0 -83
  144. package/dist/module-api/graphics.d.ts.map +0 -1
  145. package/dist/module-api/graphics.js +0 -12
  146. package/dist/module-api/graphics.js.map +0 -1
  147. package/lib/debounce-fn/index.d.ts +0 -83
  148. package/lib/debounce-fn/index.js +0 -78
  149. package/lib/debounce-fn/license +0 -9
  150. package/lib/debounce-fn/readme.md +0 -64
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.14.1](https://github.com/bitfocus/companion-module-base/compare/v1.14.0...v1.14.1) (2025-12-22)
4
+
5
+
6
+ ### Features
7
+
8
+ * Set `process.title` on init and configUpdated ([#172](https://github.com/bitfocus/companion-module-base/issues/172)) ([e14400f](https://github.com/bitfocus/companion-module-base/commit/e14400f2f7fd6ac66b8008713482ee3d1b803784))
9
+
10
+
11
+ ### Miscellaneous Chores
12
+
13
+ * release 1.14.1 ([7ba6482](https://github.com/bitfocus/companion-module-base/commit/7ba6482556660d55072ea784e59a246f9a0f2ed3))
14
+
3
15
  ## [1.14.0](https://github.com/bitfocus/companion-module-base/compare/v1.13.4...v1.14.0) (2025-12-09)
4
16
 
5
17
 
package/README.md CHANGED
@@ -8,17 +8,18 @@ In the future it will be possible to write modules in other languages, but it is
8
8
 
9
9
  Each version of Companion supports a limited range of versions of this library listed below. Any patch version (the third number) are not relevant for the compatibility check, so are not listed here
10
10
 
11
- | Companion | Module-base |
12
- | --------- | ------------------------- |
13
- | v3.0 | v1.0 - v1.4 |
14
- | v3.1 | v1.0 - v1.5 |
15
- | v3.2 | v1.0 - v1.7 |
16
- | v3.3 | v1.0 - v1.8 |
17
- | v3.4 | v1.0 - v1.10 |
18
- | v3.5 | v1.0 - v1.11 |
19
- | v4.0 | v1.0 - v1.12 |
20
- | v4.1 | v1.0 - v1.13 |
21
- | v4.2 | v1.0 - v1.13 (unconfirmed) |
11
+ | Companion | Module-base |
12
+ | --------- | -------------------------- |
13
+ | v3.0 | v1.0 - v1.4 |
14
+ | v3.1 | v1.0 - v1.5 |
15
+ | v3.2 | v1.0 - v1.7 |
16
+ | v3.3 | v1.0 - v1.8 |
17
+ | v3.4 | v1.0 - v1.10 |
18
+ | v3.5 | v1.0 - v1.11 |
19
+ | v4.0 | v1.0 - v1.12 |
20
+ | v4.1 | v1.0 - v1.13 |
21
+ | v4.2 | v1.0 - v1.14 |
22
+ | v4.3 | v1.0 - v1.15 (unconfirmed) |
22
23
 
23
24
  ## Getting started with a new module
24
25
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "type": "object",
4
4
  "title": "ModuleManifest",
5
5
  "properties": {
@@ -0,0 +1,31 @@
1
+ import { EventEmitter } from 'events';
2
+ export declare class Socket extends EventEmitter {
3
+ onWrite: ((buff: Buffer, encoding: string) => void) | undefined;
4
+ onConnect: ((port: number, host: string) => void) | undefined;
5
+ onClose: (() => void) | undefined;
6
+ private _connected;
7
+ destroyed: boolean;
8
+ configOps: Array<any[]>;
9
+ constructor();
10
+ static mockSockets(): Socket[];
11
+ static mockClearSockets(): void;
12
+ static mockOnNextSocket(cb: (s: Socket) => void): void;
13
+ connect(port: number, host?: string, cb?: () => void): void;
14
+ write(buf: Buffer, cb?: () => void): void;
15
+ write(buf: Buffer, encoding?: BufferEncoding, cb?: () => void): void;
16
+ end(): void;
17
+ mockClose(): void;
18
+ mockData(data: string): void;
19
+ setNoDelay(noDelay?: boolean): void;
20
+ setEncoding(encoding?: BufferEncoding): void;
21
+ setKeepAlive(enable?: boolean, initialDelay?: number): void;
22
+ destroy(): void;
23
+ private setConnected;
24
+ private setClosed;
25
+ private setEnd;
26
+ }
27
+ declare const _default: {
28
+ Socket: typeof Socket;
29
+ };
30
+ export default _default;
31
+ //# sourceMappingURL=net.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../src/__mocks__/net.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAMrC,qBAAa,MAAO,SAAQ,YAAY;IAChC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAC/D,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAC7D,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAIxC,OAAO,CAAC,UAAU,CAAQ;IAEnB,SAAS,UAAQ;IAEjB,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAK;;WAarB,WAAW,IAAI,MAAM,EAAE;WAGvB,gBAAgB,IAAI,IAAI;WAGxB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAOtD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAc,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAYhE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAUpE,GAAG,IAAI,IAAI;IAKX,SAAS,IAAI,IAAI;IAGjB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAKnC,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI;IAK5C,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3D,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,MAAM;CAMd;;;;AAED,wBAAyB"}
@@ -0,0 +1,104 @@
1
+ import { EventEmitter } from 'events';
2
+ const sockets = [];
3
+ const onNextSocket = [];
4
+ const orgSetImmediate = setImmediate;
5
+ export class Socket extends EventEmitter {
6
+ onWrite;
7
+ onConnect;
8
+ onClose;
9
+ // private _port: number
10
+ // private _host: string
11
+ _connected = false;
12
+ destroyed = false;
13
+ configOps = [];
14
+ constructor() {
15
+ super();
16
+ const cb = onNextSocket.shift();
17
+ if (cb) {
18
+ cb(this);
19
+ }
20
+ sockets.push(this);
21
+ }
22
+ static mockSockets() {
23
+ return sockets;
24
+ }
25
+ static mockClearSockets() {
26
+ sockets.length = 0;
27
+ }
28
+ static mockOnNextSocket(cb) {
29
+ onNextSocket.push(cb);
30
+ }
31
+ // this.emit('connect')
32
+ // this.emit('close')
33
+ // this.emit('end')
34
+ connect(port, host = 'localhost', cb) {
35
+ // this._port = port
36
+ // this._host = host
37
+ if (this.onConnect)
38
+ this.onConnect(port, host);
39
+ orgSetImmediate(() => {
40
+ if (cb) {
41
+ cb();
42
+ }
43
+ this.setConnected();
44
+ });
45
+ }
46
+ write(buf, encodingOrCb, cb) {
47
+ const DEFAULT_ENCODING = 'utf-8';
48
+ cb = typeof encodingOrCb === 'function' ? encodingOrCb : cb;
49
+ const encoding = typeof encodingOrCb === 'function' ? DEFAULT_ENCODING : encodingOrCb;
50
+ if (this.onWrite) {
51
+ this.onWrite(buf, encoding ?? DEFAULT_ENCODING);
52
+ }
53
+ if (cb)
54
+ cb();
55
+ }
56
+ end() {
57
+ this.setEnd();
58
+ this.setClosed();
59
+ }
60
+ mockClose() {
61
+ this.setClosed();
62
+ }
63
+ mockData(data) {
64
+ this.emit('data', data);
65
+ }
66
+ setNoDelay(noDelay) {
67
+ // noop
68
+ this.configOps.push(['setNoDelay', noDelay]);
69
+ }
70
+ setEncoding(encoding) {
71
+ // noop
72
+ this.configOps.push(['setEncoding', encoding]);
73
+ }
74
+ setKeepAlive(enable, initialDelay) {
75
+ // noop
76
+ this.configOps.push(['setKeepAlive', enable, initialDelay]);
77
+ }
78
+ destroy() {
79
+ this.destroyed = true;
80
+ }
81
+ setConnected() {
82
+ if (this._connected !== true) {
83
+ this._connected = true;
84
+ }
85
+ this.emit('connect');
86
+ }
87
+ setClosed() {
88
+ if (this._connected !== false) {
89
+ this._connected = false;
90
+ }
91
+ this.destroyed = true;
92
+ this.emit('close');
93
+ if (this.onClose)
94
+ this.onClose();
95
+ }
96
+ setEnd() {
97
+ if (this._connected !== false) {
98
+ this._connected = false;
99
+ }
100
+ this.emit('end');
101
+ }
102
+ }
103
+ export default { Socket };
104
+ //# sourceMappingURL=net.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../src/__mocks__/net.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare function runAllTimers(): Promise<void>;
2
+ export declare function runTimersUntilNow(): Promise<void>;
3
+ export interface ManualPromise<T> extends Promise<T> {
4
+ isResolved: boolean;
5
+ manualResolve(res: T): void;
6
+ manualReject(e: Error): void;
7
+ }
8
+ export declare function createManualPromise<T>(): ManualPromise<T>;
9
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/__mocks__/util.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOvD;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAA;IAC3B,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAoBzD"}
@@ -0,0 +1,39 @@
1
+ import { vi } from 'vitest';
2
+ const orgSetTimeout = setTimeout;
3
+ export async function runAllTimers() {
4
+ // Run all timers, and wait, multiple times.
5
+ // This is to allow timers AND internal promises to resolve in inner functions
6
+ for (let i = 0; i < 50; i++) {
7
+ vi.runOnlyPendingTimers();
8
+ await new Promise((resolve) => orgSetTimeout(resolve, 0));
9
+ }
10
+ }
11
+ export async function runTimersUntilNow() {
12
+ // Run all timers, and wait, multiple times.
13
+ // This is to allow timers AND internal promises to resolve in inner functions
14
+ for (let i = 0; i < 50; i++) {
15
+ vi.advanceTimersByTime(0);
16
+ await new Promise((resolve) => orgSetTimeout(resolve, 0));
17
+ }
18
+ }
19
+ // eslint-disable-next-line @typescript-eslint/promise-function-async
20
+ export function createManualPromise() {
21
+ let resolve = () => null;
22
+ let reject = () => null;
23
+ const promise = new Promise((resolve0, reject0) => {
24
+ resolve = resolve0;
25
+ reject = reject0;
26
+ });
27
+ const manualPromise = promise;
28
+ manualPromise.isResolved = false;
29
+ manualPromise.manualReject = (err) => {
30
+ manualPromise.isResolved = true;
31
+ return reject(err);
32
+ };
33
+ manualPromise.manualResolve = (val) => {
34
+ manualPromise.isResolved = true;
35
+ return resolve(val);
36
+ };
37
+ return manualPromise;
38
+ }
39
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/__mocks__/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,MAAM,aAAa,GAAG,UAAU,CAAA;AAChC,MAAM,CAAC,KAAK,UAAU,YAAY;IACjC,4CAA4C;IAC5C,8EAA8E;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,EAAE,CAAC,oBAAoB,EAAE,CAAA;QACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACtC,4CAA4C;IAC5C,8EAA8E;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC;AACF,CAAC;AAOD,qEAAqE;AACrE,MAAM,UAAU,mBAAmB;IAClC,IAAI,OAAO,GAAqB,GAAG,EAAE,CAAC,IAAI,CAAA;IAC1C,IAAI,MAAM,GAAyB,GAAG,EAAE,CAAC,IAAI,CAAA;IAC7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACpD,OAAO,GAAG,QAAQ,CAAA;QAClB,MAAM,GAAG,OAAO,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,MAAM,aAAa,GAAqB,OAAc,CAAA;IACtD,aAAa,CAAC,UAAU,GAAG,KAAK,CAAA;IAChC,aAAa,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;QACpC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAA;QAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAA;IACD,aAAa,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,EAAE;QACrC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAA;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAA;IAED,OAAO,aAAa,CAAA;AACrB,CAAC"}
@@ -1,5 +1,4 @@
1
- "use strict";
2
1
  // Copied from https://github.com/sindresorhus/type-fest/blob/main/source/json-value.d.ts
3
2
  // Under MIT License - Sindre Sorhus <sindresorhus@gmail.com>
4
- Object.defineProperty(exports, "__esModule", { value: true });
3
+ export {};
5
4
  //# sourceMappingURL=json-value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-value.js","sourceRoot":"","sources":["../../src/common/json-value.ts"],"names":[],"mappings":";AAAA,yFAAyF;AACzF,6DAA6D"}
1
+ {"version":3,"file":"json-value.js","sourceRoot":"","sources":["../../src/common/json-value.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,6DAA6D"}
@@ -1,7 +1,6 @@
1
- "use strict";
2
1
  /**
3
2
  * Warning: these types are used in various stable apis.
4
3
  * BE VERY CAREFUL WHEN MAKING CHANGES
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
5
+ export {};
7
6
  //# sourceMappingURL=osc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"osc.js","sourceRoot":"","sources":["../../src/common/osc.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
1
+ {"version":3,"file":"osc.js","sourceRoot":"","sources":["../../src/common/osc.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tcp.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp.spec.d.ts","sourceRoot":"","sources":["../../../src/helpers/__tests__/tcp.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,175 @@
1
+ import { describe, it, expect, vi, afterEach } from 'vitest';
2
+ import { TCPHelper } from '../tcp.js';
3
+ import { Socket } from 'net';
4
+ const MockSocket = Socket;
5
+ vi.mock('net', async () => import('../../__mocks__/net.js'));
6
+ // async function sleepImmediate() {
7
+ // return new Promise((resolve) => setImmediate(resolve))
8
+ // }
9
+ describe('TCP', () => {
10
+ // beforeEach(() => {
11
+ // createSocketMock.mockClear()
12
+ // })
13
+ afterEach(() => {
14
+ MockSocket.mockClearSockets();
15
+ });
16
+ // it('call fail before open', () => {
17
+ // const { mockIpcWrapper, moduleTcpSockets } = createDeps()
18
+ // const socket = new TCPHelper(mockIpcWrapper, moduleTcpSockets, { type: 'tcp4' })
19
+ // expect(() => socket.destroy()).toThrow(/Socket is not open/)
20
+ // expect(() => socket.send('', 12, '')).toThrow(/Socket is not open/)
21
+ // })
22
+ describe('construct', () => {
23
+ it('ok', () => {
24
+ const socket = new TCPHelper('1.2.3.4', 852);
25
+ try {
26
+ expect(socket).toBeTruthy();
27
+ expect(MockSocket.mockSockets()).toHaveLength(1);
28
+ const rawSocket = MockSocket.mockSockets()[0];
29
+ expect(rawSocket.configOps).toHaveLength(2);
30
+ expect(rawSocket.configOps).toEqual([
31
+ ['setKeepAlive', true, undefined],
32
+ ['setNoDelay', true],
33
+ ]);
34
+ }
35
+ finally {
36
+ socket.destroy();
37
+ }
38
+ });
39
+ // it('bad bind', async () => {
40
+ // const rawSocket = new MinimalSocket()
41
+ // createSocketMock.mockReturnValueOnce(rawSocket as any)
42
+ // expect(() => new TCPHelper('1.2.3.4', 852)).toThrow('Unable to bind')
43
+ // expect(createSocketMock).toHaveBeenCalledTimes(1)
44
+ // expect(rawSocket.bind).toHaveBeenCalledTimes(1)
45
+ // expect(rawSocket.bind).toHaveBeenCalledWith(0, undefined)
46
+ // })
47
+ // it('ok', async () => {
48
+ // const rawSocket = new MinimalSocket()
49
+ // createSocketMock.mockReturnValueOnce(rawSocket as any)
50
+ // rawSocket.bind.mockImplementationOnce(() => {
51
+ // // No op
52
+ // return rawSocket as any
53
+ // })
54
+ // const socket = new TCPHelper('1.2.3.4', 852)
55
+ // try {
56
+ // expect(socket).toBeTruthy()
57
+ // expect(createSocketMock).toHaveBeenCalledTimes(1)
58
+ // expect(rawSocket.bind).toHaveBeenCalledTimes(1)
59
+ // expect(rawSocket.bind).toHaveBeenCalledWith(0, undefined)
60
+ // } finally {
61
+ // socket.destroy()
62
+ // }
63
+ // })
64
+ // TODO - options
65
+ });
66
+ // it('error propogation', async () => {
67
+ // const rawSocket = new MinimalSocket()
68
+ // createSocketMock.mockReturnValueOnce(rawSocket as any)
69
+ // rawSocket.bind.mockImplementationOnce(() => rawSocket as any)
70
+ // const socket = new TCPHelper('1.2.3.4', 852)
71
+ // try {
72
+ // expect(socket).toBeTruthy()
73
+ // const errorHandler = vi.fn(() => {})
74
+ // const statusHandler = vi.fn(() => {})
75
+ // socket.on('error', errorHandler)
76
+ // socket.on('status_change', statusHandler)
77
+ // expect(createSocketMock).toHaveBeenCalledTimes(1)
78
+ // rawSocket.emit('error', new Error('My fake error'))
79
+ // expect(errorHandler).toHaveBeenCalledTimes(1)
80
+ // expect(errorHandler).toHaveBeenCalledWith(new Error('My fake error'))
81
+ // expect(statusHandler).toHaveBeenCalledTimes(1)
82
+ // expect(statusHandler).toHaveBeenCalledWith(InstanceStatus.UnknownError, 'My fake error')
83
+ // } finally {
84
+ // socket.destroy()
85
+ // }
86
+ // })
87
+ // describe('listening', () => {
88
+ // it('ok', async () => {
89
+ // const rawSocket = new MinimalSocket()
90
+ // createSocketMock.mockReturnValueOnce(rawSocket as any)
91
+ // rawSocket.bind.mockImplementationOnce(() => rawSocket as any)
92
+ // const socket = new TCPHelper('1.2.3.4', 852)
93
+ // try {
94
+ // expect(socket).toBeTruthy()
95
+ // const listeningHandler = vi.fn(() => {})
96
+ // const statusHandler = vi.fn(() => {})
97
+ // socket.on('connect', listeningHandler)
98
+ // socket.on('status_change', statusHandler)
99
+ // expect(createSocketMock).toHaveBeenCalledTimes(1)
100
+ // rawSocket.emit('listening')
101
+ // expect(listeningHandler).toHaveBeenCalledTimes(1)
102
+ // expect(statusHandler).toHaveBeenCalledTimes(1)
103
+ // expect(statusHandler).toHaveBeenCalledWith(InstanceStatus.Ok, undefined)
104
+ // } finally {
105
+ // socket.destroy()
106
+ // }
107
+ // })
108
+ // // TODO - options
109
+ // })
110
+ // it('no error handler timeout', () => {
111
+ // const rawSocket = new MinimalSocket()
112
+ // createSocketMock.mockReturnValueOnce(rawSocket as any)
113
+ // rawSocket.bind.mockImplementationOnce(() => rawSocket as any)
114
+ // vi.advanceTimersByTimeAsync(10000)
115
+ // })
116
+ // describe('send', () => {
117
+ // const rawSocket = new MinimalSocket()
118
+ // rawSocket.bind.mockImplementation(() => rawSocket as any)
119
+ // let socket: TCPHelper
120
+ // beforeAll(() => {
121
+ // createSocketMock.mockReturnValueOnce(rawSocket as any)
122
+ // socket = new TCPHelper('1.2.3.4', 852)
123
+ // expect(socket).toBeTruthy()
124
+ // })
125
+ // beforeEach(() => {
126
+ // rawSocket.close.mockClear()
127
+ // rawSocket.send.mockClear()
128
+ // })
129
+ // afterAll(() => {
130
+ // if (socket) socket.destroy()
131
+ // })
132
+ // it('destroyed', async () => {
133
+ // createSocketMock.mockReturnValueOnce(rawSocket as any)
134
+ // const mySocket = new TCPHelper('1.2.3.4', 852)
135
+ // expect(mySocket).toBeTruthy()
136
+ // mySocket.destroy()
137
+ // expect(rawSocket.close).toHaveBeenCalledTimes(1)
138
+ // await expect(mySocket.send('test')).rejects.toThrow('Cannot write to destroyed socket')
139
+ // })
140
+ // it('no message', async () => {
141
+ // await expect(socket.send(undefined as any)).rejects.toThrow('No message to send')
142
+ // expect(rawSocket.send).toHaveBeenCalledTimes(0)
143
+ // })
144
+ // it('ok: string', async () => {
145
+ // rawSocket.send.mockImplementation((msg, offset, length, cb) => {
146
+ // if (!cb) return
147
+ // cb(null, length)
148
+ // })
149
+ // await expect(socket.send('test 123')).resolves.toBeUndefined()
150
+ // expect(rawSocket.send).toHaveBeenCalledTimes(1)
151
+ // expect(rawSocket.send).toHaveBeenCalledWith('test 123', 852, '1.2.3.4', expect.any(Function))
152
+ // })
153
+ // it('ok: buffer', async () => {
154
+ // rawSocket.send.mockImplementation((msg, offset, length, cb) => {
155
+ // if (!cb) return
156
+ // cb(null, length)
157
+ // })
158
+ // const msg = Buffer.from('test 123')
159
+ // await expect(socket.send(msg)).resolves.toBeUndefined()
160
+ // expect(rawSocket.send).toHaveBeenCalledTimes(1)
161
+ // expect(rawSocket.send).toHaveBeenCalledWith(msg, 852, '1.2.3.4', expect.any(Function))
162
+ // })
163
+ // it('send error', async () => {
164
+ // rawSocket.send.mockImplementation((msg, offset, length, cb) => {
165
+ // if (!cb) return
166
+ // cb(new Error('buffer overflow'), 0)
167
+ // })
168
+ // const msg = Buffer.from('test 123')
169
+ // await expect(socket.send(msg)).rejects.toThrow('buffer overflow')
170
+ // expect(rawSocket.send).toHaveBeenCalledTimes(1)
171
+ // expect(rawSocket.send).toHaveBeenCalledWith(msg, 852, '1.2.3.4', expect.any(Function))
172
+ // })
173
+ // })
174
+ });
175
+ //# sourceMappingURL=tcp.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp.spec.js","sourceRoot":"","sources":["../../../src/helpers/__tests__/tcp.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,UAAU,GAAG,MAAuC,CAAA;AAE1D,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAE5D,oCAAoC;AACpC,0DAA0D;AAC1D,IAAI;AAEJ,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACpB,qBAAqB;IACrB,gCAAgC;IAChC,KAAK;IAEL,SAAS,CAAC,GAAG,EAAE;QACd,UAAU,CAAC,gBAAgB,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,sCAAsC;IACtC,6DAA6D;IAC7D,oFAAoF;IAEpF,gEAAgE;IAChE,uEAAuE;IACvE,KAAK;IAEL,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAC5C,IAAI,CAAC;gBACJ,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAA;gBAE3B,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;gBAChD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;gBAE7C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;gBAC3C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBACnC,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC;oBACjC,CAAC,YAAY,EAAE,IAAI,CAAC;iBACpB,CAAC,CAAA;YACH,CAAC;oBAAS,CAAC;gBACV,MAAM,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC;QACF,CAAC,CAAC,CAAA;QAEF,+BAA+B;QAC/B,yCAAyC;QACzC,0DAA0D;QAE1D,yEAAyE;QACzE,qDAAqD;QAErD,mDAAmD;QACnD,6DAA6D;QAC7D,KAAK;QAEL,yBAAyB;QACzB,yCAAyC;QACzC,0DAA0D;QAE1D,iDAAiD;QACjD,aAAa;QACb,4BAA4B;QAC5B,MAAM;QAEN,gDAAgD;QAChD,SAAS;QACT,gCAAgC;QAChC,sDAAsD;QAEtD,oDAAoD;QACpD,8DAA8D;QAC9D,eAAe;QACf,qBAAqB;QACrB,KAAK;QACL,KAAK;QAEL,iBAAiB;IAClB,CAAC,CAAC,CAAA;IAEF,wCAAwC;IACxC,yCAAyC;IACzC,0DAA0D;IAE1D,iEAAiE;IAEjE,gDAAgD;IAChD,SAAS;IACT,gCAAgC;IAEhC,yCAAyC;IACzC,0CAA0C;IAC1C,qCAAqC;IACrC,8CAA8C;IAE9C,sDAAsD;IAEtD,wDAAwD;IAExD,kDAAkD;IAClD,0EAA0E;IAC1E,mDAAmD;IACnD,6FAA6F;IAC7F,eAAe;IACf,qBAAqB;IACrB,KAAK;IACL,KAAK;IAEL,gCAAgC;IAChC,0BAA0B;IAC1B,0CAA0C;IAC1C,2DAA2D;IAE3D,kEAAkE;IAElE,iDAAiD;IACjD,UAAU;IACV,iCAAiC;IAEjC,8CAA8C;IAC9C,2CAA2C;IAC3C,4CAA4C;IAC5C,+CAA+C;IAE/C,uDAAuD;IAEvD,iCAAiC;IAEjC,uDAAuD;IACvD,oDAAoD;IACpD,8EAA8E;IAC9E,gBAAgB;IAChB,sBAAsB;IACtB,MAAM;IACN,MAAM;IAEN,qBAAqB;IACrB,KAAK;IAEL,yCAAyC;IACzC,yCAAyC;IACzC,0DAA0D;IAE1D,iEAAiE;IAEjE,sCAAsC;IACtC,KAAK;IAEL,2BAA2B;IAC3B,yCAAyC;IACzC,6DAA6D;IAC7D,yBAAyB;IAEzB,qBAAqB;IACrB,2DAA2D;IAE3D,2CAA2C;IAC3C,gCAAgC;IAChC,MAAM;IAEN,sBAAsB;IACtB,gCAAgC;IAChC,+BAA+B;IAC/B,MAAM;IAEN,oBAAoB;IACpB,iCAAiC;IACjC,MAAM;IAEN,iCAAiC;IACjC,2DAA2D;IAE3D,mDAAmD;IACnD,kCAAkC;IAElC,uBAAuB;IACvB,qDAAqD;IAErD,4FAA4F;IAC5F,MAAM;IAEN,kCAAkC;IAClC,sFAAsF;IAEtF,oDAAoD;IACpD,MAAM;IAEN,kCAAkC;IAClC,qEAAqE;IACrE,qBAAqB;IAErB,sBAAsB;IACtB,OAAO;IAEP,mEAAmE;IAEnE,oDAAoD;IACpD,kGAAkG;IAClG,MAAM;IAEN,kCAAkC;IAClC,qEAAqE;IACrE,qBAAqB;IAErB,sBAAsB;IACtB,OAAO;IAEP,wCAAwC;IACxC,4DAA4D;IAE5D,oDAAoD;IACpD,2FAA2F;IAC3F,MAAM;IAEN,kCAAkC;IAClC,qEAAqE;IACrE,qBAAqB;IAErB,yCAAyC;IACzC,OAAO;IAEP,wCAAwC;IACxC,sEAAsE;IAEtE,oDAAoD;IACpD,2FAA2F;IAC3F,MAAM;IACN,KAAK;AACN,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=udp.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udp.spec.d.ts","sourceRoot":"","sources":["../../../src/helpers/__tests__/udp.spec.ts"],"names":[],"mappings":""}