File tree 2 files changed +15
-2
lines changed
2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import {
11
11
isPromise ,
12
12
MaybeMatcher ,
13
13
MaybeMatcherNoReturn ,
14
+ None ,
14
15
pipeFromArray ,
15
16
Some ,
16
17
} from './utilities' ;
@@ -26,10 +27,12 @@ export class MaybeAsync<TValue> {
26
27
*/
27
28
static from < TValue > ( maybe : Maybe < TValue > ) : MaybeAsync < TValue > ;
28
29
static from < TValue > ( maybePromise : Promise < Maybe < TValue > > ) : MaybeAsync < TValue > ;
29
- static from < TValue > ( promise : Promise < Some < TValue > > ) : MaybeAsync < TValue > ;
30
+ static from < TValue > (
31
+ promise : Promise < Some < TValue > | None >
32
+ ) : MaybeAsync < TValue > ;
30
33
static from < TValue > (
31
34
valueOrPromiseOrMaybePromise :
32
- | Promise < Some < TValue > | Maybe < TValue > >
35
+ | Promise < Some < TValue > | None | Maybe < TValue > >
33
36
| Maybe < TValue >
34
37
) : MaybeAsync < TValue > {
35
38
if ( isPromise ( valueOrPromiseOrMaybePromise ) ) {
Original file line number Diff line number Diff line change @@ -47,6 +47,16 @@ describe('MaybeAsync', () => {
47
47
48
48
await expect ( sut . toPromise ( ) ) . rejects . toMatch ( error ) ;
49
49
} ) ;
50
+
51
+ test ( 'constructs with a Promise undefined value' , async ( ) => {
52
+ const sut = MaybeAsync . from (
53
+ Promise . resolve < string | undefined > ( undefined )
54
+ ) ;
55
+
56
+ const innerMaybe = await sut . toPromise ( ) ;
57
+
58
+ expect ( innerMaybe ) . toHaveNoValue ( ) ;
59
+ } ) ;
50
60
} ) ;
51
61
52
62
describe ( 'some' , ( ) => {
You can’t perform that action at this time.
0 commit comments