1 | export type Present<T> = Exclude<T, null | undefined>;
|
2 | export type Nullable<T> = T | null;
|
3 | export type Optional<T> = T | undefined;
|
4 | export type Maybe<T> = Nullable<T> | Optional<T>;
|
5 | export type FIXME<T, _S extends string> = T;
|
6 |
|
7 | export type Dict<T = unknown> = Record<string, T>;
|
8 |
|
9 | export type DictValue<D extends Dict> = D extends Dict<infer V> ? V : never;
|
10 |
|
11 | export interface Unique<T> {
|
12 | 'Unique [id=ada0f31f-27f7-4ab0-bc03-0005387c9d5f]': T;
|
13 | }
|
14 |
|
15 | export type Recast<T, U> = (T & U) | U;
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 | export type RichIteratorResult<Tick, Return> =
|
23 | | {
|
24 | done: false;
|
25 | value: Tick;
|
26 | }
|
27 | | {
|
28 | done: true;
|
29 | value: Return;
|
30 | };
|
31 |
|
32 | export type Destroyable = object;
|
33 | export type Destructor<T extends Destroyable> = (destroyable: T) => void;
|