switch-functional
Version:
Functional switch statement
11 lines (10 loc) • 875 B
TypeScript
import type { AnyReturnValues, FinalReturnValue, GetFinalValue, Input, Options, ReturnValue } from './types.js';
/**
* Return value of `switchFunctional().default()`
*/
export declare const addDefault: <CustomCondition, CustomReturnValues extends readonly unknown[], OriginalInput extends Input, StrictReturnValue extends ReturnValue<OriginalInput>, FinalReturnValues extends FinalReturnValue>({ resolved, options, input, finalValue, }: {
resolved: boolean;
options: Options<CustomCondition, CustomReturnValues, OriginalInput, StrictReturnValue>;
input: OriginalInput;
finalValue?: FinalReturnValues | undefined;
}) => <NewReturnValue extends ReturnValue<OriginalInput> = never>(...defaultReturnValues: AnyReturnValues<CustomReturnValues, OriginalInput, NewReturnValue>) => NonNullable<FinalReturnValues> | GetFinalValue<NewReturnValue, StrictReturnValue>;