import * as tsplus_module_1 from "@effect/core/stm/TRef/operations/make";
import * as tsplus_module_2 from "@effect/core/stm/STM/operations/map";
import { TSemaphoreInternal } from "@effect/core/stm/TSemaphore/operations/_internal/TSemaphoreInternal";
/**
 * Constructs a new `TSemaphore` with the specified number of permits.
 *
 * @tsplus static ets/TSemaphore/Ops make
 */

export function make(permits) {
  return tsplus_module_2.map_(tsplus_module_1.make(() => permits), v => new TSemaphoreInternal(v));
}
//# sourceMappingURL=make.mjs.map