@companion-module/base 0.1.0 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.0](https://github.com/bitfocus/companion-module-base/compare/v0.1.2...v0.2.0) (2022-09-04)
4
+
5
+
6
+ ### Features
7
+
8
+ * convert InstanceStatus into proper enum ([73213ab](https://github.com/bitfocus/companion-module-base/commit/73213ab4976168c5e7241ef0c8ea906464cef297))
9
+ * initial refactored socket helpers ([603b806](https://github.com/bitfocus/companion-module-base/commit/603b80655cf85a5577b28ae06c32e109f23b8755))
10
+
11
+ ## [0.1.2](https://github.com/bitfocus/companion-module-base/compare/v0.1.1...v0.1.2) (2022-07-21)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * re-add method needed by legacy wrapper ([f0e3327](https://github.com/bitfocus/companion-module-base/commit/f0e332713f14ab1b6be0333b3204073a51e56f44))
17
+
18
+ ## [0.1.1](https://github.com/bitfocus/companion-module-base/compare/v0.1.0...v0.1.1) (2022-07-12)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * allow subscribeActions and related methods ([70803d0](https://github.com/bitfocus/companion-module-base/commit/70803d0cdeb3b973ea3e12d3bb43412bfe9a797e))
24
+ * use apiVersion from manifest instead of package.json of @companion-module/base ([2ad58c1](https://github.com/bitfocus/companion-module-base/commit/2ad58c1938a1b95a4a99bde1ef50868bfff65133))
25
+
3
26
  ## [0.1.0](https://github.com/bitfocus/companion-module-base/compare/v0.0.4...v0.1.0) (2022-07-12)
4
27
 
5
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,iBAAiB,CAAA;AAKxB,oBAAY,mBAAmB,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,CAAA;AAe3F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EACpC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACrC,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,GACrD,IAAI,CAiHN"}
1
+ {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,iBAAiB,CAAA;AAIxB,oBAAY,mBAAmB,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,CAAA;AAe3F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EACpC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACrC,cAAc,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,GACrD,IAAI,CAmHN"}
@@ -9,7 +9,6 @@ const promises_1 = tslib_1.__importDefault(require("fs/promises"));
9
9
  const util_js_1 = require("./util.js");
10
10
  const node_1 = require("@sentry/node");
11
11
  require("@sentry/tracing");
12
- const path_1 = tslib_1.__importDefault(require("path"));
13
12
  let hasEntrypoint = false;
14
13
  // async function readFileUrl(url: URL): Promise<string> {
15
14
  // // Hack to make json files be loadable after being inlined by webpack
@@ -31,12 +30,11 @@ let hasEntrypoint = false;
31
30
  function runEntrypoint(factory, upgradeScripts) {
32
31
  Promise.resolve().then(async () => {
33
32
  try {
34
- const pkgJsonStr = (await promises_1.default.readFile(path_1.default.join(__dirname, '../package.json'))).toString();
35
- const pkgJson = JSON.parse(pkgJsonStr);
36
- if (!pkgJson || pkgJson.name !== '@companion-module/base')
37
- throw new Error('Failed to find the package.json for @companion-module/base');
38
- if (!pkgJson.version)
39
- throw new Error('Missing version field in the package.json for @companion-module/base');
33
+ // const pkgJsonStr = (await fs.readFile(path.join(__dirname, '../package.json'))).toString()
34
+ // const pkgJson = JSON.parse(pkgJsonStr)
35
+ // if (!pkgJson || pkgJson.name !== '@companion-module/base')
36
+ // throw new Error('Failed to find the package.json for @companion-module/base')
37
+ // if (!pkgJson.version) throw new Error('Missing version field in the package.json for @companion-module/base')
40
38
  // Ensure only called once per module
41
39
  if (hasEntrypoint)
42
40
  throw new Error(`runEntrypoint can only be called once`);
@@ -49,6 +47,9 @@ function runEntrypoint(factory, upgradeScripts) {
49
47
  const manifestJson = JSON.parse(manifestBlob.toString());
50
48
  if (manifestJson.runtime?.api !== versions_js_1.HostApiSocketIo)
51
49
  throw new Error(`Module manifest 'api' mismatch`);
50
+ if (!manifestJson.runtime.apiVersion)
51
+ throw new Error(`Module manifest 'apiVersion' missing`);
52
+ const apiVersion = manifestJson.runtime.apiVersion;
52
53
  console.log(`Starting up module class: ${factory.name}`);
53
54
  const connectionId = process.env.CONNECTION_ID;
54
55
  if (typeof connectionId !== 'string' || !connectionId)
@@ -67,7 +68,7 @@ function runEntrypoint(factory, upgradeScripts) {
67
68
  console.log('Sentry enabled');
68
69
  (0, node_1.init)({
69
70
  dsn: sentryDsn,
70
- release: `${pkgJson.name}@${pkgJson.version}`,
71
+ release: `${manifestJson.name}@${manifestJson.version}`,
71
72
  beforeSend(event) {
72
73
  if (event.exception) {
73
74
  console.log('sentry', 'error', event.exception);
@@ -91,7 +92,7 @@ function runEntrypoint(factory, upgradeScripts) {
91
92
  });
92
93
  socket.on('connect', () => {
93
94
  console.log(`Connected to module-host: ${socket.id}`);
94
- socket.emit('register', pkgJson.version, connectionId, socketIoToken, () => {
95
+ socket.emit('register', apiVersion, connectionId, socketIoToken, () => {
95
96
  console.log(`Module-host accepted registration`);
96
97
  module = new factory((0, util_js_1.literal)({
97
98
  id: connectionId,
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entrypoint.js","sourceRoot":"","sources":["../src/entrypoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { TCPHelper, TCPHelperEvents, TCPHelperOptions } from './tcp';
2
+ export { TelnetHelper, TelnetHelperEvents, TelnetHelperOptions } from './telnet';
3
+ export { UDPHelper, UDPHelperEvents, UDPHelperOptions } from './udp';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UDPHelper = exports.TelnetHelper = exports.TCPHelper = void 0;
4
+ var tcp_1 = require("./tcp");
5
+ Object.defineProperty(exports, "TCPHelper", { enumerable: true, get: function () { return tcp_1.TCPHelper; } });
6
+ var telnet_1 = require("./telnet");
7
+ Object.defineProperty(exports, "TelnetHelper", { enumerable: true, get: function () { return telnet_1.TelnetHelper; } });
8
+ var udp_1 = require("./udp");
9
+ Object.defineProperty(exports, "UDPHelper", { enumerable: true, get: function () { return udp_1.UDPHelper; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;AAAA,6BAAoE;AAA3D,gGAAA,SAAS,OAAA;AAClB,mCAAgF;AAAvE,sGAAA,YAAY,OAAA;AACrB,6BAAoE;AAA3D,gGAAA,SAAS,OAAA"}
@@ -0,0 +1,33 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import net from 'net';
4
+ import { EventEmitter } from 'eventemitter3';
5
+ import { InstanceStatus } from '../module-api/enums';
6
+ declare type TCPStatuses = InstanceStatus.Ok | InstanceStatus.Connecting | InstanceStatus.Disconnected | InstanceStatus.UnknownError;
7
+ export interface TCPHelperEvents {
8
+ error: [err: Error];
9
+ data: [msg: Buffer];
10
+ connect: [];
11
+ end: [];
12
+ drain: [];
13
+ status_change: [status: TCPStatuses, message: string | undefined];
14
+ }
15
+ export interface TCPHelperOptions {
16
+ /** default 2000 */
17
+ reconnect_interval?: number;
18
+ /** default true */
19
+ reconnect?: boolean;
20
+ }
21
+ export declare class TCPHelper extends EventEmitter<TCPHelperEvents> {
22
+ #private;
23
+ readonly _socket: net.Socket;
24
+ get isConnected(): boolean;
25
+ get isConnecting(): boolean;
26
+ get isDestroyed(): boolean;
27
+ constructor(host: string, port: number, options?: TCPHelperOptions);
28
+ connect(): boolean;
29
+ send(message: string | Buffer): Promise<boolean>;
30
+ destroy(): void;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=tcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp.d.ts","sourceRoot":"","sources":["../../src/helpers/tcp.ts"],"names":[],"mappings":";;AAiBA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,aAAK,WAAW,GACb,cAAc,CAAC,EAAE,GACjB,cAAc,CAAC,UAAU,GACzB,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,YAAY,CAAA;AAE9B,MAAM,WAAW,eAAe;IAE/B,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAEnB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAGnB,OAAO,EAAE,EAAE,CAAA;IAEX,GAAG,EAAE,EAAE,CAAA;IAEP,KAAK,EAAE,EAAE,CAAA;IAGT,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,gBAAgB;IAChC,mBAAmB;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,qBAAa,SAAU,SAAQ,YAAY,CAAC,eAAe,CAAC;;IAG3D,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAA;IAS5B,IAAI,WAAW,IAAI,OAAO,CAEzB;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAEW,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IA4DlE,OAAO,IAAI,OAAO;IAQZ,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BtD,OAAO,IAAI,IAAI;CAiCf"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /*
3
+ * This file is part of the Companion project
4
+ * Copyright (c) 2018 Bitfocus AS
5
+ * Authors: William Viker <william@bitfocus.io>, Håkon Nessjøen <haakon@bitfocus.io>
6
+ *
7
+ * This program is free software.
8
+ * You should have received a copy of the MIT licence as well as the Bitfocus
9
+ * Individual Contributor License Agreement for companion along with
10
+ * this program.
11
+ *
12
+ * You can be released from the requirements of the license by purchasing
13
+ * a commercial license. Buying such a license is mandatory as soon as you
14
+ * develop commercial activities involving the Companion software without
15
+ * disclosing the source code of your own applications.
16
+ *
17
+ */
18
+ var _TCPHelper_instances, _TCPHelper_host, _TCPHelper_port, _TCPHelper_options, _TCPHelper_connected, _TCPHelper_connecting, _TCPHelper_destroyed, _TCPHelper_lastStatus, _TCPHelper_reconnectTimer, _TCPHelper_queueReconnect, _TCPHelper_new_status;
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.TCPHelper = void 0;
21
+ const tslib_1 = require("tslib");
22
+ const net_1 = tslib_1.__importDefault(require("net"));
23
+ const eventemitter3_1 = require("eventemitter3");
24
+ const enums_1 = require("../module-api/enums");
25
+ class TCPHelper extends eventemitter3_1.EventEmitter {
26
+ constructor(host, port, options) {
27
+ super();
28
+ _TCPHelper_instances.add(this);
29
+ _TCPHelper_host.set(this, void 0);
30
+ _TCPHelper_port.set(this, void 0);
31
+ _TCPHelper_options.set(this, void 0);
32
+ _TCPHelper_connected.set(this, false);
33
+ _TCPHelper_connecting.set(this, false);
34
+ _TCPHelper_destroyed.set(this, false);
35
+ _TCPHelper_lastStatus.set(this, void 0);
36
+ _TCPHelper_reconnectTimer.set(this, void 0);
37
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_host, host, "f");
38
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_port, port, "f");
39
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_options, {
40
+ reconnect_interval: 2000,
41
+ reconnect: true,
42
+ ...options,
43
+ }, "f");
44
+ this._socket = new net_1.default.Socket();
45
+ this._socket.setKeepAlive(true);
46
+ this._socket.setNoDelay(true);
47
+ this._socket.on('error', (err) => {
48
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_connecting, false, "f");
49
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_connected, false, "f");
50
+ if (tslib_1.__classPrivateFieldGet(this, _TCPHelper_options, "f").reconnect) {
51
+ tslib_1.__classPrivateFieldGet(this, _TCPHelper_instances, "m", _TCPHelper_queueReconnect).call(this);
52
+ }
53
+ tslib_1.__classPrivateFieldGet(this, _TCPHelper_instances, "m", _TCPHelper_new_status).call(this, enums_1.InstanceStatus.UnknownError, err.message);
54
+ this.emit('error', err);
55
+ });
56
+ this._socket.on('ready', () => {
57
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_connected, true, "f");
58
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_connecting, false, "f");
59
+ tslib_1.__classPrivateFieldGet(this, _TCPHelper_instances, "m", _TCPHelper_new_status).call(this, enums_1.InstanceStatus.Ok);
60
+ this.emit('connect');
61
+ });
62
+ this._socket.on('end', () => {
63
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_connected, false, "f");
64
+ tslib_1.__classPrivateFieldGet(this, _TCPHelper_instances, "m", _TCPHelper_new_status).call(this, enums_1.InstanceStatus.Disconnected);
65
+ if (!tslib_1.__classPrivateFieldGet(this, _TCPHelper_connecting, "f") && tslib_1.__classPrivateFieldGet(this, _TCPHelper_options, "f").reconnect) {
66
+ tslib_1.__classPrivateFieldGet(this, _TCPHelper_instances, "m", _TCPHelper_queueReconnect).call(this);
67
+ }
68
+ this.emit('end');
69
+ });
70
+ this._socket.on('data', (data) => this.emit('data', data));
71
+ this._socket.on('drain', () => this.emit('drain'));
72
+ // Let caller install event handlers first
73
+ setImmediate(() => this.connect());
74
+ setTimeout(() => {
75
+ if (!tslib_1.__classPrivateFieldGet(this, _TCPHelper_destroyed, "f") && !this.listenerCount('error')) {
76
+ // The socket is active and has no listeners. Log an error for the module devs!
77
+ console.error(`Danger: TCP client for ${tslib_1.__classPrivateFieldGet(this, _TCPHelper_host, "f")}:${tslib_1.__classPrivateFieldGet(this, _TCPHelper_port, "f")} is missing an error handler!`);
78
+ }
79
+ }, 5000);
80
+ }
81
+ get isConnected() {
82
+ return tslib_1.__classPrivateFieldGet(this, _TCPHelper_connected, "f");
83
+ }
84
+ get isConnecting() {
85
+ return tslib_1.__classPrivateFieldGet(this, _TCPHelper_connecting, "f");
86
+ }
87
+ get isDestroyed() {
88
+ return tslib_1.__classPrivateFieldGet(this, _TCPHelper_destroyed, "f");
89
+ }
90
+ connect() {
91
+ if (tslib_1.__classPrivateFieldGet(this, _TCPHelper_destroyed, "f"))
92
+ throw new Error('Cannot connect destroyed socket');
93
+ if (tslib_1.__classPrivateFieldGet(this, _TCPHelper_connecting, "f"))
94
+ return false;
95
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_connecting, true, "f");
96
+ this._socket.connect(tslib_1.__classPrivateFieldGet(this, _TCPHelper_port, "f"), tslib_1.__classPrivateFieldGet(this, _TCPHelper_host, "f"));
97
+ return true;
98
+ }
99
+ async send(message) {
100
+ if (tslib_1.__classPrivateFieldGet(this, _TCPHelper_destroyed, "f") || this._socket.destroyed)
101
+ throw new Error('Cannot write to destroyed socket');
102
+ if (!message || !message.length)
103
+ throw new Error('No message to send');
104
+ if (!tslib_1.__classPrivateFieldGet(this, _TCPHelper_connected, "f")) {
105
+ return false;
106
+ }
107
+ try {
108
+ return new Promise((resolve, reject) => {
109
+ this._socket.write(message, (error) => {
110
+ if (error) {
111
+ reject(error);
112
+ return;
113
+ }
114
+ resolve(true);
115
+ });
116
+ });
117
+ }
118
+ catch (error) {
119
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_connected, false, "f");
120
+ const error2 = error instanceof Error ? error : new Error(`${error}`);
121
+ // Unhandeled socket error
122
+ tslib_1.__classPrivateFieldGet(this, _TCPHelper_instances, "m", _TCPHelper_new_status).call(this, enums_1.InstanceStatus.UnknownError, error2.message);
123
+ this.emit('error', error2);
124
+ throw error2;
125
+ }
126
+ }
127
+ destroy() {
128
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_destroyed, true, "f");
129
+ if (tslib_1.__classPrivateFieldGet(this, _TCPHelper_reconnectTimer, "f") !== undefined) {
130
+ clearTimeout(tslib_1.__classPrivateFieldGet(this, _TCPHelper_reconnectTimer, "f"));
131
+ }
132
+ this._socket.removeAllListeners();
133
+ this.removeAllListeners();
134
+ this._socket.destroy();
135
+ }
136
+ }
137
+ exports.TCPHelper = TCPHelper;
138
+ _TCPHelper_host = new WeakMap(), _TCPHelper_port = new WeakMap(), _TCPHelper_options = new WeakMap(), _TCPHelper_connected = new WeakMap(), _TCPHelper_connecting = new WeakMap(), _TCPHelper_destroyed = new WeakMap(), _TCPHelper_lastStatus = new WeakMap(), _TCPHelper_reconnectTimer = new WeakMap(), _TCPHelper_instances = new WeakSet(), _TCPHelper_queueReconnect = function _TCPHelper_queueReconnect() {
139
+ if (tslib_1.__classPrivateFieldGet(this, _TCPHelper_reconnectTimer, "f") !== undefined) {
140
+ clearTimeout(tslib_1.__classPrivateFieldGet(this, _TCPHelper_reconnectTimer, "f"));
141
+ }
142
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_reconnectTimer, setTimeout(() => {
143
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_reconnectTimer, undefined, "f");
144
+ tslib_1.__classPrivateFieldGet(this, _TCPHelper_instances, "m", _TCPHelper_new_status).call(this, enums_1.InstanceStatus.Connecting);
145
+ this.connect();
146
+ }, tslib_1.__classPrivateFieldGet(this, _TCPHelper_options, "f").reconnect_interval), "f");
147
+ }, _TCPHelper_new_status = function _TCPHelper_new_status(status, message) {
148
+ if (tslib_1.__classPrivateFieldGet(this, _TCPHelper_lastStatus, "f") != status) {
149
+ tslib_1.__classPrivateFieldSet(this, _TCPHelper_lastStatus, status, "f");
150
+ this.emit('status_change', status, message);
151
+ }
152
+ };
153
+ //# sourceMappingURL=tcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../src/helpers/tcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import EventEmitter from 'eventemitter3';
3
+ import { TCPHelperEvents, TCPHelperOptions } from './tcp';
4
+ export interface TelnetHelperEvents extends TCPHelperEvents {
5
+ sb: [Buffer];
6
+ iac: [string, number];
7
+ }
8
+ export declare type TelnetHelperOptions = TCPHelperOptions;
9
+ export declare class TelnetHelper extends EventEmitter<TelnetHelperEvents> {
10
+ #private;
11
+ get isConnected(): boolean;
12
+ get isConnecting(): boolean;
13
+ get isDestroyed(): boolean;
14
+ constructor(host: string, port: number, options?: TelnetHelperOptions);
15
+ connect(): boolean;
16
+ send(message: string | Buffer): Promise<boolean>;
17
+ destroy(): void;
18
+ }
19
+ //# sourceMappingURL=telnet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telnet.d.ts","sourceRoot":"","sources":["../../src/helpers/telnet.ts"],"names":[],"mappings":";AAiBA,OAAO,YAAY,MAAM,eAAe,CAAA;AAExC,OAAO,EAAa,eAAe,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAYpE,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;IACZ,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrB;AACD,oBAAY,mBAAmB,GAAG,gBAAgB,CAAA;AAElD,qBAAa,YAAa,SAAQ,YAAY,CAAC,kBAAkB,CAAC;;IAIjE,IAAI,WAAW,IAAI,OAAO,CAEzB;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAEW,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB;IA2BrE,OAAO,IAAI,OAAO;IAGlB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhD,OAAO,IAAI,IAAI;CAMf"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ /*
3
+ * This file is part of the Companion project
4
+ * Copyright (c) 2018 Bitfocus AS
5
+ * Authors: William Viker <william@bitfocus.io>, Håkon Nessjøen <haakon@bitfocus.io>
6
+ *
7
+ * This program is free software.
8
+ * You should have received a copy of the MIT licence as well as the Bitfocus
9
+ * Individual Contributor License Agreement for companion along with
10
+ * this program.
11
+ *
12
+ * You can be released from the requirements of the license by purchasing
13
+ * a commercial license. Buying such a license is mandatory as soon as you
14
+ * develop commercial activities involving the Companion software without
15
+ * disclosing the source code of your own applications.
16
+ *
17
+ */
18
+ var _TelnetHelper_tcp, _TelnetHelper_stream, _TelnetStream_instances, _TelnetStream_buffer, _TelnetStream_subbuffer, _TelnetStream_state, _TelnetStream_handleByte, _TelnetStream_getData;
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.TelnetHelper = void 0;
21
+ const tslib_1 = require("tslib");
22
+ const eventemitter3_1 = tslib_1.__importDefault(require("eventemitter3"));
23
+ const stream_1 = require("stream");
24
+ const tcp_1 = require("./tcp");
25
+ const NULL = 0;
26
+ const DATA = 0;
27
+ const SE = 240;
28
+ const SB = 250;
29
+ const WILL = 251;
30
+ const WONT = 252;
31
+ const DO = 253;
32
+ const DONT = 254;
33
+ const IAC = 255;
34
+ class TelnetHelper extends eventemitter3_1.default {
35
+ constructor(host, port, options) {
36
+ super();
37
+ _TelnetHelper_tcp.set(this, void 0);
38
+ _TelnetHelper_stream.set(this, void 0);
39
+ tslib_1.__classPrivateFieldSet(this, _TelnetHelper_tcp, new tcp_1.TCPHelper(host, port, options), "f");
40
+ tslib_1.__classPrivateFieldSet(this, _TelnetHelper_stream, new TelnetStream(), "f");
41
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f")._socket.pipe(tslib_1.__classPrivateFieldGet(this, _TelnetHelper_stream, "f"));
42
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").on('connect', () => this.emit('connect'));
43
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").on('end', () => this.emit('end'));
44
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").on('error', (error) => this.emit('error', error));
45
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").on('status_change', (status, message) => this.emit('status_change', status, message));
46
+ // Ignore drain and data, they go via the stream
47
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_stream, "f").on('iac', (a, b) => this.emit('iac', a, b));
48
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_stream, "f").on('sb', (buffer) => this.emit('sb', buffer));
49
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_stream, "f").on('data', (data) => this.emit('data', data));
50
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_stream, "f").on('drain', () => this.emit('drain'));
51
+ setTimeout(() => {
52
+ if (!this.isDestroyed && !this.listenerCount('error')) {
53
+ // The socket is active and has no listeners. Log an error for the module devs!
54
+ console.error(`Danger: Telnet client for ${host}:${port} is missing an error handler!`);
55
+ }
56
+ }, 5000);
57
+ }
58
+ get isConnected() {
59
+ return tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").isConnected;
60
+ }
61
+ get isConnecting() {
62
+ return tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").isConnecting;
63
+ }
64
+ get isDestroyed() {
65
+ return tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").isDestroyed;
66
+ }
67
+ connect() {
68
+ return tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").connect();
69
+ }
70
+ send(message) {
71
+ return tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").send(message);
72
+ }
73
+ destroy() {
74
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_tcp, "f").destroy();
75
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_stream, "f").removeAllListeners();
76
+ tslib_1.__classPrivateFieldGet(this, _TelnetHelper_stream, "f").destroy();
77
+ }
78
+ }
79
+ exports.TelnetHelper = TelnetHelper;
80
+ _TelnetHelper_tcp = new WeakMap(), _TelnetHelper_stream = new WeakMap();
81
+ /*
82
+ * TelnetStream
83
+ */
84
+ class TelnetStream extends stream_1.Transform {
85
+ constructor(options) {
86
+ super(options);
87
+ _TelnetStream_instances.add(this);
88
+ _TelnetStream_buffer.set(this, void 0);
89
+ _TelnetStream_subbuffer.set(this, void 0);
90
+ _TelnetStream_state.set(this, void 0);
91
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_buffer, Buffer.alloc(0), "f");
92
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_subbuffer, Buffer.alloc(0), "f");
93
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_state, DATA, "f");
94
+ }
95
+ _transform(obj, _encoding, callback) {
96
+ for (let i = 0; i < obj.length; ++i) {
97
+ tslib_1.__classPrivateFieldGet(this, _TelnetStream_instances, "m", _TelnetStream_handleByte).call(this, obj[i]);
98
+ }
99
+ const data = tslib_1.__classPrivateFieldGet(this, _TelnetStream_instances, "m", _TelnetStream_getData).call(this);
100
+ if (data.length) {
101
+ this.push(data);
102
+ }
103
+ callback();
104
+ }
105
+ }
106
+ _TelnetStream_buffer = new WeakMap(), _TelnetStream_subbuffer = new WeakMap(), _TelnetStream_state = new WeakMap(), _TelnetStream_instances = new WeakSet(), _TelnetStream_handleByte = function _TelnetStream_handleByte(byte) {
107
+ if (tslib_1.__classPrivateFieldGet(this, _TelnetStream_state, "f") === DATA) {
108
+ if (byte === IAC) {
109
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_state, IAC, "f");
110
+ return;
111
+ }
112
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_buffer, Buffer.concat([tslib_1.__classPrivateFieldGet(this, _TelnetStream_buffer, "f"), Buffer.from([byte])]), "f");
113
+ }
114
+ else if (tslib_1.__classPrivateFieldGet(this, _TelnetStream_state, "f") === IAC) {
115
+ switch (byte) {
116
+ case SB:
117
+ case WILL:
118
+ case WONT:
119
+ case DO:
120
+ case DONT:
121
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_state, byte, "f");
122
+ break;
123
+ default:
124
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_state, DATA, "f");
125
+ break;
126
+ }
127
+ }
128
+ else if (tslib_1.__classPrivateFieldGet(this, _TelnetStream_state, "f") >= WILL && tslib_1.__classPrivateFieldGet(this, _TelnetStream_state, "f") <= DONT) {
129
+ let iac = undefined;
130
+ switch (tslib_1.__classPrivateFieldGet(this, _TelnetStream_state, "f")) {
131
+ case WILL:
132
+ iac = 'WILL';
133
+ break;
134
+ case WONT:
135
+ iac = 'WONT';
136
+ break;
137
+ case DO:
138
+ iac = 'DO';
139
+ break;
140
+ case DONT:
141
+ iac = 'DONT';
142
+ break;
143
+ default:
144
+ // never hit
145
+ return;
146
+ }
147
+ this.emit('iac', iac, byte);
148
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_state, DATA, "f");
149
+ return;
150
+ }
151
+ else if (tslib_1.__classPrivateFieldGet(this, _TelnetStream_state, "f") === SB) {
152
+ if (byte === SE) {
153
+ this.emit('sb', tslib_1.__classPrivateFieldGet(this, _TelnetStream_subbuffer, "f"));
154
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_state, DATA, "f");
155
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_subbuffer, Buffer.alloc(0), "f");
156
+ return;
157
+ }
158
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_subbuffer, Buffer.concat([tslib_1.__classPrivateFieldGet(this, _TelnetStream_subbuffer, "f"), Buffer.from([byte])]), "f");
159
+ }
160
+ }, _TelnetStream_getData = function _TelnetStream_getData() {
161
+ const buff = tslib_1.__classPrivateFieldGet(this, _TelnetStream_buffer, "f");
162
+ tslib_1.__classPrivateFieldSet(this, _TelnetStream_buffer, Buffer.alloc(0), "f");
163
+ return buff;
164
+ };
165
+ //# sourceMappingURL=telnet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telnet.js","sourceRoot":"","sources":["../../src/helpers/telnet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'eventemitter3';
3
+ import { InstanceStatus } from '../module-api/enums';
4
+ declare type UDPStatuses = InstanceStatus.Ok | InstanceStatus.UnknownError;
5
+ export interface UDPHelperEvents {
6
+ error: [err: Error];
7
+ listening: [];
8
+ data: [msg: Buffer];
9
+ status_change: [status: UDPStatuses, message: string | undefined];
10
+ }
11
+ export interface UDPHelperOptions {
12
+ /** default: 0 */
13
+ bind_port?: number;
14
+ /** default: 0.0.0.0 */
15
+ bind_ip?: string;
16
+ /** default false */
17
+ broadcast?: boolean;
18
+ /** default 64 */
19
+ ttl?: number;
20
+ /** default 1 */
21
+ multicast_ttl?: number;
22
+ /** default undefined */
23
+ multicast_interface?: string;
24
+ }
25
+ export declare class UDPHelper extends EventEmitter<UDPHelperEvents> {
26
+ #private;
27
+ get isDestroyed(): boolean;
28
+ constructor(host: string, port: number, options?: UDPHelperOptions);
29
+ send(message: string | Buffer): Promise<void>;
30
+ destroy(): void;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=udp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udp.d.ts","sourceRoot":"","sources":["../../src/helpers/udp.ts"],"names":[],"mappings":";AAkBA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,aAAK,WAAW,GAAG,cAAc,CAAC,EAAE,GAAG,cAAc,CAAC,YAAY,CAAA;AAElE,MAAM,WAAW,eAAe;IAE/B,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAEnB,SAAS,EAAE,EAAE,CAAA;IAEb,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAGnB,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,gBAAgB;IAChC,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,wBAAwB;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,qBAAa,SAAU,SAAQ,YAAY,CAAC,eAAe,CAAC;;IAS3D,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAEW,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAgElE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7C,OAAO,IAAI,IAAI;CAef"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /*
3
+ * This file is part of the Companion project
4
+ * Copyright (c) 2018 Bitfocus AS
5
+ * Authors: William Viker <william@bitfocus.io>, Håkon Nessjøen <haakon@bitfocus.io>
6
+ *
7
+ * This program is free software.
8
+ * You should have received a copy of the MIT licence as well as the Bitfocus
9
+ * Individual Contributor License Agreement for companion along with
10
+ * this program.
11
+ *
12
+ * You can be released from the requirements of the license by purchasing
13
+ * a commercial license. Buying such a license is mandatory as soon as you
14
+ * develop commercial activities involving the Companion software without
15
+ * disclosing the source code of your own applications.
16
+ *
17
+ */
18
+ var _UDPHelper_instances, _UDPHelper_host, _UDPHelper_port, _UDPHelper_socket, _UDPHelper_options, _UDPHelper_destroyed, _UDPHelper_lastStatus, _UDPHelper_new_status;
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.UDPHelper = void 0;
21
+ const tslib_1 = require("tslib");
22
+ const dgram_1 = tslib_1.__importDefault(require("dgram"));
23
+ const eventemitter3_1 = require("eventemitter3");
24
+ const enums_1 = require("../module-api/enums");
25
+ class UDPHelper extends eventemitter3_1.EventEmitter {
26
+ constructor(host, port, options) {
27
+ super();
28
+ _UDPHelper_instances.add(this);
29
+ _UDPHelper_host.set(this, void 0);
30
+ _UDPHelper_port.set(this, void 0);
31
+ _UDPHelper_socket.set(this, void 0);
32
+ _UDPHelper_options.set(this, void 0);
33
+ _UDPHelper_destroyed.set(this, false);
34
+ _UDPHelper_lastStatus.set(this, void 0);
35
+ tslib_1.__classPrivateFieldSet(this, _UDPHelper_host, host, "f");
36
+ tslib_1.__classPrivateFieldSet(this, _UDPHelper_port, port, "f");
37
+ tslib_1.__classPrivateFieldSet(this, _UDPHelper_options, { ...options }, "f");
38
+ // this.bound = false
39
+ // this.pending_memberships = []
40
+ tslib_1.__classPrivateFieldSet(this, _UDPHelper_socket, dgram_1.default.createSocket('udp4'), "f");
41
+ if (tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").bind_port || tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").bind_ip) {
42
+ try {
43
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").bind(tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").bind_port || 0, tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").bind_ip);
44
+ }
45
+ catch (e) {
46
+ throw new Error(`Unable to bind to ip/port: ${tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").bind_ip}:${tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").bind_port}`);
47
+ }
48
+ }
49
+ if (tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").broadcast) {
50
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").setBroadcast(true);
51
+ }
52
+ if (tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").ttl !== undefined) {
53
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").setTTL(tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").ttl);
54
+ }
55
+ if (tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").multicast_ttl !== undefined) {
56
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").setMulticastTTL(tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").multicast_ttl);
57
+ }
58
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").on('error', (error) => {
59
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_instances, "m", _UDPHelper_new_status).call(this, enums_1.InstanceStatus.UnknownError, error.message);
60
+ this.emit('error', error);
61
+ });
62
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").on('listening', () => {
63
+ // this.bound = true
64
+ // if (this.pending_memberships.length) {
65
+ // while (this.pending_memberships.length > 0) {
66
+ // this.socket.addMembership(member.shift())
67
+ // }
68
+ // }
69
+ if (tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").multicast_interface) {
70
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").setMulticastInterface(tslib_1.__classPrivateFieldGet(this, _UDPHelper_options, "f").multicast_interface);
71
+ }
72
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_instances, "m", _UDPHelper_new_status).call(this, enums_1.InstanceStatus.Ok);
73
+ this.emit('listening');
74
+ });
75
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").on('message', (data) => this.emit('data', data));
76
+ setTimeout(() => {
77
+ if (!tslib_1.__classPrivateFieldGet(this, _UDPHelper_destroyed, "f") && !this.listenerCount('error')) {
78
+ // The socket is active and has no listeners. Log an error for the module devs!
79
+ console.error(`Danger: UDP socket for ${tslib_1.__classPrivateFieldGet(this, _UDPHelper_host, "f")}:${tslib_1.__classPrivateFieldGet(this, _UDPHelper_port, "f")} is missing an error handler!`);
80
+ }
81
+ }, 5000);
82
+ }
83
+ get isDestroyed() {
84
+ return tslib_1.__classPrivateFieldGet(this, _UDPHelper_destroyed, "f");
85
+ }
86
+ send(message) {
87
+ if (tslib_1.__classPrivateFieldGet(this, _UDPHelper_destroyed, "f"))
88
+ throw new Error('Cannot write to destroyed socket');
89
+ if (!message || !message.length)
90
+ throw new Error('No message to send');
91
+ return new Promise((resolve, reject) => {
92
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").send(message, tslib_1.__classPrivateFieldGet(this, _UDPHelper_port, "f"), tslib_1.__classPrivateFieldGet(this, _UDPHelper_host, "f"), (error) => {
93
+ if (error) {
94
+ reject(error);
95
+ return;
96
+ }
97
+ resolve();
98
+ });
99
+ });
100
+ }
101
+ // addMembership(member) {
102
+ // if (!this.bound) {
103
+ // this.pending_memberships.push(member)
104
+ // } else {
105
+ // this.socket.addMembership(member)
106
+ // }
107
+ // }
108
+ destroy() {
109
+ tslib_1.__classPrivateFieldSet(this, _UDPHelper_destroyed, true, "f");
110
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").removeAllListeners();
111
+ tslib_1.__classPrivateFieldGet(this, _UDPHelper_socket, "f").close();
112
+ this.removeAllListeners();
113
+ }
114
+ }
115
+ exports.UDPHelper = UDPHelper;
116
+ _UDPHelper_host = new WeakMap(), _UDPHelper_port = new WeakMap(), _UDPHelper_socket = new WeakMap(), _UDPHelper_options = new WeakMap(), _UDPHelper_destroyed = new WeakMap(), _UDPHelper_lastStatus = new WeakMap(), _UDPHelper_instances = new WeakSet(), _UDPHelper_new_status = function _UDPHelper_new_status(status, message) {
117
+ if (tslib_1.__classPrivateFieldGet(this, _UDPHelper_lastStatus, "f") != status) {
118
+ tslib_1.__classPrivateFieldSet(this, _UDPHelper_lastStatus, status, "f");
119
+ this.emit('status_change', status, message);
120
+ }
121
+ };
122
+ //# sourceMappingURL=udp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udp.js","sourceRoot":"","sources":["../../src/helpers/udp.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,6 @@ export * from './manifest.js';
2
2
  export * from './module-api/index.js';
3
3
  export * from './common/osc.js';
4
4
  export { literal, combineRgb, splitRgb, RgbComponents, assertNever } from './util.js';
5
+ export * from './helpers/index.js';
5
6
  export { runEntrypoint } from './entrypoint.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACrF,cAAc,oBAAoB,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "literal", { enumerable: true, get: function () {
10
10
  Object.defineProperty(exports, "combineRgb", { enumerable: true, get: function () { return util_js_1.combineRgb; } });
11
11
  Object.defineProperty(exports, "splitRgb", { enumerable: true, get: function () { return util_js_1.splitRgb; } });
12
12
  Object.defineProperty(exports, "assertNever", { enumerable: true, get: function () { return util_js_1.assertNever; } });
13
+ tslib_1.__exportStar(require("./helpers/index.js"), exports);
13
14
  var entrypoint_js_1 = require("./entrypoint.js");
14
15
  Object.defineProperty(exports, "runEntrypoint", { enumerable: true, get: function () { return entrypoint_js_1.runEntrypoint; } });
15
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,wDAA6B;AAC7B,gEAAqC;AACrC,0DAA+B;AAC/B,qCAAqF;AAA5E,kGAAA,OAAO,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAiB,sGAAA,WAAW,OAAA;AAElE,iDAA+C;AAAtC,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,wDAA6B;AAC7B,gEAAqC;AACrC,0DAA+B;AAC/B,qCAAqF;AAA5E,kGAAA,OAAO,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAiB,sGAAA,WAAW,OAAA;AAClE,6DAAkC;AAElC,iDAA+C;AAAtC,8GAAA,aAAa,OAAA"}
@@ -2,7 +2,6 @@ import { CompanionActionDefinitions } from './action.js';
2
2
  import { CompanionFeedbackDefinitions } from './feedback.js';
3
3
  import { CompanionPresetDefinitions } from './preset.js';
4
4
  import { InstanceStatus, LogLevel } from './enums.js';
5
- import { ActionInstance, FeedbackInstance } from '../host-api/api.js';
6
5
  import { InstanceBaseShared } from '../instance-base.js';
7
6
  import { CompanionVariableDefinition, CompanionVariableValue, CompanionVariableValues } from './variable.js';
8
7
  import { OSCSomeArguments } from '../common/osc.js';
@@ -102,18 +101,48 @@ export declare abstract class InstanceBase<TConfig> implements InstanceBaseShare
102
101
  * @param feedbackIds The ids of the feedback instances to check
103
102
  */
104
103
  checkFeedbacksById(...feedbackIds: string[]): void;
105
- /** @deprecated ? */
106
- _getAllActions(): ActionInstance[];
107
- /** @deprecated ? */
108
- _subscribeActions(actionId?: string): void;
109
- /** @deprecated ? */
110
- _unsubscribeActions(actionId?: string): void;
111
- /** @deprecated ? */
112
- _getAllFeedbacks(): FeedbackInstance[];
113
- /** @deprecated ? */
114
- _subscribeFeedbacks(feedbackId?: string): void;
115
- /** @deprecated ? */
116
- _unsubscribeFeedbacks(feedbackId?: string): void;
104
+ /** @deprecated */
105
+ _getAllActions(): {
106
+ id: string;
107
+ actionId: string;
108
+ controlId: string;
109
+ options: {
110
+ [key: string]: import("./input.js").InputValue | undefined;
111
+ };
112
+ }[];
113
+ /**
114
+ * Call subscribe on all currently known placed actions.
115
+ * It can be useful to trigger this upon establishing a connection, to ensure all data is loaded
116
+ * @param actionIds The actionIds to call subscribe for. If no values are provided, then all are called
117
+ */
118
+ subscribeActions(...actionIds: string[]): void;
119
+ /**
120
+ * Call unsubscribe on all currently known placed actions.
121
+ * It can be useful to do some cleanup upon a connection closing
122
+ * @param actionIds The actionIds to call subscribe for. If no values are provided, then all are called
123
+ */
124
+ unsubscribeActions(...actionIds: string[]): void;
125
+ /** @deprecated */
126
+ _getAllFeedbacks(): {
127
+ id: string;
128
+ feedbackId: string;
129
+ controlId: string;
130
+ options: {
131
+ [key: string]: import("./input.js").InputValue | undefined;
132
+ };
133
+ }[];
134
+ /**
135
+ * Call subscribe on all currently known placed feedbacks.
136
+ * It can be useful to trigger this upon establishing a connection, to ensure all data is loaded
137
+ * @param feedbackIds The feedbackIds to call subscribe for. If no values are provided, then all are called
138
+ */
139
+ subscribeFeedbacks(...feedbackIds: string[]): void;
140
+ /**
141
+ * Call unsubscribe on all currently known placed feedbacks.
142
+ * It can be useful to do some cleanup upon a connection closing
143
+ * @param feedbackIds The feedbackIds to call subscribe for. If no values are provided, then all are called
144
+ */
145
+ unsubscribeFeedbacks(...feedbackIds: string[]): void;
117
146
  /**
118
147
  * Send an osc message from the system osc sender
119
148
  * @param host destination ip address
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
@@ -493,15 +493,25 @@ class InstanceBase {
493
493
  });
494
494
  }
495
495
  }
496
- /** @deprecated ? */
496
+ /** @deprecated */
497
497
  _getAllActions() {
498
- return Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").values());
498
+ return Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").values()).map((act) => ({
499
+ id: act.id,
500
+ actionId: act.actionId,
501
+ controlId: act.controlId,
502
+ options: act.options,
503
+ }));
499
504
  }
500
- /** @deprecated ? */
501
- _subscribeActions(actionId) {
502
- let actions = this._getAllActions();
503
- if (actionId)
504
- actions = actions.filter((fb) => fb.actionId === actionId);
505
+ /**
506
+ * Call subscribe on all currently known placed actions.
507
+ * It can be useful to trigger this upon establishing a connection, to ensure all data is loaded
508
+ * @param actionIds The actionIds to call subscribe for. If no values are provided, then all are called
509
+ */
510
+ subscribeActions(...actionIds) {
511
+ let actions = Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").values());
512
+ const actionIdSet = new Set(actionIds);
513
+ if (actionIdSet.size)
514
+ actions = actions.filter((fb) => actionIdSet.has(fb.actionId));
505
515
  for (const act of actions) {
506
516
  const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(act.actionId);
507
517
  if (def && def.subscribe) {
@@ -514,11 +524,16 @@ class InstanceBase {
514
524
  }
515
525
  }
516
526
  }
517
- /** @deprecated ? */
518
- _unsubscribeActions(actionId) {
519
- let actions = this._getAllActions();
520
- if (actionId)
521
- actions = actions.filter((fb) => fb.actionId === actionId);
527
+ /**
528
+ * Call unsubscribe on all currently known placed actions.
529
+ * It can be useful to do some cleanup upon a connection closing
530
+ * @param actionIds The actionIds to call subscribe for. If no values are provided, then all are called
531
+ */
532
+ unsubscribeActions(...actionIds) {
533
+ let actions = Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").values());
534
+ const actionIdSet = new Set(actionIds);
535
+ if (actionIdSet.size)
536
+ actions = actions.filter((fb) => actionIdSet.has(fb.actionId));
522
537
  for (const act of actions) {
523
538
  const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(act.actionId);
524
539
  if (def && def.unsubscribe) {
@@ -531,15 +546,25 @@ class InstanceBase {
531
546
  }
532
547
  }
533
548
  }
534
- /** @deprecated ? */
549
+ /** @deprecated */
535
550
  _getAllFeedbacks() {
536
- return Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").values());
551
+ return Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").values()).map((fb) => ({
552
+ id: fb.id,
553
+ feedbackId: fb.feedbackId,
554
+ controlId: fb.controlId,
555
+ options: fb.options,
556
+ }));
537
557
  }
538
- /** @deprecated ? */
539
- _subscribeFeedbacks(feedbackId) {
540
- let feedbacks = this._getAllFeedbacks();
541
- if (feedbackId)
542
- feedbacks = feedbacks.filter((fb) => fb.feedbackId === feedbackId);
558
+ /**
559
+ * Call subscribe on all currently known placed feedbacks.
560
+ * It can be useful to trigger this upon establishing a connection, to ensure all data is loaded
561
+ * @param feedbackIds The feedbackIds to call subscribe for. If no values are provided, then all are called
562
+ */
563
+ subscribeFeedbacks(...feedbackIds) {
564
+ let feedbacks = Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").values());
565
+ const feedbackIdSet = new Set(feedbackIds);
566
+ if (feedbackIdSet.size)
567
+ feedbacks = feedbacks.filter((fb) => feedbackIdSet.has(fb.feedbackId));
543
568
  for (const fb of feedbacks) {
544
569
  const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(fb.feedbackId);
545
570
  if (def && def.subscribe) {
@@ -553,11 +578,16 @@ class InstanceBase {
553
578
  }
554
579
  }
555
580
  }
556
- /** @deprecated ? */
557
- _unsubscribeFeedbacks(feedbackId) {
558
- let feedbacks = this._getAllFeedbacks();
559
- if (feedbackId)
560
- feedbacks = feedbacks.filter((fb) => fb.feedbackId === feedbackId);
581
+ /**
582
+ * Call unsubscribe on all currently known placed feedbacks.
583
+ * It can be useful to do some cleanup upon a connection closing
584
+ * @param feedbackIds The feedbackIds to call subscribe for. If no values are provided, then all are called
585
+ */
586
+ unsubscribeFeedbacks(...feedbackIds) {
587
+ let feedbacks = Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").values());
588
+ const feedbackIdSet = new Set(feedbackIds);
589
+ if (feedbackIdSet.size)
590
+ feedbacks = feedbacks.filter((fb) => feedbackIdSet.has(fb.feedbackId));
561
591
  for (const fb of feedbacks) {
562
592
  const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(fb.feedbackId);
563
593
  if (def && def.unsubscribe) {
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,15 @@
2
2
  * All the possible status levels that an instance can use.
3
3
  * Note: When adding more, companion needs to be updated to know how they should be displayed
4
4
  */
5
- export declare type InstanceStatus = 'ok' | 'connecting' | 'disconnected' | 'connection_failure' | 'bad_config' | 'unknown_error' | 'unknown_warning';
5
+ export declare enum InstanceStatus {
6
+ Ok = "ok",
7
+ Connecting = "connecting",
8
+ Disconnected = "disconnected",
9
+ ConnectionFailure = "connection_failure",
10
+ BadConfig = "bad_config",
11
+ UnknownError = "unknown_error",
12
+ UnknwownWarning = "unknown_warning"
13
+ }
6
14
  export declare type LogLevel = 'info' | 'warn' | 'error' | 'debug';
7
15
  export declare namespace Regex {
8
16
  const IP = "/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/module-api/enums.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,cAAc,GACvB,IAAI,GACJ,YAAY,GACZ,cAAc,GACd,oBAAoB,GACpB,YAAY,GACZ,eAAe,GACf,iBAAiB,CAAA;AAEpB,oBAAY,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAE1D,yBAAiB,KAAK,CAAC;IAEf,MAAM,EAAE,mGAAmG,CAAA;IAC3G,MAAM,QAAQ,iHAC0F,CAAA;IACxG,MAAM,OAAO,0BAA0B,CAAA;IACvC,MAAM,IAAI,4LACyK,CAAA;IACnL,MAAM,OAAO,+BAA+B,CAAA;IAC5C,MAAM,KAAK,2BAA2B,CAAA;IACtC,MAAM,YAAY,gCAAgC,CAAA;IAClD,MAAM,YAAY,6BAA6B,CAAA;IAC/C,MAAM,MAAM,aAAa,CAAA;IACzB,MAAM,aAAa,kBAAkB,CAAA;IACrC,MAAM,SAAS,WAAW,CAAA;IAC1B,MAAM,QAAQ,uGACgF,CAAA;CACrG"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/module-api/enums.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,cAAc;IACzB,EAAE,OAAO;IACT,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,iBAAiB,uBAAuB;IACxC,SAAS,eAAe;IACxB,YAAY,kBAAkB;IAC9B,eAAe,oBAAoB;CACnC;AAED,oBAAY,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAE1D,yBAAiB,KAAK,CAAC;IAEf,MAAM,EAAE,mGAAmG,CAAA;IAC3G,MAAM,QAAQ,iHAC0F,CAAA;IACxG,MAAM,OAAO,0BAA0B,CAAA;IACvC,MAAM,IAAI,4LACyK,CAAA;IACnL,MAAM,OAAO,+BAA+B,CAAA;IAC5C,MAAM,KAAK,2BAA2B,CAAA;IACtC,MAAM,YAAY,gCAAgC,CAAA;IAClD,MAAM,YAAY,6BAA6B,CAAA;IAC/C,MAAM,MAAM,aAAa,CAAA;IACzB,MAAM,aAAa,kBAAkB,CAAA;IACrC,MAAM,SAAS,WAAW,CAAA;IAC1B,MAAM,QAAQ,uGACgF,CAAA;CACrG"}
@@ -1,6 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Regex = void 0;
3
+ exports.Regex = exports.InstanceStatus = void 0;
4
+ /**
5
+ * All the possible status levels that an instance can use.
6
+ * Note: When adding more, companion needs to be updated to know how they should be displayed
7
+ */
8
+ var InstanceStatus;
9
+ (function (InstanceStatus) {
10
+ InstanceStatus["Ok"] = "ok";
11
+ InstanceStatus["Connecting"] = "connecting";
12
+ InstanceStatus["Disconnected"] = "disconnected";
13
+ InstanceStatus["ConnectionFailure"] = "connection_failure";
14
+ InstanceStatus["BadConfig"] = "bad_config";
15
+ InstanceStatus["UnknownError"] = "unknown_error";
16
+ InstanceStatus["UnknwownWarning"] = "unknown_warning";
17
+ })(InstanceStatus = exports.InstanceStatus || (exports.InstanceStatus = {}));
4
18
  var Regex;
5
19
  (function (Regex) {
6
20
  // TODO - are all of these needed?
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/module-api/enums.ts"],"names":[],"mappings":";;;AAeA,IAAiB,KAAK,CAiBrB;AAjBD,WAAiB,KAAK;IACrB,kCAAkC;IACrB,QAAE,GAAG,gGAAgG,CAAA;IACrG,cAAQ,GACpB,8GAA8G,CAAA;IAClG,aAAO,GAAG,uBAAuB,CAAA;IACjC,UAAI,GAChB,yLAAyL,CAAA;IAC7K,aAAO,GAAG,4BAA4B,CAAA;IACtC,WAAK,GAAG,wBAAwB,CAAA;IAChC,kBAAY,GAAG,6BAA6B,CAAA;IAC5C,kBAAY,GAAG,0BAA0B,CAAA;IACzC,YAAM,GAAG,UAAU,CAAA;IACnB,mBAAa,GAAG,eAAe,CAAA;IAC/B,eAAS,GAAG,QAAQ,CAAA;IACpB,cAAQ,GACpB,oGAAoG,CAAA;AACtG,CAAC,EAjBgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAiBrB"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/module-api/enums.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,cAQX;AARD,WAAY,cAAc;IACzB,2BAAS,CAAA;IACT,2CAAyB,CAAA;IACzB,+CAA6B,CAAA;IAC7B,0DAAwC,CAAA;IACxC,0CAAwB,CAAA;IACxB,gDAA8B,CAAA;IAC9B,qDAAmC,CAAA;AACpC,CAAC,EARW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAQzB;AAID,IAAiB,KAAK,CAiBrB;AAjBD,WAAiB,KAAK;IACrB,kCAAkC;IACrB,QAAE,GAAG,gGAAgG,CAAA;IACrG,cAAQ,GACpB,8GAA8G,CAAA;IAClG,aAAO,GAAG,uBAAuB,CAAA;IACjC,UAAI,GAChB,yLAAyL,CAAA;IAC7K,aAAO,GAAG,4BAA4B,CAAA;IACtC,WAAK,GAAG,wBAAwB,CAAA;IAChC,kBAAY,GAAG,6BAA6B,CAAA;IAC5C,kBAAY,GAAG,0BAA0B,CAAA;IACzC,YAAM,GAAG,UAAU,CAAA;IACnB,mBAAa,GAAG,eAAe,CAAA;IAC/B,eAAS,GAAG,QAAQ,CAAA;IACpB,cAAQ,GACpB,oGAAoG,CAAA;AACtG,CAAC,EAjBgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAiBrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companion-module/base",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "commonjs",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -15,18 +15,19 @@
15
15
  "dist"
16
16
  ],
17
17
  "dependencies": {
18
- "@sentry/node": "^7.5.1",
19
- "@sentry/tracing": "^7.5.1",
18
+ "@sentry/node": "^7.12.1",
19
+ "@sentry/tracing": "^7.12.1",
20
+ "eventemitter3": "^4.0.7",
20
21
  "p-queue": "^6.6.2",
21
22
  "p-timeout": "^4.1.0",
22
- "socket.io-client": "^4.5.1",
23
+ "socket.io-client": "^4.5.2",
23
24
  "tslib": "^2.4.0"
24
25
  },
25
26
  "devDependencies": {
26
27
  "@tsconfig/node14": "^1.0.3",
27
- "@types/node": "^14",
28
+ "@types/node": "^14.18.26",
28
29
  "prettier": "^2.7.1",
29
- "typedoc": "^0.23.7",
30
- "typescript": "~4.7.4"
30
+ "typedoc": "^0.23.14",
31
+ "typescript": "~4.8.2"
31
32
  }
32
33
  }