diff --git a/.changeset/lemon-masks-rest.md b/.changeset/lemon-masks-rest.md new file mode 100644 index 0000000..231a943 --- /dev/null +++ b/.changeset/lemon-masks-rest.md @@ -0,0 +1,5 @@ +--- +"@effect/cli": patch +--- + +fix for multiple handler transforms diff --git a/src/internal/command.ts b/src/internal/command.ts index 6d2d0c8..d363948 100644 --- a/src/internal/command.ts +++ b/src/internal/command.ts @@ -158,7 +158,10 @@ const makeDerive = ( const command = Object.create(Prototype) command.descriptor = options.descriptor ?? self.descriptor command.handler = options.handler ?? self.handler - command.transform = options.transform ?? self.transform + command.transform = options.transform + ? ((effect: Effect.Effect, opts: A) => + options.transform!(self.transform(effect, opts), opts)) + : self.transform command.tag = self.tag return command }