"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.unsafeMake = exports.make = void 0;
const primitives_1 = require("../Effect/primitives");
const Function_1 = require("../Function");
const fiberRef_1 = require("./fiberRef");
/**
 * Creates a new `FiberRef` with given initial value.
 */
function make(initial, onFork = Function_1.identity, onJoin = (_, a) => a) {
    return new primitives_1.IFiberRefNew(initial, onFork, onJoin);
}
exports.make = make;
/**
 * Creates a new `FiberRef` with given initial value.
 */
function unsafeMake(initial, onFork = Function_1.identity, onJoin = (_, a) => a) {
    return new fiberRef_1.FiberRef(initial, onFork, onJoin);
}
exports.unsafeMake = unsafeMake;
//# sourceMappingURL=make.js.map