From f3e0e5e9802cd6da4d79c7e8e79739536d9c1e80 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Tue, 14 Feb 2023 21:27:07 +0100 Subject: [PATCH] implement addTrigger --- packages/core/pattern.mjs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index b9c9e24cc..a97628bc4 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -820,6 +820,22 @@ export class Pattern { ); } + addTrigger(onTrigger) { + return this.withHap((hap) => + hap.setContext({ + ...hap.context, + onTrigger: (...args) => { + if (hap.context.onTrigger) { + hap.context.onTrigger(...args); + } + onTrigger(...args); + }, + // this flag causes the default output to be ignored + dominantTrigger: true, + }), + ); + } + log(func = (_, hap) => `[hap] ${hap.showWhole(true)}`, getData = (_, hap) => ({ hap })) { return this.onTrigger((...args) => { logger(func(...args), undefined, getData(...args));