MCPcopy
hub / github.com/getsentry/sentry-react-native / safeFactory

Function safeFactory

packages/core/src/js/utils/safe.ts:14–35  ·  view source on GitHub ↗
(
  danger: ((...args: A) => R) | T,
  options: {
    loggerMessage?: string;
  } = {},
)

Source from the content-addressed store, hash-verified

12 * They might be partially modified by the failed function.
13 */
14export function safeFactory<A extends [R, ...unknown[]], R, T extends DangerTypesWithoutCallSignature>(
15 danger: ((...args: A) => R) | T,
16 options: {
17 loggerMessage?: string;
18 } = {},
19): ((...args: A) => R) | T {
20 if (typeof danger === 'function') {
21 return (...args) => {
22 try {
23 return danger(...args);
24 } catch (error) {
25 debug.error(
26 options.loggerMessage ? options.loggerMessage : `The ${danger.name} callback threw an error`,
27 error,
28 );
29 return args[0];
30 }
31 };
32 } else {
33 return danger;
34 }
35}
36
37type TracesSampler = Required<ReactNativeOptions>['tracesSampler'];
38

Callers 2

safe.test.tsFile · 0.90
initFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected