// ets_tracing: off import * as O from "@effect-ts/system/Option" import type * as Tp from "../../Collections/Immutable/Tuple/index.js" import type { Either } from "../../Either/index.js" import { separate } from "./separate.js" /** * Partition + Map * * @ets_data_first partitionMap_ */ export function partitionMap(f: (a: A) => Either) { return (fa: O.Option): Tp.Tuple<[O.Option, O.Option]> => partitionMap_(fa, f) } /** * Partition + Map */ export function partitionMap_( fa: O.Option, f: (a: A) => Either ): Tp.Tuple<[O.Option, O.Option]> { return separate(O.map_(fa, f)) }