1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { SyncPromise, logger, isThenable, getGlobalSingleton } from '@sentry/utils';
- import { DEBUG_BUILD } from './debug-build.js';
- /**
- * Returns the global event processors.
- * @deprecated Global event processors will be removed in v8.
- */
- function getGlobalEventProcessors() {
- return getGlobalSingleton('globalEventProcessors', () => []);
- }
- /**
- * Add a EventProcessor to be kept globally.
- * @deprecated Use `addEventProcessor` instead. Global event processors will be removed in v8.
- */
- function addGlobalEventProcessor(callback) {
- // eslint-disable-next-line deprecation/deprecation
- getGlobalEventProcessors().push(callback);
- }
- /**
- * Process an array of event processors, returning the processed event (or `null` if the event was dropped).
- */
- function notifyEventProcessors(
- processors,
- event,
- hint,
- index = 0,
- ) {
- return new SyncPromise((resolve, reject) => {
- const processor = processors[index];
- if (event === null || typeof processor !== 'function') {
- resolve(event);
- } else {
- const result = processor({ ...event }, hint) ;
- DEBUG_BUILD && processor.id && result === null && logger.log(`Event processor "${processor.id}" dropped event`);
- if (isThenable(result)) {
- void result
- .then(final => notifyEventProcessors(processors, final, hint, index + 1).then(resolve))
- .then(null, reject);
- } else {
- void notifyEventProcessors(processors, result, hint, index + 1)
- .then(resolve)
- .then(null, reject);
- }
- }
- });
- }
- export { addGlobalEventProcessor, getGlobalEventProcessors, notifyEventProcessors };
- //# sourceMappingURL=eventProcessors.js.map
|