Buckets:
| 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; | |
| } | |
| } | |
Xet Storage Details
- Size:
- 1.23 kB
- Xet hash:
- 9199b59c0434ad71c2cd2d762660e25b0d0c441ddea00528edf713539c6e57b9
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.