export type Optional = T | None; export type None = null | undefined; /** * Determine if an optional value is present. * * @param optional value * @return true if present, false otherwise */ export function isSome(optional: Optional): optional is T { return optional !== null && optional !== undefined; } /** * Determine if an optional value is not present. * * @param optional value * @return true if not present, false otherwise */ export function isNone(optional: Optional): optional is None { return optional === null || optional === undefined; }