This is a small library for handling potentially undefined values in TypeScript.
import*asMaybefrom'@katis/maybe'constvalue: string|undefined='defined'// map (or its alias mapDefined)constlength: number|undefined=Maybe.map(value,s=>s.length)// filter (or its alias filterDefined)constshortString: string|undefined=Maybe.filter(value,s=>s.length<=3)// orNullconstnullable: string|null=Maybe.orNull('nullable')// fromNullableconstundefinedString: string|undefined=Maybe.fromNullable(nullable)// getOrThrowconstneverReached: string=Maybe.getOrThrow<string>(undefined)// getOrDefaultconstdefaulted: string=Maybe.getOrDefault<string>(undefined,'default')// getOrElseconstalternative: number=Maybe.getOrElse<number>(undefined,()=>Date.now())// isDefinedif(Maybe.isDefined(undefined)){// ...}// notDefinedif(Maybe.notDefined(undefined)){// ...}