mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-29 01:45:49 +08:00
added termial operations of Optional
This commit is contained in:
@@ -116,9 +116,16 @@ var done: boolean = iter.done;
|
||||
|
||||
var optNum: Stream.Optional<number> = Stream.Optional.of(2);
|
||||
optNum = Stream.Optional.ofNullable(null);
|
||||
optNum = Stream.Optional.empty();
|
||||
//optNum = Stream.Optional.empty();
|
||||
|
||||
var optStr: Stream.Optional<String> = optNum.filter(n => n % 2 == 0)
|
||||
.map(n => "number" + n)
|
||||
.flatMap(n => Stream.Optional.of(n + 2))
|
||||
;
|
||||
|
||||
var isPresent: boolean = optNum.isPresent();
|
||||
var num: number = optNum.get();
|
||||
optNum.ifPresent(n => console.log(n));
|
||||
var def: number = optNum.orElse(2);
|
||||
def = optNum.orElseGet(() => 3);
|
||||
def = optNum.orElseThrow("something went wrong");
|
||||
|
||||
6
streamjs/streamjs.d.ts
vendored
6
streamjs/streamjs.d.ts
vendored
@@ -102,5 +102,11 @@ declare module Stream {
|
||||
filter(predicate: (elem: T) => boolean): Optional<T>;
|
||||
map<U>(mapper: (elem: T) => U): Optional<U>;
|
||||
flatMap<U>(mapper: (elem: T) => Stream.Optional<U>): Optional<U>;
|
||||
isPresent(): boolean;
|
||||
get(): T;
|
||||
ifPresent(consumer: (elem: T) => void): void;
|
||||
orElse(other: T): T;
|
||||
orElseGet(supplier: () => T): T;
|
||||
orElseThrow(error: any): T;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user