MCPcopy
hub / github.com/facebook/react / emitErrorChunk

Function emitErrorChunk

packages/react-server/src/ReactFlightServer.js:4135–4186  ·  view source on GitHub ↗
(
  request: Request,
  id: number,
  digest: string,
  error: mixed,
  debug: boolean, // DEV-only
  owner: ?ReactComponentInfo, // DEV-only
)

Source from the content-addressed store, hash-verified

4133}
4134
4135function emitErrorChunk(
4136 request: Request,
4137 id: number,
4138 digest: string,
4139 error: mixed,
4140 debug: boolean, // DEV-only
4141 owner: ?ReactComponentInfo, // DEV-only
4142): void {
4143 let errorInfo: ReactErrorInfo;
4144 if (__DEV__) {
4145 let name: string = 'Error';
4146 let message: string;
4147 let stack: ReactStackTrace;
4148 let env = (0, request.environmentName)();
4149 try {
4150 if (error instanceof Error) {
4151 name = error.name;
4152 // eslint-disable-next-line react-internal/safe-string-coercion
4153 message = String(error.message);
4154 stack = filterStackTrace(request, parseStackTrace(error, 0));
4155 const errorEnv = (error: any).environmentName;
4156 if (typeof errorEnv === 'string') {
4157 // This probably came from another FlightClient as a pass through.
4158 // Keep the environment name.
4159 env = errorEnv;
4160 }
4161 } else if (typeof error === 'object' && error !== null) {
4162 message = describeObjectForErrorMessage(error);
4163 stack = [];
4164 } else {
4165 // eslint-disable-next-line react-internal/safe-string-coercion
4166 message = String(error);
4167 stack = [];
4168 }
4169 } catch (x) {
4170 message = 'An error occurred but serializing the error message failed.';
4171 stack = [];
4172 }
4173 const ownerRef =
4174 owner == null ? null : outlineComponentInfo(request, owner);
4175 errorInfo = {digest, name, message, stack, env, owner: ownerRef};
4176 } else {
4177 errorInfo = {digest};
4178 }
4179 const row = serializeRowHeader('E', id) + stringify(errorInfo) + '\n';
4180 const processedChunk = stringToChunk(row);
4181 if (__DEV__ && debug) {
4182 request.completedDebugChunks.push(processedChunk);
4183 } else {
4184 request.completedErrorChunks.push(processedChunk);
4185 }
4186}
4187
4188function emitImportChunk(
4189 request: Request,

Callers 9

serializeDebugThenableFunction · 0.85
serializeClientReferenceFunction · 0.85
errorFunction · 0.85
renderModelFunction · 0.85
renderDebugModelFunction · 0.85
erroredTaskFunction · 0.85
abortFunction · 0.85

Calls 8

stringToChunkFunction · 0.90
filterStackTraceFunction · 0.85
outlineComponentInfoFunction · 0.85
serializeRowHeaderFunction · 0.85
stringifyFunction · 0.85
parseStackTraceFunction · 0.70
pushMethod · 0.65

Tested by

no test coverage detected