"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.modify = void 0;
exports.modify_ = modify_;

var _primitives = /*#__PURE__*/require("@effect/core/io/Effect/definition/primitives");

/**
 * Atomically modifies the `FiberRef` with the specified function, which
 * computes a return value for the modification. This is a more powerful
 * version of `update`.
 *
 * @tsplus fluent ets/FiberRef modify
 */
function modify_(self, f, __tsplusTrace) {
  return new _primitives.IFiberRefModify(self, f, __tsplusTrace);
}
/**
 * Atomically modifies the `FiberRef` with the specified function, which
 * computes a return value for the modification. This is a more powerful
 * version of `update`.
 *
 * @tsplus static ets/FiberRef/Aspects modify
 */


const modify = (f, __tsplusTrace) => self => modify_(self, f, __tsplusTrace);

exports.modify = modify;
//# sourceMappingURL=modify.js.map