import { succeed } from "./constructors"; import { isFailure } from "./guards"; import type { Exit } from "./model"; /* * ------------------------------------------- * Functor Exit * ------------------------------------------- */ export const map_ = (fa: Exit, f: (a: A) => B): Exit => isFailure(fa) ? fa : succeed(f(fa.value)); export const map = (f: (a: A) => B) => (fa: Exit): Exit => map_(fa, f);