import * as tsplus_module_1 from "@tsplus/stdlib/data/Tuple/make";
import * as tsplus_module_2 from "@effect/core/stm/TMap/operations/transform";
import { concreteTSet } from "@effect/core/stm/TSet/operations/_internal/InternalTSet";
/**
 * Atomically updates all elements using a pure function.
 *
 * @tsplus fluent ets/TSet transform
 */

export function transform_(self, f) {
  void 0;
  return tsplus_module_2.transform_(self.tmap, kv => tsplus_module_1.make(f(kv.get(0)), kv.get(1)));
}
/**
 * Atomically updates all elements using a pure function.
 *
 * @tsplus static ets/TSet/Aspects transform
 */

export const transform = f => self => transform_(self, f);
//# sourceMappingURL=transform.mjs.map