diff --git a/CHANGELOG.md b/CHANGELOG.md index 46e17101d..c361bb4e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,11 @@ ## to be released -| Type | Namespace | Description | Reference | Breaking | -|-------------|------------|----------------------------------------------------------------------------|--------------------------------------------------------|----------| -| Enhancement | `items` | Refactor `metadata` & `itemchannllink` APIs & add additional functionality | [#212](https://github.com/openhab/openhab-js/pull/212) | **Yes** | -| Enhancement | `Quantity` | Rename comparison methods | [#211](https://github.com/openhab/openhab-js/pull/211) | **Yes** | +| Type | Namespace | Description | Reference | Breaking | +|-------------|------------|---------------------------------------------------------------------------------------------------|--------------------------------------------------------|----------| +| Enhancement | `items` | Refactor `metadata` & `itemchannllink` APIs & add additional functionality | [#212](https://github.com/openhab/openhab-js/pull/212) | **Yes** | +| Enhancement | `Quantity` | Rename comparison methods | [#211](https://github.com/openhab/openhab-js/pull/211) | **Yes** | +| Bugfix | `triggers` | Remove arg type checks as they cause trouble & addon now logs stack on `IllegalArgumentException` | | No | Also see the [Release Milestone](https://github.com/openhab/openhab-js/milestone/11). diff --git a/actions.js b/actions.js index 44957f3c6..a377ac489 100644 --- a/actions.js +++ b/actions.js @@ -15,7 +15,6 @@ */ /** @typedef {import('@js-joda/core').ZonedDateTime} time.ZonedDateTime */ -const typeOfArguments = require('./typeOfArguments'); const osgi = require('./osgi'); // See https://github.com/openhab/openhab-core/blob/main/bundles/org.openhab.core.automation.module.script/src/main/java/org/openhab/core/automation/module/script/internal/defaultscope/ScriptThingActionsImpl.java const { actions } = require('@runtime/Defaults'); @@ -324,7 +323,6 @@ class Transformation { * @returns {string} the transformed value or the original one, if there was no service registered for the given type or a transformation exception occurred */ static transform (type, fn, value) { - typeOfArguments([type, fn, value], ['string', 'string', 'string']); return JavaTransformation.transform(type, fn, value).toString(); } @@ -338,7 +336,6 @@ class Transformation { * @throws Java {@link https://www.openhab.org/javadoc/latest/org/openhab/core/transform/TransformationException.html TransformationException} */ static transformRaw (type, fn, value) { - typeOfArguments([type, fn, value], ['string', 'string', 'string']); // Wrap exception to enable JS stack traces try { return JavaTransformation.transformRaw(type, fn, value).toString(); diff --git a/test/actions.spec.js b/test/actions.spec.js index 8602b9605..430b0fc58 100644 --- a/test/actions.spec.js +++ b/test/actions.spec.js @@ -73,13 +73,6 @@ describe('actions.js', () => { const value = 'ON'; describe('transform', () => { - it('throws TypeError when a wrong argument is passed.', () => { - expect(() => Transformation.transform({}, fn, value)).toThrow(TypeError); - expect(() => Transformation.transform(type, {}, value)).toThrow(TypeError); - expect(() => Transformation.transform(type, fn, { value })).toThrow(TypeError); - expect(JavaTransformation.transform).not.toHaveBeenCalled(); - }); - it('delegates to Java Transformation.', () => { Transformation.transform(type, fn, value); @@ -88,13 +81,6 @@ describe('actions.js', () => { }); describe('transformRaw', () => { - it('throws TypeError when a wrong argument is passed.', () => { - expect(() => Transformation.transformRaw({}, fn, value)).toThrow(TypeError); - expect(() => Transformation.transformRaw(type, {}, value)).toThrow(TypeError); - expect(() => Transformation.transformRaw(type, fn, { value })).toThrow(TypeError); - expect(JavaTransformation.transformRaw).not.toHaveBeenCalled(); - }); - it('delegates to Java Transformation.', () => { Transformation.transformRaw(type, fn, value); diff --git a/test/triggers.spec.js b/test/triggers.spec.js index 9e51b2d5e..e2f560c33 100644 --- a/test/triggers.spec.js +++ b/test/triggers.spec.js @@ -294,10 +294,12 @@ describe('triggers.js', () => { }); describe('DateTimeTrigger', () => { - it('creates trigger.', () => { - const itemName = 'itemName'; - const timeOnly = true; - const triggerName = 'triggerName'; + const itemName = 'itemName'; + const timeOnly = true; + const triggerName = 'triggerName'; + const item = new Item(itemName); + + it.each([[itemName], [item]])('creates trigger from %s.', (groupOrName) => { const trigger = DateTimeTrigger(itemName, timeOnly, triggerName); expect(trigger).not.toBe(undefined); diff --git a/triggers.js b/triggers.js index ce9be01b7..68a7c8486 100644 --- a/triggers.js +++ b/triggers.js @@ -7,7 +7,6 @@ * @namespace triggers */ -const typeOfArguments = require('./typeOfArguments'); const utils = require('./utils'); /** * @type {Item} @@ -51,13 +50,11 @@ const _createTrigger = function (typeString, name, config) { * @param {string} [triggerName] the optional name of the trigger to create * */ -const ChannelEventTrigger = (channel, event, triggerName) => { - typeOfArguments([channel, event, triggerName], ['string', 'string', 'string|undefined']); - return _createTrigger('core.ChannelEventTrigger', triggerName, { +const ChannelEventTrigger = (channel, event, triggerName) => + _createTrigger('core.ChannelEventTrigger', triggerName, { channelUID: channel, event: event }); -}; /** * Creates a trigger that fires upon an Item changing state. @@ -74,14 +71,12 @@ const ChannelEventTrigger = (channel, event, triggerName) => { * @param {string} [newState] the new state of the Item * @param {string} [triggerName] the optional name of the trigger to create */ -const ItemStateChangeTrigger = (itemOrName, oldState, newState, triggerName) => { - typeOfArguments([itemOrName, oldState, newState, triggerName], ['string|Item', 'string|undefined', 'string|undefined', 'string|undefined']); - return _createTrigger('core.ItemStateChangeTrigger', triggerName, { +const ItemStateChangeTrigger = (itemOrName, oldState, newState, triggerName) => + _createTrigger('core.ItemStateChangeTrigger', triggerName, { itemName: (itemOrName instanceof Item) ? itemOrName.name : itemOrName, state: newState, previousState: oldState }); -}; /** * Creates a trigger that fires upon an Item receiving a state update. Note that the Item does not need to change state. @@ -95,13 +90,11 @@ const ItemStateChangeTrigger = (itemOrName, oldState, newState, triggerName) => * @param {string} [state] the new state of the Item * @param {string} [triggerName] the optional name of the trigger to create */ -const ItemStateUpdateTrigger = (itemOrName, state, triggerName) => { - typeOfArguments([itemOrName, state, triggerName], ['string|Item', 'string|undefined', 'string|undefined']); - return _createTrigger('core.ItemStateUpdateTrigger', triggerName, { +const ItemStateUpdateTrigger = (itemOrName, state, triggerName) => + _createTrigger('core.ItemStateUpdateTrigger', triggerName, { itemName: (itemOrName instanceof Item) ? itemOrName.name : itemOrName, state: state }); -}; /** * Creates a trigger that fires upon an Item receiving a command. Note that the Item does not need to change state. @@ -115,13 +108,11 @@ const ItemStateUpdateTrigger = (itemOrName, state, triggerName) => { * @param {string} [command] the command received * @param {string} [triggerName] the optional name of the trigger to create */ -const ItemCommandTrigger = (itemOrName, command, triggerName) => { - typeOfArguments([itemOrName, command, triggerName], ['string|Item', 'string|undefined', 'string|undefined']); - return _createTrigger('core.ItemCommandTrigger', triggerName, { +const ItemCommandTrigger = (itemOrName, command, triggerName) => + _createTrigger('core.ItemCommandTrigger', triggerName, { itemName: (itemOrName instanceof Item) ? itemOrName.name : itemOrName, command: command }); -}; /** * Creates a trigger that fires upon a member of a group changing state. Note that group Item does not need to change state. @@ -135,14 +126,12 @@ const ItemCommandTrigger = (itemOrName, command, triggerName) => { * @param {string} [newState] the new state of the group * @param {string} [triggerName] the optional name of the trigger to create */ -const GroupStateChangeTrigger = (groupOrName, oldState, newState, triggerName) => { - typeOfArguments([groupOrName, oldState, newState, triggerName], ['string|Item', 'string|undefined', 'string|undefined', 'string|undefined']); - return _createTrigger('core.GroupStateChangeTrigger', triggerName, { +const GroupStateChangeTrigger = (groupOrName, oldState, newState, triggerName) => + _createTrigger('core.GroupStateChangeTrigger', triggerName, { groupName: (groupOrName instanceof Item) ? groupOrName.name : groupOrName, state: newState, previousState: oldState }); -}; /** * Creates a trigger that fires upon a member of a group receiving a state update. Note that group Item does not need to change state. @@ -155,13 +144,11 @@ const GroupStateChangeTrigger = (groupOrName, oldState, newState, triggerName) = * @param {string} [state] the new state of the group * @param {string} [triggerName] the optional name of the trigger to create */ -const GroupStateUpdateTrigger = (groupOrName, state, triggerName) => { - typeOfArguments([groupOrName, state, triggerName], ['string|Item', 'string|undefined', 'string|undefined']); - return _createTrigger('core.GroupStateUpdateTrigger', triggerName, { +const GroupStateUpdateTrigger = (groupOrName, state, triggerName) => + _createTrigger('core.GroupStateUpdateTrigger', triggerName, { groupName: (groupOrName instanceof Item) ? groupOrName.name : groupOrName, state: state }); -}; /** * Creates a trigger that fires upon a member of a group receiving a command. Note that the group Item does not need to change state. @@ -174,13 +161,11 @@ const GroupStateUpdateTrigger = (groupOrName, state, triggerName) => { * @param {string} [command] the command received * @param {string} [triggerName] the optional name of the trigger to create */ -const GroupCommandTrigger = (groupOrName, command, triggerName) => { - typeOfArguments([groupOrName, command, triggerName], ['string|Item', 'string|undefined', 'string|undefined']); - return _createTrigger('core.GroupCommandTrigger', triggerName, { +const GroupCommandTrigger = (groupOrName, command, triggerName) => + _createTrigger('core.GroupCommandTrigger', triggerName, { groupName: (groupOrName instanceof Item) ? groupOrName.name : groupOrName, command: command }); -}; /** * Creates a trigger that fires upon a Thing status updating. @@ -193,13 +178,11 @@ const GroupCommandTrigger = (groupOrName, command, triggerName) => { * @param {string} [status] the optional status to monitor for * @param {string} [triggerName] the optional name of the trigger to create */ -const ThingStatusUpdateTrigger = (thingUID, status, triggerName) => { - typeOfArguments([thingUID, status, triggerName], ['string', 'string|undefined', 'string|undefined']); - return _createTrigger('core.ThingStatusUpdateTrigger', triggerName, { +const ThingStatusUpdateTrigger = (thingUID, status, triggerName) => + _createTrigger('core.ThingStatusUpdateTrigger', triggerName, { thingUID: thingUID, status: status }); -}; /** * Creates a trigger that fires upon a Thing status changing. @@ -213,14 +196,12 @@ const ThingStatusUpdateTrigger = (thingUID, status, triggerName) => { * @param {string} [previousStatus] the optional previous state to monitor from * @param {string} [triggerName] the optional name of the trigger to create */ -const ThingStatusChangeTrigger = (thingUID, status, previousStatus, triggerName) => { - typeOfArguments([thingUID, status, previousStatus, triggerName], ['string', 'string|undefined', 'string|undefined', 'string|undefined']); - return _createTrigger('core.ThingStatusChangeTrigger', triggerName, { +const ThingStatusChangeTrigger = (thingUID, status, previousStatus, triggerName) => + _createTrigger('core.ThingStatusChangeTrigger', triggerName, { thingUID: thingUID, status: status, previousStatus: previousStatus }); -}; /** * Creates a trigger that fires if a given start level is reached by the system @@ -236,12 +217,10 @@ const ThingStatusChangeTrigger = (thingUID, status, previousStatus, triggerName) * @param {string|number} startlevel the system start level to be triggered on * @param {string} [triggerName] the optional name of the trigger to create */ -const SystemStartlevelTrigger = (startlevel, triggerName) => { - typeOfArguments([startlevel, triggerName], ['string|number', 'string|undefined']); - return _createTrigger('core.SystemStartlevelTrigger', triggerName, { +const SystemStartlevelTrigger = (startlevel, triggerName) => + _createTrigger('core.SystemStartlevelTrigger', triggerName, { startlevel: startlevel.toString() }); -}; /** * Creates a trigger that fires on a cron schedule. The supplied cron expression defines when the trigger will fire. @@ -253,12 +232,10 @@ const SystemStartlevelTrigger = (startlevel, triggerName) => { * @param {string} expression the cron expression defining the triggering schedule * @param {string} [triggerName] the optional name of the trigger to create */ -const GenericCronTrigger = (expression, triggerName) => { - typeOfArguments([expression, triggerName], ['string', 'string|undefined']); - return _createTrigger('timer.GenericCronTrigger', triggerName, { +const GenericCronTrigger = (expression, triggerName) => + _createTrigger('timer.GenericCronTrigger', triggerName, { cronExpression: expression }); -}; /** * Creates a trigger that fires daily at a specific time. The supplied time defines when the trigger will fire. @@ -270,12 +247,10 @@ const GenericCronTrigger = (expression, triggerName) => { * @param {string} time the time expression defining the triggering schedule * @param {string} [triggerName] the optional name of the trigger to create */ -const TimeOfDayTrigger = (time, triggerName) => { - typeOfArguments([time, triggerName], ['string', 'string|undefined']); - return _createTrigger('timer.TimeOfDayTrigger', triggerName, { +const TimeOfDayTrigger = (time, triggerName) => + _createTrigger('timer.TimeOfDayTrigger', triggerName, { time: time }); -}; /** * Creates a trigger that fires at a (optional) date and time specified in an DateTime Item. @@ -284,17 +259,15 @@ const TimeOfDayTrigger = (time, triggerName) => { * DateTimeTrigger('MyDateTimeItem'); * * @memberof triggers - * @param {string} itemName the name of the DateTime Item + * @param {Item|string} itemOrName the {@link Item} or the name of the Item to monitor for change * @param {boolean} [timeOnly=false] Specifies whether only the time of the Item should be compared or the date and time. * @param {string} [triggerName] the optional name of the trigger to create */ -const DateTimeTrigger = (itemName, timeOnly = false, triggerName) => { - typeOfArguments([itemName, timeOnly, triggerName], ['string', 'boolean|undefined', 'string|undefined']); - return _createTrigger('timer.DateTimeTrigger', triggerName, { - itemName: itemName, +const DateTimeTrigger = (itemOrName, timeOnly = false, triggerName) => + _createTrigger('timer.DateTimeTrigger', triggerName, { + itemName: (itemOrName instanceof Item) ? itemOrName.name : itemOrName, timeOnly: timeOnly }); -}; /** * Creates a trigger for the {@link https://openhab.org/addons/automation/pwm/ Pulse Width Modulation (PWM) Automation} add-on. @@ -318,13 +291,14 @@ const DateTimeTrigger = (itemName, timeOnly = false, triggerName) => { * @param {number} [deadManSwitch] output will be switched off, when the duty cycle is not updated within this time (in ms) * @param {string} [triggerName] the optional name of the trigger to create */ -const PWMTrigger = (dutycycleItem, interval, minDutyCycle, maxDutyCycle, deadManSwitch, triggerName) => _createTrigger('pwm.trigger', triggerName, { - dutycycleItem: dutycycleItem, - interval: interval, - minDutyCycle: minDutyCycle, - maxDutyCycle: maxDutyCycle, - deadManSwitch: deadManSwitch -}); +const PWMTrigger = (dutycycleItem, interval, minDutyCycle, maxDutyCycle, deadManSwitch, triggerName) => + _createTrigger('pwm.trigger', triggerName, { + dutycycleItem: dutycycleItem, + interval: interval, + minDutyCycle: minDutyCycle, + maxDutyCycle: maxDutyCycle, + deadManSwitch: deadManSwitch + }); /** * Creates a trigger for the {@link https://www.openhab.org/addons/automation/pidcontroller/ PID Controller Automation} add-on. @@ -359,22 +333,23 @@ const PWMTrigger = (dutycycleItem, interval, minDutyCycle, maxDutyCycle, deadMan * @param {string} [errorInspectorItem] name of the debug Item for the current regulation difference (error) * @param {string} [triggerName] the optional name of the trigger to create */ -const PIDTrigger = (inputItem, setpointItem, kp = 1, ki = 1, kd = 1, kdTimeConstant = 1, loopTime = 1000, commandItem, integralMinValue, integralMaxValue, pInspectorItem, iInspectorItem, dInspectorItem, errorInspectorItem, triggerName) => _createTrigger('pidcontroller.trigger', triggerName, { - input: inputItem, - setpoint: setpointItem, - kp: kp, - ki: ki, - kd: kd, - kdTimeConstant: kdTimeConstant, - loopTime: loopTime, - commandItem: commandItem, - integralMinValue: integralMinValue, - integralMaxValue: integralMaxValue, - pInspector: pInspectorItem, - iInspector: iInspectorItem, - dInspector: dInspectorItem, - eInspector: errorInspectorItem -}); +const PIDTrigger = (inputItem, setpointItem, kp = 1, ki = 1, kd = 1, kdTimeConstant = 1, loopTime = 1000, commandItem, integralMinValue, integralMaxValue, pInspectorItem, iInspectorItem, dInspectorItem, errorInspectorItem, triggerName) => + _createTrigger('pidcontroller.trigger', triggerName, { + input: inputItem, + setpoint: setpointItem, + kp: kp, + ki: ki, + kd: kd, + kdTimeConstant: kdTimeConstant, + loopTime: loopTime, + commandItem: commandItem, + integralMinValue: integralMinValue, + integralMaxValue: integralMaxValue, + pInspector: pInspectorItem, + iInspector: iInspectorItem, + dInspector: dInspectorItem, + eInspector: errorInspectorItem + }); /* not yet tested ItemStateCondition: (itemName, state, triggerName) => createTrigger("core.ItemStateCondition", triggerName, { diff --git a/types/actions.d.ts.map b/types/actions.d.ts.map index 9d89f55f8..c0b4e2375 100644 --- a/types/actions.d.ts.map +++ b/types/actions.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../actions.js"],"names":[],"mappings":"AAyCA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAuE;AAEvE;;;;;;;;;;;;;;;;;;GAkBG;AACH,2BAA6E;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,4BAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,uBAAqE;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,uBAAqE;AAErE;;;;;;;;;;;;;GAaG;AACH,6BAAyE;AAEzE;;;;;;;;;;GAUG;AACH,uBAAqE;AAErE;;;;;;;;;;;;GAYG;AACH;IACE;;;;OAIG;IACH,8BAFW,MAAM,QAIhB;IAED;;;;;;;OAOG;IACH,+BALW,MAAM,WACN,KAAK,aAAa,0BAqB5B;IAED;;;;;;;;;OASG;IACH,2CANW,MAAM,WACN,KAAK,aAAa,qCAa5B;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,4BAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,gCAA+E;AAE/E;;;;;;;;;;;GAWG;AACH;IACE;;;;;;;OAOG;IACH,uBALW,MAAM,MACN,MAAM,SACN,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;;;OAQG;IACH,0BANW,MAAM,MACN,MAAM,SACN,MAAM,GACJ,MAAM,CAWlB;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAuE;AAEvE;;;;;;;;;;;;;;;GAeG;AACH,mCAAuB;;yBApXT,OAAO,eAAe,EAAE,aAAa;;AAkZ5C,sEAAyD;AAUhD,+EAA+D"} \ No newline at end of file +{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../actions.js"],"names":[],"mappings":"AAwCA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAuE;AAEvE;;;;;;;;;;;;;;;;;;GAkBG;AACH,2BAA6E;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,4BAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,uBAAqE;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,uBAAqE;AAErE;;;;;;;;;;;;;GAaG;AACH,6BAAyE;AAEzE;;;;;;;;;;GAUG;AACH,uBAAqE;AAErE;;;;;;;;;;;;GAYG;AACH;IACE;;;;OAIG;IACH,8BAFW,MAAM,QAIhB;IAED;;;;;;;OAOG;IACH,+BALW,MAAM,WACN,KAAK,aAAa,0BAqB5B;IAED;;;;;;;;;OASG;IACH,2CANW,MAAM,WACN,KAAK,aAAa,qCAa5B;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,4BAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,gCAA+E;AAE/E;;;;;;;;;;;GAWG;AACH;IACE;;;;;;;OAOG;IACH,uBALW,MAAM,MACN,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;;OAQG;IACH,0BANW,MAAM,MACN,MAAM,SACN,MAAM,GACJ,MAAM,CAUlB;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAuE;AAEvE;;;;;;;;;;;;;;;GAeG;AACH,mCAAuB;;yBAjXT,OAAO,eAAe,EAAE,aAAa;;AA+Y5C,sEAAyD;AAUhD,+EAA+D"} \ No newline at end of file diff --git a/types/triggers.d.ts b/types/triggers.d.ts index b9278bc65..f26a2b676 100644 --- a/types/triggers.d.ts +++ b/types/triggers.d.ts @@ -159,11 +159,11 @@ export function TimeOfDayTrigger(time: string, triggerName?: string): HostTrigge * DateTimeTrigger('MyDateTimeItem'); * * @memberof triggers - * @param {string} itemName the name of the DateTime Item + * @param {Item|string} itemOrName the {@link Item} or the name of the Item to monitor for change * @param {boolean} [timeOnly=false] Specifies whether only the time of the Item should be compared or the date and time. * @param {string} [triggerName] the optional name of the trigger to create */ -export function DateTimeTrigger(itemName: string, timeOnly?: boolean, triggerName?: string): HostTrigger; +export function DateTimeTrigger(itemOrName: any | string, timeOnly?: boolean, triggerName?: string): HostTrigger; /** * Creates a trigger for the {@link https://openhab.org/addons/automation/pwm/ Pulse Width Modulation (PWM) Automation} add-on. * diff --git a/types/triggers.d.ts.map b/types/triggers.d.ts.map index 0668b0f89..513de70e2 100644 --- a/types/triggers.d.ts.map +++ b/types/triggers.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../triggers.js"],"names":[],"mappings":"AAyCA;;;;;;;;;;;GAWG;AACH,6CALW,MAAM,SACN,MAAM,gBACN,MAAM,eAShB;AAED;;;;;;;;;;;;;;GAcG;AACH,mDALW,MAAK,MAAM,aACX,MAAM,aACN,MAAM,gBACN,MAAM,eAShB;AAED;;;;;;;;;;;GAWG;AACH,mDAJW,MAAK,MAAM,UACX,MAAM,gBACN,MAAM,eAQhB;AAED;;;;;;;;;;;GAWG;AACH,+CAJW,MAAK,MAAM,YACX,MAAM,gBACN,MAAM,eAQhB;AAED;;;;;;;;;;;GAWG;AACH,qDALW,MAAK,MAAM,aACX,MAAM,aACN,MAAM,gBACN,MAAM,eAShB;AAED;;;;;;;;;;GAUG;AACH,qDAJW,MAAK,MAAM,UACX,MAAM,gBACN,MAAM,eAQhB;AAED;;;;;;;;;;GAUG;AACH,iDAJW,MAAK,MAAM,YACX,MAAM,gBACN,MAAM,eAQhB;AAED;;;;;;;;;;GAUG;AACH,mDAJW,MAAM,WACN,MAAM,gBACN,MAAM,eAQhB;AAED;;;;;;;;;;;GAWG;AACH,mDALW,MAAM,WACN,MAAM,mBACN,MAAM,gBACN,MAAM,eAShB;AAED;;;;;;;;;;;;;GAaG;AACH,oDAHW,MAAM,GAAC,MAAM,gBACb,MAAM,eAOhB;AAED;;;;;;;;;GASG;AACH,+CAHW,MAAM,gBACN,MAAM,eAOhB;AAED;;;;;;;;;GASG;AACH,uCAHW,MAAM,gBACN,MAAM,eAOhB;AAED;;;;;;;;;;GAUG;AACH,0CAJW,MAAM,aACN,OAAO,gBACP,MAAM,eAQhB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,0CAPW,MAAM,YACN,MAAM,iBACN,MAAM,iBACN,MAAM,kBACN,MAAM,gBACN,MAAM,eAQf;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,sCAhBW,MAAM,gBACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,mBACN,MAAM,aACN,MAAM,gBACN,MAAM,qBACN,MAAM,qBACN,MAAM,mBACN,MAAM,mBACN,MAAM,mBACN,MAAM,uBACN,MAAM,gBACN,MAAM,eAiBf"} \ No newline at end of file +{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../triggers.js"],"names":[],"mappings":"AAwCA;;;;;;;;;;;GAWG;AACH,6CALW,MAAM,SACN,MAAM,gBACN,MAAM,eAOb;AAEJ;;;;;;;;;;;;;;GAcG;AACH,mDALW,MAAK,MAAM,aACX,MAAM,aACN,MAAM,gBACN,MAAM,eAOb;AAEJ;;;;;;;;;;;GAWG;AACH,mDAJW,MAAK,MAAM,UACX,MAAM,gBACN,MAAM,eAMb;AAEJ;;;;;;;;;;;GAWG;AACH,+CAJW,MAAK,MAAM,YACX,MAAM,gBACN,MAAM,eAMb;AAEJ;;;;;;;;;;;GAWG;AACH,qDALW,MAAK,MAAM,aACX,MAAM,aACN,MAAM,gBACN,MAAM,eAOb;AAEJ;;;;;;;;;;GAUG;AACH,qDAJW,MAAK,MAAM,UACX,MAAM,gBACN,MAAM,eAMb;AAEJ;;;;;;;;;;GAUG;AACH,iDAJW,MAAK,MAAM,YACX,MAAM,gBACN,MAAM,eAMb;AAEJ;;;;;;;;;;GAUG;AACH,mDAJW,MAAM,WACN,MAAM,gBACN,MAAM,eAMb;AAEJ;;;;;;;;;;;GAWG;AACH,mDALW,MAAM,WACN,MAAM,mBACN,MAAM,gBACN,MAAM,eAOb;AAEJ;;;;;;;;;;;;;GAaG;AACH,oDAHW,MAAM,GAAC,MAAM,gBACb,MAAM,eAKb;AAEJ;;;;;;;;;GASG;AACH,+CAHW,MAAM,gBACN,MAAM,eAKb;AAEJ;;;;;;;;;GASG;AACH,uCAHW,MAAM,gBACN,MAAM,eAKb;AAEJ;;;;;;;;;;GAUG;AACH,4CAJW,MAAK,MAAM,aACX,OAAO,gBACP,MAAM,eAMb;AAEJ;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,0CAPW,MAAM,YACN,MAAM,iBACN,MAAM,iBACN,MAAM,kBACN,MAAM,gBACN,MAAM,eASb;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,sCAhBW,MAAM,gBACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,mBACN,MAAM,aACN,MAAM,gBACN,MAAM,qBACN,MAAM,qBACN,MAAM,mBACN,MAAM,mBACN,MAAM,mBACN,MAAM,uBACN,MAAM,gBACN,MAAM,eAkBb"} \ No newline at end of file