sentry-testkit
Version:
Sentry Testkit enables Sentry to work natively in your application while running tests. The report is not really sent but rather logged locally into memory. In this way, the logged reports can be fetched for your own verification or any other purpose in y
50 lines • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSentryTransport = void 0;
var transformers_1 = require("./transformers");
function createSentryTransport(testkit) {
return function () {
// Send transport for API < v7
var sendEvent = function (event) {
if (event.type === 'transaction') {
testkit.transactions().push((0, transformers_1.transformTransaction)(event));
}
else {
testkit.reports().push((0, transformers_1.transformReport)(event));
}
return Promise.resolve({
status: 'success',
event: event,
});
};
// Send transport for API v7
var send = function (envelope) {
var items = envelope[1];
// @ts-expect-error
items.forEach(function (_a) {
var headers = _a[0], data = _a[1];
if (headers.type === 'transaction') {
testkit.transactions().push((0, transformers_1.transformTransaction)(data));
}
else if (headers.type === 'event') {
testkit.reports().push((0, transformers_1.transformReport)(data));
}
});
return Promise.resolve();
};
var close = function () {
return Promise.resolve(true);
};
return {
// captureEvent(event: SentryEvent): Promise<SentryResponse>;
captureEvent: sendEvent,
sendEvent: sendEvent,
send: send,
// close(timeout?: number): Promise<boolean>;
close: close,
flush: close, // support for v7 API
};
};
}
exports.createSentryTransport = createSentryTransport;
//# sourceMappingURL=sentryTransport.js.map