( effect: Effect.Effect<void, StorageFailure>, )
| 264 | * required finalizers after commit and then reports any combined failure. |
| 265 | */ |
| 266 | export const afterCommitRequired = ( |
| 267 | effect: Effect.Effect<void, StorageFailure>, |
| 268 | ): Effect.Effect<void, StorageFailure> => |
| 269 | Effect.flatMap(Effect.service(pendingCommitHooksRef), (hooks) => |
| 270 | hooks |
| 271 | ? Effect.sync(() => { |
| 272 | hooks.push({ _tag: "Required", effect }); |
| 273 | }) |
| 274 | : effect, |
| 275 | ); |
| 276 | |
| 277 | const runCommitHooks = (hooks: readonly PendingCommitHook[]): Effect.Effect<void, StorageFailure> => |
| 278 | Effect.gen(function* () { |
no test coverage detected