@companion-module/base 1.14.1 → 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/README.md +12 -11
- package/dist/__mocks__/net.d.ts +31 -0
- package/dist/__mocks__/net.d.ts.map +1 -0
- package/dist/__mocks__/net.js +104 -0
- package/dist/__mocks__/net.js.map +1 -0
- package/dist/__mocks__/util.d.ts +9 -0
- package/dist/__mocks__/util.d.ts.map +1 -0
- package/dist/__mocks__/util.js +39 -0
- package/dist/__mocks__/util.js.map +1 -0
- package/dist/common/json-value.js +1 -2
- package/dist/common/json-value.js.map +1 -1
- package/dist/common/osc.js +1 -2
- package/dist/common/osc.js.map +1 -1
- package/dist/entrypoint.d.ts +9 -0
- package/dist/entrypoint.d.ts.map +1 -1
- package/dist/entrypoint.js +5 -126
- package/dist/entrypoint.js.map +1 -1
- package/dist/helpers/__tests__/tcp.spec.d.ts +2 -0
- package/dist/helpers/__tests__/tcp.spec.d.ts.map +1 -0
- package/dist/helpers/__tests__/tcp.spec.js +175 -0
- package/dist/helpers/__tests__/tcp.spec.js.map +1 -0
- package/dist/helpers/__tests__/udp.spec.d.ts +2 -0
- package/dist/helpers/__tests__/udp.spec.d.ts.map +1 -0
- package/dist/helpers/__tests__/udp.spec.js +197 -0
- package/dist/helpers/__tests__/udp.spec.js.map +1 -0
- package/dist/helpers/index.js +3 -6
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/tcp.d.ts +1 -1
- package/dist/helpers/tcp.d.ts.map +1 -1
- package/dist/helpers/tcp.js +10 -15
- package/dist/helpers/tcp.js.map +1 -1
- package/dist/helpers/telnet.d.ts +1 -1
- package/dist/helpers/telnet.d.ts.map +1 -1
- package/dist/helpers/telnet.js +6 -11
- package/dist/helpers/telnet.js.map +1 -1
- package/dist/helpers/udp.d.ts +1 -1
- package/dist/helpers/udp.d.ts.map +1 -1
- package/dist/helpers/udp.js +7 -12
- package/dist/helpers/udp.js.map +1 -1
- package/dist/host-api/context.d.ts +60 -0
- package/dist/host-api/context.d.ts.map +1 -0
- package/dist/host-api/{api.js → context.js} +5 -3
- package/dist/host-api/context.js.map +1 -0
- package/dist/instance-base.js +1 -2
- package/dist/logging.d.ts +21 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +22 -0
- package/dist/logging.js.map +1 -0
- package/dist/main.d.ts +9 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/{index.d.ts → main.js} +3 -2
- package/dist/main.js.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 +2 -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 +270 -0
- package/dist/module-api/__tests__/shared-udp-socket.spec.js.map +1 -0
- package/dist/module-api/action.js +1 -2
- package/dist/module-api/base.d.ts +3 -18
- package/dist/module-api/base.d.ts.map +1 -1
- package/dist/module-api/base.js +50 -331
- package/dist/module-api/base.js.map +1 -1
- package/dist/module-api/common.d.ts +2 -2
- package/dist/module-api/common.js +1 -2
- package/dist/module-api/config.d.ts +2 -8
- package/dist/module-api/config.d.ts.map +1 -1
- package/dist/module-api/config.js +1 -2
- package/dist/module-api/enums.d.ts +0 -1
- package/dist/module-api/enums.d.ts.map +1 -1
- package/dist/module-api/enums.js +4 -7
- package/dist/module-api/enums.js.map +1 -1
- package/dist/module-api/feedback.d.ts +2 -1
- package/dist/module-api/feedback.d.ts.map +1 -1
- package/dist/module-api/feedback.js +1 -2
- package/dist/module-api/http.js +1 -2
- package/dist/module-api/index.js +12 -15
- package/dist/module-api/index.js.map +1 -1
- package/dist/module-api/input.d.ts +0 -20
- package/dist/module-api/input.d.ts.map +1 -1
- package/dist/module-api/input.js +1 -2
- package/dist/module-api/preset.js +1 -2
- package/dist/module-api/shared-udp-socket.d.ts +3 -4
- package/dist/module-api/shared-udp-socket.d.ts.map +1 -1
- package/dist/module-api/shared-udp-socket.js +18 -25
- package/dist/module-api/shared-udp-socket.js.map +1 -1
- package/dist/module-api/style.js +1 -2
- package/dist/module-api/upgrade.d.ts +7 -3
- package/dist/module-api/upgrade.d.ts.map +1 -1
- package/dist/module-api/upgrade.js +11 -16
- package/dist/module-api/upgrade.js.map +1 -1
- package/dist/module-api/variable.js +1 -2
- package/dist/util.d.ts +10 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +15 -26
- package/dist/util.js.map +1 -1
- package/package.json +8 -37
- package/dist/host-api/api.d.ts +0 -389
- package/dist/host-api/api.d.ts.map +0 -1
- package/dist/host-api/api.js.map +0 -1
- package/dist/host-api/ipc-wrapper.d.ts +0 -37
- package/dist/host-api/ipc-wrapper.d.ts.map +0 -1
- package/dist/host-api/ipc-wrapper.js +0 -128
- package/dist/host-api/ipc-wrapper.js.map +0 -1
- package/dist/host-api/versions.d.ts +0 -12
- package/dist/host-api/versions.d.ts.map +0 -1
- package/dist/host-api/versions.js +0 -5
- package/dist/host-api/versions.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -22
- package/dist/index.js.map +0 -1
- package/dist/internal/actions.d.ts +0 -16
- package/dist/internal/actions.d.ts.map +0 -1
- package/dist/internal/actions.js +0 -223
- package/dist/internal/actions.js.map +0 -1
- package/dist/internal/base.d.ts +0 -11
- package/dist/internal/base.d.ts.map +0 -1
- package/dist/internal/base.js +0 -39
- package/dist/internal/base.js.map +0 -1
- package/dist/internal/feedback.d.ts +0 -20
- package/dist/internal/feedback.d.ts.map +0 -1
- package/dist/internal/feedback.js +0 -307
- package/dist/internal/feedback.js.map +0 -1
- package/dist/internal/upgrade.d.ts +0 -15
- package/dist/internal/upgrade.d.ts.map +0 -1
- package/dist/internal/upgrade.js +0 -174
- package/dist/internal/upgrade.js.map +0 -1
- package/lib/debounce-fn/index.d.ts +0 -83
- package/lib/debounce-fn/index.js +0 -78
- package/lib/debounce-fn/license +0 -9
- package/lib/debounce-fn/readme.md +0 -64
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
/**
|
|
3
|
+
* INTERNAL USE ONLY
|
|
4
|
+
*/
|
|
5
|
+
var SURFACE_LOGGER: LoggingSink | undefined;
|
|
6
|
+
}
|
|
7
|
+
export type LogLevel = 'info' | 'warn' | 'error' | 'debug';
|
|
8
|
+
export interface ModuleLogger {
|
|
9
|
+
debug: (message: string) => void;
|
|
10
|
+
info: (message: string) => void;
|
|
11
|
+
warn: (message: string) => void;
|
|
12
|
+
error: (message: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export type LoggingSink = (source: string | undefined, level: LogLevel, message: string) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Create a logger instance
|
|
17
|
+
* @param source The source path to use for the logger
|
|
18
|
+
* @returns A logger instance
|
|
19
|
+
*/
|
|
20
|
+
export declare function createModuleLogger(source?: string): ModuleLogger;
|
|
21
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,cAAc,EAAE,WAAW,GAAG,SAAS,CAAA;CAC3C;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;AAYhG;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAOhE"}
|
package/dist/logging.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const defaultLoggingSink = (source, level, message) => {
|
|
2
|
+
// Default logging implementation for unit testing purposes, this should be replaced by the host application
|
|
3
|
+
console.log(`[${level.toUpperCase()}]${source ? ` [${source}]` : ''} ${message}`);
|
|
4
|
+
};
|
|
5
|
+
function logToSink(source, level, message) {
|
|
6
|
+
const sink = typeof global.SURFACE_LOGGER === 'function' ? global.SURFACE_LOGGER : defaultLoggingSink;
|
|
7
|
+
sink(source, level, message);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Create a logger instance
|
|
11
|
+
* @param source The source path to use for the logger
|
|
12
|
+
* @returns A logger instance
|
|
13
|
+
*/
|
|
14
|
+
export function createModuleLogger(source) {
|
|
15
|
+
return {
|
|
16
|
+
debug: (message) => logToSink(source, 'debug', message),
|
|
17
|
+
info: (message) => logToSink(source, 'info', message),
|
|
18
|
+
warn: (message) => logToSink(source, 'warn', message),
|
|
19
|
+
error: (message) => logToSink(source, 'error', message),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAkBA,MAAM,kBAAkB,GAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAClE,4GAA4G;IAC5G,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;AAClF,CAAC,CAAA;AAED,SAAS,SAAS,CAAC,MAA0B,EAAE,KAAe,EAAE,OAAe;IAC9E,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAA;IACrG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IACjD,OAAO;QACN,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/D,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QAC7D,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QAC7D,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;KAC/D,CAAA;AACF,CAAC"}
|
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './logging.js';
|
|
2
|
+
export * from './manifest.js';
|
|
3
|
+
export * from './module-api/index.js';
|
|
4
|
+
export * from './common/osc.js';
|
|
5
|
+
export * from './common/json-value.js';
|
|
6
|
+
export * from './util.js';
|
|
7
|
+
export * from './helpers/index.js';
|
|
8
|
+
export { runEntrypoint, InstanceConstructor } from './entrypoint.js';
|
|
9
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
export * from './logging.js';
|
|
1
2
|
export * from './manifest.js';
|
|
2
3
|
export * from './module-api/index.js';
|
|
3
4
|
export * from './common/osc.js';
|
|
4
5
|
export * from './common/json-value.js';
|
|
5
|
-
export
|
|
6
|
+
export * from './util.js';
|
|
6
7
|
export * from './helpers/index.js';
|
|
7
8
|
export { runEntrypoint } from './entrypoint.js';
|
|
8
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAElC,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAA"}
|
package/dist/manifest.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateManifest = validateManifest;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
1
|
// @ts-expect-error no typings
|
|
6
2
|
// eslint-disable-next-line n/no-missing-import
|
|
7
|
-
|
|
3
|
+
import validateManifestSchema from '../generated/validate_manifest.js';
|
|
8
4
|
/** Validate that a manifest looks correctly populated */
|
|
9
|
-
function validateManifest(manifest, looseChecks) {
|
|
5
|
+
export function validateManifest(manifest, looseChecks) {
|
|
10
6
|
if (!looseChecks) {
|
|
11
7
|
const manifestStr = JSON.stringify(manifest);
|
|
12
8
|
if (manifestStr.includes('companion-module-your-module-name'))
|
|
@@ -27,8 +23,8 @@ function validateManifest(manifest, looseChecks) {
|
|
|
27
23
|
if (manifest.legacyIds.includes(manifest.id)) {
|
|
28
24
|
throw new Error(`Manifest contains itself '${manifest.id}' in legacyIds`);
|
|
29
25
|
}
|
|
30
|
-
if (!(
|
|
31
|
-
const errors =
|
|
26
|
+
if (!validateManifestSchema(manifest)) {
|
|
27
|
+
const errors = validateManifestSchema.errors;
|
|
32
28
|
if (!errors)
|
|
33
29
|
throw new Error(`Manifest failed validation with unknown reason`);
|
|
34
30
|
throw new Error(`Manifest validation failed: ${JSON.stringify(errors)}`);
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAMA,8BAA8B;AAC9B,+CAA+C;AAC/C,OAAO,sBAAsB,MAAM,mCAAmC,CAAA;AAItE,yDAAyD;AACzD,MAAM,UAAU,gBAAgB,CAAC,QAAwB,EAAE,WAAoB;IAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC5C,IAAI,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAA;QAEvG,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;QAEtF,IAAI,WAAW,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAA;QAEjH,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAE/E,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QAEhF,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QAElF,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAE9E,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACzE,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-udp-socket.spec.d.ts","sourceRoot":"","sources":["../../../src/module-api/__tests__/shared-udp-socket.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
import { nanoid } from 'nanoid';
|
|
3
|
+
import { SharedUdpSocketImpl } from '../shared-udp-socket.js';
|
|
4
|
+
import { createManualPromise } from '../../__mocks__/util.js';
|
|
5
|
+
async function sleepImmediate() {
|
|
6
|
+
return new Promise((resolve) => setImmediate(resolve));
|
|
7
|
+
}
|
|
8
|
+
describe('Shared UDP', () => {
|
|
9
|
+
function createContext() {
|
|
10
|
+
return {
|
|
11
|
+
sharedUdpSocketHandlers: new Map(),
|
|
12
|
+
sharedUdpSocketJoin: vi.fn(() => {
|
|
13
|
+
throw new Error('Not implemented');
|
|
14
|
+
}),
|
|
15
|
+
sharedUdpSocketLeave: vi.fn(() => {
|
|
16
|
+
throw new Error('Not implemented');
|
|
17
|
+
}),
|
|
18
|
+
sharedUdpSocketSend: vi.fn(() => {
|
|
19
|
+
throw new Error('Not implemented');
|
|
20
|
+
}),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
it('call fail before open', () => {
|
|
24
|
+
const ctx = createContext();
|
|
25
|
+
const socket = new SharedUdpSocketImpl(ctx, { type: 'udp4' });
|
|
26
|
+
expect(() => socket.close()).toThrow(/Socket is not open/);
|
|
27
|
+
expect(() => socket.send('', 12, '')).toThrow(/Socket is not open/);
|
|
28
|
+
});
|
|
29
|
+
describe('bind', () => {
|
|
30
|
+
it('ok', async () => {
|
|
31
|
+
const ctx = createContext();
|
|
32
|
+
const socket = new SharedUdpSocketImpl(ctx, { type: 'udp4' });
|
|
33
|
+
expect(socket.eventNames()).toHaveLength(0);
|
|
34
|
+
const sendPromises = [];
|
|
35
|
+
ctx.sharedUdpSocketJoin.mockImplementationOnce(async () => {
|
|
36
|
+
const sendPromise = createManualPromise();
|
|
37
|
+
sendPromises.push(sendPromise);
|
|
38
|
+
return sendPromise;
|
|
39
|
+
});
|
|
40
|
+
const bindCb = vi.fn();
|
|
41
|
+
socket.bind(5678, '1.2.3.4', bindCb);
|
|
42
|
+
// Opening a second time should fail
|
|
43
|
+
expect(() => socket.bind(5678, '1.2.3.4', bindCb)).toThrow(/Socket is already/);
|
|
44
|
+
await sleepImmediate();
|
|
45
|
+
expect(bindCb).toHaveBeenCalledTimes(0);
|
|
46
|
+
// Check now a listener
|
|
47
|
+
expect(socket.eventNames()).toHaveLength(1);
|
|
48
|
+
expect(socket.listenerCount('listening')).toBe(1);
|
|
49
|
+
// Check call was made
|
|
50
|
+
expect(ctx.sharedUdpSocketJoin).toHaveBeenCalledTimes(1);
|
|
51
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledTimes(0);
|
|
52
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledTimes(0);
|
|
53
|
+
expect(sendPromises).toHaveLength(1);
|
|
54
|
+
expect(ctx.sharedUdpSocketJoin).toHaveBeenCalledWith({
|
|
55
|
+
family: 'udp4',
|
|
56
|
+
portNumber: 5678,
|
|
57
|
+
});
|
|
58
|
+
// Mock receive a response
|
|
59
|
+
const handleId = nanoid();
|
|
60
|
+
sendPromises[0].manualResolve(handleId);
|
|
61
|
+
// Verify that opened successfully
|
|
62
|
+
await sleepImmediate();
|
|
63
|
+
expect(bindCb).toHaveBeenCalledTimes(1);
|
|
64
|
+
// Should be tracked now
|
|
65
|
+
expect(ctx.sharedUdpSocketHandlers.get(handleId)).toBe(socket);
|
|
66
|
+
});
|
|
67
|
+
it('error', async () => {
|
|
68
|
+
const ctx = createContext();
|
|
69
|
+
const socket = new SharedUdpSocketImpl(ctx, { type: 'udp4' });
|
|
70
|
+
expect(socket.eventNames()).toHaveLength(0);
|
|
71
|
+
const sendPromises = [];
|
|
72
|
+
ctx.sharedUdpSocketJoin.mockImplementationOnce(async () => {
|
|
73
|
+
const sendPromise = createManualPromise();
|
|
74
|
+
sendPromises.push(sendPromise);
|
|
75
|
+
return sendPromise;
|
|
76
|
+
});
|
|
77
|
+
const bindCb = vi.fn();
|
|
78
|
+
socket.bind(5678, '1.2.3.4', bindCb);
|
|
79
|
+
await sleepImmediate();
|
|
80
|
+
expect(bindCb).toHaveBeenCalledTimes(0);
|
|
81
|
+
// setup an error listener
|
|
82
|
+
const errorCb = vi.fn();
|
|
83
|
+
socket.on('error', errorCb);
|
|
84
|
+
// Check call was made
|
|
85
|
+
expect(ctx.sharedUdpSocketJoin).toHaveBeenCalledTimes(1);
|
|
86
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledTimes(0);
|
|
87
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledTimes(0);
|
|
88
|
+
expect(sendPromises).toHaveLength(1);
|
|
89
|
+
// Mock receive a response
|
|
90
|
+
const err = new Error('Some backend failure');
|
|
91
|
+
sendPromises[0].manualReject(err);
|
|
92
|
+
// Verify that opening failed
|
|
93
|
+
await sleepImmediate();
|
|
94
|
+
expect(bindCb).toHaveBeenCalledTimes(0);
|
|
95
|
+
expect(ctx.sharedUdpSocketHandlers.size).toBe(0);
|
|
96
|
+
// Error should have propogated
|
|
97
|
+
expect(errorCb).toHaveBeenCalledTimes(1);
|
|
98
|
+
expect(errorCb).toHaveBeenCalledWith(err);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
async function createAndOpenSocket(ctx) {
|
|
102
|
+
const socket = new SharedUdpSocketImpl(ctx, { type: 'udp4' });
|
|
103
|
+
expect(socket.eventNames()).toHaveLength(0);
|
|
104
|
+
const sendPromises = [];
|
|
105
|
+
ctx.sharedUdpSocketJoin.mockImplementationOnce(async () => {
|
|
106
|
+
const sendPromise = createManualPromise();
|
|
107
|
+
sendPromises.push(sendPromise);
|
|
108
|
+
return sendPromise;
|
|
109
|
+
});
|
|
110
|
+
const bindCb = vi.fn();
|
|
111
|
+
socket.bind(5678, '1.2.3.4', bindCb);
|
|
112
|
+
// Mock receive a response
|
|
113
|
+
expect(ctx.sharedUdpSocketJoin).toHaveBeenCalledTimes(1);
|
|
114
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledTimes(0);
|
|
115
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledTimes(0);
|
|
116
|
+
expect(sendPromises).toHaveLength(1);
|
|
117
|
+
const handleId = nanoid();
|
|
118
|
+
sendPromises[0].manualResolve(handleId);
|
|
119
|
+
// Verify that opened successfully
|
|
120
|
+
await sleepImmediate();
|
|
121
|
+
expect(bindCb).toHaveBeenCalledTimes(1);
|
|
122
|
+
// Should be tracked now
|
|
123
|
+
expect(ctx.sharedUdpSocketHandlers.get(handleId)).toBe(socket);
|
|
124
|
+
ctx.sharedUdpSocketJoin.mockClear();
|
|
125
|
+
return { socket, handleId };
|
|
126
|
+
}
|
|
127
|
+
describe('send', () => {
|
|
128
|
+
it('ok', async () => {
|
|
129
|
+
const ctx = createContext();
|
|
130
|
+
const { socket, handleId } = await createAndOpenSocket(ctx);
|
|
131
|
+
const sendPromises = [];
|
|
132
|
+
ctx.sharedUdpSocketSend.mockImplementationOnce(async () => {
|
|
133
|
+
const sendPromise = createManualPromise();
|
|
134
|
+
sendPromises.push(sendPromise);
|
|
135
|
+
return sendPromise;
|
|
136
|
+
});
|
|
137
|
+
// Do send
|
|
138
|
+
const sendCb = vi.fn();
|
|
139
|
+
const message = Buffer.from('my fake message');
|
|
140
|
+
socket.send(message, 4789, '4.5.6.7', sendCb);
|
|
141
|
+
// Check callbacks
|
|
142
|
+
await sleepImmediate();
|
|
143
|
+
expect(sendCb).toHaveBeenCalledTimes(0);
|
|
144
|
+
// Check call was made
|
|
145
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledTimes(1);
|
|
146
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledTimes(0);
|
|
147
|
+
expect(ctx.sharedUdpSocketJoin).toHaveBeenCalledTimes(0);
|
|
148
|
+
expect(sendPromises).toHaveLength(1);
|
|
149
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledWith({
|
|
150
|
+
handleId,
|
|
151
|
+
message,
|
|
152
|
+
address: '4.5.6.7',
|
|
153
|
+
port: 4789,
|
|
154
|
+
});
|
|
155
|
+
// Mock receive a response
|
|
156
|
+
sendPromises[0].manualResolve(null);
|
|
157
|
+
// Verify the calback
|
|
158
|
+
await sleepImmediate();
|
|
159
|
+
expect(sendCb).toHaveBeenCalledTimes(1);
|
|
160
|
+
expect(ctx.sharedUdpSocketHandlers.has(handleId)).toBeTruthy();
|
|
161
|
+
});
|
|
162
|
+
it('error', async () => {
|
|
163
|
+
const ctx = createContext();
|
|
164
|
+
const { socket, handleId } = await createAndOpenSocket(ctx);
|
|
165
|
+
const sendPromises = [];
|
|
166
|
+
ctx.sharedUdpSocketSend.mockImplementationOnce(async () => {
|
|
167
|
+
const sendPromise = createManualPromise();
|
|
168
|
+
sendPromises.push(sendPromise);
|
|
169
|
+
return sendPromise;
|
|
170
|
+
});
|
|
171
|
+
// Do send
|
|
172
|
+
const sendCb = vi.fn();
|
|
173
|
+
const message = Buffer.from('my fake message');
|
|
174
|
+
socket.send(message, 4789, '4.5.6.7', sendCb);
|
|
175
|
+
const errorCb = vi.fn();
|
|
176
|
+
socket.on('error', errorCb);
|
|
177
|
+
// Check callbacks
|
|
178
|
+
await sleepImmediate();
|
|
179
|
+
expect(sendCb).toHaveBeenCalledTimes(0);
|
|
180
|
+
// Check call was made
|
|
181
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledTimes(1);
|
|
182
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledTimes(0);
|
|
183
|
+
expect(ctx.sharedUdpSocketJoin).toHaveBeenCalledTimes(0);
|
|
184
|
+
expect(sendPromises).toHaveLength(1);
|
|
185
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledWith({
|
|
186
|
+
handleId,
|
|
187
|
+
message,
|
|
188
|
+
address: '4.5.6.7',
|
|
189
|
+
port: 4789,
|
|
190
|
+
});
|
|
191
|
+
// Mock receive a response
|
|
192
|
+
const err = new Error('Some backend failure');
|
|
193
|
+
sendPromises[0].manualReject(err);
|
|
194
|
+
// Verify the calback
|
|
195
|
+
await sleepImmediate();
|
|
196
|
+
expect(sendCb).toHaveBeenCalledTimes(0);
|
|
197
|
+
expect(errorCb).toHaveBeenCalledTimes(1);
|
|
198
|
+
expect(errorCb).toHaveBeenCalledWith(err);
|
|
199
|
+
expect(ctx.sharedUdpSocketHandlers.has(handleId)).toBeTruthy();
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
describe('close', () => {
|
|
203
|
+
it('ok', async () => {
|
|
204
|
+
const ctx = createContext();
|
|
205
|
+
const { socket, handleId } = await createAndOpenSocket(ctx);
|
|
206
|
+
const sendPromises = [];
|
|
207
|
+
ctx.sharedUdpSocketLeave.mockImplementationOnce(async () => {
|
|
208
|
+
const sendPromise = createManualPromise();
|
|
209
|
+
sendPromises.push(sendPromise);
|
|
210
|
+
return sendPromise;
|
|
211
|
+
});
|
|
212
|
+
// Do send
|
|
213
|
+
const closeCb = vi.fn();
|
|
214
|
+
socket.close(closeCb);
|
|
215
|
+
// Check callbacks
|
|
216
|
+
await sleepImmediate();
|
|
217
|
+
expect(closeCb).toHaveBeenCalledTimes(0);
|
|
218
|
+
// Check call was made
|
|
219
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledTimes(1);
|
|
220
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledTimes(0);
|
|
221
|
+
expect(ctx.sharedUdpSocketJoin).toHaveBeenCalledTimes(0);
|
|
222
|
+
expect(sendPromises).toHaveLength(1);
|
|
223
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledWith({
|
|
224
|
+
handleId,
|
|
225
|
+
});
|
|
226
|
+
// Mock receive a response
|
|
227
|
+
sendPromises[0].manualResolve(null);
|
|
228
|
+
// Verify the calback
|
|
229
|
+
await sleepImmediate();
|
|
230
|
+
expect(closeCb).toHaveBeenCalledTimes(1);
|
|
231
|
+
expect(ctx.sharedUdpSocketHandlers.has(handleId)).toBeFalsy();
|
|
232
|
+
});
|
|
233
|
+
it('error', async () => {
|
|
234
|
+
const ctx = createContext();
|
|
235
|
+
const { socket, handleId } = await createAndOpenSocket(ctx);
|
|
236
|
+
const sendPromises = [];
|
|
237
|
+
ctx.sharedUdpSocketLeave.mockImplementationOnce(async () => {
|
|
238
|
+
const sendPromise = createManualPromise();
|
|
239
|
+
sendPromises.push(sendPromise);
|
|
240
|
+
return sendPromise;
|
|
241
|
+
});
|
|
242
|
+
// Do send
|
|
243
|
+
const closeCb = vi.fn();
|
|
244
|
+
socket.close(closeCb);
|
|
245
|
+
const errorCb = vi.fn();
|
|
246
|
+
socket.on('error', errorCb);
|
|
247
|
+
// Check callbacks
|
|
248
|
+
await sleepImmediate();
|
|
249
|
+
expect(closeCb).toHaveBeenCalledTimes(0);
|
|
250
|
+
// Check call was made
|
|
251
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledTimes(1);
|
|
252
|
+
expect(ctx.sharedUdpSocketSend).toHaveBeenCalledTimes(0);
|
|
253
|
+
expect(ctx.sharedUdpSocketJoin).toHaveBeenCalledTimes(0);
|
|
254
|
+
expect(sendPromises).toHaveLength(1);
|
|
255
|
+
expect(ctx.sharedUdpSocketLeave).toHaveBeenCalledWith({
|
|
256
|
+
handleId,
|
|
257
|
+
});
|
|
258
|
+
// Mock receive a response
|
|
259
|
+
const err = new Error('Some backend failure');
|
|
260
|
+
sendPromises[0].manualReject(err);
|
|
261
|
+
// Verify the calback
|
|
262
|
+
await sleepImmediate();
|
|
263
|
+
expect(closeCb).toHaveBeenCalledTimes(0);
|
|
264
|
+
expect(errorCb).toHaveBeenCalledTimes(1);
|
|
265
|
+
expect(errorCb).toHaveBeenCalledWith(err);
|
|
266
|
+
expect(ctx.sharedUdpSocketHandlers.has(handleId)).toBeFalsy();
|
|
267
|
+
});
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
//# sourceMappingURL=shared-udp-socket.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-udp-socket.spec.js","sourceRoot":"","sources":["../../../src/module-api/__tests__/shared-udp-socket.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { CompanionActionDefinitions, CompanionRecordedAction } from './action.js';
|
|
2
2
|
import type { CompanionFeedbackDefinitions } from './feedback.js';
|
|
3
3
|
import type { CompanionPresetDefinitions } from './preset.js';
|
|
4
|
-
import type { InstanceStatus
|
|
4
|
+
import type { InstanceStatus } from './enums.js';
|
|
5
|
+
import { type LogLevel } from '../logging.js';
|
|
5
6
|
import type { InstanceBaseShared } from '../instance-base.js';
|
|
6
7
|
import type { CompanionVariableDefinition, CompanionVariableValue, CompanionVariableValues } from './variable.js';
|
|
7
8
|
import type { OSCSomeArguments } from '../common/osc.js';
|
|
@@ -26,7 +27,7 @@ export interface InstanceBaseOptions {
|
|
|
26
27
|
}
|
|
27
28
|
export declare abstract class InstanceBase<TConfig, TSecrets = undefined> implements InstanceBaseShared<TConfig, TSecrets> {
|
|
28
29
|
#private;
|
|
29
|
-
|
|
30
|
+
get id(): string;
|
|
30
31
|
get instanceOptions(): InstanceBaseOptions;
|
|
31
32
|
/**
|
|
32
33
|
* The user chosen name for this instance.
|
|
@@ -37,20 +38,6 @@ export declare abstract class InstanceBase<TConfig, TSecrets = undefined> implem
|
|
|
37
38
|
* Create an instance of the module
|
|
38
39
|
*/
|
|
39
40
|
constructor(internal: unknown);
|
|
40
|
-
private _handleInit;
|
|
41
|
-
private _handleDestroy;
|
|
42
|
-
private _handleConfigUpdateAndLabel;
|
|
43
|
-
private _handleExecuteAction;
|
|
44
|
-
private _handleUpdateFeedbacks;
|
|
45
|
-
private _handleUpdateActions;
|
|
46
|
-
private _handleUpgradeActionsAndFeedbacks;
|
|
47
|
-
private _handleGetConfigFields;
|
|
48
|
-
private _handleHttpRequest;
|
|
49
|
-
private _handleLearnAction;
|
|
50
|
-
private _handleLearnFeedback;
|
|
51
|
-
private _handleStartStopRecordActions;
|
|
52
|
-
private _handleSharedUdpSocketMessage;
|
|
53
|
-
private _handleSharedUdpSocketError;
|
|
54
41
|
/**
|
|
55
42
|
* Main initialization function called
|
|
56
43
|
* once the module is OK to start doing things.
|
|
@@ -123,8 +110,6 @@ export declare abstract class InstanceBase<TConfig, TSecrets = undefined> implem
|
|
|
123
110
|
*
|
|
124
111
|
* Parse and replace all the variables in a string
|
|
125
112
|
* Note: You must not use this for feedbacks, as your feedback will not update when the variable changes.
|
|
126
|
-
* There is an alternate version of this supplied to each of the action/feedback callbacks that tracks
|
|
127
|
-
* usages properly and will retrigger the feedback when the variables change.
|
|
128
113
|
* @param text The text to parse
|
|
129
114
|
* @returns The string with variables replaced with their values
|
|
130
115
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
|