@companion-module/base 1.99.0-0-nightly-feat-split-api-20251221-153951-fa12995 → 1.99.0-1-nightly-feat-2-0-20260118-141645-897e0fe
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/CHANGELOG.md +12 -0
- package/dist/__mocks__/net.d.ts +1 -0
- package/dist/__mocks__/net.d.ts.map +1 -0
- package/dist/__mocks__/net.js +3 -7
- package/dist/__mocks__/net.js.map +1 -1
- package/dist/__mocks__/util.d.ts +1 -0
- package/dist/__mocks__/util.d.ts.map +1 -0
- package/dist/__mocks__/util.js +6 -11
- package/dist/__mocks__/util.js.map +1 -1
- package/dist/common/json-value.d.ts +1 -0
- package/dist/common/json-value.d.ts.map +1 -0
- package/dist/common/json-value.js +1 -2
- package/dist/common/json-value.js.map +1 -1
- package/dist/common/osc.d.ts +1 -0
- package/dist/common/osc.d.ts.map +1 -0
- package/dist/common/osc.js +1 -2
- package/dist/common/osc.js.map +1 -1
- package/dist/entrypoint.d.ts +1 -0
- package/dist/entrypoint.d.ts.map +1 -0
- package/dist/entrypoint.js +1 -4
- package/dist/entrypoint.js.map +1 -1
- package/dist/helpers/__tests__/tcp.spec.d.ts +1 -0
- package/dist/helpers/__tests__/tcp.spec.d.ts.map +1 -0
- package/dist/helpers/__tests__/tcp.spec.js +14 -49
- package/dist/helpers/__tests__/tcp.spec.js.map +1 -1
- package/dist/helpers/__tests__/udp.spec.d.ts +1 -0
- package/dist/helpers/__tests__/udp.spec.d.ts.map +1 -0
- package/dist/helpers/__tests__/udp.spec.js +73 -76
- package/dist/helpers/__tests__/udp.spec.js.map +1 -1
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +3 -6
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/tcp.d.ts +2 -1
- package/dist/helpers/tcp.d.ts.map +1 -0
- package/dist/helpers/tcp.js +10 -15
- package/dist/helpers/tcp.js.map +1 -1
- package/dist/helpers/telnet.d.ts +2 -1
- package/dist/helpers/telnet.d.ts.map +1 -0
- package/dist/helpers/telnet.js +6 -11
- package/dist/helpers/telnet.js.map +1 -1
- package/dist/helpers/udp.d.ts +2 -1
- package/dist/helpers/udp.d.ts.map +1 -0
- package/dist/helpers/udp.js +7 -12
- package/dist/helpers/udp.js.map +1 -1
- package/dist/host-api/context.d.ts +1 -0
- package/dist/host-api/context.d.ts.map +1 -0
- package/dist/host-api/context.js +1 -4
- package/dist/host-api/context.js.map +1 -1
- package/dist/instance-base.d.ts +1 -0
- package/dist/instance-base.d.ts.map +1 -0
- package/dist/instance-base.js +1 -2
- package/dist/logging.d.ts +1 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +1 -4
- package/dist/logging.js.map +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +8 -13
- package/dist/main.js.map +1 -1
- package/dist/manifest.d.ts +1 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +4 -8
- package/dist/manifest.js.map +1 -1
- package/dist/module-api/__tests__/shared-udp-socket.spec.d.ts +1 -0
- package/dist/module-api/__tests__/shared-udp-socket.spec.d.ts.map +1 -0
- package/dist/module-api/__tests__/shared-udp-socket.spec.js +108 -110
- package/dist/module-api/__tests__/shared-udp-socket.spec.js.map +1 -1
- package/dist/module-api/action.d.ts +1 -0
- package/dist/module-api/action.d.ts.map +1 -0
- package/dist/module-api/action.js +1 -2
- package/dist/module-api/base.d.ts +1 -2
- package/dist/module-api/base.d.ts.map +1 -0
- package/dist/module-api/base.js +9 -15
- package/dist/module-api/base.js.map +1 -1
- package/dist/module-api/common.d.ts +3 -2
- package/dist/module-api/common.d.ts.map +1 -0
- package/dist/module-api/common.js +1 -2
- package/dist/module-api/config.d.ts +3 -8
- package/dist/module-api/config.d.ts.map +1 -0
- package/dist/module-api/config.js +1 -2
- package/dist/module-api/enums.d.ts +1 -0
- package/dist/module-api/enums.d.ts.map +1 -0
- package/dist/module-api/enums.js +4 -7
- package/dist/module-api/enums.js.map +1 -1
- package/dist/module-api/feedback.d.ts +3 -1
- package/dist/module-api/feedback.d.ts.map +1 -0
- package/dist/module-api/feedback.js +1 -2
- package/dist/module-api/http.d.ts +1 -0
- package/dist/module-api/http.d.ts.map +1 -0
- package/dist/module-api/http.js +1 -2
- package/dist/module-api/index.d.ts +1 -0
- package/dist/module-api/index.d.ts.map +1 -0
- package/dist/module-api/index.js +12 -15
- package/dist/module-api/index.js.map +1 -1
- package/dist/module-api/input.d.ts +1 -20
- package/dist/module-api/input.d.ts.map +1 -0
- package/dist/module-api/input.js +1 -2
- package/dist/module-api/preset.d.ts +1 -0
- package/dist/module-api/preset.d.ts.map +1 -0
- package/dist/module-api/preset.js +1 -2
- package/dist/module-api/shared-udp-socket.d.ts +2 -1
- package/dist/module-api/shared-udp-socket.d.ts.map +1 -0
- package/dist/module-api/shared-udp-socket.js +5 -10
- package/dist/module-api/shared-udp-socket.js.map +1 -1
- package/dist/module-api/style.d.ts +1 -0
- package/dist/module-api/style.d.ts.map +1 -0
- package/dist/module-api/style.js +1 -2
- package/dist/module-api/upgrade.d.ts +8 -3
- package/dist/module-api/upgrade.d.ts.map +1 -0
- package/dist/module-api/upgrade.js +11 -16
- package/dist/module-api/upgrade.js.map +1 -1
- package/dist/module-api/variable.d.ts +1 -0
- package/dist/module-api/variable.d.ts.map +1 -0
- package/dist/module-api/variable.js +1 -2
- package/dist/util.d.ts +11 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +15 -26
- package/dist/util.js.map +1 -1
- package/package.json +3 -4
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/dist/__mocks__/net.d.ts
CHANGED
|
@@ -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"}
|
package/dist/__mocks__/net.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Socket = void 0;
|
|
4
|
-
const events_1 = require("events");
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
5
2
|
const sockets = [];
|
|
6
3
|
const onNextSocket = [];
|
|
7
4
|
const orgSetImmediate = setImmediate;
|
|
8
|
-
class Socket extends
|
|
5
|
+
export class Socket extends EventEmitter {
|
|
9
6
|
onWrite;
|
|
10
7
|
onConnect;
|
|
11
8
|
onClose;
|
|
@@ -103,6 +100,5 @@ class Socket extends events_1.EventEmitter {
|
|
|
103
100
|
this.emit('end');
|
|
104
101
|
}
|
|
105
102
|
}
|
|
106
|
-
|
|
107
|
-
exports.default = { Socket };
|
|
103
|
+
export default { Socket };
|
|
108
104
|
//# sourceMappingURL=net.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net.js","sourceRoot":"","sources":["../../src/__mocks__/net.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"net.js","sourceRoot":"","sources":["../../src/__mocks__/net.ts"],"names":[],"mappings":"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"}
|
package/dist/__mocks__/util.d.ts
CHANGED
|
@@ -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"}
|
package/dist/__mocks__/util.js
CHANGED
|
@@ -1,28 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runAllTimers = runAllTimers;
|
|
4
|
-
exports.runTimersUntilNow = runTimersUntilNow;
|
|
5
|
-
exports.createManualPromise = createManualPromise;
|
|
6
|
-
const vitest_1 = require("vitest");
|
|
1
|
+
import { vi } from 'vitest';
|
|
7
2
|
const orgSetTimeout = setTimeout;
|
|
8
|
-
async function runAllTimers() {
|
|
3
|
+
export async function runAllTimers() {
|
|
9
4
|
// Run all timers, and wait, multiple times.
|
|
10
5
|
// This is to allow timers AND internal promises to resolve in inner functions
|
|
11
6
|
for (let i = 0; i < 50; i++) {
|
|
12
|
-
|
|
7
|
+
vi.runOnlyPendingTimers();
|
|
13
8
|
await new Promise((resolve) => orgSetTimeout(resolve, 0));
|
|
14
9
|
}
|
|
15
10
|
}
|
|
16
|
-
async function runTimersUntilNow() {
|
|
11
|
+
export async function runTimersUntilNow() {
|
|
17
12
|
// Run all timers, and wait, multiple times.
|
|
18
13
|
// This is to allow timers AND internal promises to resolve in inner functions
|
|
19
14
|
for (let i = 0; i < 50; i++) {
|
|
20
|
-
|
|
15
|
+
vi.advanceTimersByTime(0);
|
|
21
16
|
await new Promise((resolve) => orgSetTimeout(resolve, 0));
|
|
22
17
|
}
|
|
23
18
|
}
|
|
24
19
|
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
25
|
-
function createManualPromise() {
|
|
20
|
+
export function createManualPromise() {
|
|
26
21
|
let resolve = () => null;
|
|
27
22
|
let reject = () => null;
|
|
28
23
|
const promise = new Promise((resolve0, reject0) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/__mocks__/util.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-value.d.ts","sourceRoot":"","sources":["../../src/common/json-value.ts"],"names":[],"mappings":"AAGA;;;;;;EAME;AACF,MAAM,MAAM,UAAU,GAAG;KAAG,GAAG,IAAI,MAAM,GAAG,SAAS;CAAE,GAAG;KAAG,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS;CAAE,CAAA;AAErG;;;;EAIE;AACF,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS,SAAS,EAAE,CAAA;AAE1D;;;;EAIE;AACF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAE5D;;;;;;EAME;AACF,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAA"}
|
|
@@ -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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"json-value.js","sourceRoot":"","sources":["../../src/common/json-value.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,6DAA6D"}
|
package/dist/common/osc.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"osc.d.ts","sourceRoot":"","sources":["../../src/common/osc.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;AACtD,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAA;AACnC,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA"}
|
package/dist/common/osc.js
CHANGED
package/dist/common/osc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"osc.js","sourceRoot":"","sources":["../../src/common/osc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"osc.js","sourceRoot":"","sources":["../../src/common/osc.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
package/dist/entrypoint.d.ts
CHANGED
|
@@ -17,3 +17,4 @@ export type InstanceConstructor<TConfig, TSecrets> = new (internal: unknown) =>
|
|
|
17
17
|
* @param upgradeScripts Upgrade scripts
|
|
18
18
|
*/
|
|
19
19
|
export declare function runEntrypoint<TConfig, TSecrets>(factory: InstanceConstructor<TConfig, TSecrets>, upgradeScripts: CompanionStaticUpgradeScript<TConfig, TSecrets>[]): void;
|
|
20
|
+
//# sourceMappingURL=entrypoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,CAAC,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,yBAAyB,EAC1B;QACA,OAAO,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACtC,cAAc,EAAE,4BAA4B,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;KACvD,GACD,SAAS,CAAA;CACZ;AAED,MAAM,MAAM,mBAAmB,CAAC,OAAO,EAAE,QAAQ,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAE/G;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,EAC9C,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC/C,cAAc,EAAE,4BAA4B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,GAC/D,IAAI,CAKN"}
|
package/dist/entrypoint.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runEntrypoint = runEntrypoint;
|
|
4
1
|
/**
|
|
5
2
|
* Setup the module for execution
|
|
6
3
|
* This should be called once per-module, to register the class that should be executed
|
|
7
4
|
* @param factory The class for the module
|
|
8
5
|
* @param upgradeScripts Upgrade scripts
|
|
9
6
|
*/
|
|
10
|
-
function runEntrypoint(factory, upgradeScripts) {
|
|
7
|
+
export function runEntrypoint(factory, upgradeScripts) {
|
|
11
8
|
if (global.COMPANION_ENTRYPOINT_INFO)
|
|
12
9
|
throw new Error(`runEntrypoint can only be called once`);
|
|
13
10
|
// Future: In v2.0 of the api, this method should be removed and replaced with the module exporting a default class
|
package/dist/entrypoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC5B,OAA+C,EAC/C,cAAiE;IAEjE,IAAI,MAAM,CAAC,yBAAyB;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAE9F,mHAAmH;IACnH,MAAM,CAAC,yBAAyB,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tcp.spec.d.ts","sourceRoot":"","sources":["../../../src/helpers/__tests__/tcp.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,51 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const vitest_1 = require("vitest");
|
|
37
|
-
const tcp_js_1 = require("../tcp.js");
|
|
38
|
-
const net_1 = require("net");
|
|
39
|
-
const MockSocket = net_1.Socket;
|
|
40
|
-
vitest_1.vi.mock('net', async () => Promise.resolve().then(() => __importStar(require('../../__mocks__/net.js'))));
|
|
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'));
|
|
41
6
|
// async function sleepImmediate() {
|
|
42
7
|
// return new Promise((resolve) => setImmediate(resolve))
|
|
43
8
|
// }
|
|
44
|
-
|
|
9
|
+
describe('TCP', () => {
|
|
45
10
|
// beforeEach(() => {
|
|
46
11
|
// createSocketMock.mockClear()
|
|
47
12
|
// })
|
|
48
|
-
|
|
13
|
+
afterEach(() => {
|
|
49
14
|
MockSocket.mockClearSockets();
|
|
50
15
|
});
|
|
51
16
|
// it('call fail before open', () => {
|
|
@@ -54,15 +19,15 @@ vitest_1.vi.mock('net', async () => Promise.resolve().then(() => __importStar(re
|
|
|
54
19
|
// expect(() => socket.destroy()).toThrow(/Socket is not open/)
|
|
55
20
|
// expect(() => socket.send('', 12, '')).toThrow(/Socket is not open/)
|
|
56
21
|
// })
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const socket = new
|
|
22
|
+
describe('construct', () => {
|
|
23
|
+
it('ok', () => {
|
|
24
|
+
const socket = new TCPHelper('1.2.3.4', 852);
|
|
60
25
|
try {
|
|
61
|
-
|
|
62
|
-
|
|
26
|
+
expect(socket).toBeTruthy();
|
|
27
|
+
expect(MockSocket.mockSockets()).toHaveLength(1);
|
|
63
28
|
const rawSocket = MockSocket.mockSockets()[0];
|
|
64
|
-
|
|
65
|
-
|
|
29
|
+
expect(rawSocket.configOps).toHaveLength(2);
|
|
30
|
+
expect(rawSocket.configOps).toEqual([
|
|
66
31
|
['setKeepAlive', true, undefined],
|
|
67
32
|
['setNoDelay', true],
|
|
68
33
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcp.spec.js","sourceRoot":"","sources":["../../../src/helpers/__tests__/tcp.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tcp.spec.js","sourceRoot":"","sources":["../../../src/helpers/__tests__/tcp.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"udp.spec.d.ts","sourceRoot":"","sources":["../../../src/helpers/__tests__/udp.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const events_1 = tslib_1.__importDefault(require("events"));
|
|
7
|
-
const enums_js_1 = require("../../module-api/enums.js");
|
|
8
|
-
const createSocketMock = vitest_1.vi.fn(() => {
|
|
1
|
+
import { describe, it, expect, beforeEach, vi, beforeAll, afterAll } from 'vitest';
|
|
2
|
+
import { UDPHelper } from '../udp.js';
|
|
3
|
+
import EventEmitter from 'events';
|
|
4
|
+
import { InstanceStatus } from '../../module-api/enums.js';
|
|
5
|
+
const createSocketMock = vi.fn(() => {
|
|
9
6
|
throw new Error('Not implemented');
|
|
10
7
|
});
|
|
11
|
-
|
|
8
|
+
vi.mock('dgram', () => {
|
|
12
9
|
return {
|
|
13
10
|
default: {
|
|
14
11
|
createSocket: (...args) => createSocketMock(...args),
|
|
15
12
|
},
|
|
16
13
|
};
|
|
17
14
|
});
|
|
18
|
-
class MinimalSocket extends
|
|
15
|
+
class MinimalSocket extends EventEmitter {
|
|
19
16
|
isOpen = false;
|
|
20
17
|
constructor() {
|
|
21
18
|
super();
|
|
@@ -28,53 +25,53 @@ class MinimalSocket extends events_1.default {
|
|
|
28
25
|
size: msg.length,
|
|
29
26
|
};
|
|
30
27
|
this.emit('message', msg, rinfo);
|
|
31
|
-
await
|
|
28
|
+
await vi.runAllTimersAsync();
|
|
32
29
|
}
|
|
33
|
-
bind =
|
|
30
|
+
bind = vi.fn(() => {
|
|
34
31
|
throw new Error('Not implemented');
|
|
35
32
|
});
|
|
36
|
-
send =
|
|
33
|
+
send = vi.fn(() => {
|
|
37
34
|
throw new Error('Not implemented');
|
|
38
35
|
});
|
|
39
|
-
close =
|
|
36
|
+
close = vi.fn(() => {
|
|
40
37
|
return this;
|
|
41
38
|
});
|
|
42
39
|
}
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
describe('UDP', () => {
|
|
41
|
+
beforeEach(() => {
|
|
45
42
|
createSocketMock.mockClear();
|
|
46
43
|
});
|
|
47
|
-
|
|
44
|
+
describe('construct', () => {
|
|
48
45
|
// beforeEach(() => {
|
|
49
46
|
// vi.useFakeTimers()
|
|
50
47
|
// })
|
|
51
|
-
|
|
48
|
+
it('no socket', () => {
|
|
52
49
|
createSocketMock.mockImplementationOnce(() => {
|
|
53
50
|
throw new Error('No sockets!');
|
|
54
51
|
});
|
|
55
|
-
|
|
52
|
+
expect(() => new UDPHelper('1.2.3.4', 852)).toThrow('No sockets!');
|
|
56
53
|
});
|
|
57
|
-
|
|
54
|
+
it('bad bind', async () => {
|
|
58
55
|
const rawSocket = new MinimalSocket();
|
|
59
56
|
createSocketMock.mockReturnValueOnce(rawSocket);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
expect(() => new UDPHelper('1.2.3.4', 852)).toThrow('Unable to bind');
|
|
58
|
+
expect(createSocketMock).toHaveBeenCalledTimes(1);
|
|
59
|
+
expect(rawSocket.bind).toHaveBeenCalledTimes(1);
|
|
60
|
+
expect(rawSocket.bind).toHaveBeenCalledWith(0, undefined);
|
|
64
61
|
});
|
|
65
|
-
|
|
62
|
+
it('ok', async () => {
|
|
66
63
|
const rawSocket = new MinimalSocket();
|
|
67
64
|
createSocketMock.mockReturnValueOnce(rawSocket);
|
|
68
65
|
rawSocket.bind.mockImplementationOnce(() => {
|
|
69
66
|
// No op
|
|
70
67
|
return rawSocket;
|
|
71
68
|
});
|
|
72
|
-
const socket = new
|
|
69
|
+
const socket = new UDPHelper('1.2.3.4', 852);
|
|
73
70
|
try {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
71
|
+
expect(socket).toBeTruthy();
|
|
72
|
+
expect(createSocketMock).toHaveBeenCalledTimes(1);
|
|
73
|
+
expect(rawSocket.bind).toHaveBeenCalledTimes(1);
|
|
74
|
+
expect(rawSocket.bind).toHaveBeenCalledWith(0, undefined);
|
|
78
75
|
}
|
|
79
76
|
finally {
|
|
80
77
|
socket.destroy();
|
|
@@ -82,45 +79,45 @@ class MinimalSocket extends events_1.default {
|
|
|
82
79
|
});
|
|
83
80
|
// TODO - options
|
|
84
81
|
});
|
|
85
|
-
|
|
82
|
+
it('error propogation', async () => {
|
|
86
83
|
const rawSocket = new MinimalSocket();
|
|
87
84
|
createSocketMock.mockReturnValueOnce(rawSocket);
|
|
88
85
|
rawSocket.bind.mockImplementationOnce(() => rawSocket);
|
|
89
|
-
const socket = new
|
|
86
|
+
const socket = new UDPHelper('1.2.3.4', 852);
|
|
90
87
|
try {
|
|
91
|
-
|
|
92
|
-
const errorHandler =
|
|
93
|
-
const statusHandler =
|
|
88
|
+
expect(socket).toBeTruthy();
|
|
89
|
+
const errorHandler = vi.fn(() => null);
|
|
90
|
+
const statusHandler = vi.fn(() => null);
|
|
94
91
|
socket.on('error', errorHandler);
|
|
95
92
|
socket.on('status_change', statusHandler);
|
|
96
|
-
|
|
93
|
+
expect(createSocketMock).toHaveBeenCalledTimes(1);
|
|
97
94
|
rawSocket.emit('error', new Error('My fake error'));
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
95
|
+
expect(errorHandler).toHaveBeenCalledTimes(1);
|
|
96
|
+
expect(errorHandler).toHaveBeenCalledWith(new Error('My fake error'));
|
|
97
|
+
expect(statusHandler).toHaveBeenCalledTimes(1);
|
|
98
|
+
expect(statusHandler).toHaveBeenCalledWith(InstanceStatus.UnknownError, 'My fake error');
|
|
102
99
|
}
|
|
103
100
|
finally {
|
|
104
101
|
socket.destroy();
|
|
105
102
|
}
|
|
106
103
|
});
|
|
107
|
-
|
|
108
|
-
|
|
104
|
+
describe('listening', () => {
|
|
105
|
+
it('ok', async () => {
|
|
109
106
|
const rawSocket = new MinimalSocket();
|
|
110
107
|
createSocketMock.mockReturnValueOnce(rawSocket);
|
|
111
108
|
rawSocket.bind.mockImplementationOnce(() => rawSocket);
|
|
112
|
-
const socket = new
|
|
109
|
+
const socket = new UDPHelper('1.2.3.4', 852);
|
|
113
110
|
try {
|
|
114
|
-
|
|
115
|
-
const listeningHandler =
|
|
116
|
-
const statusHandler =
|
|
111
|
+
expect(socket).toBeTruthy();
|
|
112
|
+
const listeningHandler = vi.fn(() => null);
|
|
113
|
+
const statusHandler = vi.fn(() => null);
|
|
117
114
|
socket.on('listening', listeningHandler);
|
|
118
115
|
socket.on('status_change', statusHandler);
|
|
119
|
-
|
|
116
|
+
expect(createSocketMock).toHaveBeenCalledTimes(1);
|
|
120
117
|
rawSocket.emit('listening');
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
expect(listeningHandler).toHaveBeenCalledTimes(1);
|
|
119
|
+
expect(statusHandler).toHaveBeenCalledTimes(1);
|
|
120
|
+
expect(statusHandler).toHaveBeenCalledWith(InstanceStatus.Ok, undefined);
|
|
124
121
|
}
|
|
125
122
|
finally {
|
|
126
123
|
socket.destroy();
|
|
@@ -134,66 +131,66 @@ class MinimalSocket extends events_1.default {
|
|
|
134
131
|
// rawSocket.bind.mockImplementationOnce(() => rawSocket as any)
|
|
135
132
|
// vi.advanceTimersByTimeAsync(10000)
|
|
136
133
|
// })
|
|
137
|
-
|
|
134
|
+
describe('send', () => {
|
|
138
135
|
const rawSocket = new MinimalSocket();
|
|
139
136
|
rawSocket.bind.mockImplementation(() => rawSocket);
|
|
140
137
|
let socket;
|
|
141
|
-
|
|
138
|
+
beforeAll(() => {
|
|
142
139
|
createSocketMock.mockReturnValueOnce(rawSocket);
|
|
143
|
-
socket = new
|
|
144
|
-
|
|
140
|
+
socket = new UDPHelper('1.2.3.4', 852);
|
|
141
|
+
expect(socket).toBeTruthy();
|
|
145
142
|
});
|
|
146
|
-
|
|
143
|
+
beforeEach(() => {
|
|
147
144
|
rawSocket.close.mockClear();
|
|
148
145
|
rawSocket.send.mockClear();
|
|
149
146
|
});
|
|
150
|
-
|
|
147
|
+
afterAll(() => {
|
|
151
148
|
if (socket)
|
|
152
149
|
socket.destroy();
|
|
153
150
|
});
|
|
154
|
-
|
|
151
|
+
it('destroyed', async () => {
|
|
155
152
|
createSocketMock.mockReturnValueOnce(rawSocket);
|
|
156
|
-
const mySocket = new
|
|
157
|
-
|
|
153
|
+
const mySocket = new UDPHelper('1.2.3.4', 852);
|
|
154
|
+
expect(mySocket).toBeTruthy();
|
|
158
155
|
mySocket.destroy();
|
|
159
|
-
|
|
160
|
-
await
|
|
156
|
+
expect(rawSocket.close).toHaveBeenCalledTimes(1);
|
|
157
|
+
await expect(mySocket.send('test')).rejects.toThrow('Cannot write to destroyed socket');
|
|
161
158
|
});
|
|
162
|
-
|
|
163
|
-
await
|
|
164
|
-
|
|
159
|
+
it('no message', async () => {
|
|
160
|
+
await expect(socket.send(undefined)).rejects.toThrow('No message to send');
|
|
161
|
+
expect(rawSocket.send).toHaveBeenCalledTimes(0);
|
|
165
162
|
});
|
|
166
|
-
|
|
163
|
+
it('ok: string', async () => {
|
|
167
164
|
rawSocket.send.mockImplementation((msg, offset, length, cb) => {
|
|
168
165
|
if (!cb)
|
|
169
166
|
return;
|
|
170
167
|
cb(null, length);
|
|
171
168
|
});
|
|
172
|
-
await
|
|
173
|
-
|
|
174
|
-
|
|
169
|
+
await expect(socket.send('test 123')).resolves.toBeUndefined();
|
|
170
|
+
expect(rawSocket.send).toHaveBeenCalledTimes(1);
|
|
171
|
+
expect(rawSocket.send).toHaveBeenCalledWith('test 123', 852, '1.2.3.4', expect.any(Function));
|
|
175
172
|
});
|
|
176
|
-
|
|
173
|
+
it('ok: buffer', async () => {
|
|
177
174
|
rawSocket.send.mockImplementation((msg, offset, length, cb) => {
|
|
178
175
|
if (!cb)
|
|
179
176
|
return;
|
|
180
177
|
cb(null, length);
|
|
181
178
|
});
|
|
182
179
|
const msg = Buffer.from('test 123');
|
|
183
|
-
await
|
|
184
|
-
|
|
185
|
-
|
|
180
|
+
await expect(socket.send(msg)).resolves.toBeUndefined();
|
|
181
|
+
expect(rawSocket.send).toHaveBeenCalledTimes(1);
|
|
182
|
+
expect(rawSocket.send).toHaveBeenCalledWith(msg, 852, '1.2.3.4', expect.any(Function));
|
|
186
183
|
});
|
|
187
|
-
|
|
184
|
+
it('send error', async () => {
|
|
188
185
|
rawSocket.send.mockImplementation((msg, offset, length, cb) => {
|
|
189
186
|
if (!cb)
|
|
190
187
|
return;
|
|
191
188
|
cb(new Error('buffer overflow'), 0);
|
|
192
189
|
});
|
|
193
190
|
const msg = Buffer.from('test 123');
|
|
194
|
-
await
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
await expect(socket.send(msg)).rejects.toThrow('buffer overflow');
|
|
192
|
+
expect(rawSocket.send).toHaveBeenCalledTimes(1);
|
|
193
|
+
expect(rawSocket.send).toHaveBeenCalledWith(msg, 852, '1.2.3.4', expect.any(Function));
|
|
197
194
|
});
|
|
198
195
|
});
|
|
199
196
|
});
|