From ca0ef04538862dcb5186548c2b222c1f40061369 Mon Sep 17 00:00:00 2001 From: Timo Clasen Date: Wed, 21 Aug 2024 22:36:39 +0200 Subject: [PATCH] Refactor Effect Action Code --- src/data/smarthome/action.ts | 58 ++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/src/data/smarthome/action.ts b/src/data/smarthome/action.ts index a8b14a8..827a4b9 100644 --- a/src/data/smarthome/action.ts +++ b/src/data/smarthome/action.ts @@ -26,8 +26,8 @@ export const turnOnBalcony = createAction({ input: zfd.formData({ color: zfd.text(colorSchema), }), - action: async ({ input }) => { - const action = Effect.gen(function* () { + action: async ({ input }) => + Effect.gen(function* () { const { color } = input; yield* Effect.logInfo(`Trying to turn on balcony light ${color}`); @@ -38,36 +38,30 @@ export const turnOnBalcony = createAction({ yield* Effect.sleep("2 seconds"); yield* incrementBalconyCounter(color); - yield* Effect.logInfo(`Balcony light turned on ${color}`); - revalidateTag("control-count"); - }); - - await Effect.runPromise( - action.pipe( - Effect.provide(DevToolsLive), - Effect.provide(NodeSdkLive), - Effect.provide(HomeeService.Live), - Effect.provide(DatabaseService.Live), - Effect.mapError((error) => { - let message = ""; - switch (error._tag) { - case "PlayHomeegramError": - message = "Balkonlampe konnte nicht eingeschaltet werden."; - break; - case "IncrementBalconyCounterError": - message = `Der ${error.color} Zähler konnte nicht erhöht werden.`; - break; - default: - message = "Unbekannter Fehler"; - break; - } - - return new ActionError({ message, cause: error.cause }); - }), - Effect.orDie, - ), - ); - }, + yield* Effect.logInfo(`Balcony light turned on ${color}`); + }).pipe( + Effect.provide(DevToolsLive), + Effect.provide(NodeSdkLive), + Effect.provide(HomeeService.Live), + Effect.provide(DatabaseService.Live), + Effect.mapError((error) => { + let message = ""; + switch (error._tag) { + case "PlayHomeegramError": + message = "Balkonlampe konnte nicht eingeschaltet werden."; + break; + case "IncrementBalconyCounterError": + message = `Der ${error.color} Zähler konnte nicht erhöht werden.`; + break; + default: + message = "Unbekannter Fehler"; + break; + } + return new ActionError({ message, cause: error.cause }); + }), + Effect.orDie, + Effect.runPromise, + ), });