( mod: (s: S2) => Effect.Effect<readonly [S3, A], E, FixEnv<R, W, S2, S3>> )
| 208 | } |
| 209 | |
| 210 | export function modifyM<W, R, E, A, S2, S3>( |
| 211 | mod: (s: S2) => Effect.Effect<readonly [S3, A], E, FixEnv<R, W, S2, S3>> |
| 212 | ): Effect.Effect<A, E, FixEnv<R, W, S2, S3>> { |
| 213 | // return serviceWithEffect(_ => Ref.modifyM_(_.state, mod)) |
| 214 | return Effect.flatMap( |
| 215 | (castTag<W, S3, S2>()).useSync((_) => _), |
| 216 | (_: any) => |
| 217 | Effect.map(mod(_.env.state), ([s, a]: any) => { |
| 218 | _.env.state = s |
| 219 | return a |
| 220 | }) |
| 221 | ) as any |
| 222 | } |
| 223 | |
| 224 | export function updateWith<S2, S3>(upd: (s: S2) => S3) { |
| 225 | return modify((_: S2) => { |
no test coverage detected
searching dependent graphs…