( receiver: TRef.TRef<number>, sender: TRef.TRef<number>, much: number )
| 101 | ) |
| 102 | |
| 103 | const transfer = ( |
| 104 | receiver: TRef.TRef<number>, |
| 105 | sender: TRef.TRef<number>, |
| 106 | much: number |
| 107 | ): Effect.Effect<number> => |
| 108 | pipe( |
| 109 | TRef.get(sender), |
| 110 | STM.tap((balance) => STM.check(() => balance >= much)), |
| 111 | STM.tap(() => pipe(receiver, TRef.update((n) => n + much))), |
| 112 | STM.tap(() => pipe(sender, TRef.update((n) => n - much))), |
| 113 | STM.zipRight(TRef.get(receiver)), |
| 114 | STM.commit |
| 115 | ) |
| 116 | |
| 117 | const compute3TRefN = ( |
| 118 | n: number, |
no test coverage detected
searching dependent graphs…