import * as tsplus_module_1 from "@effect/core/stm/TSemaphore/operations/makeCommit";
import * as tsplus_module_2 from "@effect/core/io/Effect/operations/map";
import { SemaphoreInternal } from "@effect/core/io/Semaphore/operations/_internal/SemaphoreInternal";
/**
 * Creates a new `Semaphore` with the specified number of permits.
 *
 * @tsplus static ets/Semaphore/Ops make
 */

export function make(permits, __tsplusTrace) {
  return tsplus_module_2.map_(tsplus_module_1.makeCommit(permits, __tsplusTrace), semaphore => new SemaphoreInternal(semaphore), __tsplusTrace);
}
//# sourceMappingURL=make.mjs.map