forked from off-topic/apps.apple.com
init commit
This commit is contained in:
22
shared/utils/src/optional.ts
Normal file
22
shared/utils/src/optional.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user