Skip to content

Commit bd2372d

Browse files
authored
Merge pull request #13 from abraham/left-right
Make RemoteData generics left/right based
2 parents 6fbd254 + c340b21 commit bd2372d

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/index.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ test('fold initialized', () => {
4242
const view = fold(
4343
initializedMock,
4444
pendingMock,
45-
successMock,
4645
failureMock,
46+
successMock,
4747
);
4848

4949
view(new Initialized());
@@ -62,8 +62,8 @@ test('fold pending', () => {
6262
const view = fold(
6363
initializedMock,
6464
pendingMock,
65-
successMock,
6665
failureMock,
66+
successMock,
6767
);
6868

6969
view(new Pending());
@@ -82,8 +82,8 @@ test('fold success', () => {
8282
const view = fold(
8383
initializedMock,
8484
pendingMock,
85-
successMock,
8685
failureMock,
86+
successMock,
8787
);
8888

8989
const data = { apple: 'sauce' };
@@ -103,8 +103,8 @@ test('fold failure', () => {
103103
const view = fold(
104104
initializedMock,
105105
pendingMock,
106-
successMock,
107106
failureMock,
107+
successMock,
108108
);
109109

110110
const error = 500;
@@ -125,8 +125,8 @@ test('fold unknown', () => {
125125
const view = fold(
126126
initializedMock,
127127
pendingMock,
128-
successMock,
129128
failureMock,
129+
successMock,
130130
);
131131

132132
expect(() => view(otherMock)).toThrowError('Unknown RemoteData type used');

src/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export type RemoteData<D, E> = Initialized | Pending | Success<D> | Failure<E>;
1+
export type RemoteData<E, D> = Initialized | Pending | Failure<E> | Success<D>;
22

33
export class Initialized {
44
private kind = 'Initialized';
@@ -28,13 +28,13 @@ export class Failure<E> {
2828
}
2929
}
3030

31-
export function fold<T, D, E>(
31+
export function fold<T, E, D>(
3232
initialized: () => T,
3333
pending: () => T,
34-
success: (data: D) => T,
3534
failure: (error: E) => T,
36-
): (state: RemoteData<D, E>) => T {
37-
return (state: RemoteData<D, E>) => {
35+
success: (data: D) => T,
36+
): (state: RemoteData<E, D>) => T {
37+
return (state: RemoteData<E, D>) => {
3838
if (state instanceof Initialized) {
3939
return initialized();
4040
} else if (state instanceof Pending) {

0 commit comments

Comments
 (0)