UNPKG

1.54 kBTypeScriptView Raw
1/**
2 * Optional 对象
3 */
4declare class Optional<T> {
5 private value;
6 /**
7 * 构造函数
8 *
9 * @param value T 类型的值
10 */
11 private constructor();
12 /**
13 * 返回一个指定 T 类型的值的 Optional 实例
14 *
15 * @param value T 类型的值
16 * @return T 类型的值的 Optional 实例
17 */
18 static of<T>(value: T): Optional<T>;
19 /**
20 * 如果为非 null 或 undefined,返回 Optional 描述的指定值的实例,否则返回空的 Optional 实例
21 *
22 * @param value T 类型的值
23 * @return T 类型的值的 Optional 实例,或空的 Optional 实例
24 */
25 static ofNullable<T>(value: T): Optional<T>;
26 /**
27 * 返回空的 Optional 实例
28 *
29 * @return 空的 Optional 实例
30 */
31 static empty<T>(): Optional<T>;
32 /**
33 * 如果 value 不为 null 或 undefined,则返回 value 的值;否则抛出异常
34 *
35 * @return Optional 中包含这个值
36 */
37 get<T>(): T;
38 /**
39 * 如果 value 不为 null 或 undefined,则返回 value 的值;否则返回 other
40 *
41 * @param other 其它值
42 * @return value 不为 null 或 undefined,则返回 value 的值;否则返回 other
43 */
44 orElse<T>(other: T): T;
45 /**
46 * 如果 value 不为 null 或 undefined,则返回 true;否则返回 false
47 *
48 * @return value 不为 null 或 undefined,则返回 true;否则返回 false
49 */
50 isPresent(): boolean;
51}
52interface Window {
53 Optional: typeof Optional;
54}