ts-cast
Version:
Runtime typechecking
7 lines (6 loc) • 319 B
JavaScript
import { withName } from '../helpers/names';
import { throwTypeError } from './throw-type-error';
const optional = (caster) => withName((value, context, reportError = throwTypeError) => (value !== undefined
? caster(value, context, reportError)
: value), `${caster.name} | undefined`);
export default optional;