Skip to content

Commit f388b3f

Browse files
committed
Update safe wrappers
1 parent 17d1a62 commit f388b3f

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/helper.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,18 +99,20 @@ const helper = {
9999
mkdirp: promisify(mkdirp)
100100
},
101101

102-
safeSync(fn: any): any {
103-
return (...args): [Error] | [null, any] => {
102+
safeSync<T, U = any>(fn: (...args: any[]) => T): (...args: any[]) => [U | null, T | undefined] {
103+
return (...args: any[]): [U | null, T | undefined] => {
104104
try {
105-
return [null, fn(...args)];
105+
return [null, fn(...args) as T];
106106
} catch (err) {
107-
return [err];
107+
return [err, undefined] as [U, undefined];
108108
}
109109
};
110110
},
111111

112-
safeAsync(promise: Promise<any>): Promise<any> {
113-
return promise.then(data => [null, data]).catch(err => [err]);
112+
safeAsync<T, U = any>(promise: Promise<T>): Promise<[U | null, T | undefined]> {
113+
return promise
114+
.then<[null, T]>((data: T) => [null, data])
115+
.catch<[U, undefined]>(err => [err, undefined]);
114116
}
115117

116118
};

0 commit comments

Comments
 (0)