Skip to content

Commit ecf09b8

Browse files
fix: refactor functions (#190)
1 parent 0e267d6 commit ecf09b8

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

src/maybe/transformers/maybe-to-observable.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { IMaybe } from '../maybe.interface'
88
* If the Maybe is empty, the observable will immediately complete without emitting a value, otherwise it will emit
99
* the value contained and complete.
1010
*
11-
* @requires rxjs@^6.0
11+
* @requires rxjs@^7.0
1212
* @example
1313
* of(maybe(5)).pipe(
1414
* flatMap(maybeToObservable)
@@ -20,9 +20,6 @@ import { IMaybe } from '../maybe.interface'
2020
* ).subscribe(a => console.log(a))
2121
* // immediately completes with no emitted value
2222
*/
23-
export const maybeToObservable = <A>(m: IMaybe<A>): Observable<A> => {
24-
return m.isNone()
25-
? EMPTY
26-
: of(m.valueOrThrow('isNone returned false for empty IMaybe.'))
27-
.pipe(take(1))
23+
export function maybeToObservable<A>(m: IMaybe<A>): Observable<A> {
24+
return m.isNone() ? EMPTY : of(m.valueOrThrow('isNone returned false for empty IMaybe.')).pipe(take(1))
2825
}
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { IMaybe } from '../maybe.interface'
22

3-
export const maybeToPromise =
4-
<TReject>(catchResponse?: TReject) =>
5-
<TResolve>(maybe: IMaybe<TResolve>): Promise<TResolve> => maybe.isSome()
6-
? Promise.resolve(maybe.valueOrUndefined() as TResolve)
7-
: Promise.reject(catchResponse as TReject)
3+
export function maybeToPromise<TResolve, TReject>(catchResponse?: TReject) {
4+
return function maybeToPromise(maybe: IMaybe<TResolve>): Promise<TResolve> {
5+
return maybe.isSome()
6+
? Promise.resolve(maybe.valueOrThrow())
7+
: Promise.reject(catchResponse)
8+
}
9+
}
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { IResult } from '../result.interface'
22

3-
export const resultToPromise =
4-
<TOk, TFail>(result: IResult<TOk, TFail>): Promise<TOk> => result.isOk()
5-
? Promise.resolve(result.unwrap() as TOk)
6-
: Promise.reject(result.unwrapFail() as TFail)
3+
export function resultToPromise<TOk, TFail>(result: IResult<TOk, TFail>): Promise<TOk> {
4+
return result.isOk()
5+
? Promise.resolve(result.unwrap())
6+
: Promise.reject(result.unwrapFail())
7+
}

0 commit comments

Comments
 (0)