apollo-link-sentry
Version:
[Apollo Link](https://www.apollographql.com/docs/react/api/link/introduction) to enrich [Sentry](https://sentry.io) events with [GraphQL](https://graphql.org) data
33 lines (32 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_FINGERPRINT = void 0;
exports.setTransaction = setTransaction;
exports.setFingerprint = setFingerprint;
exports.attachBreadcrumbToSentry = attachBreadcrumbToSentry;
var core_1 = require("@sentry/core");
var operation_1 = require("./operation");
var utils_1 = require("./utils");
function setTransaction(operation) {
var definition = (0, operation_1.extractDefinition)(operation);
var name = definition.name;
if (name) {
(0, core_1.getCurrentScope)().setTransactionName(name.value);
}
}
exports.DEFAULT_FINGERPRINT = '{{ default }}';
function setFingerprint(operation) {
var definition = (0, operation_1.extractDefinition)(operation);
var name = definition.name;
if (name) {
(0, core_1.getCurrentScope)().setFingerprint([exports.DEFAULT_FINGERPRINT, name.value]);
}
}
function attachBreadcrumbToSentry(operation, breadcrumb, options) {
var transformed = options.attachBreadcrumbs &&
typeof options.attachBreadcrumbs.transform === 'function'
? options.attachBreadcrumbs.transform(breadcrumb, operation)
: breadcrumb;
transformed.data = (0, utils_1.stringifyObjectKeys)(transformed.data);
(0, core_1.addBreadcrumb)(transformed);
}