UNPKG

@sentry/core

Version:
37 lines (30 loc) 1.21 kB
import { DEBUG_BUILD } from '../debug-build.js'; import { debug } from './debug-logger.js'; import { stringMatchesSomePattern } from './string.js'; const NOT_PROPAGATED_MESSAGE = '[Tracing] Not injecting trace data for url because it does not match tracePropagationTargets:'; /** * Check if a given URL should be propagated to or not. * If no url is defined, or no trace propagation targets are defined, this will always return `true`. * You can also optionally provide a decision map, to cache decisions and avoid repeated regex lookups. */ function shouldPropagateTraceForUrl( url, tracePropagationTargets, decisionMap, ) { if (typeof url !== 'string' || !tracePropagationTargets) { return true; } const cachedDecision = decisionMap?.get(url); if (cachedDecision !== undefined) { DEBUG_BUILD && !cachedDecision && debug.log(NOT_PROPAGATED_MESSAGE, url); return cachedDecision; } const decision = stringMatchesSomePattern(url, tracePropagationTargets); decisionMap?.set(url, decision); DEBUG_BUILD && !decision && debug.log(NOT_PROPAGATED_MESSAGE, url); return decision; } export { shouldPropagateTraceForUrl }; //# sourceMappingURL=tracePropagationTargets.js.map