UNPKG

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
"use strict"; 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