import { Fn } from '../Fn'; import { Invoke } from '../Invoke'; import { Result, ResultErr } from '../types'; import { IfInvoking, Input } from '../utils'; export interface MapErr, V> extends Fn, Result> { out: IfInvoking>, Result>; } export type InvokeMapErr, V, In extends Result> = [In] extends [ResultErr] ? ResultErr, V, T['out']> : In;