@xiangma9712/optional.ts
v1.2.7
Published
Bring Optional class to TypeScript which has same interface to that of Java
Downloads
6
Maintainers
Readme
Optional.ts
Optional.ts emulate Optional class of Java lang.
Instllation
To install Optinal.ts, use npm.
$ npm i @xiangma9712/optional.ts
Then import to your project.
import Optional from "@xiangma9712/optional.ts";
Dependency
TypeScript: >=2.8.1
Method Summery
|Modifier and Type|Method|Description| |:-|:-|:-| |static Optional<T>|empty<T>()|Returns an empty Optional.| |Optional<T>|filter(predicate: (T)=> boolean)|If value is present, and the value matches the given predicate, return an Optional describing the value, otherwise return an empty Optional.| |Optional<U>|flatmap(mapper: (T) => Optional<U>)|If a value is present, apply the provided Optional-bearing mapping function to it, return that result, otherwise return an empty Optional.| |T|get()|If a value is present, returns the value, otherwise throws 'No Such Element'| |any|ifPresent(consumer: (T) => any)|If a value is present, invoke the specified consumer with the value, otherwise do nothing.| |boolean|isPresent()|Return true if there is a value present, otherwise false.| |Optional<U>|map(mapper: (T) => U)|If a value is present, apply the provided mapping function to it, and if the result is non-null, return an Optional describing the result.| |Optinal<T>|of(value: NonNullable)|Returns an Optional with the specified present non-null value.| |Optinal<T>|ofNullable(value: T)|Returns an Optional describing the specified value, if non-null, otherwise returns an empty Optional.| |T|ofElse(other: T)|Return the value if present, otherwise return other.| |T|orElseGet(supplier: (...any) => T)|Return the value if present, otherwise invoke supplier and return the result of that invocation.| |T|orElseThrow(message: string)|Return the contained value, if present, otherwise throw an error with the message|
Note
of(null)
doesn't throw an error
Unlike Java Optional,Optional.of(null)
doesn't throw an error. Since the argument ofof()
is defined asNonNullable<T>
, you will see the following error message in coding.
Argument of type 'null' is not assignable to parameter of type 'never'. ts(2345)
ifPresnt()
can return value
In Optional.ts, you can use function which returns value as a argument ofifPresent()
method.