Files
apps.apple.com/shared/utils/src/optional.ts
2025-11-04 05:03:50 +08:00

23 lines
586 B
TypeScript

export type Optional<T> = 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<T>(optional: Optional<T>): 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<T>(optional: Optional<T>): optional is None {
return optional === null || optional === undefined;
}