import { realFiber } from "@effect/core/io/Fiber/definition";
/**
 * Folds over the runtime or synthetic fiber.
 *
 * @tsplus fluent ets/Fiber fold
 * @tsplus fluent ets/RuntimeFiber fold
 */

export function fold_(self, onRuntime, onSynthetic) {
  void 0;

  switch (self._tag) {
    case "RuntimeFiber":
      {
        return onRuntime(self);
      }

    case "SyntheticFiber":
      {
        return onSynthetic(self);
      }
  }
}
/**
 * Folds over the runtime or synthetic fiber.
 *
 * @tsplus static ets/Fiber/Aspects fold
 */

export const fold = (onRuntime, onSynthetic) => self => fold_(self, onRuntime, onSynthetic);
//# sourceMappingURL=fold.mjs.map