const fileName_1 = "(@effect/core) _src/io/Ref/operations/unsafeMake.ts";
import * as tsplus_module_1 from "@tsplus/stdlib/data/AtomicReference";
import * as tsplus_module_2 from "@effect/core/io/Semaphore/operations/unsafeMake";
export const unsafeMake = unsafeMake_1;
import { AtomicInternal, UnsafeAPI } from "@effect/core/io/Ref/operations/_internal/AtomicInternal";
import { SynchronizedInternal } from "@effect/core/io/Ref/operations/_internal/SynchronizedInternal";
/**
 * @tsplus static ets/Ref/Ops unsafeMake
 */

function unsafeMake_1(value) {
  return Object.setPrototypeOf({
    unsafe: new UnsafeAPI(new tsplus_module_1.AtomicReference(value))
  }, AtomicInternal);
}
/**
 * @tsplus static ets/Ref/Synchronized/Ops unsafeMake
 */


export function unsafeMakeSynchronized(initial) {
  return Object.setPrototypeOf({
    ref: unsafeMake_1(initial),
    semaphore: tsplus_module_2.unsafeMake(1, fileName_1 + ":19:36")
  }, SynchronizedInternal);
}
//# sourceMappingURL=unsafeMake.mjs.map