MCPcopy Create free account
hub / github.com/dailydotdev/apps / safeContextHookExport

Function safeContextHookExport

packages/shared/src/lib/func.ts:322–338  ·  view source on GitHub ↗
(
  hook: (...props: Args) => R,
  errorMessage: string,
  defaultReturn?: SafeContextHook<R>,
)

Source from the content-addressed store, hash-verified

320type SafeContextHook<T> = T | undefined;
321
322export const safeContextHookExport = <Args extends unknown[], R>(
323 hook: (...props: Args) => R,
324 errorMessage: string,
325 defaultReturn?: SafeContextHook<R>,
326): ((...props: Args) => SafeContextHook<R>) => {
327 return function useSafeContextHook(...props: Args): SafeContextHook<R> {
328 try {
329 return hook(...props) as SafeContextHook<R>;
330 } catch (error) {
331 if (error instanceof Error && errorMessage === error.message) {
332 return defaultReturn;
333 }
334
335 throw error;
336 }
337 };
338};
339
340export const mergeContextExtra = <TData>({
341 event,

Callers 3

Calls

no outgoing calls

Tested by

no test coverage detected