import * as tsplus_module_1 from "@effect/core/stm/TSemaphore/operations/withPermits";
/**
 * Executes the specified effect, acquiring a permit immediately before the
 * effect begins execution and releasing it immediately after the effect
 * completes execution, whether by success, failure, or interruption.
 *
 * @tsplus getter ets/TSemaphore withPermit
 */

export function withPermit(self, __tsplusTrace) {
  return effect => tsplus_module_1.withPermits_(self, 1, __tsplusTrace)(effect);
}
//# sourceMappingURL=withPermit.mjs.map