@zaber/motion 6.2.1 → 6.4.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.
Files changed (68) hide show
  1. package/dist/binding/wasm/zaber-motion-lib.wasm +0 -0
  2. package/dist/lib/ascii/device_io.d.ts +72 -72
  3. package/dist/lib/ascii/device_io.d.ts.map +1 -1
  4. package/dist/lib/ascii/device_io.js +176 -176
  5. package/dist/lib/ascii/device_io.js.map +1 -1
  6. package/dist/lib/ascii/index.d.ts +2 -0
  7. package/dist/lib/ascii/index.d.ts.map +1 -1
  8. package/dist/lib/ascii/index.js +2 -0
  9. package/dist/lib/ascii/index.js.map +1 -1
  10. package/dist/lib/ascii/pvt_io.d.ts +100 -0
  11. package/dist/lib/ascii/pvt_io.d.ts.map +1 -0
  12. package/dist/lib/ascii/pvt_io.js +318 -0
  13. package/dist/lib/ascii/pvt_io.js.map +1 -0
  14. package/dist/lib/ascii/pvt_sequence.d.ts +36 -24
  15. package/dist/lib/ascii/pvt_sequence.d.ts.map +1 -1
  16. package/dist/lib/ascii/pvt_sequence.js +92 -78
  17. package/dist/lib/ascii/pvt_sequence.js.map +1 -1
  18. package/dist/lib/ascii/stream.d.ts +55 -39
  19. package/dist/lib/ascii/stream.d.ts.map +1 -1
  20. package/dist/lib/ascii/stream.js +134 -116
  21. package/dist/lib/ascii/stream.js.map +1 -1
  22. package/dist/lib/ascii/stream_io.d.ts +115 -0
  23. package/dist/lib/ascii/stream_io.d.ts.map +1 -0
  24. package/dist/lib/ascii/stream_io.js +348 -0
  25. package/dist/lib/ascii/stream_io.js.map +1 -0
  26. package/dist/lib/ascii/trigger.d.ts +11 -0
  27. package/dist/lib/ascii/trigger.d.ts.map +1 -1
  28. package/dist/lib/ascii/trigger.js +35 -0
  29. package/dist/lib/ascii/trigger.js.map +1 -1
  30. package/dist/lib/ascii/triggers.d.ts +5 -0
  31. package/dist/lib/ascii/triggers.d.ts.map +1 -1
  32. package/dist/lib/ascii/triggers.js +16 -0
  33. package/dist/lib/ascii/triggers.js.map +1 -1
  34. package/dist/lib/library.js +1 -1
  35. package/dist/lib/library.js.map +1 -1
  36. package/dist/lib/requests/index.d.ts +7 -0
  37. package/dist/lib/requests/index.d.ts.map +1 -1
  38. package/dist/lib/requests/index.js +7 -0
  39. package/dist/lib/requests/index.js.map +1 -1
  40. package/dist/lib/requests/stream_cancel_all_outputs_schedule_request.d.ts +15 -0
  41. package/dist/lib/requests/stream_cancel_all_outputs_schedule_request.d.ts.map +1 -0
  42. package/dist/lib/requests/stream_cancel_all_outputs_schedule_request.js +36 -0
  43. package/dist/lib/requests/stream_cancel_all_outputs_schedule_request.js.map +1 -0
  44. package/dist/lib/requests/stream_cancel_output_schedule_request.d.ts +15 -0
  45. package/dist/lib/requests/stream_cancel_output_schedule_request.d.ts.map +1 -0
  46. package/dist/lib/requests/stream_cancel_output_schedule_request.js +35 -0
  47. package/dist/lib/requests/stream_cancel_output_schedule_request.js.map +1 -0
  48. package/dist/lib/requests/stream_set_all_analog_outputs_schedule_request.d.ts +18 -0
  49. package/dist/lib/requests/stream_set_all_analog_outputs_schedule_request.d.ts.map +1 -0
  50. package/dist/lib/requests/stream_set_all_analog_outputs_schedule_request.js +41 -0
  51. package/dist/lib/requests/stream_set_all_analog_outputs_schedule_request.js.map +1 -0
  52. package/dist/lib/requests/stream_set_all_digital_outputs_schedule_request.d.ts +19 -0
  53. package/dist/lib/requests/stream_set_all_digital_outputs_schedule_request.d.ts.map +1 -0
  54. package/dist/lib/requests/stream_set_all_digital_outputs_schedule_request.js +42 -0
  55. package/dist/lib/requests/stream_set_all_digital_outputs_schedule_request.js.map +1 -0
  56. package/dist/lib/requests/stream_set_analog_output_schedule_request.d.ts +19 -0
  57. package/dist/lib/requests/stream_set_analog_output_schedule_request.d.ts.map +1 -0
  58. package/dist/lib/requests/stream_set_analog_output_schedule_request.js +42 -0
  59. package/dist/lib/requests/stream_set_analog_output_schedule_request.js.map +1 -0
  60. package/dist/lib/requests/stream_set_digital_output_schedule_request.d.ts +20 -0
  61. package/dist/lib/requests/stream_set_digital_output_schedule_request.d.ts.map +1 -0
  62. package/dist/lib/requests/stream_set_digital_output_schedule_request.js +43 -0
  63. package/dist/lib/requests/stream_set_digital_output_schedule_request.js.map +1 -0
  64. package/dist/lib/requests/trigger_set_label_request.d.ts +13 -0
  65. package/dist/lib/requests/trigger_set_label_request.d.ts.map +1 -0
  66. package/dist/lib/requests/trigger_set_label_request.js +31 -0
  67. package/dist/lib/requests/trigger_set_label_request.js.map +1 -0
  68. package/package.json +1 -1
@@ -0,0 +1,348 @@
1
+ "use strict";
2
+ // ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //
3
+ // ============= DO NOT EDIT DIRECTLY ============= //
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.StreamIo = void 0;
29
+ const units_1 = require("../units");
30
+ const gateway = __importStar(require("../gateway"));
31
+ const requests = __importStar(require("../requests"));
32
+ /**
33
+ * Class providing access to I/O for a stream.
34
+ */
35
+ class StreamIo {
36
+ constructor(device, streamId) {
37
+ this._device = device;
38
+ this._streamId = streamId;
39
+ }
40
+ /**
41
+ * Sets value for the specified digital output channel.
42
+ * @param channelNumber Channel number starting at 1.
43
+ * @param value The type of action to perform on the channel.
44
+ */
45
+ async setDigitalOutput(channelNumber, value) {
46
+ const request = {
47
+ ...requests.StreamSetDigitalOutputRequest.DEFAULT,
48
+ interfaceId: this._device.connection.interfaceId,
49
+ device: this._device.deviceAddress,
50
+ streamId: this._streamId,
51
+ channelNumber: channelNumber,
52
+ value: value,
53
+ toBinary() {
54
+ return requests.StreamSetDigitalOutputRequest.toBinary(this);
55
+ },
56
+ };
57
+ await gateway.callAsync('device/stream_set_digital_output', request);
58
+ }
59
+ /**
60
+ * Sets values for all digital output channels.
61
+ * @param values The type of action to perform on the channel.
62
+ */
63
+ async setAllDigitalOutputs(values) {
64
+ const request = {
65
+ ...requests.StreamSetAllDigitalOutputsRequest.DEFAULT,
66
+ interfaceId: this._device.connection.interfaceId,
67
+ device: this._device.deviceAddress,
68
+ streamId: this._streamId,
69
+ values: values,
70
+ toBinary() {
71
+ return requests.StreamSetAllDigitalOutputsRequest.toBinary(this);
72
+ },
73
+ };
74
+ await gateway.callAsync('device/stream_set_all_digital_outputs', request);
75
+ }
76
+ /**
77
+ * Sets current and future value for the specified digital output channel.
78
+ * Requires at least Firmware 7.37.
79
+ * @param channelNumber Channel number starting at 1.
80
+ * @param value The type of action to perform immediately on the channel.
81
+ * @param futureValue The type of action to perform in the future on the channel.
82
+ * @param delay Delay between setting current value and setting future value.
83
+ * @param [unit=Units.NATIVE] Units of time.
84
+ */
85
+ async setDigitalOutputSchedule(channelNumber, value, futureValue, delay, unit = units_1.Units.NATIVE) {
86
+ if (delay <= 0) {
87
+ throw new TypeError('Delay must be a positive value.');
88
+ }
89
+ const request = {
90
+ ...requests.StreamSetDigitalOutputScheduleRequest.DEFAULT,
91
+ interfaceId: this._device.connection.interfaceId,
92
+ device: this._device.deviceAddress,
93
+ streamId: this._streamId,
94
+ channelNumber: channelNumber,
95
+ value: value,
96
+ futureValue: futureValue,
97
+ delay: delay,
98
+ unit: unit,
99
+ toBinary() {
100
+ return requests.StreamSetDigitalOutputScheduleRequest.toBinary(this);
101
+ },
102
+ };
103
+ await gateway.callAsync('device/stream_set_digital_output_schedule', request);
104
+ }
105
+ /**
106
+ * Sets current and future values for all digital output channels.
107
+ * Requires at least Firmware 7.37.
108
+ * @param values The type of actions to perform immediately on output channels.
109
+ * @param futureValues The type of actions to perform in the future on output channels.
110
+ * @param delay Delay between setting current values and setting future values.
111
+ * @param [unit=Units.NATIVE] Units of time.
112
+ */
113
+ async setAllDigitalOutputsSchedule(values, futureValues, delay, unit = units_1.Units.NATIVE) {
114
+ if (delay <= 0) {
115
+ throw new TypeError('Delay must be a positive value.');
116
+ }
117
+ const request = {
118
+ ...requests.StreamSetAllDigitalOutputsScheduleRequest.DEFAULT,
119
+ interfaceId: this._device.connection.interfaceId,
120
+ device: this._device.deviceAddress,
121
+ streamId: this._streamId,
122
+ values: values,
123
+ futureValues: futureValues,
124
+ delay: delay,
125
+ unit: unit,
126
+ toBinary() {
127
+ return requests.StreamSetAllDigitalOutputsScheduleRequest.toBinary(this);
128
+ },
129
+ };
130
+ await gateway.callAsync('device/stream_set_all_digital_outputs_schedule', request);
131
+ }
132
+ /**
133
+ * Sets value for the specified analog output channel.
134
+ * @param channelNumber Channel number starting at 1.
135
+ * @param value Value to set the output channel voltage to.
136
+ */
137
+ async setAnalogOutput(channelNumber, value) {
138
+ const request = {
139
+ ...requests.StreamSetAnalogOutputRequest.DEFAULT,
140
+ interfaceId: this._device.connection.interfaceId,
141
+ device: this._device.deviceAddress,
142
+ streamId: this._streamId,
143
+ channelNumber: channelNumber,
144
+ value: value,
145
+ toBinary() {
146
+ return requests.StreamSetAnalogOutputRequest.toBinary(this);
147
+ },
148
+ };
149
+ await gateway.callAsync('device/stream_set_analog_output', request);
150
+ }
151
+ /**
152
+ * Sets values for all analog output channels.
153
+ * @param values Voltage values to set the output channels to.
154
+ */
155
+ async setAllAnalogOutputs(values) {
156
+ const request = {
157
+ ...requests.StreamSetAllAnalogOutputsRequest.DEFAULT,
158
+ interfaceId: this._device.connection.interfaceId,
159
+ device: this._device.deviceAddress,
160
+ streamId: this._streamId,
161
+ values: values,
162
+ toBinary() {
163
+ return requests.StreamSetAllAnalogOutputsRequest.toBinary(this);
164
+ },
165
+ };
166
+ await gateway.callAsync('device/stream_set_all_analog_outputs', request);
167
+ }
168
+ /**
169
+ * Sets current and future value for the specified analog output channel.
170
+ * Requires at least Firmware 7.38.
171
+ * @param channelNumber Channel number starting at 1.
172
+ * @param value Value to set the output channel voltage to immediately.
173
+ * @param futureValue Value to set the output channel voltage to in the future.
174
+ * @param delay Delay between setting current value and setting future value.
175
+ * @param [unit=Units.NATIVE] Units of time.
176
+ */
177
+ async setAnalogOutputSchedule(channelNumber, value, futureValue, delay, unit = units_1.Units.NATIVE) {
178
+ if (delay <= 0) {
179
+ throw new TypeError('Delay must be a positive value.');
180
+ }
181
+ const request = {
182
+ ...requests.StreamSetAnalogOutputScheduleRequest.DEFAULT,
183
+ interfaceId: this._device.connection.interfaceId,
184
+ device: this._device.deviceAddress,
185
+ streamId: this._streamId,
186
+ channelNumber: channelNumber,
187
+ value: value,
188
+ futureValue: futureValue,
189
+ delay: delay,
190
+ unit: unit,
191
+ toBinary() {
192
+ return requests.StreamSetAnalogOutputScheduleRequest.toBinary(this);
193
+ },
194
+ };
195
+ await gateway.callAsync('device/stream_set_analog_output_schedule', request);
196
+ }
197
+ /**
198
+ * Sets current and future values for all analog output channels.
199
+ * Requires at least Firmware 7.38.
200
+ * @param values Voltage values to set the output channels to immediately.
201
+ * @param futureValues Voltage values to set the output channels to in the future.
202
+ * @param delay Delay between setting current values and setting future values.
203
+ * @param [unit=Units.NATIVE] Units of time.
204
+ */
205
+ async setAllAnalogOutputsSchedule(values, futureValues, delay, unit = units_1.Units.NATIVE) {
206
+ if (delay <= 0) {
207
+ throw new TypeError('Delay must be a positive value.');
208
+ }
209
+ const request = {
210
+ ...requests.StreamSetAllAnalogOutputsScheduleRequest.DEFAULT,
211
+ interfaceId: this._device.connection.interfaceId,
212
+ device: this._device.deviceAddress,
213
+ streamId: this._streamId,
214
+ values: values,
215
+ futureValues: futureValues,
216
+ delay: delay,
217
+ unit: unit,
218
+ toBinary() {
219
+ return requests.StreamSetAllAnalogOutputsScheduleRequest.toBinary(this);
220
+ },
221
+ };
222
+ await gateway.callAsync('device/stream_set_all_analog_outputs_schedule', request);
223
+ }
224
+ /**
225
+ * Cancels a scheduled digital output action.
226
+ * Requires at least Firmware 7.37.
227
+ * @param channelNumber Channel number starting at 1.
228
+ */
229
+ async cancelDigitalOutputSchedule(channelNumber) {
230
+ const request = {
231
+ ...requests.StreamCancelOutputScheduleRequest.DEFAULT,
232
+ interfaceId: this._device.connection.interfaceId,
233
+ device: this._device.deviceAddress,
234
+ analog: false,
235
+ streamId: this._streamId,
236
+ channelNumber: channelNumber,
237
+ toBinary() {
238
+ return requests.StreamCancelOutputScheduleRequest.toBinary(this);
239
+ },
240
+ };
241
+ await gateway.callAsync('device/stream_cancel_output_schedule', request);
242
+ }
243
+ /**
244
+ * Cancel all scheduled digital output actions.
245
+ * Requires at least Firmware 7.37.
246
+ * @param [channels=[]] Optionally specify which channels to cancel.
247
+ * Array length must be empty or equal to the number of channels on device.
248
+ * Specifying "True" for a channel will cancel the scheduled digital output action for that channel.
249
+ */
250
+ async cancelAllDigitalOutputsSchedule(channels = []) {
251
+ const request = {
252
+ ...requests.StreamCancelAllOutputsScheduleRequest.DEFAULT,
253
+ interfaceId: this._device.connection.interfaceId,
254
+ device: this._device.deviceAddress,
255
+ analog: false,
256
+ streamId: this._streamId,
257
+ channels: channels,
258
+ toBinary() {
259
+ return requests.StreamCancelAllOutputsScheduleRequest.toBinary(this);
260
+ },
261
+ };
262
+ await gateway.callAsync('device/stream_cancel_all_outputs_schedule', request);
263
+ }
264
+ /**
265
+ * Cancels a scheduled analog output value.
266
+ * Requires at least Firmware 7.38.
267
+ * @param channelNumber Channel number starting at 1.
268
+ */
269
+ async cancelAnalogOutputSchedule(channelNumber) {
270
+ const request = {
271
+ ...requests.StreamCancelOutputScheduleRequest.DEFAULT,
272
+ interfaceId: this._device.connection.interfaceId,
273
+ device: this._device.deviceAddress,
274
+ analog: true,
275
+ streamId: this._streamId,
276
+ channelNumber: channelNumber,
277
+ toBinary() {
278
+ return requests.StreamCancelOutputScheduleRequest.toBinary(this);
279
+ },
280
+ };
281
+ await gateway.callAsync('device/stream_cancel_output_schedule', request);
282
+ }
283
+ /**
284
+ * Cancel all scheduled analog output actions.
285
+ * Requires at least Firmware 7.38.
286
+ * @param [channels=[]] Optionally specify which channels to cancel.
287
+ * Array length must be empty or equal to the number of channels on device.
288
+ * Specifying "True" for a channel will cancel the scheduled analog output value for that channel.
289
+ */
290
+ async cancelAllAnalogOutputsSchedule(channels = []) {
291
+ const request = {
292
+ ...requests.StreamCancelAllOutputsScheduleRequest.DEFAULT,
293
+ interfaceId: this._device.connection.interfaceId,
294
+ device: this._device.deviceAddress,
295
+ analog: true,
296
+ streamId: this._streamId,
297
+ channels: channels,
298
+ toBinary() {
299
+ return requests.StreamCancelAllOutputsScheduleRequest.toBinary(this);
300
+ },
301
+ };
302
+ await gateway.callAsync('device/stream_cancel_all_outputs_schedule', request);
303
+ }
304
+ /**
305
+ * Wait for a digital input channel to reach a given value.
306
+ * @param channelNumber The number of the digital input channel.
307
+ * Channel numbers are numbered from one.
308
+ * @param value The value that the stream should wait for.
309
+ */
310
+ async waitDigitalInput(channelNumber, value) {
311
+ const request = {
312
+ ...requests.StreamWaitDigitalInputRequest.DEFAULT,
313
+ interfaceId: this._device.connection.interfaceId,
314
+ device: this._device.deviceAddress,
315
+ streamId: this._streamId,
316
+ channelNumber: channelNumber,
317
+ value: value,
318
+ toBinary() {
319
+ return requests.StreamWaitDigitalInputRequest.toBinary(this);
320
+ },
321
+ };
322
+ await gateway.callAsync('device/stream_wait_digital_input', request);
323
+ }
324
+ /**
325
+ * Wait for the value of a analog input channel to reach a condition concerning a given value.
326
+ * @param channelNumber The number of the analog input channel.
327
+ * Channel numbers are numbered from one.
328
+ * @param condition A condition (e.g. <, <=, ==, !=).
329
+ * @param value The value that the condition concerns, in Volts.
330
+ */
331
+ async waitAnalogInput(channelNumber, condition, value) {
332
+ const request = {
333
+ ...requests.StreamWaitAnalogInputRequest.DEFAULT,
334
+ interfaceId: this._device.connection.interfaceId,
335
+ device: this._device.deviceAddress,
336
+ streamId: this._streamId,
337
+ channelNumber: channelNumber,
338
+ condition: condition,
339
+ value: value,
340
+ toBinary() {
341
+ return requests.StreamWaitAnalogInputRequest.toBinary(this);
342
+ },
343
+ };
344
+ await gateway.callAsync('device/stream_wait_analog_input', request);
345
+ }
346
+ }
347
+ exports.StreamIo = StreamIo;
348
+ //# sourceMappingURL=stream_io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream_io.js","sourceRoot":"","sources":["../../../src/ascii/stream_io.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Device } from './device';\nimport { Time, Native, Units } from '../units';\nimport * as gateway from '../gateway';\nimport * as requests from '../requests';\nimport { DigitalOutputAction } from './digital_output_action';\n\n/**\n * Class providing access to I/O for a stream.\n */\nexport class StreamIo {\n private _device: Device;\n\n private _streamId: number;\n\n constructor(device: Device, streamId: number) {\n this._device = device;\n this._streamId = streamId;\n }\n\n /**\n * Sets value for the specified digital output channel.\n * @param channelNumber Channel number starting at 1.\n * @param value The type of action to perform on the channel.\n */\n public async setDigitalOutput(\n channelNumber: number,\n value: DigitalOutputAction\n ): Promise<void> {\n const request: requests.StreamSetDigitalOutputRequest & gateway.Message = {\n ...requests.StreamSetDigitalOutputRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n channelNumber: channelNumber,\n value: value,\n toBinary() {\n return requests.StreamSetDigitalOutputRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_set_digital_output', request);\n }\n\n /**\n * Sets values for all digital output channels.\n * @param values The type of action to perform on the channel.\n */\n public async setAllDigitalOutputs(\n values: DigitalOutputAction[]\n ): Promise<void> {\n const request: requests.StreamSetAllDigitalOutputsRequest & gateway.Message = {\n ...requests.StreamSetAllDigitalOutputsRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n values: values,\n toBinary() {\n return requests.StreamSetAllDigitalOutputsRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_set_all_digital_outputs', request);\n }\n\n /**\n * Sets current and future value for the specified digital output channel.\n * Requires at least Firmware 7.37.\n * @param channelNumber Channel number starting at 1.\n * @param value The type of action to perform immediately on the channel.\n * @param futureValue The type of action to perform in the future on the channel.\n * @param delay Delay between setting current value and setting future value.\n * @param [unit=Units.NATIVE] Units of time.\n */\n public async setDigitalOutputSchedule(\n channelNumber: number,\n value: DigitalOutputAction,\n futureValue: DigitalOutputAction,\n delay: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n if (delay <= 0) {\n throw new TypeError('Delay must be a positive value.');\n }\n const request: requests.StreamSetDigitalOutputScheduleRequest & gateway.Message = {\n ...requests.StreamSetDigitalOutputScheduleRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n channelNumber: channelNumber,\n value: value,\n futureValue: futureValue,\n delay: delay,\n unit: unit,\n toBinary() {\n return requests.StreamSetDigitalOutputScheduleRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_set_digital_output_schedule', request);\n }\n\n /**\n * Sets current and future values for all digital output channels.\n * Requires at least Firmware 7.37.\n * @param values The type of actions to perform immediately on output channels.\n * @param futureValues The type of actions to perform in the future on output channels.\n * @param delay Delay between setting current values and setting future values.\n * @param [unit=Units.NATIVE] Units of time.\n */\n public async setAllDigitalOutputsSchedule(\n values: DigitalOutputAction[],\n futureValues: DigitalOutputAction[],\n delay: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n if (delay <= 0) {\n throw new TypeError('Delay must be a positive value.');\n }\n const request: requests.StreamSetAllDigitalOutputsScheduleRequest & gateway.Message = {\n ...requests.StreamSetAllDigitalOutputsScheduleRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n values: values,\n futureValues: futureValues,\n delay: delay,\n unit: unit,\n toBinary() {\n return requests.StreamSetAllDigitalOutputsScheduleRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_set_all_digital_outputs_schedule', request);\n }\n\n /**\n * Sets value for the specified analog output channel.\n * @param channelNumber Channel number starting at 1.\n * @param value Value to set the output channel voltage to.\n */\n public async setAnalogOutput(\n channelNumber: number,\n value: number\n ): Promise<void> {\n const request: requests.StreamSetAnalogOutputRequest & gateway.Message = {\n ...requests.StreamSetAnalogOutputRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n channelNumber: channelNumber,\n value: value,\n toBinary() {\n return requests.StreamSetAnalogOutputRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_set_analog_output', request);\n }\n\n /**\n * Sets values for all analog output channels.\n * @param values Voltage values to set the output channels to.\n */\n public async setAllAnalogOutputs(\n values: number[]\n ): Promise<void> {\n const request: requests.StreamSetAllAnalogOutputsRequest & gateway.Message = {\n ...requests.StreamSetAllAnalogOutputsRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n values: values,\n toBinary() {\n return requests.StreamSetAllAnalogOutputsRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_set_all_analog_outputs', request);\n }\n\n /**\n * Sets current and future value for the specified analog output channel.\n * Requires at least Firmware 7.38.\n * @param channelNumber Channel number starting at 1.\n * @param value Value to set the output channel voltage to immediately.\n * @param futureValue Value to set the output channel voltage to in the future.\n * @param delay Delay between setting current value and setting future value.\n * @param [unit=Units.NATIVE] Units of time.\n */\n public async setAnalogOutputSchedule(\n channelNumber: number,\n value: number,\n futureValue: number,\n delay: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n if (delay <= 0) {\n throw new TypeError('Delay must be a positive value.');\n }\n const request: requests.StreamSetAnalogOutputScheduleRequest & gateway.Message = {\n ...requests.StreamSetAnalogOutputScheduleRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n channelNumber: channelNumber,\n value: value,\n futureValue: futureValue,\n delay: delay,\n unit: unit,\n toBinary() {\n return requests.StreamSetAnalogOutputScheduleRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_set_analog_output_schedule', request);\n }\n\n /**\n * Sets current and future values for all analog output channels.\n * Requires at least Firmware 7.38.\n * @param values Voltage values to set the output channels to immediately.\n * @param futureValues Voltage values to set the output channels to in the future.\n * @param delay Delay between setting current values and setting future values.\n * @param [unit=Units.NATIVE] Units of time.\n */\n public async setAllAnalogOutputsSchedule(\n values: number[],\n futureValues: number[],\n delay: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n if (delay <= 0) {\n throw new TypeError('Delay must be a positive value.');\n }\n const request: requests.StreamSetAllAnalogOutputsScheduleRequest & gateway.Message = {\n ...requests.StreamSetAllAnalogOutputsScheduleRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n values: values,\n futureValues: futureValues,\n delay: delay,\n unit: unit,\n toBinary() {\n return requests.StreamSetAllAnalogOutputsScheduleRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_set_all_analog_outputs_schedule', request);\n }\n\n /**\n * Cancels a scheduled digital output action.\n * Requires at least Firmware 7.37.\n * @param channelNumber Channel number starting at 1.\n */\n public async cancelDigitalOutputSchedule(\n channelNumber: number\n ): Promise<void> {\n const request: requests.StreamCancelOutputScheduleRequest & gateway.Message = {\n ...requests.StreamCancelOutputScheduleRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n analog: false,\n streamId: this._streamId,\n channelNumber: channelNumber,\n toBinary() {\n return requests.StreamCancelOutputScheduleRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_cancel_output_schedule', request);\n }\n\n /**\n * Cancel all scheduled digital output actions.\n * Requires at least Firmware 7.37.\n * @param [channels=[]] Optionally specify which channels to cancel.\n * Array length must be empty or equal to the number of channels on device.\n * Specifying \"True\" for a channel will cancel the scheduled digital output action for that channel.\n */\n public async cancelAllDigitalOutputsSchedule(\n channels: boolean[] = []\n ): Promise<void> {\n const request: requests.StreamCancelAllOutputsScheduleRequest & gateway.Message = {\n ...requests.StreamCancelAllOutputsScheduleRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n analog: false,\n streamId: this._streamId,\n channels: channels,\n toBinary() {\n return requests.StreamCancelAllOutputsScheduleRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_cancel_all_outputs_schedule', request);\n }\n\n /**\n * Cancels a scheduled analog output value.\n * Requires at least Firmware 7.38.\n * @param channelNumber Channel number starting at 1.\n */\n public async cancelAnalogOutputSchedule(\n channelNumber: number\n ): Promise<void> {\n const request: requests.StreamCancelOutputScheduleRequest & gateway.Message = {\n ...requests.StreamCancelOutputScheduleRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n analog: true,\n streamId: this._streamId,\n channelNumber: channelNumber,\n toBinary() {\n return requests.StreamCancelOutputScheduleRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_cancel_output_schedule', request);\n }\n\n /**\n * Cancel all scheduled analog output actions.\n * Requires at least Firmware 7.38.\n * @param [channels=[]] Optionally specify which channels to cancel.\n * Array length must be empty or equal to the number of channels on device.\n * Specifying \"True\" for a channel will cancel the scheduled analog output value for that channel.\n */\n public async cancelAllAnalogOutputsSchedule(\n channels: boolean[] = []\n ): Promise<void> {\n const request: requests.StreamCancelAllOutputsScheduleRequest & gateway.Message = {\n ...requests.StreamCancelAllOutputsScheduleRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n analog: true,\n streamId: this._streamId,\n channels: channels,\n toBinary() {\n return requests.StreamCancelAllOutputsScheduleRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_cancel_all_outputs_schedule', request);\n }\n\n /**\n * Wait for a digital input channel to reach a given value.\n * @param channelNumber The number of the digital input channel.\n * Channel numbers are numbered from one.\n * @param value The value that the stream should wait for.\n */\n public async waitDigitalInput(\n channelNumber: number,\n value: boolean\n ): Promise<void> {\n const request: requests.StreamWaitDigitalInputRequest & gateway.Message = {\n ...requests.StreamWaitDigitalInputRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n channelNumber: channelNumber,\n value: value,\n toBinary() {\n return requests.StreamWaitDigitalInputRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_wait_digital_input', request);\n }\n\n /**\n * Wait for the value of a analog input channel to reach a condition concerning a given value.\n * @param channelNumber The number of the analog input channel.\n * Channel numbers are numbered from one.\n * @param condition A condition (e.g. <, <=, ==, !=).\n * @param value The value that the condition concerns, in Volts.\n */\n public async waitAnalogInput(\n channelNumber: number,\n condition: string,\n value: number\n ): Promise<void> {\n const request: requests.StreamWaitAnalogInputRequest & gateway.Message = {\n ...requests.StreamWaitAnalogInputRequest.DEFAULT,\n interfaceId: this._device.connection.interfaceId,\n device: this._device.deviceAddress,\n streamId: this._streamId,\n channelNumber: channelNumber,\n condition: condition,\n value: value,\n toBinary() {\n return requests.StreamWaitAnalogInputRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('device/stream_wait_analog_input', request);\n }\n}\n\nnamespace StreamIo {\n}\n"]}
@@ -141,5 +141,16 @@ export declare class Trigger {
141
141
  * The default option is to clear all actions.
142
142
  */
143
143
  clearAction(action?: TriggerAction): Promise<void>;
144
+ /**
145
+ * Returns the label for the trigger.
146
+ * @returns The label for the trigger.
147
+ */
148
+ getLabel(): Promise<string>;
149
+ /**
150
+ * Sets the label for the trigger.
151
+ * @param label The label to set for this trigger.
152
+ * If no value or an empty string is provided, this label is deleted.
153
+ */
154
+ setLabel(label?: string): Promise<void>;
144
155
  }
145
156
  //# sourceMappingURL=trigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../src/ascii/trigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../src/ascii/trigger.ts"],"names":[],"mappings":"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"}
@@ -394,6 +394,41 @@ class Trigger {
394
394
  };
395
395
  await gateway.callAsync('trigger/clear_action', request);
396
396
  }
397
+ /**
398
+ * Returns the label for the trigger.
399
+ * @returns The label for the trigger.
400
+ */
401
+ async getLabel() {
402
+ const request = {
403
+ ...requests.TriggerEmptyRequest.DEFAULT,
404
+ interfaceId: this.device.connection.interfaceId,
405
+ device: this.device.deviceAddress,
406
+ triggerNumber: this.triggerNumber,
407
+ toBinary() {
408
+ return requests.TriggerEmptyRequest.toBinary(this);
409
+ },
410
+ };
411
+ const response = await gateway.callAsync('trigger/get_label', request, requests.StringResponse.fromBinary);
412
+ return response.value;
413
+ }
414
+ /**
415
+ * Sets the label for the trigger.
416
+ * @param label The label to set for this trigger.
417
+ * If no value or an empty string is provided, this label is deleted.
418
+ */
419
+ async setLabel(label) {
420
+ const request = {
421
+ ...requests.TriggerSetLabelRequest.DEFAULT,
422
+ interfaceId: this.device.connection.interfaceId,
423
+ device: this.device.deviceAddress,
424
+ triggerNumber: this.triggerNumber,
425
+ label: label,
426
+ toBinary() {
427
+ return requests.TriggerSetLabelRequest.toBinary(this);
428
+ },
429
+ };
430
+ await gateway.callAsync('trigger/set_label', request);
431
+ }
397
432
  }
398
433
  exports.Trigger = Trigger;
399
434
  //# sourceMappingURL=trigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/ascii/trigger.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from '../gateway';\nimport * as requests from '../requests';\nimport { Native, Units, Length, Angle, Time } from '../units';\nimport { Device } from './device';\nimport { TriggerState } from './trigger_state';\nimport { TriggerEnabledState } from './trigger_enabled_state';\nimport { IoPortType } from './io_port_type';\nimport { TriggerCondition } from './trigger_condition';\nimport { TriggerAction } from './trigger_action';\nimport { TriggerOperation } from './trigger_operation';\n\n/**\n * A handle for a trigger with this number on the device.\n * Triggers allow setting up actions that occur when a certain condition has been met or an event has occurred.\n * Please note that the Triggers API is currently an experimental feature.\n * Requires at least Firmware 7.06.\n */\nexport class Trigger {\n /**\n * Device that this trigger belongs to.\n */\n public get device(): Device {\n return this._device;\n }\n private _device: Device;\n\n /**\n * Number of this trigger.\n */\n public get triggerNumber(): number {\n return this._triggerNumber;\n }\n private _triggerNumber: number;\n\n constructor(device: Device, triggerNumber: number) {\n this._device = device;\n this._triggerNumber = triggerNumber;\n }\n\n /**\n * Enables the trigger.\n * Once a trigger is enabled, it will fire whenever its condition transitions from false to true.\n * If a trigger condition is true when a disabled trigger is enabled, the trigger will fire immediately.\n * @param [count=0] Number of times the trigger will fire before disabling itself.\n * If count is not specified, or 0, the trigger will fire indefinitely.\n */\n public async enable(\n count: number = 0\n ): Promise<void> {\n if (count < 0) {\n throw new TypeError('Invalid value; count must be 0 or positive.');\n }\n const request: requests.TriggerEnableRequest & gateway.Message = {\n ...requests.TriggerEnableRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n count: count,\n toBinary() {\n return requests.TriggerEnableRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/enable', request);\n }\n\n /**\n * Disables the trigger.\n * Once disabled, the trigger will not fire and trigger actions will not run, even if trigger conditions are met.\n */\n public async disable(): Promise<void> {\n const request: requests.TriggerEmptyRequest & gateway.Message = {\n ...requests.TriggerEmptyRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n toBinary() {\n return requests.TriggerEmptyRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/disable', request);\n }\n\n /**\n * Gets the state of the trigger.\n * @returns Complete state of the trigger.\n */\n public async getState(): Promise<TriggerState> {\n const request: requests.TriggerEmptyRequest & gateway.Message = {\n ...requests.TriggerEmptyRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n toBinary() {\n return requests.TriggerEmptyRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<TriggerState>(\n 'trigger/get_state',\n request,\n TriggerState.fromBinary);\n return response;\n }\n\n /**\n * Gets the enabled state of the trigger.\n * @returns Whether the trigger is enabled and the number of times it will fire.\n */\n public async getEnabledState(): Promise<TriggerEnabledState> {\n const request: requests.TriggerEmptyRequest & gateway.Message = {\n ...requests.TriggerEmptyRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n toBinary() {\n return requests.TriggerEmptyRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<TriggerEnabledState>(\n 'trigger/get_enabled_state',\n request,\n TriggerEnabledState.fromBinary);\n return response;\n }\n\n /**\n * Set a generic trigger condition.\n * @param condition The condition to set for this trigger.\n */\n public async fireWhen(\n condition: string\n ): Promise<void> {\n const request: requests.TriggerFireWhenRequest & gateway.Message = {\n ...requests.TriggerFireWhenRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n condition: condition,\n toBinary() {\n return requests.TriggerFireWhenRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when', request);\n }\n\n /**\n * Set a trigger condition for when an encoder position has changed by a specific distance.\n * @param axis The axis to monitor for this condition.\n * May be set to 0 on single-axis devices only.\n * @param distance The measured encoder distance between trigger fires.\n * @param [unit=Units.NATIVE] Units of dist.\n */\n public async fireWhenEncoderDistanceTravelled(\n axis: number,\n distance: number,\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<void> {\n if (distance <= 0) {\n throw new TypeError('Invalid value; encoder distance must be a positive value.');\n }\n const request: requests.TriggerFireWhenDistanceTravelledRequest & gateway.Message = {\n ...requests.TriggerFireWhenDistanceTravelledRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n axis: axis,\n distance: distance,\n unit: unit,\n toBinary() {\n return requests.TriggerFireWhenDistanceTravelledRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_encoder_distance_travelled', request);\n }\n\n /**\n * Set a trigger condition for when an axis position has changed by a specific distance.\n * @param axis The axis to monitor for this condition.\n * May be set to 0 on single-axis devices only.\n * @param distance The measured distance between trigger fires.\n * @param [unit=Units.NATIVE] Units of dist.\n */\n public async fireWhenDistanceTravelled(\n axis: number,\n distance: number,\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<void> {\n if (distance <= 0) {\n throw new TypeError('Invalid value; distance must be a positive value.');\n }\n const request: requests.TriggerFireWhenDistanceTravelledRequest & gateway.Message = {\n ...requests.TriggerFireWhenDistanceTravelledRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n axis: axis,\n distance: distance,\n unit: unit,\n toBinary() {\n return requests.TriggerFireWhenDistanceTravelledRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_distance_travelled', request);\n }\n\n /**\n * Set a trigger condition based on an IO channel value.\n * @param portType The type of IO channel to monitor.\n * @param channel The IO channel to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n */\n public async fireWhenIo(\n portType: IoPortType,\n channel: number,\n triggerCondition: TriggerCondition,\n value: number\n ): Promise<void> {\n if (channel <= 0) {\n throw new TypeError('Invalid value; channel must be a positive value.');\n }\n const request: requests.TriggerFireWhenIoRequest & gateway.Message = {\n ...requests.TriggerFireWhenIoRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n portType: portType,\n channel: channel,\n triggerCondition: triggerCondition,\n value: value,\n toBinary() {\n return requests.TriggerFireWhenIoRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_io', request);\n }\n\n /**\n * Set a trigger condition based on a setting value.\n * @param axis The axis to monitor for this condition.\n * Set to 0 for device-scope settings.\n * @param setting The setting to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async fireWhenSetting(\n axis: number,\n setting: string,\n triggerCondition: TriggerCondition,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request: requests.TriggerFireWhenSettingRequest & gateway.Message = {\n ...requests.TriggerFireWhenSettingRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n axis: axis,\n setting: setting,\n triggerCondition: triggerCondition,\n value: value,\n unit: unit,\n toBinary() {\n return requests.TriggerFireWhenSettingRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_setting', request);\n }\n\n /**\n * Set a trigger condition based on an absolute setting value.\n * @param axis The axis to monitor for this condition.\n * Set to 0 for device-scope settings.\n * @param setting The setting to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async fireWhenAbsoluteSetting(\n axis: number,\n setting: string,\n triggerCondition: TriggerCondition,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request: requests.TriggerFireWhenSettingRequest & gateway.Message = {\n ...requests.TriggerFireWhenSettingRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n axis: axis,\n setting: setting,\n triggerCondition: triggerCondition,\n value: value,\n unit: unit,\n toBinary() {\n return requests.TriggerFireWhenSettingRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_setting_absolute', request);\n }\n\n /**\n * Set a trigger condition based on a time interval.\n * @param interval The time interval between trigger fires.\n * @param [unit=Units.NATIVE] Units of time.\n */\n public async fireAtInterval(\n interval: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n if (interval <= 0) {\n throw new TypeError('Invalid value; interval must be a positive value.');\n }\n const request: requests.TriggerFireAtIntervalRequest & gateway.Message = {\n ...requests.TriggerFireAtIntervalRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n interval: interval,\n unit: unit,\n toBinary() {\n return requests.TriggerFireAtIntervalRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_at_interval', request);\n }\n\n /**\n * Set a command to be a trigger action.\n * @param action The action number to assign the command to.\n * @param axis The axis to on which to run this command.\n * Set to 0 for device-scope settings or to run command on all axes.\n * @param command The command to run when the action is triggered.\n */\n public async onFire(\n action: TriggerAction,\n axis: number,\n command: string\n ): Promise<void> {\n const request: requests.TriggerOnFireRequest & gateway.Message = {\n ...requests.TriggerOnFireRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n action: action,\n axis: axis,\n command: command,\n toBinary() {\n return requests.TriggerOnFireRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/on_fire', request);\n }\n\n /**\n * Set a trigger action to update a setting.\n * @param action The action number to assign the command to.\n * @param axis The axis on which to change the setting.\n * Set to 0 to change the setting for the device.\n * @param setting The name of the setting to change.\n * @param operation The operation to apply to the setting.\n * @param value Operation value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async onFireSet(\n action: TriggerAction,\n axis: number,\n setting: string,\n operation: TriggerOperation,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request: requests.TriggerOnFireSetRequest & gateway.Message = {\n ...requests.TriggerOnFireSetRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n action: action,\n axis: axis,\n setting: setting,\n operation: operation,\n value: value,\n unit: unit,\n toBinary() {\n return requests.TriggerOnFireSetRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/on_fire_set', request);\n }\n\n /**\n * Set a trigger action to update a setting with the value of another setting.\n * @param action The action number to assign the command to.\n * @param axis The axis on which to change the setting.\n * Set to 0 to change the setting for the device.\n * @param setting The name of the setting to change.\n * Must have either integer or boolean type.\n * @param operation The operation to apply to the setting.\n * @param fromAxis The axis from which to read the setting.\n * Set to 0 to read the setting from the device.\n * @param fromSetting The name of the setting to read.\n * Must have either integer or boolean type.\n */\n public async onFireSetToSetting(\n action: TriggerAction,\n axis: number,\n setting: string,\n operation: TriggerOperation,\n fromAxis: number,\n fromSetting: string\n ): Promise<void> {\n const request: requests.TriggerOnFireSetToSettingRequest & gateway.Message = {\n ...requests.TriggerOnFireSetToSettingRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n action: action,\n axis: axis,\n setting: setting,\n operation: operation,\n fromAxis: fromAxis,\n fromSetting: fromSetting,\n toBinary() {\n return requests.TriggerOnFireSetToSettingRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/on_fire_set_to_setting', request);\n }\n\n /**\n * Clear a trigger action.\n * @param [action=TriggerAction.ALL] The action number to clear.\n * The default option is to clear all actions.\n */\n public async clearAction(\n action: TriggerAction = TriggerAction.ALL\n ): Promise<void> {\n const request: requests.TriggerClearActionRequest & gateway.Message = {\n ...requests.TriggerClearActionRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n action: action,\n toBinary() {\n return requests.TriggerClearActionRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/clear_action', request);\n }\n}\n"]}
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/ascii/trigger.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport * as gateway from '../gateway';\nimport * as requests from '../requests';\nimport { Native, Units, Length, Angle, Time } from '../units';\nimport { Device } from './device';\nimport { TriggerState } from './trigger_state';\nimport { TriggerEnabledState } from './trigger_enabled_state';\nimport { IoPortType } from './io_port_type';\nimport { TriggerCondition } from './trigger_condition';\nimport { TriggerAction } from './trigger_action';\nimport { TriggerOperation } from './trigger_operation';\n\n/**\n * A handle for a trigger with this number on the device.\n * Triggers allow setting up actions that occur when a certain condition has been met or an event has occurred.\n * Please note that the Triggers API is currently an experimental feature.\n * Requires at least Firmware 7.06.\n */\nexport class Trigger {\n /**\n * Device that this trigger belongs to.\n */\n public get device(): Device {\n return this._device;\n }\n private _device: Device;\n\n /**\n * Number of this trigger.\n */\n public get triggerNumber(): number {\n return this._triggerNumber;\n }\n private _triggerNumber: number;\n\n constructor(device: Device, triggerNumber: number) {\n this._device = device;\n this._triggerNumber = triggerNumber;\n }\n\n /**\n * Enables the trigger.\n * Once a trigger is enabled, it will fire whenever its condition transitions from false to true.\n * If a trigger condition is true when a disabled trigger is enabled, the trigger will fire immediately.\n * @param [count=0] Number of times the trigger will fire before disabling itself.\n * If count is not specified, or 0, the trigger will fire indefinitely.\n */\n public async enable(\n count: number = 0\n ): Promise<void> {\n if (count < 0) {\n throw new TypeError('Invalid value; count must be 0 or positive.');\n }\n const request: requests.TriggerEnableRequest & gateway.Message = {\n ...requests.TriggerEnableRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n count: count,\n toBinary() {\n return requests.TriggerEnableRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/enable', request);\n }\n\n /**\n * Disables the trigger.\n * Once disabled, the trigger will not fire and trigger actions will not run, even if trigger conditions are met.\n */\n public async disable(): Promise<void> {\n const request: requests.TriggerEmptyRequest & gateway.Message = {\n ...requests.TriggerEmptyRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n toBinary() {\n return requests.TriggerEmptyRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/disable', request);\n }\n\n /**\n * Gets the state of the trigger.\n * @returns Complete state of the trigger.\n */\n public async getState(): Promise<TriggerState> {\n const request: requests.TriggerEmptyRequest & gateway.Message = {\n ...requests.TriggerEmptyRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n toBinary() {\n return requests.TriggerEmptyRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<TriggerState>(\n 'trigger/get_state',\n request,\n TriggerState.fromBinary);\n return response;\n }\n\n /**\n * Gets the enabled state of the trigger.\n * @returns Whether the trigger is enabled and the number of times it will fire.\n */\n public async getEnabledState(): Promise<TriggerEnabledState> {\n const request: requests.TriggerEmptyRequest & gateway.Message = {\n ...requests.TriggerEmptyRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n toBinary() {\n return requests.TriggerEmptyRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<TriggerEnabledState>(\n 'trigger/get_enabled_state',\n request,\n TriggerEnabledState.fromBinary);\n return response;\n }\n\n /**\n * Set a generic trigger condition.\n * @param condition The condition to set for this trigger.\n */\n public async fireWhen(\n condition: string\n ): Promise<void> {\n const request: requests.TriggerFireWhenRequest & gateway.Message = {\n ...requests.TriggerFireWhenRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n condition: condition,\n toBinary() {\n return requests.TriggerFireWhenRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when', request);\n }\n\n /**\n * Set a trigger condition for when an encoder position has changed by a specific distance.\n * @param axis The axis to monitor for this condition.\n * May be set to 0 on single-axis devices only.\n * @param distance The measured encoder distance between trigger fires.\n * @param [unit=Units.NATIVE] Units of dist.\n */\n public async fireWhenEncoderDistanceTravelled(\n axis: number,\n distance: number,\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<void> {\n if (distance <= 0) {\n throw new TypeError('Invalid value; encoder distance must be a positive value.');\n }\n const request: requests.TriggerFireWhenDistanceTravelledRequest & gateway.Message = {\n ...requests.TriggerFireWhenDistanceTravelledRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n axis: axis,\n distance: distance,\n unit: unit,\n toBinary() {\n return requests.TriggerFireWhenDistanceTravelledRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_encoder_distance_travelled', request);\n }\n\n /**\n * Set a trigger condition for when an axis position has changed by a specific distance.\n * @param axis The axis to monitor for this condition.\n * May be set to 0 on single-axis devices only.\n * @param distance The measured distance between trigger fires.\n * @param [unit=Units.NATIVE] Units of dist.\n */\n public async fireWhenDistanceTravelled(\n axis: number,\n distance: number,\n unit: Length | Angle | Native = Units.NATIVE\n ): Promise<void> {\n if (distance <= 0) {\n throw new TypeError('Invalid value; distance must be a positive value.');\n }\n const request: requests.TriggerFireWhenDistanceTravelledRequest & gateway.Message = {\n ...requests.TriggerFireWhenDistanceTravelledRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n axis: axis,\n distance: distance,\n unit: unit,\n toBinary() {\n return requests.TriggerFireWhenDistanceTravelledRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_distance_travelled', request);\n }\n\n /**\n * Set a trigger condition based on an IO channel value.\n * @param portType The type of IO channel to monitor.\n * @param channel The IO channel to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n */\n public async fireWhenIo(\n portType: IoPortType,\n channel: number,\n triggerCondition: TriggerCondition,\n value: number\n ): Promise<void> {\n if (channel <= 0) {\n throw new TypeError('Invalid value; channel must be a positive value.');\n }\n const request: requests.TriggerFireWhenIoRequest & gateway.Message = {\n ...requests.TriggerFireWhenIoRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n portType: portType,\n channel: channel,\n triggerCondition: triggerCondition,\n value: value,\n toBinary() {\n return requests.TriggerFireWhenIoRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_io', request);\n }\n\n /**\n * Set a trigger condition based on a setting value.\n * @param axis The axis to monitor for this condition.\n * Set to 0 for device-scope settings.\n * @param setting The setting to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async fireWhenSetting(\n axis: number,\n setting: string,\n triggerCondition: TriggerCondition,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request: requests.TriggerFireWhenSettingRequest & gateway.Message = {\n ...requests.TriggerFireWhenSettingRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n axis: axis,\n setting: setting,\n triggerCondition: triggerCondition,\n value: value,\n unit: unit,\n toBinary() {\n return requests.TriggerFireWhenSettingRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_setting', request);\n }\n\n /**\n * Set a trigger condition based on an absolute setting value.\n * @param axis The axis to monitor for this condition.\n * Set to 0 for device-scope settings.\n * @param setting The setting to monitor.\n * @param triggerCondition Comparison operator.\n * @param value Comparison value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async fireWhenAbsoluteSetting(\n axis: number,\n setting: string,\n triggerCondition: TriggerCondition,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request: requests.TriggerFireWhenSettingRequest & gateway.Message = {\n ...requests.TriggerFireWhenSettingRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n axis: axis,\n setting: setting,\n triggerCondition: triggerCondition,\n value: value,\n unit: unit,\n toBinary() {\n return requests.TriggerFireWhenSettingRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_when_setting_absolute', request);\n }\n\n /**\n * Set a trigger condition based on a time interval.\n * @param interval The time interval between trigger fires.\n * @param [unit=Units.NATIVE] Units of time.\n */\n public async fireAtInterval(\n interval: number,\n unit: Time | Native = Units.NATIVE\n ): Promise<void> {\n if (interval <= 0) {\n throw new TypeError('Invalid value; interval must be a positive value.');\n }\n const request: requests.TriggerFireAtIntervalRequest & gateway.Message = {\n ...requests.TriggerFireAtIntervalRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n interval: interval,\n unit: unit,\n toBinary() {\n return requests.TriggerFireAtIntervalRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/fire_at_interval', request);\n }\n\n /**\n * Set a command to be a trigger action.\n * @param action The action number to assign the command to.\n * @param axis The axis to on which to run this command.\n * Set to 0 for device-scope settings or to run command on all axes.\n * @param command The command to run when the action is triggered.\n */\n public async onFire(\n action: TriggerAction,\n axis: number,\n command: string\n ): Promise<void> {\n const request: requests.TriggerOnFireRequest & gateway.Message = {\n ...requests.TriggerOnFireRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n action: action,\n axis: axis,\n command: command,\n toBinary() {\n return requests.TriggerOnFireRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/on_fire', request);\n }\n\n /**\n * Set a trigger action to update a setting.\n * @param action The action number to assign the command to.\n * @param axis The axis on which to change the setting.\n * Set to 0 to change the setting for the device.\n * @param setting The name of the setting to change.\n * @param operation The operation to apply to the setting.\n * @param value Operation value.\n * @param [unit=Units.NATIVE] Units of value.\n */\n public async onFireSet(\n action: TriggerAction,\n axis: number,\n setting: string,\n operation: TriggerOperation,\n value: number,\n unit: Units = Units.NATIVE\n ): Promise<void> {\n const request: requests.TriggerOnFireSetRequest & gateway.Message = {\n ...requests.TriggerOnFireSetRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n action: action,\n axis: axis,\n setting: setting,\n operation: operation,\n value: value,\n unit: unit,\n toBinary() {\n return requests.TriggerOnFireSetRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/on_fire_set', request);\n }\n\n /**\n * Set a trigger action to update a setting with the value of another setting.\n * @param action The action number to assign the command to.\n * @param axis The axis on which to change the setting.\n * Set to 0 to change the setting for the device.\n * @param setting The name of the setting to change.\n * Must have either integer or boolean type.\n * @param operation The operation to apply to the setting.\n * @param fromAxis The axis from which to read the setting.\n * Set to 0 to read the setting from the device.\n * @param fromSetting The name of the setting to read.\n * Must have either integer or boolean type.\n */\n public async onFireSetToSetting(\n action: TriggerAction,\n axis: number,\n setting: string,\n operation: TriggerOperation,\n fromAxis: number,\n fromSetting: string\n ): Promise<void> {\n const request: requests.TriggerOnFireSetToSettingRequest & gateway.Message = {\n ...requests.TriggerOnFireSetToSettingRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n action: action,\n axis: axis,\n setting: setting,\n operation: operation,\n fromAxis: fromAxis,\n fromSetting: fromSetting,\n toBinary() {\n return requests.TriggerOnFireSetToSettingRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/on_fire_set_to_setting', request);\n }\n\n /**\n * Clear a trigger action.\n * @param [action=TriggerAction.ALL] The action number to clear.\n * The default option is to clear all actions.\n */\n public async clearAction(\n action: TriggerAction = TriggerAction.ALL\n ): Promise<void> {\n const request: requests.TriggerClearActionRequest & gateway.Message = {\n ...requests.TriggerClearActionRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n action: action,\n toBinary() {\n return requests.TriggerClearActionRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/clear_action', request);\n }\n\n /**\n * Returns the label for the trigger.\n * @returns The label for the trigger.\n */\n public async getLabel(): Promise<string> {\n const request: requests.TriggerEmptyRequest & gateway.Message = {\n ...requests.TriggerEmptyRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n toBinary() {\n return requests.TriggerEmptyRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.StringResponse>(\n 'trigger/get_label',\n request,\n requests.StringResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets the label for the trigger.\n * @param label The label to set for this trigger.\n * If no value or an empty string is provided, this label is deleted.\n */\n public async setLabel(\n label?: string\n ): Promise<void> {\n const request: requests.TriggerSetLabelRequest & gateway.Message = {\n ...requests.TriggerSetLabelRequest.DEFAULT,\n interfaceId: this.device.connection.interfaceId,\n device: this.device.deviceAddress,\n triggerNumber: this.triggerNumber,\n label: label,\n toBinary() {\n return requests.TriggerSetLabelRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('trigger/set_label', request);\n }\n}\n"]}
@@ -40,5 +40,10 @@ export declare class Triggers {
40
40
  * @returns Whether triggers are enabled and the number of times they will fire.
41
41
  */
42
42
  getEnabledStates(): Promise<TriggerEnabledState[]>;
43
+ /**
44
+ * Gets the labels for every trigger for this device.
45
+ * @returns The labels for every trigger for this device. If a trigger has no label, the value will be an empty string.
46
+ */
47
+ getAllLabels(): Promise<string[]>;
43
48
  }
44
49
  //# sourceMappingURL=triggers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../src/ascii/triggers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;;GAIG;AACH,qBAAa,QAAQ;IACnB;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM;IAI1B;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBnD;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBlD;;;;OAIG;IACI,UAAU,CACf,aAAa,EAAE,MAAM,GACpB,OAAO;IAOV;;;OAGG;IACU,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBxD;;;OAGG;IACU,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAgBhE"}
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../src/ascii/triggers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;;GAIG;AACH,qBAAa,QAAQ;IACnB;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM;IAI1B;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBnD;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBlD;;;;OAIG;IACI,UAAU,CACf,aAAa,EAAE,MAAM,GACpB,OAAO;IAOV;;;OAGG;IACU,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBxD;;;OAGG;IACU,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAiB/D;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAgB/C"}
@@ -121,6 +121,22 @@ class Triggers {
121
121
  const response = await gateway.callAsync('triggers/get_enabled_states', request, requests.TriggerEnabledStates.fromBinary);
122
122
  return response.states;
123
123
  }
124
+ /**
125
+ * Gets the labels for every trigger for this device.
126
+ * @returns The labels for every trigger for this device. If a trigger has no label, the value will be an empty string.
127
+ */
128
+ async getAllLabels() {
129
+ const request = {
130
+ ...requests.DeviceEmptyRequest.DEFAULT,
131
+ interfaceId: this.device.connection.interfaceId,
132
+ device: this.device.deviceAddress,
133
+ toBinary() {
134
+ return requests.DeviceEmptyRequest.toBinary(this);
135
+ },
136
+ };
137
+ const response = await gateway.callAsync('triggers/get_all_labels', request, requests.StringArrayResponse.fromBinary);
138
+ return response.values;
139
+ }
124
140
  }
125
141
  exports.Triggers = Triggers;
126
142
  //# sourceMappingURL=triggers.js.map