function bracket
bracket<R>(
acquire: () => R | Promise<R>,
release: (r: R) => void | Promise<void>,
): unknown

Resource management pattern (like Haskell's bracket or try-with-resources). Ensures cleanup happens even if the operation throws.

Examples

Example 1

const withConnection = bracket( () => openConnection(), (conn) => conn.close() ); const result = await withConnection(async (conn) => conn.query('SELECT 1'));

Type Parameters

Parameters

acquire: () => R | Promise<R>
release: (r: R) => void | Promise<void>

Return Type

unknown

Usage

import { bracket } from "docs/utilities.ts";