@companion-module/base 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +14 -0
  3. package/dist/common/osc.d.ts +17 -0
  4. package/dist/common/osc.d.ts.map +1 -0
  5. package/dist/common/osc.js +7 -0
  6. package/dist/common/osc.js.map +1 -0
  7. package/dist/entrypoint.d.ts +12 -0
  8. package/dist/entrypoint.d.ts.map +1 -0
  9. package/dist/entrypoint.js +131 -0
  10. package/dist/entrypoint.js.map +1 -0
  11. package/dist/host-api/api.d.ts +212 -0
  12. package/dist/host-api/api.d.ts.map +1 -0
  13. package/dist/host-api/api.js +9 -0
  14. package/dist/host-api/api.js.map +1 -0
  15. package/dist/host-api/versions.d.ts +7 -0
  16. package/dist/host-api/versions.d.ts.map +1 -0
  17. package/dist/host-api/versions.js +5 -0
  18. package/dist/host-api/versions.js.map +1 -0
  19. package/dist/index.d.ts +6 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +15 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/instance-base.d.ts +12 -0
  24. package/dist/instance-base.d.ts.map +1 -0
  25. package/dist/instance-base.js +3 -0
  26. package/dist/instance-base.js.map +1 -0
  27. package/dist/internal/base.d.ts +24 -0
  28. package/dist/internal/base.d.ts.map +1 -0
  29. package/dist/internal/base.js +57 -0
  30. package/dist/internal/base.js.map +1 -0
  31. package/dist/internal/feedback.d.ts +5 -0
  32. package/dist/internal/feedback.d.ts.map +1 -0
  33. package/dist/internal/feedback.js +34 -0
  34. package/dist/internal/feedback.js.map +1 -0
  35. package/dist/internal/upgrade.d.ts +18 -0
  36. package/dist/internal/upgrade.d.ts.map +1 -0
  37. package/dist/internal/upgrade.js +126 -0
  38. package/dist/internal/upgrade.js.map +1 -0
  39. package/dist/manifest.d.ts +42 -0
  40. package/dist/manifest.d.ts.map +1 -0
  41. package/dist/manifest.js +9 -0
  42. package/dist/manifest.js.map +1 -0
  43. package/dist/module-api/action.d.ts +59 -0
  44. package/dist/module-api/action.d.ts.map +1 -0
  45. package/dist/module-api/action.js +3 -0
  46. package/dist/module-api/action.js.map +1 -0
  47. package/dist/module-api/base.d.ts +137 -0
  48. package/dist/module-api/base.d.ts.map +1 -0
  49. package/dist/module-api/base.js +613 -0
  50. package/dist/module-api/base.js.map +1 -0
  51. package/dist/module-api/config.d.ts +12 -0
  52. package/dist/module-api/config.d.ts.map +1 -0
  53. package/dist/module-api/config.js +3 -0
  54. package/dist/module-api/config.js.map +1 -0
  55. package/dist/module-api/enums.d.ts +21 -0
  56. package/dist/module-api/enums.d.ts.map +1 -0
  57. package/dist/module-api/enums.js +20 -0
  58. package/dist/module-api/enums.js.map +1 -0
  59. package/dist/module-api/feedback.d.ts +106 -0
  60. package/dist/module-api/feedback.d.ts.map +1 -0
  61. package/dist/module-api/feedback.js +3 -0
  62. package/dist/module-api/feedback.js.map +1 -0
  63. package/dist/module-api/http.d.ts +17 -0
  64. package/dist/module-api/http.d.ts.map +1 -0
  65. package/dist/module-api/http.js +3 -0
  66. package/dist/module-api/http.js.map +1 -0
  67. package/dist/module-api/index.d.ts +10 -0
  68. package/dist/module-api/index.d.ts.map +1 -0
  69. package/dist/module-api/index.js +13 -0
  70. package/dist/module-api/index.js.map +1 -0
  71. package/dist/module-api/input.d.ts +136 -0
  72. package/dist/module-api/input.d.ts.map +1 -0
  73. package/dist/module-api/input.js +3 -0
  74. package/dist/module-api/input.js.map +1 -0
  75. package/dist/module-api/preset.d.ts +102 -0
  76. package/dist/module-api/preset.d.ts.map +1 -0
  77. package/dist/module-api/preset.js +3 -0
  78. package/dist/module-api/preset.js.map +1 -0
  79. package/dist/module-api/style.d.ts +20 -0
  80. package/dist/module-api/style.d.ts.map +1 -0
  81. package/dist/module-api/style.js +3 -0
  82. package/dist/module-api/style.js.map +1 -0
  83. package/dist/module-api/upgrade.d.ts +95 -0
  84. package/dist/module-api/upgrade.d.ts.map +1 -0
  85. package/dist/module-api/upgrade.js +56 -0
  86. package/dist/module-api/upgrade.js.map +1 -0
  87. package/dist/module-api/variable.d.ts +18 -0
  88. package/dist/module-api/variable.d.ts.map +1 -0
  89. package/dist/module-api/variable.js +3 -0
  90. package/dist/module-api/variable.js.map +1 -0
  91. package/dist/util.d.ts +12 -0
  92. package/dist/util.d.ts.map +1 -0
  93. package/dist/util.js +37 -0
  94. package/dist/util.js.map +1 -0
  95. package/package.json +32 -0
@@ -0,0 +1,613 @@
1
+ "use strict";
2
+ var _InstanceBase_socket, _InstanceBase_upgradeScripts, _InstanceBase_lifecycleQueue, _InstanceBase_initialized, _InstanceBase_actionDefinitions, _InstanceBase_feedbackDefinitions, _InstanceBase_variableDefinitions, _InstanceBase_feedbackInstances, _InstanceBase_actionInstances, _InstanceBase_variableValues;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.InstanceBase = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const util_js_1 = require("../util.js");
7
+ const p_queue_1 = tslib_1.__importDefault(require("p-queue"));
8
+ const base_js_1 = require("../internal/base.js");
9
+ const upgrade_js_1 = require("../internal/upgrade.js");
10
+ const feedback_js_1 = require("../internal/feedback.js");
11
+ class InstanceBase {
12
+ /**
13
+ * Create an instance of the module.
14
+ */
15
+ constructor(internal) {
16
+ _InstanceBase_socket.set(this, void 0);
17
+ _InstanceBase_upgradeScripts.set(this, void 0);
18
+ _InstanceBase_lifecycleQueue.set(this, new p_queue_1.default({ concurrency: 1 }));
19
+ _InstanceBase_initialized.set(this, false);
20
+ _InstanceBase_actionDefinitions.set(this, new Map());
21
+ _InstanceBase_feedbackDefinitions.set(this, new Map());
22
+ _InstanceBase_variableDefinitions.set(this, new Map());
23
+ _InstanceBase_feedbackInstances.set(this, new Map());
24
+ _InstanceBase_actionInstances.set(this, new Map());
25
+ _InstanceBase_variableValues.set(this, new Map()
26
+ /**
27
+ * Create an instance of the module.
28
+ */
29
+ );
30
+ if (!(0, base_js_1.isInstanceBaseProps)(internal) || !internal.socket.connected)
31
+ throw new Error(`Module instance is being constructed incorrectly. Make sure you aren't trying to do this manually`);
32
+ tslib_1.__classPrivateFieldSet(this, _InstanceBase_socket, internal.socket, "f");
33
+ tslib_1.__classPrivateFieldSet(this, _InstanceBase_upgradeScripts, internal.upgradeScripts, "f");
34
+ this.id = internal.id;
35
+ // subscribe to socket events from host
36
+ (0, base_js_1.listenToEvents)(tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f"), {
37
+ init: this._handleInit.bind(this),
38
+ destroy: this._handleDestroy.bind(this),
39
+ updateConfig: this._handleConfigUpdate.bind(this),
40
+ executeAction: this._handleExecuteAction.bind(this),
41
+ updateFeedbacks: this._handleUpdateFeedbacks.bind(this),
42
+ updateActions: this._handleUpdateActions.bind(this),
43
+ getConfigFields: this._handleGetConfigFields.bind(this),
44
+ handleHttpRequest: this._handleHttpRequest.bind(this),
45
+ learnAction: this._handleLearnAction.bind(this),
46
+ learnFeedback: this._handleLearnFeedback.bind(this),
47
+ });
48
+ this.log('debug', 'Initializing');
49
+ }
50
+ async _socketEmit(name, msg) {
51
+ return new Promise((resolve, reject) => {
52
+ const innerCb = (err, res) => {
53
+ if (err)
54
+ reject(err);
55
+ else
56
+ resolve(res);
57
+ };
58
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f").emit(name, msg, innerCb);
59
+ });
60
+ }
61
+ async _handleInit(msg) {
62
+ return tslib_1.__classPrivateFieldGet(this, _InstanceBase_lifecycleQueue, "f").add(async () => {
63
+ if (tslib_1.__classPrivateFieldGet(this, _InstanceBase_initialized, "f"))
64
+ throw new Error('Already initialized');
65
+ const actions = msg.actions;
66
+ const feedbacks = msg.feedbacks;
67
+ /**
68
+ * Performing upgrades during init requires a fair chunk of work.
69
+ * Some actions/feedbacks will be using the upgradeIndex of the instance, but some may have their own upgradeIndex on themselves if they are from an import.
70
+ */
71
+ const { updatedActions, updatedFeedbacks, updatedConfig } = (0, upgrade_js_1.runThroughUpgradeScripts)(actions, feedbacks, msg.lastUpgradeIndex, tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f"), msg.config);
72
+ const config = (updatedConfig ?? msg.config);
73
+ // Send the upgraded data back to companion now. Just so that if the init crashes, this doesnt have to be repeated
74
+ const pSendUpgrade = this._socketEmit('upgradedItems', {
75
+ updatedActions,
76
+ updatedFeedbacks,
77
+ });
78
+ // Now we can initialise the module
79
+ try {
80
+ await this.init(config);
81
+ tslib_1.__classPrivateFieldSet(this, _InstanceBase_initialized, true, "f");
82
+ }
83
+ catch (e) {
84
+ console.trace(`Init failed: ${e}`);
85
+ throw e;
86
+ }
87
+ finally {
88
+ // Only now do we need to await the upgrade
89
+ await pSendUpgrade;
90
+ }
91
+ setImmediate(() => {
92
+ // Subscribe all of the actions and feedbacks
93
+ this._handleUpdateActions({ actions }, true);
94
+ this._handleUpdateFeedbacks({ feedbacks }, true);
95
+ });
96
+ return {
97
+ hasHttpHandler: typeof this.handleHttpRequest === 'function',
98
+ newUpgradeIndex: tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f").length,
99
+ updatedConfig: config,
100
+ };
101
+ });
102
+ }
103
+ async _handleDestroy() {
104
+ await tslib_1.__classPrivateFieldGet(this, _InstanceBase_lifecycleQueue, "f").add(async () => {
105
+ if (!tslib_1.__classPrivateFieldGet(this, _InstanceBase_initialized, "f"))
106
+ throw new Error('Not initialized');
107
+ await this.destroy();
108
+ tslib_1.__classPrivateFieldSet(this, _InstanceBase_initialized, false, "f");
109
+ });
110
+ }
111
+ async _handleConfigUpdate(config) {
112
+ await tslib_1.__classPrivateFieldGet(this, _InstanceBase_lifecycleQueue, "f").add(async () => {
113
+ if (!tslib_1.__classPrivateFieldGet(this, _InstanceBase_initialized, "f"))
114
+ throw new Error('Not initialized');
115
+ await this.configUpdated(config);
116
+ });
117
+ }
118
+ async _handleExecuteAction(msg) {
119
+ const actionDefinition = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(msg.action.actionId);
120
+ if (!actionDefinition)
121
+ throw new Error(`Unknown action: ${msg.action.actionId}`);
122
+ await actionDefinition.callback({
123
+ id: msg.action.id,
124
+ actionId: msg.action.actionId,
125
+ controlId: msg.action.controlId,
126
+ options: msg.action.options,
127
+ _deviceId: msg.deviceId,
128
+ _page: msg.action.page,
129
+ _bank: msg.action.bank,
130
+ });
131
+ }
132
+ async _handleUpdateFeedbacks(msg, skipUpgrades) {
133
+ const newValues = [];
134
+ // Run through upgrade scripts if needed
135
+ if (!skipUpgrades) {
136
+ (0, upgrade_js_1.runThroughUpgradeScripts)({}, msg.feedbacks, null, tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f"), undefined);
137
+ }
138
+ for (const [id, feedback] of Object.entries(msg.feedbacks)) {
139
+ const existing = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").get(id);
140
+ const feedbackId = existing?.feedbackId ?? feedback?.feedbackId;
141
+ const definition = feedbackId ? tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(feedbackId) : null;
142
+ if (existing) {
143
+ // Call unsubscribe
144
+ if (definition?.unsubscribe) {
145
+ try {
146
+ definition.unsubscribe((0, feedback_js_1.convertFeedbackInstanceToEvent)(definition.type, existing));
147
+ }
148
+ catch (e) {
149
+ console.error(`Feedback unsubscribe failed: ${JSON.stringify(existing)} - ${e?.message ?? e} ${e?.stack}`);
150
+ }
151
+ }
152
+ }
153
+ if (!feedback) {
154
+ // Deleted
155
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").delete(id);
156
+ }
157
+ else {
158
+ // TODO module-lib - deep freeze the feedback to avoid mutation?
159
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").set(id, feedback);
160
+ // Inserted or updated
161
+ if (definition?.subscribe) {
162
+ try {
163
+ definition.subscribe((0, feedback_js_1.convertFeedbackInstanceToEvent)(definition.type, feedback));
164
+ }
165
+ catch (e) {
166
+ console.error(`Feedback subscribe failed: ${JSON.stringify(feedback)} - ${e?.message ?? e} ${e?.stack}`);
167
+ }
168
+ }
169
+ // Calculate the new value for the feedback
170
+ if (definition) {
171
+ let value;
172
+ try {
173
+ value = (0, feedback_js_1.callFeedbackOnDefinition)(definition, feedback);
174
+ }
175
+ catch (e) {
176
+ console.error(`Feedback check failed: ${JSON.stringify(feedback)} - ${e?.message ?? e} ${e?.stack}`);
177
+ }
178
+ newValues.push({
179
+ id: id,
180
+ controlId: feedback.controlId,
181
+ value: value,
182
+ });
183
+ }
184
+ }
185
+ }
186
+ // Send the new values back
187
+ if (Object.keys(newValues).length > 0) {
188
+ await this._socketEmit('updateFeedbackValues', {
189
+ values: newValues,
190
+ });
191
+ }
192
+ }
193
+ async _handleUpdateActions(msg, skipUpgrades) {
194
+ // Run through upgrade scripts if needed
195
+ if (!skipUpgrades) {
196
+ // const pendingUpgrades = Object.values(msg.actions).filter((act) => typeof act?.upgradeIndex === 'number')
197
+ // if (pendingUpgrades.length > 0) {
198
+ // //
199
+ // }
200
+ (0, upgrade_js_1.runThroughUpgradeScripts)(msg.actions, {}, null, tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f"), undefined);
201
+ }
202
+ for (const [id, action] of Object.entries(msg.actions)) {
203
+ const existing = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").get(id);
204
+ const definition = existing && tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(existing.actionId);
205
+ if (existing) {
206
+ // Call unsubscribe
207
+ if (definition?.unsubscribe) {
208
+ try {
209
+ definition.unsubscribe(existing);
210
+ }
211
+ catch (e) {
212
+ console.error(`Action unsubscribe failed: ${JSON.stringify(existing)} - ${e?.message ?? e} ${e?.stack}`);
213
+ }
214
+ }
215
+ }
216
+ if (!action) {
217
+ // Deleted
218
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").delete(id);
219
+ }
220
+ else {
221
+ // TODO module-lib - deep freeze the action to avoid mutation?
222
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").set(id, action);
223
+ // Inserted or updated
224
+ if (definition?.subscribe) {
225
+ try {
226
+ definition.subscribe(action);
227
+ }
228
+ catch (e) {
229
+ console.error(`Action subscribe failed: ${JSON.stringify(action)} - ${e?.message ?? e} ${e?.stack}`);
230
+ }
231
+ }
232
+ }
233
+ }
234
+ }
235
+ async _handleGetConfigFields(_msg) {
236
+ return {
237
+ fields: (0, base_js_1.serializeIsVisibleFn)(this.getConfigFields()),
238
+ };
239
+ }
240
+ async _handleHttpRequest(msg) {
241
+ if (!this.handleHttpRequest)
242
+ throw new Error(`handleHttpRequest is not supported!`);
243
+ const res = await this.handleHttpRequest(msg.request);
244
+ return { response: res };
245
+ }
246
+ async _handleLearnAction(msg) {
247
+ const definition = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(msg.action.actionId);
248
+ if (definition && definition.learn) {
249
+ const newOptions = await definition.learn({
250
+ id: msg.action.id,
251
+ actionId: msg.action.actionId,
252
+ controlId: msg.action.controlId,
253
+ options: msg.action.options,
254
+ _deviceId: undefined,
255
+ _page: msg.action.page,
256
+ _bank: msg.action.bank,
257
+ });
258
+ return {
259
+ options: newOptions,
260
+ };
261
+ }
262
+ else {
263
+ // Not supported
264
+ return {
265
+ options: undefined,
266
+ };
267
+ }
268
+ }
269
+ async _handleLearnFeedback(msg) {
270
+ const definition = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(msg.feedback.feedbackId);
271
+ if (definition && definition.learn) {
272
+ const newOptions = await definition.learn({
273
+ id: msg.feedback.id,
274
+ feedbackId: msg.feedback.feedbackId,
275
+ controlId: msg.feedback.controlId,
276
+ options: msg.feedback.options,
277
+ type: definition.type,
278
+ });
279
+ return {
280
+ options: newOptions,
281
+ };
282
+ }
283
+ else {
284
+ // Not supported
285
+ return {
286
+ options: undefined,
287
+ };
288
+ }
289
+ }
290
+ /**
291
+ * Save an updated configuration object
292
+ * @param newConfig The new config object
293
+ */
294
+ async saveConfig(newConfig) {
295
+ return this._socketEmit('saveConfig', { config: newConfig });
296
+ }
297
+ /**
298
+ * Set the action definitions for this instance
299
+ * @param actions The action definitions
300
+ */
301
+ setActionDefinitions(actions) {
302
+ const hostActions = [];
303
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").clear();
304
+ for (const [actionId, action] of Object.entries(actions)) {
305
+ if (action) {
306
+ hostActions.push({
307
+ id: actionId,
308
+ name: action.name,
309
+ description: action.description,
310
+ options: (0, base_js_1.serializeIsVisibleFn)(action.options),
311
+ hasLearn: !!action.learn,
312
+ });
313
+ // Remember the definition locally
314
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").set(actionId, action);
315
+ }
316
+ }
317
+ return this._socketEmit('setActionDefinitions', { actions: hostActions });
318
+ }
319
+ /**
320
+ * Set the feedback definitions for this instance
321
+ * @param feedbacks The feedback definitions
322
+ */
323
+ setFeedbackDefinitions(feedbacks) {
324
+ const hostFeedbacks = [];
325
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").clear();
326
+ for (const [feedbackId, feedback] of Object.entries(feedbacks)) {
327
+ if (feedback) {
328
+ hostFeedbacks.push({
329
+ id: feedbackId,
330
+ name: feedback.name,
331
+ description: feedback.description,
332
+ options: (0, base_js_1.serializeIsVisibleFn)(feedback.options),
333
+ type: feedback.type,
334
+ defaultStyle: 'defaultStyle' in feedback ? feedback.defaultStyle : undefined,
335
+ hasLearn: !!feedback.learn,
336
+ });
337
+ // Remember the definition locally
338
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").set(feedbackId, feedback);
339
+ }
340
+ }
341
+ return this._socketEmit('setFeedbackDefinitions', { feedbacks: hostFeedbacks });
342
+ }
343
+ /**
344
+ * Set the peset definitions for this instance
345
+ * @param presets The preset definitions
346
+ */
347
+ setPresetDefinitions(presets) {
348
+ const hostPresets = [];
349
+ for (const [id, preset] of Object.entries(presets)) {
350
+ if (preset) {
351
+ hostPresets.push({
352
+ ...preset,
353
+ id,
354
+ });
355
+ }
356
+ }
357
+ return this._socketEmit('setPresetDefinitions', { presets: hostPresets });
358
+ }
359
+ /**
360
+ * Set the variable definitions for this instance
361
+ * @param variables The variable definitions
362
+ */
363
+ setVariableDefinitions(variables) {
364
+ const hostVariables = [];
365
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableDefinitions, "f").clear();
366
+ for (const variable of variables) {
367
+ hostVariables.push({
368
+ id: variable.variableId,
369
+ name: variable.name,
370
+ });
371
+ // Remember the definition locally
372
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableDefinitions, "f").set(variable.variableId, variable);
373
+ if (!tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").has(variable.variableId)) {
374
+ // Give us a local cached value of something
375
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").set(variable.variableId, '');
376
+ }
377
+ }
378
+ const validIds = new Set(tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableDefinitions, "f").keys());
379
+ for (const id of tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").keys()) {
380
+ if (!validIds.has(id)) {
381
+ // Delete any local cached value
382
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").delete(id);
383
+ }
384
+ }
385
+ return this._socketEmit('setVariableDefinitions', { variables: hostVariables });
386
+ }
387
+ /**
388
+ * Set the values of some variables
389
+ * @param values The new values for the variables
390
+ */
391
+ setVariableValues(values) {
392
+ const hostValues = [];
393
+ for (const [variableId, value] of Object.entries(values)) {
394
+ if (tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableDefinitions, "f").has(variableId)) {
395
+ // update the cached value
396
+ tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").set(variableId, value ?? '');
397
+ hostValues.push({
398
+ id: variableId,
399
+ value: value ?? '',
400
+ });
401
+ }
402
+ else {
403
+ // tell companion to delete the value
404
+ hostValues.push({
405
+ id: variableId,
406
+ value: undefined,
407
+ });
408
+ }
409
+ }
410
+ return this._socketEmit('setVariableValues', { newValues: hostValues });
411
+ }
412
+ /**
413
+ * Get the last set value of a variable from this connection
414
+ * @param variableId id of the variable
415
+ * @returns The value
416
+ */
417
+ getVariableValue(variableId) {
418
+ return tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").get(variableId);
419
+ }
420
+ /**
421
+ * Parse and replace all the variables in a string
422
+ * @param text The text to parse
423
+ * @returns The string with variables replaced with their values
424
+ */
425
+ async parseVariablesInString(text) {
426
+ const res = await this._socketEmit('parseVariablesInString', { text: text });
427
+ return res.text;
428
+ }
429
+ /**
430
+ * Request all feedbacks of the specified types to be checked for changes
431
+ * @param feedbackTypes The feedback types to check
432
+ */
433
+ async checkFeedbacks(...feedbackTypes) {
434
+ const newValues = [];
435
+ const types = new Set(feedbackTypes);
436
+ for (const [id, feedback] of tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").entries()) {
437
+ const definition = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(feedback.feedbackId);
438
+ if (definition) {
439
+ if (types.size > 0 && !types.has(feedback.feedbackId)) {
440
+ // Not to be considered
441
+ continue;
442
+ }
443
+ try {
444
+ // Calculate the new value for the feedback
445
+ newValues.push({
446
+ id: id,
447
+ controlId: feedback.controlId,
448
+ value: (0, feedback_js_1.callFeedbackOnDefinition)(definition, feedback),
449
+ });
450
+ }
451
+ catch (e) {
452
+ console.error(`Feedback check failed: ${JSON.stringify(feedback)} - ${e?.message ?? e} ${e?.stack}`);
453
+ }
454
+ }
455
+ }
456
+ // Send the new values back
457
+ if (Object.keys(newValues).length > 0) {
458
+ await this._socketEmit('updateFeedbackValues', {
459
+ values: newValues,
460
+ });
461
+ }
462
+ }
463
+ /**
464
+ * Request the specified feedback instances to be checked for changes
465
+ * @param feedbackIds The ids of the feedback instances to check
466
+ */
467
+ async checkFeedbacksById(...feedbackIds) {
468
+ const newValues = [];
469
+ for (const id of feedbackIds) {
470
+ const feedback = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").get(id);
471
+ const definition = feedback && tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(feedback.feedbackId);
472
+ if (feedback && definition) {
473
+ try {
474
+ // Calculate the new value for the feedback
475
+ newValues.push({
476
+ id: id,
477
+ controlId: feedback.controlId,
478
+ value: (0, feedback_js_1.callFeedbackOnDefinition)(definition, feedback),
479
+ });
480
+ }
481
+ catch (e) {
482
+ console.error(`Feedback check failed: ${JSON.stringify(feedback)} - ${e?.message ?? e} ${e?.stack}`);
483
+ }
484
+ }
485
+ }
486
+ // Send the new values back
487
+ if (Object.keys(newValues).length > 0) {
488
+ await this._socketEmit('updateFeedbackValues', {
489
+ values: newValues,
490
+ });
491
+ }
492
+ }
493
+ /** @deprecated ? */
494
+ _getAllActions() {
495
+ return Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").values());
496
+ }
497
+ /** @deprecated ? */
498
+ _subscribeActions(actionId) {
499
+ let actions = this._getAllActions();
500
+ if (actionId)
501
+ actions = actions.filter((fb) => fb.actionId === actionId);
502
+ for (const act of actions) {
503
+ const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(act.actionId);
504
+ if (def && def.subscribe) {
505
+ def.subscribe({
506
+ id: act.id,
507
+ actionId: act.actionId,
508
+ controlId: act.controlId,
509
+ options: act.options,
510
+ });
511
+ }
512
+ }
513
+ }
514
+ /** @deprecated ? */
515
+ _unsubscribeActions(actionId) {
516
+ let actions = this._getAllActions();
517
+ if (actionId)
518
+ actions = actions.filter((fb) => fb.actionId === actionId);
519
+ for (const act of actions) {
520
+ const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(act.actionId);
521
+ if (def && def.unsubscribe) {
522
+ def.unsubscribe({
523
+ id: act.id,
524
+ actionId: act.actionId,
525
+ controlId: act.controlId,
526
+ options: act.options,
527
+ });
528
+ }
529
+ }
530
+ }
531
+ /** @deprecated ? */
532
+ _getAllFeedbacks() {
533
+ return Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").values());
534
+ }
535
+ /** @deprecated ? */
536
+ _subscribeFeedbacks(feedbackId) {
537
+ let feedbacks = this._getAllFeedbacks();
538
+ if (feedbackId)
539
+ feedbacks = feedbacks.filter((fb) => fb.feedbackId === feedbackId);
540
+ for (const fb of feedbacks) {
541
+ const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(fb.feedbackId);
542
+ if (def && def.subscribe) {
543
+ def.subscribe({
544
+ type: def.type,
545
+ id: fb.id,
546
+ feedbackId: fb.feedbackId,
547
+ controlId: fb.controlId,
548
+ options: fb.options,
549
+ });
550
+ }
551
+ }
552
+ }
553
+ /** @deprecated ? */
554
+ _unsubscribeFeedbacks(feedbackId) {
555
+ let feedbacks = this._getAllFeedbacks();
556
+ if (feedbackId)
557
+ feedbacks = feedbacks.filter((fb) => fb.feedbackId === feedbackId);
558
+ for (const fb of feedbacks) {
559
+ const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(fb.feedbackId);
560
+ if (def && def.unsubscribe) {
561
+ def.unsubscribe({
562
+ type: def.type,
563
+ id: fb.id,
564
+ feedbackId: fb.feedbackId,
565
+ controlId: fb.controlId,
566
+ options: fb.options,
567
+ });
568
+ }
569
+ }
570
+ }
571
+ /**
572
+ * Send an osc message from the system osc sender
573
+ * @param host destination ip address
574
+ * @param port destination port number
575
+ * @param path message path
576
+ * @param args mesage arguments
577
+ */
578
+ async oscSend(host, port, path, args) {
579
+ return this._socketEmit('send-osc', (0, util_js_1.literal)({
580
+ host,
581
+ port,
582
+ path,
583
+ args,
584
+ }));
585
+ }
586
+ /**
587
+ * Update the status of this connection
588
+ * @param status The status level
589
+ * @param message Additional information about the status
590
+ */
591
+ async updateStatus(status, message) {
592
+ this._socketEmit('set-status', (0, util_js_1.literal)({
593
+ status,
594
+ message: message ?? null,
595
+ }));
596
+ }
597
+ /**
598
+ * Write a line to the log
599
+ * @param level The level of the message
600
+ * @param message The message text to write
601
+ */
602
+ log(level, message) {
603
+ this._socketEmit('log-message', (0, util_js_1.literal)({
604
+ level,
605
+ message,
606
+ })).catch((e) => {
607
+ console.error(`log failed: ${e}`);
608
+ });
609
+ }
610
+ }
611
+ exports.InstanceBase = InstanceBase;
612
+ _InstanceBase_socket = new WeakMap(), _InstanceBase_upgradeScripts = new WeakMap(), _InstanceBase_lifecycleQueue = new WeakMap(), _InstanceBase_initialized = new WeakMap(), _InstanceBase_actionDefinitions = new WeakMap(), _InstanceBase_feedbackDefinitions = new WeakMap(), _InstanceBase_variableDefinitions = new WeakMap(), _InstanceBase_feedbackInstances = new WeakMap(), _InstanceBase_actionInstances = new WeakMap(), _InstanceBase_variableValues = new WeakMap();
613
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { CompanionInputFieldBase, SomeCompanionInputField } from './input.js';
2
+ /**
3
+ * A configuration input field
4
+ */
5
+ export interface CompanionConfigField extends CompanionInputFieldBase {
6
+ width: number;
7
+ }
8
+ /**
9
+ * Some configuration input field
10
+ */
11
+ export declare type SomeCompanionConfigField = SomeCompanionInputField & CompanionConfigField;
12
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/module-api/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAE7E;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACpE,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,oBAAY,wBAAwB,GAAG,uBAAuB,GAAG,oBAAoB,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/module-api/config.ts"],"names":[],"mappings":""}