Problem Statement
TIL: In the browser SDK, we export a wrap function that people can wrap around any function call.
It'll try/catch whatever happens inside and report an error to Sentry (using our internal wrap function). This function is typed with any.
| exportfunctionwrap(fn: (...args: any)=>any): any{ |
| returninternalWrap(fn)(); |
| } |
| |
Solution Brainstorm
We should rewrite the type here to use generics:
exportfunctionwrap<F>(fn: ()=>F): F
We can now add the newly typed function and deprecate the any-typed one to remove in v8
Alternative
Deprecate the function and remove it? I never saw this before and afaict it's not documented anywhere.
Problem Statement
TIL: In the browser SDK, we export a
wrapfunction that people can wrap around any function call.It'll try/catch whatever happens inside and report an error to Sentry (using our internal
wrapfunction). This function is typed withany.sentry-javascript/packages/browser/src/sdk.ts
Lines 200 to 203 in b618a52
Solution Brainstorm
We should rewrite the type here to use generics:
We can now add the newly typed function and deprecate the
any-typed one to remove in v8Alternative
Deprecate the function and remove it? I never saw this before and afaict it's not documented anywhere.