tangled
alpha
login
or
join now
isuggest.selfce.st
/
strand
3
fork
atom
alternative tangled frontend (extremely wip)
3
fork
atom
overview
issues
pulls
pipelines
feat: basic results type for sanity
serenity
2 weeks ago
78b5f0d6
af338bfe
+19
1 changed file
expand all
collapse all
unified
split
src
lib
result.ts
+19
src/lib/result.ts
···
1
1
+
export type Ok<T = void> = T extends undefined
2
2
+
? { ok: true }
3
3
+
: { ok: true; data: T };
4
4
+
5
5
+
export type Err<E = void> = E extends undefined
6
6
+
? { ok: false }
7
7
+
: { ok: false; error: E };
8
8
+
9
9
+
export type Result<T = void, E = void> = Ok<T> | Err<E>;
10
10
+
11
11
+
export const ok = <T = void>(data?: T): Ok<T> =>
12
12
+
data === undefined
13
13
+
? ({ ok: true } as Ok<T>)
14
14
+
: ({ ok: true, data } as Ok<T>);
15
15
+
16
16
+
export const err = <E = void>(error?: E): Err<E> =>
17
17
+
error === undefined
18
18
+
? ({ ok: false } as Err<E>)
19
19
+
: ({ ok: false, error } as Err<E>);