Skip to content

How to reduce an array of effects (TaskEither) #1732

Discussion options

You must be logged in to vote

Okay, the answer is rather simple..

export const applyPreHooks =
  <Command extends AnyCommand, State extends BaseState>(preHooks: PreHook<Command, State>[]) =>
  (initialValues: { command: Command; state: State }) =>
    preHooks.reduce(
      (acc, hook) => TE.chain(hook)(acc),
      TE.of(initialValues) as TE.TaskEither<Std.Error.Err, { command: Command; state: State }>
    );

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by florianbepunkt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant