in src/extension/src/telemetry/parseError.ts [11:47]
export function parseError(error: any): IParsedError {
let errorType = "";
let message = "";
let stack: string | undefined;
if (typeof error === "object" && error !== null) {
if (error.constructor !== Object) {
errorType = error.constructor.name;
}
stack = getCallstack(error);
error = unpackErrorFromField(error, "value");
error = unpackErrorFromField(error, "_value");
error = unpackErrorFromField(error, "error");
if (Array.isArray(error.errors) && error.errors.length) {
error = error.errors[0];
}
errorType = getCode(error, errorType);
message = getMessage(error, message);
} else if (error !== undefined && error !== null && error.toString && error.toString().trim() !== "") {
errorType = typeof error;
message = error.toString();
}
message = unpackErrorsInMessage(message);
errorType = errorType || typeof error;
message = message || "Unknown Error";
return {
errorType: errorType,
message: message,
stack: stack,
isUserCancelledError: errorType === "UserCancelledError",
};
}