From c98e035e5b179f75ca90f1eb8515311269576d8a Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Tue, 13 Dec 2022 20:51:00 +0100 Subject: [PATCH] ref(core): Move `getSdkMetadataForEnvelopeHeader` to utils --- packages/core/src/envelope.ts | 11 +---------- packages/replay/src/util/createReplayEnvelope.ts | 5 ++--- packages/utils/src/envelope.ts | 12 ++++++++++++ 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/packages/core/src/envelope.ts b/packages/core/src/envelope.ts index 023955df2208..1c148015ae63 100644 --- a/packages/core/src/envelope.ts +++ b/packages/core/src/envelope.ts @@ -11,16 +11,7 @@ import { SessionEnvelope, SessionItem, } from '@sentry/types'; -import { createEnvelope, dropUndefinedKeys, dsnToString } from '@sentry/utils'; - -/** Extract sdk info from from the API metadata */ -function getSdkMetadataForEnvelopeHeader(metadata?: SdkMetadata): SdkInfo | undefined { - if (!metadata || !metadata.sdk) { - return; - } - const { name, version } = metadata.sdk; - return { name, version }; -} +import { createEnvelope, dropUndefinedKeys, dsnToString, getSdkMetadataForEnvelopeHeader } from '@sentry/utils'; /** * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key. diff --git a/packages/replay/src/util/createReplayEnvelope.ts b/packages/replay/src/util/createReplayEnvelope.ts index 88c32cbc90da..c42ff1fa8d5d 100644 --- a/packages/replay/src/util/createReplayEnvelope.ts +++ b/packages/replay/src/util/createReplayEnvelope.ts @@ -1,17 +1,16 @@ import { Envelope, Event } from '@sentry/types'; -import { createEnvelope } from '@sentry/utils'; +import { createEnvelope, getSdkMetadataForEnvelopeHeader } from '@sentry/utils'; export function createReplayEnvelope( replayId: string, replayEvent: Event, payloadWithSequence: string | Uint8Array, ): Envelope { - const { name, version } = replayEvent.sdk || {}; return createEnvelope( { event_id: replayId, sent_at: new Date().toISOString(), - sdk: { name, version }, + sdk: getSdkMetadataForEnvelopeHeader(replayEvent), }, [ // @ts-ignore New types diff --git a/packages/utils/src/envelope.ts b/packages/utils/src/envelope.ts index 1e20a2e83591..3d6dbd6706cd 100644 --- a/packages/utils/src/envelope.ts +++ b/packages/utils/src/envelope.ts @@ -5,6 +5,9 @@ import { Envelope, EnvelopeItem, EnvelopeItemType, + Event, + SdkInfo, + SdkMetadata, TextEncoderInternal, } from '@sentry/types'; @@ -142,3 +145,12 @@ const ITEM_TYPE_TO_DATA_CATEGORY_MAP: Record = { export function envelopeItemTypeToDataCategory(type: EnvelopeItemType): DataCategory { return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type]; } + +/** Extracts the minimal SDK info from from the metadata or an events */ +export function getSdkMetadataForEnvelopeHeader(metadataOrEvent?: SdkMetadata | Event): SdkInfo | undefined { + if (!metadataOrEvent || !metadataOrEvent.sdk) { + return; + } + const { name, version } = metadataOrEvent.sdk; + return { name, version }; +}