/
moreqqq
/
DeliveryService
Обзор
Документация
Войти
/
moreqqq
/
DeliveryService
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
server/node_modules/rxjs/src/internal/util/errorContext.ts
42 строки
1 KB
moreqqq
написал приложение
29 май 2026, 22:02
29 май 2026, 22:02
ad51790
Код
Авторство
О чём код?
import { config } from '../config'; let context: { errorThrown: boolean; error: any } | null = null; /** * Handles dealing with errors for super-gross mode. Creates a context, in which * any synchronously thrown errors will be passed to {@link captureError}. Which * will record the error such that it will be rethrown after the call back is complete. * TODO: Remove in v8 * @param cb An immediately executed function. */ export function errorContext(cb: () => void) { if (config.useDeprecatedSynchronousErrorHandling) { const isRoot = !context; if (isRoot) { context = { errorThrown: false, error: null }; } cb(); if (isRoot) { const { errorThrown, error } = context!; context = null; if (errorThrown) { throw error; } } } else { // This is the general non-deprecated path for everyone that // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling) cb(); } } /** * Captures errors only in super-gross mode. * @param err the error to capture */ export function captureError(err: any) { if (config.useDeprecatedSynchronousErrorHandling && context) { context.errorThrown = true; context.error = err; } }