(
todoState: Readonly<Option.Option<TodoState>>,
command: (
state: Readonly<Option.Option<TodoState>>
) => Effect.Effect<ReadonlyArray<TodoEvent>, Error>,
todoId: TodoId,
eventNumber: number,
successMessage: string,
noOpMessage: string
)
| 88 | }; |
| 89 | |
| 90 | const processCommand = ( |
| 91 | todoState: Readonly<Option.Option<TodoState>>, |
| 92 | command: ( |
| 93 | state: Readonly<Option.Option<TodoState>> |
| 94 | ) => Effect.Effect<ReadonlyArray<TodoEvent>, Error>, |
| 95 | todoId: TodoId, |
| 96 | eventNumber: number, |
| 97 | successMessage: string, |
| 98 | noOpMessage: string |
| 99 | ) => |
| 100 | pipe( |
| 101 | todoState, |
| 102 | command, |
| 103 | Effect.flatMap((events) => |
| 104 | handleConditional( |
| 105 | events, |
| 106 | commitAndPublish(todoId, eventNumber, events, successMessage), |
| 107 | Console.log(noOpMessage) |
| 108 | ) |
| 109 | ) |
| 110 | ); |
| 111 | |
| 112 | const executeCommand = ( |
| 113 | todoId: TodoId, |
no test coverage detected