( upd: (s: S2, log: (evt: W) => PureLogT<W>) => Effect.Effect<S3, E, FixEnv<R, W, S2, S3>> )
| 229 | } |
| 230 | |
| 231 | export function updateWithEffect<W, R, E, S2, S3>( |
| 232 | upd: (s: S2, log: (evt: W) => PureLogT<W>) => Effect.Effect<S3, E, FixEnv<R, W, S2, S3>> |
| 233 | ): Effect.Effect<S3, E, FixEnv<R, W, S2, S3>> { |
| 234 | return modifyM((_: S2) => Effect.map(upd(_, log), (_) => tuple(_, _))) |
| 235 | } |
| 236 | |
| 237 | export type FixEnv<R, W, S, S2> = |
| 238 | | Exclude<R, PureEnvEnv<any, any, any>> |