aboutsummaryrefslogtreecommitdiff
path: root/packages/sdk/src/result.ts
blob: f2c11ee1bfe9e2d1f00f43fe665fd22c74b713bd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
export type Success<T> = {
	success: true;
	value: T;
};

export type Failure<E> = {
	success: false;
	error: E;
};

export type Result<T, E> = Success<T> | Failure<E>;

export function success<T>(value: T): Success<T> {
	return { success: true, value };
}

export function failure<E>(error: E): Failure<E> {
	return { success: false, error };
}