"use strict";

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

var _FiberRefInternal = /*#__PURE__*/require("@effect/core/io/FiberRef/operations/_internal/FiberRefInternal");

const patch_ = patch_1;
exports.patch_ = patch_;

/**
 * Applies a patch to an old value to produce a new value that is equal to the
 * old value with the updates described by the patch.
 *
 * @tsplus fluent ets/FiberRef patch
 */
function patch_1(self, patch) {
  return oldValue => {
    void 0;
    return self._patch(patch)(oldValue);
  };
}
/**
 * Applies a patch to an old value to produce a new value that is equal to the
 * old value with the updates described by the patch.
 *
 * @tsplus static ets/FiberRef/Aspects patch
 */


function patch(patch, value) {
  return self => patch_1(self, patch)(value);
}
//# sourceMappingURL=patch.js.map