1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| import { errorObject } from './errorObject';
|
| let tryCatchTarget: Function;
|
| function tryCatcher(this: any): any {
| errorObject.e = undefined;
| try {
| return tryCatchTarget.apply(this, arguments);
| } catch (e) {
| errorObject.e = e;
| return errorObject;
| } finally {
| tryCatchTarget = undefined;
| }
| }
|
| export function tryCatch<T extends Function>(fn: T): T {
| tryCatchTarget = fn;
| return <any>tryCatcher;
| }
|
|