| 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; | |
| } |