effect-resources-scope
Installation
SKILL.md
Resource Management (Scope)
Acquire/Release
const withConn = Effect.acquireRelease(
Effect.sync(() => open()),
(conn) => Effect.sync(() => close(conn))
).pipe(Effect.flatMap(use))
Scoped
yield* Effect.scoped(
Effect.gen(function* () {
const h = yield* Effect.acquireRelease(acquire(), release)
return yield* use(h)
})
)