start-slicemachine 0.12.62-beta.4 → 0.12.62-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/StartSliceMachineProcess.cjs +1 -4
- package/dist/StartSliceMachineProcess.cjs.map +1 -1
- package/dist/StartSliceMachineProcess.js +1 -4
- package/dist/StartSliceMachineProcess.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/api.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/api.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/baseclient.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/baseclient.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/baseclient.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/checkin.cjs +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/checkin.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/checkin.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/checkin.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/envelope.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/envelope.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/envelope.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/eventProcessors.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/eventProcessors.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/exports.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/exports.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/hub.cjs +7 -13
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/hub.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/hub.js +8 -14
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/hub.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integration.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integration.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/functiontostring.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/functiontostring.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/inboundfilters.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/inboundfilters.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/linkederrors.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/linkederrors.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/requestdata.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/requestdata.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/integrations/requestdata.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/aggregator.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/aggregator.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/envelope.cjs +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/envelope.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/envelope.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/envelope.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/instance.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/instance.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/instance.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/metric-summary.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/metric-summary.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/utils.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/metrics/utils.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/scope.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/scope.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/sdk.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/sdk.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/sdk.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/server-runtime-client.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/server-runtime-client.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/session.cjs +1 -3
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/session.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/session.js +1 -3
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/session.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/sessionflusher.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/sessionflusher.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/errors.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/errors.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/hubextensions.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/hubextensions.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/sampling.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/sampling.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/span.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/span.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/span.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/spanstatus.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/spanstatus.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/trace.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/trace.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/transaction.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/transaction.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/transaction.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/utils.cjs +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/utils.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/utils.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/tracing/utils.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/transports/base.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/transports/base.js +2 -2
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/transports/base.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/hasTracingEnabled.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/hasTracingEnabled.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/isSentryRequestUrl.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/isSentryRequestUrl.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/prepareEvent.cjs +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/prepareEvent.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/prepareEvent.js +2 -2
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/prepareEvent.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/sdkMetadata.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/sdkMetadata.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/spanUtils.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/core/esm/utils/spanUtils.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/aggregate-errors.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/aggregate-errors.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/baggage.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/baggage.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/browser.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/browser.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/buildPolyfills/_optionalChain.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/buildPolyfills/_optionalChain.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/cookie.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/cookie.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/dsn.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/dsn.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/envelope.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/envelope.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/error.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/error.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/eventbuilder.cjs +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/eventbuilder.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/eventbuilder.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/eventbuilder.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/instrument/_handlers.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/instrument/_handlers.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/instrument/console.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/instrument/console.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/instrument/globalError.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/instrument/globalError.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/is.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/is.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/logger.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/logger.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/lru.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/lru.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/memo.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/memo.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/misc.cjs +3 -3
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/misc.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/misc.js +3 -3
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/misc.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/node-stack-trace.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/node-stack-trace.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/normalize.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/normalize.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/object.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/object.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/path.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/path.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/promisebuffer.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/promisebuffer.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/promisebuffer.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/ratelimit.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/ratelimit.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/requestdata.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/requestdata.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/stacktrace.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/stacktrace.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/string.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/string.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/syncpromise.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/syncpromise.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/time.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/time.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/tracing.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/tracing.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/url.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/url.js.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/worldwide.cjs +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/worldwide.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/worldwide.js +1 -1
- package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/worldwide.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/async/domain.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/async/domain.js +1 -1
- package/dist/_node_modules/@sentry/node/esm/async/domain.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/async/hooks.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/async/hooks.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/async/index.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/async/index.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/client.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/client.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/console.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/console.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/context.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/context.js +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/context.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/contextlines.cjs +3 -5
- package/dist/_node_modules/@sentry/node/esm/integrations/contextlines.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/contextlines.js +3 -5
- package/dist/_node_modules/@sentry/node/esm/integrations/contextlines.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/http.cjs +3 -3
- package/dist/_node_modules/@sentry/node/esm/integrations/http.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/http.js +3 -3
- package/dist/_node_modules/@sentry/node/esm/integrations/http.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/local-variables/common.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/local-variables/common.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/local-variables/local-variables-sync.cjs +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/local-variables/local-variables-sync.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/local-variables/local-variables-sync.js +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/local-variables/local-variables-sync.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/modules.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/modules.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/onuncaughtexception.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/onuncaughtexception.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/onunhandledrejection.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/onunhandledrejection.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/spotlight.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/spotlight.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/undici/index.cjs +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/undici/index.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/undici/index.js +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/undici/index.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/utils/errorhandling.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/utils/errorhandling.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/utils/http.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/integrations/utils/http.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/module.cjs +4 -4
- package/dist/_node_modules/@sentry/node/esm/module.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/module.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/nodeVersion.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/proxy/base.cjs +1 -2
- package/dist/_node_modules/@sentry/node/esm/proxy/base.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/proxy/base.js +1 -2
- package/dist/_node_modules/@sentry/node/esm/proxy/base.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/proxy/index.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/proxy/index.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/proxy/parse-proxy-response.cjs +3 -6
- package/dist/_node_modules/@sentry/node/esm/proxy/parse-proxy-response.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/proxy/parse-proxy-response.js +3 -6
- package/dist/_node_modules/@sentry/node/esm/proxy/parse-proxy-response.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/sdk.cjs +16 -16
- package/dist/_node_modules/@sentry/node/esm/sdk.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/sdk.js +6 -6
- package/dist/_node_modules/@sentry/node/esm/sdk.js.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/transports/http.cjs.map +1 -1
- package/dist/_node_modules/@sentry/node/esm/transports/http.js.map +1 -1
- package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs.map +1 -1
- package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -1
- package/dist/_node_modules/fetch-blob/file.cjs +9 -21
- package/dist/_node_modules/fetch-blob/file.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/file.js +8 -20
- package/dist/_node_modules/fetch-blob/file.js.map +1 -1
- package/dist/_node_modules/fetch-blob/from.cjs +9 -0
- package/dist/_node_modules/fetch-blob/from.cjs.map +1 -0
- package/dist/_node_modules/fetch-blob/from.js +9 -0
- package/dist/_node_modules/fetch-blob/from.js.map +1 -0
- package/dist/_node_modules/fetch-blob/index.cjs +8 -21
- package/dist/_node_modules/fetch-blob/index.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/index.js +8 -21
- package/dist/_node_modules/fetch-blob/index.js.map +1 -1
- package/dist/_node_modules/fetch-blob/streams.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/streams.js.map +1 -1
- package/dist/_node_modules/formdata-polyfill/esm.min.cjs +12 -29
- package/dist/_node_modules/formdata-polyfill/esm.min.cjs.map +1 -1
- package/dist/_node_modules/formdata-polyfill/esm.min.js +12 -29
- package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -1
- package/dist/_node_modules/lru-cache/index.cjs +1 -2
- package/dist/_node_modules/lru-cache/index.cjs.map +1 -1
- package/dist/_node_modules/lru-cache/index.js +1 -2
- package/dist/_node_modules/lru-cache/index.js.map +1 -1
- package/dist/_node_modules/node-domexception/index.cjs.map +1 -1
- package/dist/_node_modules/node-domexception/index.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/body.cjs +4 -7
- package/dist/_node_modules/node-fetch/src/body.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/body.js +5 -8
- package/dist/_node_modules/node-fetch/src/body.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/errors/abort-error.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/errors/abort-error.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/errors/base.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/errors/base.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/errors/fetch-error.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/errors/fetch-error.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/headers.cjs +1 -2
- package/dist/_node_modules/node-fetch/src/headers.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/headers.js +1 -2
- package/dist/_node_modules/node-fetch/src/headers.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/index.cjs +2 -4
- package/dist/_node_modules/node-fetch/src/index.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/index.js +3 -5
- package/dist/_node_modules/node-fetch/src/index.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/request.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/request.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/response.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/response.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/get-search.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/get-search.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs +2 -5
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js +2 -5
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/referrer.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -1
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs +5 -10
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs.map +1 -1
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +5 -10
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -1
- package/dist/_node_modules/yallist/iterator.cjs +1 -2
- package/dist/_node_modules/yallist/iterator.cjs.map +1 -1
- package/dist/_node_modules/yallist/iterator.js +1 -2
- package/dist/_node_modules/yallist/iterator.js.map +1 -1
- package/dist/_node_modules/yallist/yallist.cjs.map +1 -1
- package/dist/_node_modules/yallist/yallist.js.map +1 -1
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/legacyMigrations/detectFramework.cjs.map +1 -1
- package/dist/legacyMigrations/detectFramework.js.map +1 -1
- package/dist/legacyMigrations/migrateAssets.cjs.map +1 -1
- package/dist/legacyMigrations/migrateAssets.js.map +1 -1
- package/dist/legacyMigrations/migrateSMJSON.cjs.map +1 -1
- package/dist/legacyMigrations/migrateSMJSON.js.map +1 -1
- package/dist/lib/castArray.cjs.map +1 -1
- package/dist/lib/castArray.js.map +1 -1
- package/dist/lib/createSliceMachineExpressApp.cjs +1 -2
- package/dist/lib/createSliceMachineExpressApp.cjs.map +1 -1
- package/dist/lib/createSliceMachineExpressApp.js +1 -2
- package/dist/lib/createSliceMachineExpressApp.js.map +1 -1
- package/dist/lib/locateFileUpward.cjs.map +1 -1
- package/dist/lib/locateFileUpward.js.map +1 -1
- package/dist/lib/safelyExecute.cjs.map +1 -1
- package/dist/lib/safelyExecute.js.map +1 -1
- package/dist/lib/sentryErrorHandlers.cjs +2 -4
- package/dist/lib/sentryErrorHandlers.cjs.map +1 -1
- package/dist/lib/sentryErrorHandlers.js +2 -4
- package/dist/lib/sentryErrorHandlers.js.map +1 -1
- package/dist/lib/sentryFrontendTunnel.cjs.map +1 -1
- package/dist/lib/sentryFrontendTunnel.js.map +1 -1
- package/dist/lib/setupSentry.cjs +0 -4
- package/dist/lib/setupSentry.cjs.map +1 -1
- package/dist/lib/setupSentry.js +0 -4
- package/dist/lib/setupSentry.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/comparator.cjs +1 -2
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/comparator.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/comparator.js +1 -2
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/comparator.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/range.cjs +1 -2
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/range.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/range.js +1 -2
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/range.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/semver.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/classes/semver.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/clean.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/cmp.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/cmp.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/coerce.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/coerce.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/compare-build.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/compare-loose.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/compare.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/diff.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/diff.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/eq.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/gt.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/gte.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/inc.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/inc.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/lt.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/lte.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/major.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/minor.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/neq.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/parse.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/parse.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/patch.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/prerelease.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/rcompare.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/rsort.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/satisfies.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/satisfies.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/sort.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/functions/valid.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/index.cjs +4 -4
- package/dist/packages/start-slicemachine/_node_modules/semver/index.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/index.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/internal/debug.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/internal/debug.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/internal/identifiers.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/internal/identifiers.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/internal/parse-options.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/internal/parse-options.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/internal/re.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/internal/re.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/gtr.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/intersects.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/intersects.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/ltr.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/max-satisfying.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/max-satisfying.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/min-satisfying.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/min-satisfying.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/min-version.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/min-version.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/outside.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/outside.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/simplify.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/simplify.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/subset.cjs +10 -11
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/subset.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/subset.js +10 -11
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/subset.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/to-comparators.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/to-comparators.js.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/valid.cjs.map +1 -1
- package/dist/packages/start-slicemachine/_node_modules/semver/ranges/valid.js.map +1 -1
- package/dist/packages/start-slicemachine/package.json.cjs +1 -1
- package/dist/packages/start-slicemachine/package.json.js +1 -1
- package/package.json +3 -3
- package/dist/lib/checkIsSentryEnabled.cjs +0 -5
- package/dist/lib/checkIsSentryEnabled.cjs.map +0 -1
- package/dist/lib/checkIsSentryEnabled.js +0 -5
- package/dist/lib/checkIsSentryEnabled.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lru.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/lru.js"],"sourcesContent":["/** A simple Least Recently Used map */\nclass LRUMap {\n\n constructor( _maxSize) {this._maxSize = _maxSize;\n this._cache = new Map();\n }\n\n /** Get the current size of the cache */\n get size() {\n return this._cache.size;\n }\n\n /** Get an entry or undefined if it was not in the cache. Re-inserts to update the recently used order */\n get(key) {\n const value = this._cache.get(key);\n if (value === undefined) {\n return undefined;\n }\n // Remove and re-insert to update the order\n this._cache.delete(key);\n this._cache.set(key, value);\n return value;\n }\n\n /** Insert an entry and evict an older entry if we've reached maxSize */\n set(key, value) {\n if (this._cache.size >= this._maxSize) {\n // keys() returns an iterator in insertion order so keys().next() gives us the oldest key\n this._cache.delete(this._cache.keys().next().value);\n }\n this._cache.set(key, value);\n }\n\n /** Remove an entry and return the entry if it was in the cache */\n remove(key) {\n const value = this._cache.get(key);\n if (value) {\n this._cache.delete(key);\n }\n return value;\n }\n\n /** Clear all entries */\n clear() {\n this._cache.clear();\n }\n\n /** Get all the keys */\n keys() {\n return Array.from(this._cache.keys());\n }\n\n /** Get all the values */\n values() {\n const values = [];\n this._cache.forEach(value => values.push(value));\n return values;\n }\n}\n\nexport { LRUMap };\n//# sourceMappingURL=lru.js.map\n"],"names":[],"mappings":";;AACA,MAAM,OAAO;AAAA,EAEV,YAAc,UAAU;AAAC,SAAK,WAAW;AACxC,SAAK,SAAS,oBAAI;
|
|
1
|
+
{"version":3,"file":"lru.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/lru.js"],"sourcesContent":["/** A simple Least Recently Used map */\nclass LRUMap {\n\n constructor( _maxSize) {this._maxSize = _maxSize;\n this._cache = new Map();\n }\n\n /** Get the current size of the cache */\n get size() {\n return this._cache.size;\n }\n\n /** Get an entry or undefined if it was not in the cache. Re-inserts to update the recently used order */\n get(key) {\n const value = this._cache.get(key);\n if (value === undefined) {\n return undefined;\n }\n // Remove and re-insert to update the order\n this._cache.delete(key);\n this._cache.set(key, value);\n return value;\n }\n\n /** Insert an entry and evict an older entry if we've reached maxSize */\n set(key, value) {\n if (this._cache.size >= this._maxSize) {\n // keys() returns an iterator in insertion order so keys().next() gives us the oldest key\n this._cache.delete(this._cache.keys().next().value);\n }\n this._cache.set(key, value);\n }\n\n /** Remove an entry and return the entry if it was in the cache */\n remove(key) {\n const value = this._cache.get(key);\n if (value) {\n this._cache.delete(key);\n }\n return value;\n }\n\n /** Clear all entries */\n clear() {\n this._cache.clear();\n }\n\n /** Get all the keys */\n keys() {\n return Array.from(this._cache.keys());\n }\n\n /** Get all the values */\n values() {\n const values = [];\n this._cache.forEach(value => values.push(value));\n return values;\n }\n}\n\nexport { LRUMap };\n//# sourceMappingURL=lru.js.map\n"],"names":[],"mappings":";;AACA,MAAM,OAAO;AAAA,EAEV,YAAc,UAAU;AAAC,SAAK,WAAW;AACxC,SAAK,SAAS,oBAAI,IAAG;AAAA,EACvB;AAAA;AAAA,EAGC,IAAI,OAAO;AACV,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA;AAAA,EAGC,IAAI,KAAK;AACR,UAAM,QAAQ,KAAK,OAAO,IAAI,GAAG;AACjC,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,SAAK,OAAO,OAAO,GAAG;AACtB,SAAK,OAAO,IAAI,KAAK,KAAK;AAC1B,WAAO;AAAA,EACT;AAAA;AAAA,EAGC,IAAI,KAAK,OAAO;AACf,QAAI,KAAK,OAAO,QAAQ,KAAK,UAAU;AAErC,WAAK,OAAO,OAAO,KAAK,OAAO,KAAI,EAAG,KAAI,EAAG,KAAK;AAAA,IACpD;AACA,SAAK,OAAO,IAAI,KAAK,KAAK;AAAA,EAC5B;AAAA;AAAA,EAGC,OAAO,KAAK;AACX,UAAM,QAAQ,KAAK,OAAO,IAAI,GAAG;AACjC,QAAI,OAAO;AACT,WAAK,OAAO,OAAO,GAAG;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGC,QAAQ;AACP,SAAK,OAAO,MAAK;AAAA,EACnB;AAAA;AAAA,EAGC,OAAO;AACN,WAAO,MAAM,KAAK,KAAK,OAAO,KAAI,CAAE;AAAA,EACtC;AAAA;AAAA,EAGC,SAAS;AACR,UAAM,SAAS,CAAA;AACf,SAAK,OAAO,QAAQ,WAAS,OAAO,KAAK,KAAK,CAAC;AAC/C,WAAO;AAAA,EACT;AACF;;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lru.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/lru.js"],"sourcesContent":["/** A simple Least Recently Used map */\nclass LRUMap {\n\n constructor( _maxSize) {this._maxSize = _maxSize;\n this._cache = new Map();\n }\n\n /** Get the current size of the cache */\n get size() {\n return this._cache.size;\n }\n\n /** Get an entry or undefined if it was not in the cache. Re-inserts to update the recently used order */\n get(key) {\n const value = this._cache.get(key);\n if (value === undefined) {\n return undefined;\n }\n // Remove and re-insert to update the order\n this._cache.delete(key);\n this._cache.set(key, value);\n return value;\n }\n\n /** Insert an entry and evict an older entry if we've reached maxSize */\n set(key, value) {\n if (this._cache.size >= this._maxSize) {\n // keys() returns an iterator in insertion order so keys().next() gives us the oldest key\n this._cache.delete(this._cache.keys().next().value);\n }\n this._cache.set(key, value);\n }\n\n /** Remove an entry and return the entry if it was in the cache */\n remove(key) {\n const value = this._cache.get(key);\n if (value) {\n this._cache.delete(key);\n }\n return value;\n }\n\n /** Clear all entries */\n clear() {\n this._cache.clear();\n }\n\n /** Get all the keys */\n keys() {\n return Array.from(this._cache.keys());\n }\n\n /** Get all the values */\n values() {\n const values = [];\n this._cache.forEach(value => values.push(value));\n return values;\n }\n}\n\nexport { LRUMap };\n//# sourceMappingURL=lru.js.map\n"],"names":[],"mappings":"AACA,MAAM,OAAO;AAAA,EAEV,YAAc,UAAU;AAAC,SAAK,WAAW;AACxC,SAAK,SAAS,oBAAI;
|
|
1
|
+
{"version":3,"file":"lru.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/lru.js"],"sourcesContent":["/** A simple Least Recently Used map */\nclass LRUMap {\n\n constructor( _maxSize) {this._maxSize = _maxSize;\n this._cache = new Map();\n }\n\n /** Get the current size of the cache */\n get size() {\n return this._cache.size;\n }\n\n /** Get an entry or undefined if it was not in the cache. Re-inserts to update the recently used order */\n get(key) {\n const value = this._cache.get(key);\n if (value === undefined) {\n return undefined;\n }\n // Remove and re-insert to update the order\n this._cache.delete(key);\n this._cache.set(key, value);\n return value;\n }\n\n /** Insert an entry and evict an older entry if we've reached maxSize */\n set(key, value) {\n if (this._cache.size >= this._maxSize) {\n // keys() returns an iterator in insertion order so keys().next() gives us the oldest key\n this._cache.delete(this._cache.keys().next().value);\n }\n this._cache.set(key, value);\n }\n\n /** Remove an entry and return the entry if it was in the cache */\n remove(key) {\n const value = this._cache.get(key);\n if (value) {\n this._cache.delete(key);\n }\n return value;\n }\n\n /** Clear all entries */\n clear() {\n this._cache.clear();\n }\n\n /** Get all the keys */\n keys() {\n return Array.from(this._cache.keys());\n }\n\n /** Get all the values */\n values() {\n const values = [];\n this._cache.forEach(value => values.push(value));\n return values;\n }\n}\n\nexport { LRUMap };\n//# sourceMappingURL=lru.js.map\n"],"names":[],"mappings":"AACA,MAAM,OAAO;AAAA,EAEV,YAAc,UAAU;AAAC,SAAK,WAAW;AACxC,SAAK,SAAS,oBAAI,IAAG;AAAA,EACvB;AAAA;AAAA,EAGC,IAAI,OAAO;AACV,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA;AAAA,EAGC,IAAI,KAAK;AACR,UAAM,QAAQ,KAAK,OAAO,IAAI,GAAG;AACjC,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,SAAK,OAAO,OAAO,GAAG;AACtB,SAAK,OAAO,IAAI,KAAK,KAAK;AAC1B,WAAO;AAAA,EACT;AAAA;AAAA,EAGC,IAAI,KAAK,OAAO;AACf,QAAI,KAAK,OAAO,QAAQ,KAAK,UAAU;AAErC,WAAK,OAAO,OAAO,KAAK,OAAO,KAAI,EAAG,KAAI,EAAG,KAAK;AAAA,IACpD;AACA,SAAK,OAAO,IAAI,KAAK,KAAK;AAAA,EAC5B;AAAA;AAAA,EAGC,OAAO,KAAK;AACX,UAAM,QAAQ,KAAK,OAAO,IAAI,GAAG;AACjC,QAAI,OAAO;AACT,WAAK,OAAO,OAAO,GAAG;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGC,QAAQ;AACP,SAAK,OAAO,MAAK;AAAA,EACnB;AAAA;AAAA,EAGC,OAAO;AACN,WAAO,MAAM,KAAK,KAAK,OAAO,KAAI,CAAE;AAAA,EACtC;AAAA;AAAA,EAGC,SAAS;AACR,UAAM,SAAS,CAAA;AACf,SAAK,OAAO,QAAQ,WAAS,OAAO,KAAK,KAAK,CAAC;AAC/C,WAAO;AAAA,EACT;AACF;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memo.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/memo.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner = hasWeakSet ? new WeakSet() : [];\n function memoize(obj) {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj) {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n\nexport { memoBuilder };\n//# sourceMappingURL=memo.js.map\n"],"names":[],"mappings":";;AAMA,SAAS,cAAc;AACrB,QAAM,aAAa,OAAO,YAAY;AACtC,QAAM,QAAQ,aAAa,oBAAI,QAAO,IAAK,CAAA;AAC3C,WAAS,QAAQ,KAAK;AACpB,QAAI,YAAY;AACd,UAAI,MAAM,IAAI,GAAG,GAAG;AAClB,eAAO;AAAA,
|
|
1
|
+
{"version":3,"file":"memo.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/memo.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner = hasWeakSet ? new WeakSet() : [];\n function memoize(obj) {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj) {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n\nexport { memoBuilder };\n//# sourceMappingURL=memo.js.map\n"],"names":[],"mappings":";;AAMA,SAAS,cAAc;AACrB,QAAM,aAAa,OAAO,YAAY;AACtC,QAAM,QAAQ,aAAa,oBAAI,QAAO,IAAK,CAAA;AAC3C,WAAS,QAAQ,KAAK;AACpB,QAAI,YAAY;AACd,UAAI,MAAM,IAAI,GAAG,GAAG;AAClB,eAAO;AAAA,MACT;AACA,YAAM,IAAI,GAAG;AACb,aAAO;AAAA,IACT;AAEA,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,QAAQ,MAAM,CAAC;AACrB,UAAI,UAAU,KAAK;AACjB,eAAO;AAAA,MACT;AAAA,IACF;AACA,UAAM,KAAK,GAAG;AACd,WAAO;AAAA,EACT;AAEA,WAAS,UAAU,KAAK;AACtB,QAAI,YAAY;AACd,YAAM,OAAO,GAAG;AAAA,IAClB,OAAO;AACL,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAI,MAAM,CAAC,MAAM,KAAK;AACpB,gBAAM,OAAO,GAAG,CAAC;AACjB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,CAAC,SAAS,SAAS;AAC5B;;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memo.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/memo.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner = hasWeakSet ? new WeakSet() : [];\n function memoize(obj) {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj) {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n\nexport { memoBuilder };\n//# sourceMappingURL=memo.js.map\n"],"names":[],"mappings":"AAMA,SAAS,cAAc;AACrB,QAAM,aAAa,OAAO,YAAY;AACtC,QAAM,QAAQ,aAAa,oBAAI,QAAO,IAAK,CAAA;AAC3C,WAAS,QAAQ,KAAK;AACpB,QAAI,YAAY;AACd,UAAI,MAAM,IAAI,GAAG,GAAG;AAClB,eAAO;AAAA,
|
|
1
|
+
{"version":3,"file":"memo.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/memo.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner = hasWeakSet ? new WeakSet() : [];\n function memoize(obj) {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj) {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n\nexport { memoBuilder };\n//# sourceMappingURL=memo.js.map\n"],"names":[],"mappings":"AAMA,SAAS,cAAc;AACrB,QAAM,aAAa,OAAO,YAAY;AACtC,QAAM,QAAQ,aAAa,oBAAI,QAAO,IAAK,CAAA;AAC3C,WAAS,QAAQ,KAAK;AACpB,QAAI,YAAY;AACd,UAAI,MAAM,IAAI,GAAG,GAAG;AAClB,eAAO;AAAA,MACT;AACA,YAAM,IAAI,GAAG;AACb,aAAO;AAAA,IACT;AAEA,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,QAAQ,MAAM,CAAC;AACrB,UAAI,UAAU,KAAK;AACjB,eAAO;AAAA,MACT;AAAA,IACF;AACA,UAAM,KAAK,GAAG;AACd,WAAO;AAAA,EACT;AAEA,WAAS,UAAU,KAAK;AACtB,QAAI,YAAY;AACd,YAAM,OAAO,GAAG;AAAA,IAClB,OAAO;AACL,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAI,MAAM,CAAC,MAAM,KAAK;AACpB,gBAAM,OAAO,GAAG,CAAC;AACjB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,CAAC,SAAS,SAAS;AAC5B;","x_google_ignoreList":[0]}
|
|
@@ -20,7 +20,7 @@ function uuid4() {
|
|
|
20
20
|
}
|
|
21
21
|
} catch (_) {
|
|
22
22
|
}
|
|
23
|
-
return (
|
|
23
|
+
return ("10000000100040008000" + 1e11).replace(
|
|
24
24
|
/[018]/g,
|
|
25
25
|
(c) => (
|
|
26
26
|
// eslint-disable-next-line no-bitwise
|
|
@@ -50,10 +50,10 @@ function addExceptionTypeValue(event, value, type) {
|
|
|
50
50
|
const values = exception.values = exception.values || [];
|
|
51
51
|
const firstException = values[0] = values[0] || {};
|
|
52
52
|
if (!firstException.value) {
|
|
53
|
-
firstException.value =
|
|
53
|
+
firstException.value = "";
|
|
54
54
|
}
|
|
55
55
|
if (!firstException.type) {
|
|
56
|
-
firstException.type =
|
|
56
|
+
firstException.type = "Error";
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
function addExceptionMechanism(event, newMechanism) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/misc.js"],"sourcesContent":["import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n const gbl = GLOBAL_OBJ ;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n let getRandomByte = () => Math.random() * 16;\n try {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n if (crypto && crypto.getRandomValues) {\n getRandomByte = () => {\n // crypto.getRandomValues might return undefined instead of the typed array\n // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n // However, `typedArray` is still filled in-place.\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n const typedArray = new Uint8Array(1);\n crypto.getRandomValues(typedArray);\n return typedArray[0];\n };\n }\n } catch (_) {\n // some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n }\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '<unknown>';\n }\n return eventId || '<unknown>';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\nfunction arrayify(maybeArray) {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, arrayify, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n"],"names":["GLOBAL_OBJ","snipLine","addNonEnumerableProperty"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"misc.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/misc.js"],"sourcesContent":["import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n const gbl = GLOBAL_OBJ ;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n let getRandomByte = () => Math.random() * 16;\n try {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n if (crypto && crypto.getRandomValues) {\n getRandomByte = () => {\n // crypto.getRandomValues might return undefined instead of the typed array\n // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n // However, `typedArray` is still filled in-place.\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n const typedArray = new Uint8Array(1);\n crypto.getRandomValues(typedArray);\n return typedArray[0];\n };\n }\n } catch (_) {\n // some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n }\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '<unknown>';\n }\n return eventId || '<unknown>';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\nfunction arrayify(maybeArray) {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, arrayify, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n"],"names":["GLOBAL_OBJ","snipLine","addNonEnumerableProperty"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -18,7 +18,7 @@ function uuid4() {
|
|
|
18
18
|
}
|
|
19
19
|
} catch (_) {
|
|
20
20
|
}
|
|
21
|
-
return (
|
|
21
|
+
return ("10000000100040008000" + 1e11).replace(
|
|
22
22
|
/[018]/g,
|
|
23
23
|
(c) => (
|
|
24
24
|
// eslint-disable-next-line no-bitwise
|
|
@@ -48,10 +48,10 @@ function addExceptionTypeValue(event, value, type) {
|
|
|
48
48
|
const values = exception.values = exception.values || [];
|
|
49
49
|
const firstException = values[0] = values[0] || {};
|
|
50
50
|
if (!firstException.value) {
|
|
51
|
-
firstException.value =
|
|
51
|
+
firstException.value = "";
|
|
52
52
|
}
|
|
53
53
|
if (!firstException.type) {
|
|
54
|
-
firstException.type =
|
|
54
|
+
firstException.type = "Error";
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
function addExceptionMechanism(event, newMechanism) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/misc.js"],"sourcesContent":["import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n const gbl = GLOBAL_OBJ ;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n let getRandomByte = () => Math.random() * 16;\n try {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n if (crypto && crypto.getRandomValues) {\n getRandomByte = () => {\n // crypto.getRandomValues might return undefined instead of the typed array\n // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n // However, `typedArray` is still filled in-place.\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n const typedArray = new Uint8Array(1);\n crypto.getRandomValues(typedArray);\n return typedArray[0];\n };\n }\n } catch (_) {\n // some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n }\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '<unknown>';\n }\n return eventId || '<unknown>';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\nfunction arrayify(maybeArray) {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, arrayify, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"misc.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/misc.js"],"sourcesContent":["import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n const gbl = GLOBAL_OBJ ;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n let getRandomByte = () => Math.random() * 16;\n try {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n if (crypto && crypto.getRandomValues) {\n getRandomByte = () => {\n // crypto.getRandomValues might return undefined instead of the typed array\n // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n // However, `typedArray` is still filled in-place.\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n const typedArray = new Uint8Array(1);\n crypto.getRandomValues(typedArray);\n return typedArray[0];\n };\n }\n } catch (_) {\n // some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n }\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '<unknown>';\n }\n return eventId || '<unknown>';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\nfunction arrayify(maybeArray) {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, arrayify, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/node-stack-trace.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-stack-trace.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/node-stack-trace.js"],"sourcesContent":["/**\n * Does this filename look like it's part of the app code?\n */\nfunction filenameIsInApp(filename, isNative = false) {\n const isInternal =\n isNative ||\n (filename &&\n // It's not internal if it's an absolute linux path\n !filename.startsWith('/') &&\n // It's not internal if it's an absolute windows path\n !filename.match(/^[A-Z]:/) &&\n // It's not internal if the path is starting with a dot\n !filename.startsWith('.') &&\n // It's not internal if the frame has a protocol. In node, this is usually the case if the file got pre-processed with a bundler like webpack\n !filename.match(/^[a-zA-Z]([a-zA-Z0-9.\\-+])*:\\/\\//)); // Schema from: https://stackoverflow.com/a/3641782\n\n // in_app is all that's not an internal Node function or a module within node_modules\n // note that isNative appears to return true even for node core libraries\n // see https://github.com/getsentry/raven-node/issues/176\n\n return !isInternal && filename !== undefined && !filename.includes('node_modules/');\n}\n\n/** Node Stack line parser */\n// eslint-disable-next-line complexity\nfunction node(getModule) {\n const FILENAME_MATCH = /^\\s*[-]{4,}$/;\n const FULL_MATCH = /at (?:async )?(?:(.+?)\\s+\\()?(?:(.+):(\\d+):(\\d+)?|([^)]+))\\)?/;\n\n // eslint-disable-next-line complexity\n return (line) => {\n const lineMatch = line.match(FULL_MATCH);\n\n if (lineMatch) {\n let object;\n let method;\n let functionName;\n let typeName;\n let methodName;\n\n if (lineMatch[1]) {\n functionName = lineMatch[1];\n\n let methodStart = functionName.lastIndexOf('.');\n if (functionName[methodStart - 1] === '.') {\n methodStart--;\n }\n\n if (methodStart > 0) {\n object = functionName.slice(0, methodStart);\n method = functionName.slice(methodStart + 1);\n const objectEnd = object.indexOf('.Module');\n if (objectEnd > 0) {\n functionName = functionName.slice(objectEnd + 1);\n object = object.slice(0, objectEnd);\n }\n }\n typeName = undefined;\n }\n\n if (method) {\n typeName = object;\n methodName = method;\n }\n\n if (method === '<anonymous>') {\n methodName = undefined;\n functionName = undefined;\n }\n\n if (functionName === undefined) {\n methodName = methodName || '<anonymous>';\n functionName = typeName ? `${typeName}.${methodName}` : methodName;\n }\n\n let filename = lineMatch[2] && lineMatch[2].startsWith('file://') ? lineMatch[2].slice(7) : lineMatch[2];\n const isNative = lineMatch[5] === 'native';\n\n // If it's a Windows path, trim the leading slash so that `/C:/foo` becomes `C:/foo`\n if (filename && filename.match(/\\/[A-Z]:/)) {\n filename = filename.slice(1);\n }\n\n if (!filename && lineMatch[5] && !isNative) {\n filename = lineMatch[5];\n }\n\n return {\n filename,\n module: getModule ? getModule(filename) : undefined,\n function: functionName,\n lineno: parseInt(lineMatch[3], 10) || undefined,\n colno: parseInt(lineMatch[4], 10) || undefined,\n in_app: filenameIsInApp(filename, isNative),\n };\n }\n\n if (line.match(FILENAME_MATCH)) {\n return {\n filename: line,\n };\n }\n\n return undefined;\n };\n}\n\nexport { filenameIsInApp, node };\n//# sourceMappingURL=node-stack-trace.js.map\n"],"names":[],"mappings":";;AAGA,SAAS,gBAAgB,UAAU,WAAW,OAAO;AACnD,QAAM,aACJ,YACC;AAAA,EAEC,CAAC,SAAS,WAAW,GAAG;AAAA,EAExB,CAAC,SAAS,MAAM,SAAS;AAAA,EAEzB,CAAC,SAAS,WAAW,GAAG;AAAA,EAExB,CAAC,SAAS,MAAM,kCAAkC;AAMtD,SAAO,CAAC,cAAc,aAAa,UAAa,CAAC,SAAS,SAAS,eAAe;AACpF;AAIA,SAAS,KAAK,WAAW;AACvB,QAAM,iBAAiB;AACvB,QAAM,aAAa;AAGnB,SAAO,CAAC,SAAS;AACf,UAAM,YAAY,KAAK,MAAM,UAAU;AAEvC,QAAI,WAAW;AACb,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,UAAI,UAAU,CAAC,GAAG;AAChB,uBAAe,UAAU,CAAC;AAE1B,YAAI,cAAc,aAAa,YAAY,GAAG;AAC9C,YAAI,aAAa,cAAc,CAAC,MAAM,KAAK;AACzC;AAAA,
|
|
1
|
+
{"version":3,"file":"node-stack-trace.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/node-stack-trace.js"],"sourcesContent":["/**\n * Does this filename look like it's part of the app code?\n */\nfunction filenameIsInApp(filename, isNative = false) {\n const isInternal =\n isNative ||\n (filename &&\n // It's not internal if it's an absolute linux path\n !filename.startsWith('/') &&\n // It's not internal if it's an absolute windows path\n !filename.match(/^[A-Z]:/) &&\n // It's not internal if the path is starting with a dot\n !filename.startsWith('.') &&\n // It's not internal if the frame has a protocol. In node, this is usually the case if the file got pre-processed with a bundler like webpack\n !filename.match(/^[a-zA-Z]([a-zA-Z0-9.\\-+])*:\\/\\//)); // Schema from: https://stackoverflow.com/a/3641782\n\n // in_app is all that's not an internal Node function or a module within node_modules\n // note that isNative appears to return true even for node core libraries\n // see https://github.com/getsentry/raven-node/issues/176\n\n return !isInternal && filename !== undefined && !filename.includes('node_modules/');\n}\n\n/** Node Stack line parser */\n// eslint-disable-next-line complexity\nfunction node(getModule) {\n const FILENAME_MATCH = /^\\s*[-]{4,}$/;\n const FULL_MATCH = /at (?:async )?(?:(.+?)\\s+\\()?(?:(.+):(\\d+):(\\d+)?|([^)]+))\\)?/;\n\n // eslint-disable-next-line complexity\n return (line) => {\n const lineMatch = line.match(FULL_MATCH);\n\n if (lineMatch) {\n let object;\n let method;\n let functionName;\n let typeName;\n let methodName;\n\n if (lineMatch[1]) {\n functionName = lineMatch[1];\n\n let methodStart = functionName.lastIndexOf('.');\n if (functionName[methodStart - 1] === '.') {\n methodStart--;\n }\n\n if (methodStart > 0) {\n object = functionName.slice(0, methodStart);\n method = functionName.slice(methodStart + 1);\n const objectEnd = object.indexOf('.Module');\n if (objectEnd > 0) {\n functionName = functionName.slice(objectEnd + 1);\n object = object.slice(0, objectEnd);\n }\n }\n typeName = undefined;\n }\n\n if (method) {\n typeName = object;\n methodName = method;\n }\n\n if (method === '<anonymous>') {\n methodName = undefined;\n functionName = undefined;\n }\n\n if (functionName === undefined) {\n methodName = methodName || '<anonymous>';\n functionName = typeName ? `${typeName}.${methodName}` : methodName;\n }\n\n let filename = lineMatch[2] && lineMatch[2].startsWith('file://') ? lineMatch[2].slice(7) : lineMatch[2];\n const isNative = lineMatch[5] === 'native';\n\n // If it's a Windows path, trim the leading slash so that `/C:/foo` becomes `C:/foo`\n if (filename && filename.match(/\\/[A-Z]:/)) {\n filename = filename.slice(1);\n }\n\n if (!filename && lineMatch[5] && !isNative) {\n filename = lineMatch[5];\n }\n\n return {\n filename,\n module: getModule ? getModule(filename) : undefined,\n function: functionName,\n lineno: parseInt(lineMatch[3], 10) || undefined,\n colno: parseInt(lineMatch[4], 10) || undefined,\n in_app: filenameIsInApp(filename, isNative),\n };\n }\n\n if (line.match(FILENAME_MATCH)) {\n return {\n filename: line,\n };\n }\n\n return undefined;\n };\n}\n\nexport { filenameIsInApp, node };\n//# sourceMappingURL=node-stack-trace.js.map\n"],"names":[],"mappings":";;AAGA,SAAS,gBAAgB,UAAU,WAAW,OAAO;AACnD,QAAM,aACJ,YACC;AAAA,EAEC,CAAC,SAAS,WAAW,GAAG;AAAA,EAExB,CAAC,SAAS,MAAM,SAAS;AAAA,EAEzB,CAAC,SAAS,WAAW,GAAG;AAAA,EAExB,CAAC,SAAS,MAAM,kCAAkC;AAMtD,SAAO,CAAC,cAAc,aAAa,UAAa,CAAC,SAAS,SAAS,eAAe;AACpF;AAIA,SAAS,KAAK,WAAW;AACvB,QAAM,iBAAiB;AACvB,QAAM,aAAa;AAGnB,SAAO,CAAC,SAAS;AACf,UAAM,YAAY,KAAK,MAAM,UAAU;AAEvC,QAAI,WAAW;AACb,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,UAAI,UAAU,CAAC,GAAG;AAChB,uBAAe,UAAU,CAAC;AAE1B,YAAI,cAAc,aAAa,YAAY,GAAG;AAC9C,YAAI,aAAa,cAAc,CAAC,MAAM,KAAK;AACzC;AAAA,QACF;AAEA,YAAI,cAAc,GAAG;AACnB,mBAAS,aAAa,MAAM,GAAG,WAAW;AAC1C,mBAAS,aAAa,MAAM,cAAc,CAAC;AAC3C,gBAAM,YAAY,OAAO,QAAQ,SAAS;AAC1C,cAAI,YAAY,GAAG;AACjB,2BAAe,aAAa,MAAM,YAAY,CAAC;AAC/C,qBAAS,OAAO,MAAM,GAAG,SAAS;AAAA,UACpC;AAAA,QACF;AACA,mBAAW;AAAA,MACb;AAEA,UAAI,QAAQ;AACV,mBAAW;AACX,qBAAa;AAAA,MACf;AAEA,UAAI,WAAW,eAAe;AAC5B,qBAAa;AACb,uBAAe;AAAA,MACjB;AAEA,UAAI,iBAAiB,QAAW;AAC9B,qBAAa,cAAc;AAC3B,uBAAe,WAAW,GAAG,QAAQ,IAAI,UAAU,KAAK;AAAA,MAC1D;AAEA,UAAI,WAAW,UAAU,CAAC,KAAK,UAAU,CAAC,EAAE,WAAW,SAAS,IAAI,UAAU,CAAC,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC;AACvG,YAAM,WAAW,UAAU,CAAC,MAAM;AAGlC,UAAI,YAAY,SAAS,MAAM,UAAU,GAAG;AAC1C,mBAAW,SAAS,MAAM,CAAC;AAAA,MAC7B;AAEA,UAAI,CAAC,YAAY,UAAU,CAAC,KAAK,CAAC,UAAU;AAC1C,mBAAW,UAAU,CAAC;AAAA,MACxB;AAEA,aAAO;AAAA,QACL;AAAA,QACA,QAAQ,YAAY,UAAU,QAAQ,IAAI;AAAA,QAC1C,UAAU;AAAA,QACV,QAAQ,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK;AAAA,QACtC,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK;AAAA,QACrC,QAAQ,gBAAgB,UAAU,QAAQ;AAAA,MAClD;AAAA,IACI;AAEA,QAAI,KAAK,MAAM,cAAc,GAAG;AAC9B,aAAO;AAAA,QACL,UAAU;AAAA,MAClB;AAAA,IACI;AAEA,WAAO;AAAA,EACT;AACF;;;","x_google_ignoreList":[0]}
|
package/dist/_node_modules/@sentry/node/_node_modules/@sentry/utils/esm/node-stack-trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-stack-trace.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/node-stack-trace.js"],"sourcesContent":["/**\n * Does this filename look like it's part of the app code?\n */\nfunction filenameIsInApp(filename, isNative = false) {\n const isInternal =\n isNative ||\n (filename &&\n // It's not internal if it's an absolute linux path\n !filename.startsWith('/') &&\n // It's not internal if it's an absolute windows path\n !filename.match(/^[A-Z]:/) &&\n // It's not internal if the path is starting with a dot\n !filename.startsWith('.') &&\n // It's not internal if the frame has a protocol. In node, this is usually the case if the file got pre-processed with a bundler like webpack\n !filename.match(/^[a-zA-Z]([a-zA-Z0-9.\\-+])*:\\/\\//)); // Schema from: https://stackoverflow.com/a/3641782\n\n // in_app is all that's not an internal Node function or a module within node_modules\n // note that isNative appears to return true even for node core libraries\n // see https://github.com/getsentry/raven-node/issues/176\n\n return !isInternal && filename !== undefined && !filename.includes('node_modules/');\n}\n\n/** Node Stack line parser */\n// eslint-disable-next-line complexity\nfunction node(getModule) {\n const FILENAME_MATCH = /^\\s*[-]{4,}$/;\n const FULL_MATCH = /at (?:async )?(?:(.+?)\\s+\\()?(?:(.+):(\\d+):(\\d+)?|([^)]+))\\)?/;\n\n // eslint-disable-next-line complexity\n return (line) => {\n const lineMatch = line.match(FULL_MATCH);\n\n if (lineMatch) {\n let object;\n let method;\n let functionName;\n let typeName;\n let methodName;\n\n if (lineMatch[1]) {\n functionName = lineMatch[1];\n\n let methodStart = functionName.lastIndexOf('.');\n if (functionName[methodStart - 1] === '.') {\n methodStart--;\n }\n\n if (methodStart > 0) {\n object = functionName.slice(0, methodStart);\n method = functionName.slice(methodStart + 1);\n const objectEnd = object.indexOf('.Module');\n if (objectEnd > 0) {\n functionName = functionName.slice(objectEnd + 1);\n object = object.slice(0, objectEnd);\n }\n }\n typeName = undefined;\n }\n\n if (method) {\n typeName = object;\n methodName = method;\n }\n\n if (method === '<anonymous>') {\n methodName = undefined;\n functionName = undefined;\n }\n\n if (functionName === undefined) {\n methodName = methodName || '<anonymous>';\n functionName = typeName ? `${typeName}.${methodName}` : methodName;\n }\n\n let filename = lineMatch[2] && lineMatch[2].startsWith('file://') ? lineMatch[2].slice(7) : lineMatch[2];\n const isNative = lineMatch[5] === 'native';\n\n // If it's a Windows path, trim the leading slash so that `/C:/foo` becomes `C:/foo`\n if (filename && filename.match(/\\/[A-Z]:/)) {\n filename = filename.slice(1);\n }\n\n if (!filename && lineMatch[5] && !isNative) {\n filename = lineMatch[5];\n }\n\n return {\n filename,\n module: getModule ? getModule(filename) : undefined,\n function: functionName,\n lineno: parseInt(lineMatch[3], 10) || undefined,\n colno: parseInt(lineMatch[4], 10) || undefined,\n in_app: filenameIsInApp(filename, isNative),\n };\n }\n\n if (line.match(FILENAME_MATCH)) {\n return {\n filename: line,\n };\n }\n\n return undefined;\n };\n}\n\nexport { filenameIsInApp, node };\n//# sourceMappingURL=node-stack-trace.js.map\n"],"names":[],"mappings":"AAGA,SAAS,gBAAgB,UAAU,WAAW,OAAO;AACnD,QAAM,aACJ,YACC;AAAA,EAEC,CAAC,SAAS,WAAW,GAAG;AAAA,EAExB,CAAC,SAAS,MAAM,SAAS;AAAA,EAEzB,CAAC,SAAS,WAAW,GAAG;AAAA,EAExB,CAAC,SAAS,MAAM,kCAAkC;AAMtD,SAAO,CAAC,cAAc,aAAa,UAAa,CAAC,SAAS,SAAS,eAAe;AACpF;AAIA,SAAS,KAAK,WAAW;AACvB,QAAM,iBAAiB;AACvB,QAAM,aAAa;AAGnB,SAAO,CAAC,SAAS;AACf,UAAM,YAAY,KAAK,MAAM,UAAU;AAEvC,QAAI,WAAW;AACb,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,UAAI,UAAU,CAAC,GAAG;AAChB,uBAAe,UAAU,CAAC;AAE1B,YAAI,cAAc,aAAa,YAAY,GAAG;AAC9C,YAAI,aAAa,cAAc,CAAC,MAAM,KAAK;AACzC;AAAA,
|
|
1
|
+
{"version":3,"file":"node-stack-trace.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/node-stack-trace.js"],"sourcesContent":["/**\n * Does this filename look like it's part of the app code?\n */\nfunction filenameIsInApp(filename, isNative = false) {\n const isInternal =\n isNative ||\n (filename &&\n // It's not internal if it's an absolute linux path\n !filename.startsWith('/') &&\n // It's not internal if it's an absolute windows path\n !filename.match(/^[A-Z]:/) &&\n // It's not internal if the path is starting with a dot\n !filename.startsWith('.') &&\n // It's not internal if the frame has a protocol. In node, this is usually the case if the file got pre-processed with a bundler like webpack\n !filename.match(/^[a-zA-Z]([a-zA-Z0-9.\\-+])*:\\/\\//)); // Schema from: https://stackoverflow.com/a/3641782\n\n // in_app is all that's not an internal Node function or a module within node_modules\n // note that isNative appears to return true even for node core libraries\n // see https://github.com/getsentry/raven-node/issues/176\n\n return !isInternal && filename !== undefined && !filename.includes('node_modules/');\n}\n\n/** Node Stack line parser */\n// eslint-disable-next-line complexity\nfunction node(getModule) {\n const FILENAME_MATCH = /^\\s*[-]{4,}$/;\n const FULL_MATCH = /at (?:async )?(?:(.+?)\\s+\\()?(?:(.+):(\\d+):(\\d+)?|([^)]+))\\)?/;\n\n // eslint-disable-next-line complexity\n return (line) => {\n const lineMatch = line.match(FULL_MATCH);\n\n if (lineMatch) {\n let object;\n let method;\n let functionName;\n let typeName;\n let methodName;\n\n if (lineMatch[1]) {\n functionName = lineMatch[1];\n\n let methodStart = functionName.lastIndexOf('.');\n if (functionName[methodStart - 1] === '.') {\n methodStart--;\n }\n\n if (methodStart > 0) {\n object = functionName.slice(0, methodStart);\n method = functionName.slice(methodStart + 1);\n const objectEnd = object.indexOf('.Module');\n if (objectEnd > 0) {\n functionName = functionName.slice(objectEnd + 1);\n object = object.slice(0, objectEnd);\n }\n }\n typeName = undefined;\n }\n\n if (method) {\n typeName = object;\n methodName = method;\n }\n\n if (method === '<anonymous>') {\n methodName = undefined;\n functionName = undefined;\n }\n\n if (functionName === undefined) {\n methodName = methodName || '<anonymous>';\n functionName = typeName ? `${typeName}.${methodName}` : methodName;\n }\n\n let filename = lineMatch[2] && lineMatch[2].startsWith('file://') ? lineMatch[2].slice(7) : lineMatch[2];\n const isNative = lineMatch[5] === 'native';\n\n // If it's a Windows path, trim the leading slash so that `/C:/foo` becomes `C:/foo`\n if (filename && filename.match(/\\/[A-Z]:/)) {\n filename = filename.slice(1);\n }\n\n if (!filename && lineMatch[5] && !isNative) {\n filename = lineMatch[5];\n }\n\n return {\n filename,\n module: getModule ? getModule(filename) : undefined,\n function: functionName,\n lineno: parseInt(lineMatch[3], 10) || undefined,\n colno: parseInt(lineMatch[4], 10) || undefined,\n in_app: filenameIsInApp(filename, isNative),\n };\n }\n\n if (line.match(FILENAME_MATCH)) {\n return {\n filename: line,\n };\n }\n\n return undefined;\n };\n}\n\nexport { filenameIsInApp, node };\n//# sourceMappingURL=node-stack-trace.js.map\n"],"names":[],"mappings":"AAGA,SAAS,gBAAgB,UAAU,WAAW,OAAO;AACnD,QAAM,aACJ,YACC;AAAA,EAEC,CAAC,SAAS,WAAW,GAAG;AAAA,EAExB,CAAC,SAAS,MAAM,SAAS;AAAA,EAEzB,CAAC,SAAS,WAAW,GAAG;AAAA,EAExB,CAAC,SAAS,MAAM,kCAAkC;AAMtD,SAAO,CAAC,cAAc,aAAa,UAAa,CAAC,SAAS,SAAS,eAAe;AACpF;AAIA,SAAS,KAAK,WAAW;AACvB,QAAM,iBAAiB;AACvB,QAAM,aAAa;AAGnB,SAAO,CAAC,SAAS;AACf,UAAM,YAAY,KAAK,MAAM,UAAU;AAEvC,QAAI,WAAW;AACb,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,UAAI,UAAU,CAAC,GAAG;AAChB,uBAAe,UAAU,CAAC;AAE1B,YAAI,cAAc,aAAa,YAAY,GAAG;AAC9C,YAAI,aAAa,cAAc,CAAC,MAAM,KAAK;AACzC;AAAA,QACF;AAEA,YAAI,cAAc,GAAG;AACnB,mBAAS,aAAa,MAAM,GAAG,WAAW;AAC1C,mBAAS,aAAa,MAAM,cAAc,CAAC;AAC3C,gBAAM,YAAY,OAAO,QAAQ,SAAS;AAC1C,cAAI,YAAY,GAAG;AACjB,2BAAe,aAAa,MAAM,YAAY,CAAC;AAC/C,qBAAS,OAAO,MAAM,GAAG,SAAS;AAAA,UACpC;AAAA,QACF;AACA,mBAAW;AAAA,MACb;AAEA,UAAI,QAAQ;AACV,mBAAW;AACX,qBAAa;AAAA,MACf;AAEA,UAAI,WAAW,eAAe;AAC5B,qBAAa;AACb,uBAAe;AAAA,MACjB;AAEA,UAAI,iBAAiB,QAAW;AAC9B,qBAAa,cAAc;AAC3B,uBAAe,WAAW,GAAG,QAAQ,IAAI,UAAU,KAAK;AAAA,MAC1D;AAEA,UAAI,WAAW,UAAU,CAAC,KAAK,UAAU,CAAC,EAAE,WAAW,SAAS,IAAI,UAAU,CAAC,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC;AACvG,YAAM,WAAW,UAAU,CAAC,MAAM;AAGlC,UAAI,YAAY,SAAS,MAAM,UAAU,GAAG;AAC1C,mBAAW,SAAS,MAAM,CAAC;AAAA,MAC7B;AAEA,UAAI,CAAC,YAAY,UAAU,CAAC,KAAK,CAAC,UAAU;AAC1C,mBAAW,UAAU,CAAC;AAAA,MACxB;AAEA,aAAO;AAAA,QACL;AAAA,QACA,QAAQ,YAAY,UAAU,QAAQ,IAAI;AAAA,QAC1C,UAAU;AAAA,QACV,QAAQ,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK;AAAA,QACtC,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK;AAAA,QACrC,QAAQ,gBAAgB,UAAU,QAAQ;AAAA,MAClD;AAAA,IACI;AAEA,QAAI,KAAK,MAAM,cAAc,GAAG;AAC9B,aAAO;AAAA,QACL,UAAU;AAAA,MAClB;AAAA,IACI;AAEA,WAAO;AAAA,EACT;AACF;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/normalize.js"],"sourcesContent":["import { isNaN, isVueViewModel, isSyntheticEvent } from './is.js';\nimport { memoBuilder } from './memo.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction normalize(input, depth = 100, maxProperties = +Infinity) {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object,\n // Default Node.js REPL depth\n depth = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize = 100 * 1024,\n) {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key,\n value,\n depth = +Infinity,\n maxProperties = +Infinity,\n memo = memoBuilder(),\n) {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (\n value == null || // this matches null and undefined -> eqeq not eqeqeq\n (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))\n ) {\n return value ;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value )['__sentry_skip_normalization__']) {\n return value ;\n }\n\n // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n const remainingDepth =\n typeof (value )['__sentry_override_normalization_depth__'] === 'number'\n ? ((value )['__sentry_override_normalization_depth__'] )\n : depth;\n\n // We're also done if we've reached the max depth\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value ;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) ;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value );\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n numAdded++;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value,\n) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n const objName = getConstructorName(value);\n\n // Handle HTML Elements\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return `[HTMLElement: ${objName}]`;\n }\n\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value) {\n const prototype = Object.getPrototypeOf(value);\n\n return prototype ? prototype.constructor.name : 'null prototype';\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nfunction normalizeUrlToBase(url, basePath) {\n const escapedBase = basePath\n // Backslash to forward\n .replace(/\\\\/g, '/')\n // Escape RegExp special characters\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch (_Oo) {\n // Sometime this breaks\n }\n return (\n newUrl\n .replace(/\\\\/g, '/')\n .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n );\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase, visit as walk };\n//# sourceMappingURL=normalize.js.map\n"],"names":["object","memo","memoBuilder","isNaN","convertToPlainObject","isVueViewModel","isSyntheticEvent","getFunctionName"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"normalize.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/normalize.js"],"sourcesContent":["import { isNaN, isVueViewModel, isSyntheticEvent } from './is.js';\nimport { memoBuilder } from './memo.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction normalize(input, depth = 100, maxProperties = +Infinity) {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object,\n // Default Node.js REPL depth\n depth = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize = 100 * 1024,\n) {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key,\n value,\n depth = +Infinity,\n maxProperties = +Infinity,\n memo = memoBuilder(),\n) {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (\n value == null || // this matches null and undefined -> eqeq not eqeqeq\n (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))\n ) {\n return value ;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value )['__sentry_skip_normalization__']) {\n return value ;\n }\n\n // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n const remainingDepth =\n typeof (value )['__sentry_override_normalization_depth__'] === 'number'\n ? ((value )['__sentry_override_normalization_depth__'] )\n : depth;\n\n // We're also done if we've reached the max depth\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value ;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) ;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value );\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n numAdded++;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value,\n) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n const objName = getConstructorName(value);\n\n // Handle HTML Elements\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return `[HTMLElement: ${objName}]`;\n }\n\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value) {\n const prototype = Object.getPrototypeOf(value);\n\n return prototype ? prototype.constructor.name : 'null prototype';\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nfunction normalizeUrlToBase(url, basePath) {\n const escapedBase = basePath\n // Backslash to forward\n .replace(/\\\\/g, '/')\n // Escape RegExp special characters\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch (_Oo) {\n // Sometime this breaks\n }\n return (\n newUrl\n .replace(/\\\\/g, '/')\n .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n );\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase, visit as walk };\n//# sourceMappingURL=normalize.js.map\n"],"names":["object","memo","memoBuilder","isNaN","convertToPlainObject","isVueViewModel","isSyntheticEvent","getFunctionName"],"mappings":";;;;;;AAyBA,SAAS,UAAU,OAAO,QAAQ,KAAK,gBAAgB,UAAW;AAChE,MAAI;AAEF,WAAO,MAAM,IAAI,OAAO,OAAO,aAAa;AAAA,EAC9C,SAAS,KAAK;AACZ,WAAO,EAAE,OAAO,yBAAyB,GAAG,IAAG;AAAA,EACjD;AACF;AAGA,SAAS,gBAEPA,SAEA,QAAQ,GAER,UAAU,MAAM,MAChB;AACA,QAAM,aAAa,UAAUA,SAAQ,KAAK;AAE1C,MAAI,SAAS,UAAU,IAAI,SAAS;AAClC,WAAO,gBAAgBA,SAAQ,QAAQ,GAAG,OAAO;AAAA,EACnD;AAEA,SAAO;AACT;AAWA,SAAS,MACP,KACA,OACA,QAAQ,UACR,gBAAgB,UAChBC,SAAOC,KAAAA,YAAW,GAClB;AACA,QAAM,CAAC,SAAS,SAAS,IAAID;AAG7B,MACE,SAAS;AAAA,EACR,CAAC,UAAU,WAAW,QAAQ,EAAE,SAAS,OAAO,KAAK,KAAK,CAACE,GAAAA,MAAM,KAAK,GACvE;AACA,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,eAAe,KAAK,KAAK;AAI7C,MAAI,CAAC,YAAY,WAAW,UAAU,GAAG;AACvC,WAAO;AAAA,EACT;AAOA,MAAK,MAAQ,+BAA+B,GAAG;AAC7C,WAAO;AAAA,EACT;AAKA,QAAM,iBACJ,OAAQ,MAAQ,yCAAyC,MAAM,WACzD,MAAQ,yCAAyC,IACnD;AAGN,MAAI,mBAAmB,GAAG;AAExB,WAAO,YAAY,QAAQ,WAAW,EAAE;AAAA,EAC1C;AAGA,MAAI,QAAQ,KAAK,GAAG;AAClB,WAAO;AAAA,EACT;AAGA,QAAM,kBAAkB;AACxB,MAAI,mBAAmB,OAAO,gBAAgB,WAAW,YAAY;AACnE,QAAI;AACF,YAAM,YAAY,gBAAgB,OAAM;AAExC,aAAO,MAAM,IAAI,WAAW,iBAAiB,GAAG,eAAeF,MAAI;AAAA,IACrE,SAAS,KAAK;AAAA,IAEd;AAAA,EACF;AAKA,QAAM,aAAc,MAAM,QAAQ,KAAK,IAAI,CAAA,IAAK;AAChD,MAAI,WAAW;AAIf,QAAM,YAAYG,OAAAA,qBAAqB,KAAK;AAE5C,aAAW,YAAY,WAAW;AAEhC,QAAI,CAAC,OAAO,UAAU,eAAe,KAAK,WAAW,QAAQ,GAAG;AAC9D;AAAA,IACF;AAEA,QAAI,YAAY,eAAe;AAC7B,iBAAW,QAAQ,IAAI;AACvB;AAAA,IACF;AAGA,UAAM,aAAa,UAAU,QAAQ;AACrC,eAAW,QAAQ,IAAI,MAAM,UAAU,YAAY,iBAAiB,GAAG,eAAeH,MAAI;AAE1F;AAAA,EACF;AAGA,YAAU,KAAK;AAGf,SAAO;AACT;AAYA,SAAS,eACP,KAGA,OACA;AACA,MAAI;AACF,QAAI,QAAQ,YAAY,SAAS,OAAO,UAAU,YAAa,MAAQ,SAAS;AAC9E,aAAO;AAAA,IACT;AAEA,QAAI,QAAQ,iBAAiB;AAC3B,aAAO;AAAA,IACT;AAKA,QAAI,OAAO,WAAW,eAAe,UAAU,QAAQ;AACrD,aAAO;AAAA,IACT;AAGA,QAAI,OAAO,WAAW,eAAe,UAAU,QAAQ;AACrD,aAAO;AAAA,IACT;AAGA,QAAI,OAAO,aAAa,eAAe,UAAU,UAAU;AACzD,aAAO;AAAA,IACT;AAEA,QAAII,GAAAA,eAAe,KAAK,GAAG;AACzB,aAAO;AAAA,IACT;AAGA,QAAIC,GAAAA,iBAAiB,KAAK,GAAG;AAC3B,aAAO;AAAA,IACT;AAEA,QAAI,OAAO,UAAU,YAAY,UAAU,OAAO;AAChD,aAAO;AAAA,IACT;AAEA,QAAI,OAAO,UAAU,YAAY;AAC/B,aAAO,cAAcC,WAAAA,gBAAgB,KAAK,CAAC;AAAA,IAC7C;AAEA,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,IAAI,OAAO,KAAK,CAAC;AAAA,IAC1B;AAGA,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,YAAY,OAAO,KAAK,CAAC;AAAA,IAClC;AAMA,UAAM,UAAU,mBAAmB,KAAK;AAGxC,QAAI,qBAAqB,KAAK,OAAO,GAAG;AACtC,aAAO,iBAAiB,OAAO;AAAA,IACjC;AAEA,WAAO,WAAW,OAAO;AAAA,EAC3B,SAAS,KAAK;AACZ,WAAO,yBAAyB,GAAG;AAAA,EACrC;AACF;AAGA,SAAS,mBAAmB,OAAO;AACjC,QAAM,YAAY,OAAO,eAAe,KAAK;AAE7C,SAAO,YAAY,UAAU,YAAY,OAAO;AAClD;AAGA,SAAS,WAAW,OAAO;AAEzB,SAAO,CAAC,CAAC,UAAU,KAAK,EAAE,MAAM,OAAO,EAAE;AAC3C;AAIA,SAAS,SAAS,OAAO;AACvB,SAAO,WAAW,KAAK,UAAU,KAAK,CAAC;AACzC;;;;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/normalize.js"],"sourcesContent":["import { isNaN, isVueViewModel, isSyntheticEvent } from './is.js';\nimport { memoBuilder } from './memo.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction normalize(input, depth = 100, maxProperties = +Infinity) {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object,\n // Default Node.js REPL depth\n depth = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize = 100 * 1024,\n) {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key,\n value,\n depth = +Infinity,\n maxProperties = +Infinity,\n memo = memoBuilder(),\n) {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (\n value == null || // this matches null and undefined -> eqeq not eqeqeq\n (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))\n ) {\n return value ;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value )['__sentry_skip_normalization__']) {\n return value ;\n }\n\n // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n const remainingDepth =\n typeof (value )['__sentry_override_normalization_depth__'] === 'number'\n ? ((value )['__sentry_override_normalization_depth__'] )\n : depth;\n\n // We're also done if we've reached the max depth\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value ;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) ;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value );\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n numAdded++;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value,\n) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n const objName = getConstructorName(value);\n\n // Handle HTML Elements\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return `[HTMLElement: ${objName}]`;\n }\n\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value) {\n const prototype = Object.getPrototypeOf(value);\n\n return prototype ? prototype.constructor.name : 'null prototype';\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nfunction normalizeUrlToBase(url, basePath) {\n const escapedBase = basePath\n // Backslash to forward\n .replace(/\\\\/g, '/')\n // Escape RegExp special characters\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch (_Oo) {\n // Sometime this breaks\n }\n return (\n newUrl\n .replace(/\\\\/g, '/')\n .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n );\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase, visit as walk };\n//# sourceMappingURL=normalize.js.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"normalize.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/normalize.js"],"sourcesContent":["import { isNaN, isVueViewModel, isSyntheticEvent } from './is.js';\nimport { memoBuilder } from './memo.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction normalize(input, depth = 100, maxProperties = +Infinity) {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object,\n // Default Node.js REPL depth\n depth = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize = 100 * 1024,\n) {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key,\n value,\n depth = +Infinity,\n maxProperties = +Infinity,\n memo = memoBuilder(),\n) {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (\n value == null || // this matches null and undefined -> eqeq not eqeqeq\n (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))\n ) {\n return value ;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value )['__sentry_skip_normalization__']) {\n return value ;\n }\n\n // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n const remainingDepth =\n typeof (value )['__sentry_override_normalization_depth__'] === 'number'\n ? ((value )['__sentry_override_normalization_depth__'] )\n : depth;\n\n // We're also done if we've reached the max depth\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value ;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) ;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value );\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n numAdded++;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value,\n) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n const objName = getConstructorName(value);\n\n // Handle HTML Elements\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return `[HTMLElement: ${objName}]`;\n }\n\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value) {\n const prototype = Object.getPrototypeOf(value);\n\n return prototype ? prototype.constructor.name : 'null prototype';\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nfunction normalizeUrlToBase(url, basePath) {\n const escapedBase = basePath\n // Backslash to forward\n .replace(/\\\\/g, '/')\n // Escape RegExp special characters\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch (_Oo) {\n // Sometime this breaks\n }\n return (\n newUrl\n .replace(/\\\\/g, '/')\n .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n );\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase, visit as walk };\n//# sourceMappingURL=normalize.js.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/object.js"],"sourcesContent":["import { htmlTreeAsString } from './browser.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { logger } from './logger.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] ;\n const wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n markFunctionWrapped(wrapped, original);\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n } catch (o_O) {\n DEBUG_BUILD && logger.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPojo(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\nfunction isPojo(input) {\n if (!isPlainObject(input)) {\n return false;\n }\n\n try {\n const name = (Object.getPrototypeOf(input) ).constructor.name;\n return !name || name === 'Object';\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n"],"names":["DEBUG_BUILD","logger","isError","isEvent","isInstanceOf","isElement","htmlTreeAsString","truncate","isPlainObject"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"object.cjs","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/object.js"],"sourcesContent":["import { htmlTreeAsString } from './browser.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { logger } from './logger.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] ;\n const wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n markFunctionWrapped(wrapped, original);\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n } catch (o_O) {\n DEBUG_BUILD && logger.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPojo(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\nfunction isPojo(input) {\n if (!isPlainObject(input)) {\n return false;\n }\n\n try {\n const name = (Object.getPrototypeOf(input) ).constructor.name;\n return !name || name === 'Object';\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n"],"names":["DEBUG_BUILD","logger","isError","isEvent","isInstanceOf","isElement","htmlTreeAsString","truncate","isPlainObject"],"mappings":";;;;;;;AAiBA,SAAS,KAAK,QAAQ,MAAM,oBAAoB;AAC9C,MAAI,EAAE,QAAQ,SAAS;AACrB;AAAA,EACF;AAEA,QAAM,WAAW,OAAO,IAAI;AAC5B,QAAM,UAAU,mBAAmB,QAAQ;AAI3C,MAAI,OAAO,YAAY,YAAY;AACjC,wBAAoB,SAAS,QAAQ;AAAA,EACvC;AAEA,SAAO,IAAI,IAAI;AACjB;AASA,SAAS,yBAAyB,KAAK,MAAM,OAAO;AAClD,MAAI;AACF,WAAO,eAAe,KAAK,MAAM;AAAA;AAAA,MAE/B;AAAA,MACA,UAAU;AAAA,MACV,cAAc;AAAA,IACpB,CAAK;AAAA,EACH,SAAS,KAAK;AACZA,eAAAA,eAAeC,OAAAA,OAAO,IAAI,0CAA0C,IAAI,eAAe,GAAG;AAAA,EAC5F;AACF;AASA,SAAS,oBAAoB,SAAS,UAAU;AAC9C,MAAI;AACF,UAAM,QAAQ,SAAS,aAAa,CAAA;AACpC,YAAQ,YAAY,SAAS,YAAY;AACzC,6BAAyB,SAAS,uBAAuB,QAAQ;AAAA,EACnE,SAAS,KAAK;AAAA,EAAC;AACjB;AASA,SAAS,oBAAoB,MAAM;AACjC,SAAO,KAAK;AACd;AAQA,SAAS,UAAU,QAAQ;AACzB,SAAO,OAAO,KAAK,MAAM,EACtB,IAAI,SAAO,GAAG,mBAAmB,GAAG,CAAC,IAAI,mBAAmB,OAAO,GAAG,CAAC,CAAC,EAAE,EAC1E,KAAK,GAAG;AACb;AAUA,SAAS,qBACP,OAGD;AACC,MAAIC,GAAAA,QAAQ,KAAK,GAAG;AAClB,WAAO;AAAA,MACL,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,GAAG,iBAAiB,KAAK;AAAA,IAC/B;AAAA,EACE,WAAWC,WAAQ,KAAK,GAAG;AACzB,UAAM,SAEP;AAAA,MACG,MAAM,MAAM;AAAA,MACZ,QAAQ,qBAAqB,MAAM,MAAM;AAAA,MACzC,eAAe,qBAAqB,MAAM,aAAa;AAAA,MACvD,GAAG,iBAAiB,KAAK;AAAA,IAC/B;AAEI,QAAI,OAAO,gBAAgB,eAAeC,GAAAA,aAAa,OAAO,WAAW,GAAG;AAC1E,aAAO,SAAS,MAAM;AAAA,IACxB;AAEA,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAGA,SAAS,qBAAqB,QAAQ;AACpC,MAAI;AACF,WAAOC,aAAU,MAAM,IAAIC,QAAAA,iBAAiB,MAAM,IAAI,OAAO,UAAU,SAAS,KAAK,MAAM;AAAA,EAC7F,SAAS,KAAK;AACZ,WAAO;AAAA,EACT;AACF;AAGA,SAAS,iBAAiB,KAAK;AAC7B,MAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,UAAM,iBAAiB,CAAA;AACvB,eAAW,YAAY,KAAK;AAC1B,UAAI,OAAO,UAAU,eAAe,KAAK,KAAK,QAAQ,GAAG;AACvD,uBAAe,QAAQ,IAAK,IAAM,QAAQ;AAAA,MAC5C;AAAA,IACF;AACA,WAAO;AAAA,EACT,OAAO;AACL,WAAO,CAAA;AAAA,EACT;AACF;AAOA,SAAS,+BAA+B,WAAW,YAAY,IAAI;AACjE,QAAM,OAAO,OAAO,KAAK,qBAAqB,SAAS,CAAC;AACxD,OAAK,KAAI;AAET,MAAI,CAAC,KAAK,QAAQ;AAChB,WAAO;AAAA,EACT;AAEA,MAAI,KAAK,CAAC,EAAE,UAAU,WAAW;AAC/B,WAAOC,gBAAS,KAAK,CAAC,GAAG,SAAS;AAAA,EACpC;AAEA,WAAS,eAAe,KAAK,QAAQ,eAAe,GAAG,gBAAgB;AACrE,UAAM,aAAa,KAAK,MAAM,GAAG,YAAY,EAAE,KAAK,IAAI;AACxD,QAAI,WAAW,SAAS,WAAW;AACjC;AAAA,IACF;AACA,QAAI,iBAAiB,KAAK,QAAQ;AAChC,aAAO;AAAA,IACT;AACA,WAAOA,OAAAA,SAAS,YAAY,SAAS;AAAA,EACvC;AAEA,SAAO;AACT;AAQA,SAAS,kBAAkB,YAAY;AAIrC,QAAM,iBAAiB,oBAAI,IAAG;AAG9B,SAAO,mBAAmB,YAAY,cAAc;AACtD;AAEA,SAAS,mBAAmB,YAAY,gBAAgB;AACtD,MAAI,OAAO,UAAU,GAAG;AAEtB,UAAM,UAAU,eAAe,IAAI,UAAU;AAC7C,QAAI,YAAY,QAAW;AACzB,aAAO;AAAA,IACT;AAEA,UAAM,cAAc,CAAA;AAEpB,mBAAe,IAAI,YAAY,WAAW;AAE1C,eAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACzC,UAAI,OAAO,WAAW,GAAG,MAAM,aAAa;AAC1C,oBAAY,GAAG,IAAI,mBAAmB,WAAW,GAAG,GAAG,cAAc;AAAA,MACvE;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,QAAQ,UAAU,GAAG;AAE7B,UAAM,UAAU,eAAe,IAAI,UAAU;AAC7C,QAAI,YAAY,QAAW;AACzB,aAAO;AAAA,IACT;AAEA,UAAM,cAAc,CAAA;AAEpB,mBAAe,IAAI,YAAY,WAAW;AAE1C,eAAW,QAAQ,CAAC,SAAS;AAC3B,kBAAY,KAAK,mBAAmB,MAAM,cAAc,CAAC;AAAA,IAC3D,CAAC;AAED,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,OAAO,OAAO;AACrB,MAAI,CAACC,GAAAA,cAAc,KAAK,GAAG;AACzB,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,OAAQ,OAAO,eAAe,KAAK,EAAI,YAAY;AACzD,WAAO,CAAC,QAAQ,SAAS;AAAA,EAC3B,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;;;;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/object.js"],"sourcesContent":["import { htmlTreeAsString } from './browser.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { logger } from './logger.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] ;\n const wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n markFunctionWrapped(wrapped, original);\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n } catch (o_O) {\n DEBUG_BUILD && logger.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPojo(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\nfunction isPojo(input) {\n if (!isPlainObject(input)) {\n return false;\n }\n\n try {\n const name = (Object.getPrototypeOf(input) ).constructor.name;\n return !name || name === 'Object';\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"object.js","sources":["../../../../../../../../../../node_modules/@sentry/node/node_modules/@sentry/utils/esm/object.js"],"sourcesContent":["import { htmlTreeAsString } from './browser.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { logger } from './logger.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] ;\n const wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n markFunctionWrapped(wrapped, original);\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n } catch (o_O) {\n DEBUG_BUILD && logger.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPojo(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\nfunction isPojo(input) {\n if (!isPlainObject(input)) {\n return false;\n }\n\n try {\n const name = (Object.getPrototypeOf(input) ).constructor.name;\n return !name || name === 'Object';\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n"],"names":[],"mappings":";;;;;AAiBA,SAAS,KAAK,QAAQ,MAAM,oBAAoB;AAC9C,MAAI,EAAE,QAAQ,SAAS;AACrB;AAAA,EACF;AAEA,QAAM,WAAW,OAAO,IAAI;AAC5B,QAAM,UAAU,mBAAmB,QAAQ;AAI3C,MAAI,OAAO,YAAY,YAAY;AACjC,wBAAoB,SAAS,QAAQ;AAAA,EACvC;AAEA,SAAO,IAAI,IAAI;AACjB;AASA,SAAS,yBAAyB,KAAK,MAAM,OAAO;AAClD,MAAI;AACF,WAAO,eAAe,KAAK,MAAM;AAAA;AAAA,MAE/B;AAAA,MACA,UAAU;AAAA,MACV,cAAc;AAAA,IACpB,CAAK;AAAA,EACH,SAAS,KAAK;AACZ,mBAAe,OAAO,IAAI,0CAA0C,IAAI,eAAe,GAAG;AAAA,EAC5F;AACF;AASA,SAAS,oBAAoB,SAAS,UAAU;AAC9C,MAAI;AACF,UAAM,QAAQ,SAAS,aAAa,CAAA;AACpC,YAAQ,YAAY,SAAS,YAAY;AACzC,6BAAyB,SAAS,uBAAuB,QAAQ;AAAA,EACnE,SAAS,KAAK;AAAA,EAAC;AACjB;AASA,SAAS,oBAAoB,MAAM;AACjC,SAAO,KAAK;AACd;AAQA,SAAS,UAAU,QAAQ;AACzB,SAAO,OAAO,KAAK,MAAM,EACtB,IAAI,SAAO,GAAG,mBAAmB,GAAG,CAAC,IAAI,mBAAmB,OAAO,GAAG,CAAC,CAAC,EAAE,EAC1E,KAAK,GAAG;AACb;AAUA,SAAS,qBACP,OAGD;AACC,MAAI,QAAQ,KAAK,GAAG;AAClB,WAAO;AAAA,MACL,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,GAAG,iBAAiB,KAAK;AAAA,IAC/B;AAAA,EACE,WAAW,QAAQ,KAAK,GAAG;AACzB,UAAM,SAEP;AAAA,MACG,MAAM,MAAM;AAAA,MACZ,QAAQ,qBAAqB,MAAM,MAAM;AAAA,MACzC,eAAe,qBAAqB,MAAM,aAAa;AAAA,MACvD,GAAG,iBAAiB,KAAK;AAAA,IAC/B;AAEI,QAAI,OAAO,gBAAgB,eAAe,aAAa,OAAO,WAAW,GAAG;AAC1E,aAAO,SAAS,MAAM;AAAA,IACxB;AAEA,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAGA,SAAS,qBAAqB,QAAQ;AACpC,MAAI;AACF,WAAO,UAAU,MAAM,IAAI,iBAAiB,MAAM,IAAI,OAAO,UAAU,SAAS,KAAK,MAAM;AAAA,EAC7F,SAAS,KAAK;AACZ,WAAO;AAAA,EACT;AACF;AAGA,SAAS,iBAAiB,KAAK;AAC7B,MAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,UAAM,iBAAiB,CAAA;AACvB,eAAW,YAAY,KAAK;AAC1B,UAAI,OAAO,UAAU,eAAe,KAAK,KAAK,QAAQ,GAAG;AACvD,uBAAe,QAAQ,IAAK,IAAM,QAAQ;AAAA,MAC5C;AAAA,IACF;AACA,WAAO;AAAA,EACT,OAAO;AACL,WAAO,CAAA;AAAA,EACT;AACF;AAOA,SAAS,+BAA+B,WAAW,YAAY,IAAI;AACjE,QAAM,OAAO,OAAO,KAAK,qBAAqB,SAAS,CAAC;AACxD,OAAK,KAAI;AAET,MAAI,CAAC,KAAK,QAAQ;AAChB,WAAO;AAAA,EACT;AAEA,MAAI,KAAK,CAAC,EAAE,UAAU,WAAW;AAC/B,WAAO,SAAS,KAAK,CAAC,GAAG,SAAS;AAAA,EACpC;AAEA,WAAS,eAAe,KAAK,QAAQ,eAAe,GAAG,gBAAgB;AACrE,UAAM,aAAa,KAAK,MAAM,GAAG,YAAY,EAAE,KAAK,IAAI;AACxD,QAAI,WAAW,SAAS,WAAW;AACjC;AAAA,IACF;AACA,QAAI,iBAAiB,KAAK,QAAQ;AAChC,aAAO;AAAA,IACT;AACA,WAAO,SAAS,YAAY,SAAS;AAAA,EACvC;AAEA,SAAO;AACT;AAQA,SAAS,kBAAkB,YAAY;AAIrC,QAAM,iBAAiB,oBAAI,IAAG;AAG9B,SAAO,mBAAmB,YAAY,cAAc;AACtD;AAEA,SAAS,mBAAmB,YAAY,gBAAgB;AACtD,MAAI,OAAO,UAAU,GAAG;AAEtB,UAAM,UAAU,eAAe,IAAI,UAAU;AAC7C,QAAI,YAAY,QAAW;AACzB,aAAO;AAAA,IACT;AAEA,UAAM,cAAc,CAAA;AAEpB,mBAAe,IAAI,YAAY,WAAW;AAE1C,eAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACzC,UAAI,OAAO,WAAW,GAAG,MAAM,aAAa;AAC1C,oBAAY,GAAG,IAAI,mBAAmB,WAAW,GAAG,GAAG,cAAc;AAAA,MACvE;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,QAAQ,UAAU,GAAG;AAE7B,UAAM,UAAU,eAAe,IAAI,UAAU;AAC7C,QAAI,YAAY,QAAW;AACzB,aAAO;AAAA,IACT;AAEA,UAAM,cAAc,CAAA;AAEpB,mBAAe,IAAI,YAAY,WAAW;AAE1C,eAAW,QAAQ,CAAC,SAAS;AAC3B,kBAAY,KAAK,mBAAmB,MAAM,cAAc,CAAC;AAAA,IAC3D,CAAC;AAED,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,OAAO,OAAO;AACrB,MAAI,CAAC,cAAc,KAAK,GAAG;AACzB,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,OAAQ,OAAO,eAAe,KAAK,EAAI,YAAY;AACzD,WAAO,CAAC,QAAQ,SAAS;AAAA,EAC3B,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;","x_google_ignoreList":[0]}
|