mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
1 line
15 KiB
JSON
1 line
15 KiB
JSON
{"ast":null,"code":"import { isString } from './is.js';\nimport { logger } from './logger.js';\nvar BAGGAGE_HEADER_NAME = 'baggage';\nvar SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\nvar SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nvar MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\nfunction baggageHeaderToDynamicSamplingContext(\n// Very liberal definition of what any incoming header might look like\nbaggageHeader) {\n if (!isString(baggageHeader) && !Array.isArray(baggageHeader)) {\n return undefined;\n }\n\n // Intermediary object to store baggage key value pairs of incoming baggage headers on.\n // It is later used to read Sentry-DSC-values from.\n let baggageObject = {};\n if (Array.isArray(baggageHeader)) {\n // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n baggageObject = baggageHeader.reduce((acc, curr) => {\n var currBaggageObject = baggageHeaderToObject(curr);\n return {\n ...acc,\n ...currBaggageObject\n };\n }, {});\n } else {\n // Return undefined if baggage header is an empty string (technically an empty baggage header is not spec conform but\n // this is how we choose to handle it)\n if (!baggageHeader) {\n return undefined;\n }\n baggageObject = baggageHeaderToObject(baggageHeader);\n }\n\n // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n var dynamicSamplingContext = Object.entries(baggageObject).reduce((acc, [key, value]) => {\n if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n var nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n return acc;\n }, {});\n\n // Only return a dynamic sampling context object if there are keys in it.\n // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext;\n } else {\n return undefined;\n }\n}\n\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\nfunction dynamicSamplingContextToSentryBaggageHeader(\n// this also takes undefined for convenience and bundle size in other places\ndynamicSamplingContext) {\n // Prefix all DSC keys with \"sentry-\" and put them into a new object\n var sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce((acc, [dscKey, dscValue]) => {\n if (dscValue) {\n acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n }\n return acc;\n }, {});\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\n\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\nfunction baggageHeaderToObject(baggageHeader) {\n return baggageHeader.split(',').map(baggageEntry => baggageEntry.split('=').map(keyOrValue => decodeURIComponent(keyOrValue.trim()))).reduce((acc, [key, value]) => {\n acc[key] = value;\n return acc;\n }, {});\n}\n\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\nfunction objectToBaggageHeader(object) {\n if (Object.keys(object).length === 0) {\n // An empty baggage header is not spec compliant: We return undefined.\n return undefined;\n }\n return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n var baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n var newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`);\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, '');\n}\nexport { BAGGAGE_HEADER_NAME, MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader };","map":{"version":3,"names":["isString","logger","BAGGAGE_HEADER_NAME","SENTRY_BAGGAGE_KEY_PREFIX","SENTRY_BAGGAGE_KEY_PREFIX_REGEX","MAX_BAGGAGE_STRING_LENGTH","baggageHeaderToDynamicSamplingContext","baggageHeader","Array","isArray","undefined","baggageObject","reduce","acc","curr","currBaggageObject","baggageHeaderToObject","dynamicSamplingContext","Object","entries","key","value","match","nonPrefixedKey","slice","length","keys","dynamicSamplingContextToSentryBaggageHeader","sentryPrefixedDSC","dscKey","dscValue","objectToBaggageHeader","split","map","baggageEntry","keyOrValue","decodeURIComponent","trim","object","objectKey","objectValue","currentIndex","encodeURIComponent","newBaggageHeader","__SENTRY_DEBUG__","warn"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@sentry/utils/esm/baggage.js"],"sourcesContent":["import { isString } from './is.js';\nimport { logger } from './logger.js';\n\nvar BAGGAGE_HEADER_NAME = 'baggage';\n\nvar SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nvar SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nvar MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\nfunction baggageHeaderToDynamicSamplingContext(\n // Very liberal definition of what any incoming header might look like\n baggageHeader,\n) {\n if (!isString(baggageHeader) && !Array.isArray(baggageHeader)) {\n return undefined;\n }\n\n // Intermediary object to store baggage key value pairs of incoming baggage headers on.\n // It is later used to read Sentry-DSC-values from.\n let baggageObject = {};\n\n if (Array.isArray(baggageHeader)) {\n // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n baggageObject = baggageHeader.reduce((acc, curr) => {\n var currBaggageObject = baggageHeaderToObject(curr);\n return {\n ...acc,\n ...currBaggageObject,\n };\n }, {});\n } else {\n // Return undefined if baggage header is an empty string (technically an empty baggage header is not spec conform but\n // this is how we choose to handle it)\n if (!baggageHeader) {\n return undefined;\n }\n\n baggageObject = baggageHeaderToObject(baggageHeader);\n }\n\n // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n var dynamicSamplingContext = Object.entries(baggageObject).reduce((acc, [key, value]) => {\n if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n var nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n return acc;\n }, {});\n\n // Only return a dynamic sampling context object if there are keys in it.\n // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext ;\n } else {\n return undefined;\n }\n}\n\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\nfunction dynamicSamplingContextToSentryBaggageHeader(\n // this also takes undefined for convenience and bundle size in other places\n dynamicSamplingContext,\n) {\n // Prefix all DSC keys with \"sentry-\" and put them into a new object\n var sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce(\n (acc, [dscKey, dscValue]) => {\n if (dscValue) {\n acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n }\n return acc;\n },\n {},\n );\n\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\n\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\nfunction baggageHeaderToObject(baggageHeader) {\n return baggageHeader\n .split(',')\n .map(baggageEntry => baggageEntry.split('=').map(keyOrValue => decodeURIComponent(keyOrValue.trim())))\n .reduce((acc, [key, value]) => {\n acc[key] = value;\n return acc;\n }, {});\n}\n\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\nfunction objectToBaggageHeader(object) {\n if (Object.keys(object).length === 0) {\n // An empty baggage header is not spec compliant: We return undefined.\n return undefined;\n }\n\n return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n var baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n var newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`,\n );\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, '');\n}\n\nexport { BAGGAGE_HEADER_NAME, MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} |