File tree Expand file tree Collapse file tree 2 files changed +11
-7
lines changed Expand file tree Collapse file tree 2 files changed +11
-7
lines changed Original file line number Diff line number Diff line change 11type Ok < T > = {
2+ ok : true ;
23 value : T ;
34 isOk : ( ) => this is Ok < T > ;
45 isErr : ( ) => this is Err < never > ;
@@ -7,7 +8,8 @@ type Ok<T> = {
78} ;
89
910type Err < E > = {
10- error : E ;
11+ ok : false ;
12+ value : E ;
1113 isOk : ( ) => this is Ok < never > ;
1214 isErr : ( ) => this is Err < E > ;
1315 map : < U > ( f : ( value : never ) => U ) => Result < never , E > ;
@@ -17,6 +19,7 @@ type Err<E> = {
1719export type Result < T , E > = Ok < T > | Err < E > ;
1820
1921export const Ok = < T > ( value : T ) : Result < T , never > => ( {
22+ ok : true ,
2023 value,
2124 isOk : ( ) : this is Ok < T > => true ,
2225 isErr : ( ) : this is Err < never > => false ,
@@ -25,7 +28,8 @@ export const Ok = <T>(value: T): Result<T, never> => ({
2528} ) ;
2629
2730export const Err = < E > ( error : E ) : Result < never , E > => ( {
28- error,
31+ ok : false ,
32+ value : error ,
2933 isOk : ( ) : this is Ok < never > => false ,
3034 isErr : ( ) : this is Err < E > => true ,
3135 map : < U > ( _f : ( value : never ) => U ) => Err ( error ) ,
Original file line number Diff line number Diff line change @@ -39,29 +39,29 @@ describe("Result type", () => {
3939 expect ( result . isOk ( ) ) . toBe ( false ) ;
4040 expect ( result . isErr ( ) ) . toBe ( true ) ;
4141 if ( result . isErr ( ) )
42- expect ( result . error ) . toBe ( 42 ) ;
42+ expect ( result . value ) . toBe ( 42 ) ;
4343 } ) ;
4444 it ( "should not map" , ( ) => {
4545 const result = Err ( 26 ) ;
4646 const newResult = result . map ( ( x ) => x + 1 ) ;
4747 expect ( newResult . isOk ( ) ) . toBe ( false ) ;
4848 expect ( newResult . isErr ( ) ) . toBe ( true ) ;
4949 if ( newResult . isErr ( ) )
50- expect ( newResult . error ) . toBe ( 26 ) ;
50+ expect ( newResult . value ) . toBe ( 26 ) ;
5151 expect ( result . isErr ( ) ) . toBe ( true ) ;
5252 if ( result . isErr ( ) )
53- expect ( result . error ) . toBe ( 26 ) ;
53+ expect ( result . value ) . toBe ( 26 ) ;
5454 } ) ;
5555 it ( "should mapErr" , ( ) => {
5656 const result = Err ( "foo" ) ;
5757 const newResult = result . mapErr ( ( x ) => x + "bar" ) ;
5858 expect ( newResult . isOk ( ) ) . toBe ( false ) ;
5959 expect ( newResult . isErr ( ) ) . toBe ( true ) ;
6060 if ( newResult . isErr ( ) )
61- expect ( newResult . error ) . toBe ( "foobar" ) ;
61+ expect ( newResult . value ) . toBe ( "foobar" ) ;
6262 expect ( result . isErr ( ) ) . toBe ( true ) ;
6363 if ( result . isErr ( ) )
64- expect ( result . error ) . toBe ( "foo" ) ;
64+ expect ( result . value ) . toBe ( "foo" ) ;
6565 } ) ;
6666 } ) ;
6767} ) ;
You can’t perform that action at this time.
0 commit comments