diff --git a/src/rules/operation-builder.js b/src/rules/operation-builder.js index bb667c31..9ea08b59 100644 --- a/src/rules/operation-builder.js +++ b/src/rules/operation-builder.js @@ -5,6 +5,14 @@ const items = require('../items/items'); * @typedef { import("../items/items").Item } Item * @private */ +/** + * @typedef {import('@js-joda/core').ZonedDateTime} time.ZonedDateTime + * @private + */ +/** + * @typedef {import('../quantity').Quantity} Quantity + * @private + */ /** * Operation to execute as part of a rule @@ -63,7 +71,7 @@ class OperationBuilder { /** * Specifies that a command should be sent as a result of this rule firing. * - * @param {string} command the command to send + * @param {string|number|time.ZonedDateTime|Quantity|HostState} command the command to send * @returns {SendCommandOrUpdateOperation} the operation */ send (command) { diff --git a/types/rules/operation-builder.d.ts b/types/rules/operation-builder.d.ts index 3de7748f..3eb14f0c 100644 --- a/types/rules/operation-builder.d.ts +++ b/types/rules/operation-builder.d.ts @@ -45,6 +45,7 @@ export type Item = { removeTags(...tagNames: string[]): void; toString(): any; }; +export type Quantity = import('../quantity').Quantity; /** * Sends a command or update to an item * @@ -204,6 +205,14 @@ export class CopyStateOperation extends OperationConfig { * @typedef { import("../items/items").Item } Item * @private */ +/** + * @typedef {import('@js-joda/core').ZonedDateTime} time.ZonedDateTime + * @private + */ +/** + * @typedef {import('../quantity').Quantity} Quantity + * @private + */ /** * Operation to execute as part of a rule * @hideconstructor @@ -238,10 +247,10 @@ export class OperationBuilder { /** * Specifies that a command should be sent as a result of this rule firing. * - * @param {string} command the command to send + * @param {string|number|time.ZonedDateTime|Quantity|HostState} command the command to send * @returns {SendCommandOrUpdateOperation} the operation */ - send(command: string): SendCommandOrUpdateOperation; + send(command: string | number | time.ZonedDateTime | Quantity | HostState): SendCommandOrUpdateOperation; /** * Specifies that an update should be posted as a result of this rule firing. * @@ -324,5 +333,8 @@ declare class OperationConfig { */ build(name?: string, description?: string, tags?: Array, id?: string): void; } +declare namespace time { + type ZonedDateTime = import('@js-joda/core').ZonedDateTime; +} export {}; //# sourceMappingURL=operation-builder.d.ts.map \ No newline at end of file diff --git a/types/rules/operation-builder.d.ts.map b/types/rules/operation-builder.d.ts.map index 0ec1163b..d843ec5a 100644 --- a/types/rules/operation-builder.d.ts.map +++ b/types/rules/operation-builder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"operation-builder.d.ts","sourceRoot":"","sources":["../../src/rules/operation-builder.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6SA;;;;;;GAMG;AACH;IACE,+FAWC;IATC,eAAe;IACf,kBAA0B;IAExB,YAA4B;IAC5B,cAA6C;IAOjD;;;;;SAKK;IACL,sBAHa,IAAI,EAAE,GAAG,MAAM,EAAE,GACf,4BAA4B,CAK1C;IAFC,8BAA8E;IAIhF;;;;;SAKK;IACL,mBAHa,IAAI,GAAG,MAAM,GACX,4BAA4B,CAK1C;IAED;;;;SAIK;IACL,gBAFe,4BAA4B,CAK1C;IAFC,UAAgB;IAIlB,eAAe;IACf,aAYC;IAED,eAAe;IACf,kBAEC;IAED,eAAe;IACf,iBAMC;CACF;AA0CD;;;;;;GAMG;AACH;IACE,iFAeC;IATC,eAAe;IACf,oCAA2D;IAC3D,eAAe;IACf,oBAA4F;IAE5F,eAAe;IACf,kBAAmD;IACnD,eAAe;IACf,iBAA8E;IAGhF,eAAe;IACf,sBAYC;IAED,eAAe;IACf,qBAMC;IAED,eAAe;IACf,mBAEC;IADC,6BAAsD;IAGxD,oBAIC;CACF;AAnGD;;;;;;GAMG;AACH;IAGI,eAAe;IACf,aAAgB;IAChB,uBAAuB;IACvB,iBAGC;IACD,uBAAuB;IACvB,cAGC;IACD,eAAe;IACf,aAAuE;IACvE,eAAe;IACf,kBAA2B;IAC3B,eAAe;IACf,iBAAmG;IAGrG;;;;SAIK;IACL,YAFe,4BAA4B,CAI1C;CACF;AApOD;;;;;;GAMG;AACH;IACE;;;;;SAKK;IACL,yCAHa,OAAO,EAMnB;IADC,cAAgB;IAGlB;;;;;SAKK;IACL,mBAHa,MAAM,GACJ,kBAAkB,CAKhC;IAFC,kBAAyB;IAI3B;;;;;SAKK;IACL,iBAHa,MAAM,GACJ,kBAAkB,CAKhC;IAFC,gBAAuB;IAIzB;;;SAGK;IACL,OAFe,kBAAkB,CAMhC;IAFC,uBAAgB;IAIlB;;;;;SAKK;IACL,aA2BC;IAED;;;;;SAKK;IACL,kBAEC;IAED;;;;;SAKK;IACL,iBAEC;CACF;AAxSD;;;GAGG;AAEH;;;GAGG;AACH;IACE,mCAKC;IAJC,eAAe;IACf,iBAAuB;IACvB,eAAe;IACf,YAAa;IAGf,eAAe;IACf,mBAIC;IAED,eAAe;IACf,cAMC;IAED;;;;;;;SAOK;IACL,aALa,MAAM,gBACN,MAAM,SACN,aAAa,OACb,MAAM,QAOlB;IAED;;;;;SAKK;IACL,eAHa,MAAM,GACJ,gBAAgB,CAK9B;IAFC,cAAkB;IAIpB;;;;;QAKI;IACJ,cAHY,MAAM,GACJ,4BAA4B,CAKzC;IAED;;;;;SAKK;IACL,mBAHa,MAAM,GACJ,4BAA4B,CAK1C;IAED;;;;SAIK;IACL,UAFe,4BAA4B,CAK1C;IAED;;;;SAIK;IACL,WAFe,4BAA4B,CAK1C;IAED;;;;;SAKK;IACL,cAFe,eAAe,CAK7B;IAED;;;;;;SAMK;IACL,UAFe,4BAA4B,CAK1C;IAED;;;;;;SAMK;IACL,UAFe,4BAA4B,CAK1C;IAED;;;;;SAKK;IACL,aAFe,kBAAkB,CAKhC;IAED;;;;;SAKK;IACL,oBAFe,kBAAkB,CAKhC;CACF;AAED;;;GAGG;AACH;IACE,mCAEC;IADC,sBAAwC;IAG1C;;;;;SAKK;IACL,eAHa,MAAM,GACJ,gBAAgB,CAK9B;IAFC,cAAkB;IAIpB;;;;;;;SAOK;IACL,aALa,MAAM,gBACN,MAAM,SACN,aAAa,OACb,MAAM,QAIlB;CACF"} \ No newline at end of file +{"version":3,"file":"operation-builder.d.ts","sourceRoot":"","sources":["../../src/rules/operation-builder.js"],"names":[],"mappings":"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"} \ No newline at end of file