@grafana/faro-web-sdk
Version:
Faro instrumentations, metas, transports for web.
64 lines • 2.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getErrorDetails = getErrorDetails;
exports.getDetailsFromErrorArgs = getDetailsFromErrorArgs;
exports.getDetailsFromConsoleErrorArgs = getDetailsFromConsoleErrorArgs;
var faro_core_1 = require("@grafana/faro-core");
var const_1 = require("./const");
var getValueAndTypeFromMessage_1 = require("./getValueAndTypeFromMessage");
var stackFrames_1 = require("./stackFrames");
function getErrorDetails(evt) {
var value;
var type;
var stackFrames = [];
var isDomErrorRes;
var isEventRes;
if ((0, faro_core_1.isErrorEvent)(evt) && evt.error) {
value = evt.error.message;
type = evt.error.name;
stackFrames = (0, stackFrames_1.getStackFramesFromError)(evt.error);
}
else if ((isDomErrorRes = (0, faro_core_1.isDomError)(evt)) || (0, faro_core_1.isDomException)(evt)) {
var name_1 = evt.name, message = evt.message;
type = name_1 !== null && name_1 !== void 0 ? name_1 : (isDomErrorRes ? const_1.domErrorType : const_1.domExceptionType);
value = message ? "".concat(type, ": ").concat(message) : type;
}
else if ((0, faro_core_1.isError)(evt)) {
value = evt.message;
stackFrames = (0, stackFrames_1.getStackFramesFromError)(evt);
}
else if ((0, faro_core_1.isObject)(evt) || (isEventRes = (0, faro_core_1.isEvent)(evt))) {
type = isEventRes ? evt.constructor.name : undefined;
value = "".concat(const_1.objectEventValue, " ").concat(Object.keys(evt));
}
return [value, type, stackFrames];
}
function getDetailsFromErrorArgs(args) {
var _a, _b;
var evt = args[0], source = args[1], lineno = args[2], colno = args[3], error = args[4];
var value;
var type;
var stackFrames = [];
var eventIsString = (0, faro_core_1.isString)(evt);
var initialStackFrame = (0, stackFrames_1.buildStackFrame)(source, const_1.unknownSymbolString, lineno, colno);
if (error || !eventIsString) {
_a = getErrorDetails((error !== null && error !== void 0 ? error : evt)), value = _a[0], type = _a[1], stackFrames = _a[2];
if (stackFrames.length === 0) {
stackFrames = [initialStackFrame];
}
}
else if (eventIsString) {
_b = (0, getValueAndTypeFromMessage_1.getValueAndTypeFromMessage)(evt), value = _b[0], type = _b[1];
stackFrames = [initialStackFrame];
}
return { value: value, type: type, stackFrames: stackFrames };
}
function getDetailsFromConsoleErrorArgs(args, serializer) {
if ((0, faro_core_1.isError)(args[0])) {
return getDetailsFromErrorArgs(args);
}
else {
return { value: serializer(args) };
}
}
//# sourceMappingURL=getErrorDetails.js.map