MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/cafsindia/snap.cafsinfotech.in/node_modules/@sentry/core/esm/hub.js.map
{"version":3,"file":"hub.js","sources":["../../src/hub.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport type {\n  Breadcrumb,\n  BreadcrumbHint,\n  Client,\n  CustomSamplingContext,\n  Event,\n  EventHint,\n  Extra,\n  Extras,\n  Hub as HubInterface,\n  Integration,\n  IntegrationClass,\n  Primitive,\n  Session,\n  SessionContext,\n  Severity,\n  SeverityLevel,\n  Transaction,\n  TransactionContext,\n  User,\n} from '@sentry/types';\nimport { consoleSandbox, dateTimestampInSeconds, getGlobalSingleton, GLOBAL_OBJ, logger, uuid4 } from '@sentry/utils';\n\nimport { DEFAULT_ENVIRONMENT } from './constants';\nimport { Scope } from './scope';\nimport { closeSession, makeSession, updateSession } from './session';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport const API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\nexport interface RunWithAsyncContextOptions {\n  /** Whether to reuse an existing async context if one exists. Defaults to false. */\n  reuseExisting?: boolean;\n}\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Strategy used to track async context.\n */\nexport interface AsyncContextStrategy {\n  /**\n   * Gets the current async context. Returns undefined if there is no current async context.\n   */\n  getCurrentHub: () => Hub | undefined;\n  /**\n   * Runs the supplied callback in its own async context.\n   */\n  runWithAsyncContext<T>(callback: () => T, options: RunWithAsyncContextOptions): T;\n}\n\n/**\n * A layer in the process stack.\n * @hidden\n */\nexport interface Layer {\n  client?: Client;\n  scope: Scope;\n}\n\n/**\n * An object that contains a hub and maintains a scope stack.\n * @hidden\n */\nexport interface Carrier {\n  __SENTRY__?: {\n    hub?: Hub;\n    acs?: AsyncContextStrategy;\n    /**\n     * Extra Hub properties injected by various SDKs\n     */\n    integrations?: Integration[];\n    extensions?: {\n      /** Extension methods for the hub, which are bound to the current Hub instance */\n      // eslint-disable-next-line @typescript-eslint/ban-types\n      [key: string]: Function;\n    };\n  };\n}\n\n/**\n * @inheritDoc\n */\nexport class Hub implements HubInterface {\n  /** Is a {@link Layer}[] containing the client and scope */\n  private readonly _stack: Layer[];\n\n  /** Contains the last event id of a captured event.  */\n  private _lastEventId?: string;\n\n  /**\n   * Creates a new instance of the hub, will push one {@link Layer} into the\n   * internal stack on creation.\n   *\n   * @param client bound to the hub.\n   * @param scope bound to the hub.\n   * @param version number, higher number means higher priority.\n   */\n  public constructor(client?: Client, scope: Scope = new Scope(), private readonly _version: number = API_VERSION) {\n    this._stack = [{ scope }];\n    if (client) {\n      this.bindClient(client);\n    }\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public isOlderThan(version: number): boolean {\n    return this._version < version;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public bindClient(client?: Client): void {\n    const top = this.getStackTop();\n    top.client = client;\n    if (client && client.setupIntegrations) {\n      client.setupIntegrations();\n    }\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public pushScope(): Scope {\n    // We want to clone the content of prev scope\n    const scope = Scope.clone(this.getScope());\n    this.getStack().push({\n      client: this.getClient(),\n      scope,\n    });\n    return scope;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public popScope(): boolean {\n    if (this.getStack().length <= 1) return false;\n    return !!this.getStack().pop();\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public withScope(callback: (scope: Scope) => void): void {\n    const scope = this.pushScope();\n    try {\n      callback(scope);\n    } finally {\n      this.popScope();\n    }\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public getClient<C extends Client>(): C | undefined {\n    return this.getStackTop().client as C;\n  }\n\n  /** Returns the scope of the top stack. */\n  public getScope(): Scope {\n    return this.getStackTop().scope;\n  }\n\n  /** Returns the scope stack for domains or the process. */\n  public getStack(): Layer[] {\n    return this._stack;\n  }\n\n  /** Returns the topmost scope layer in the order domain > local > process. */\n  public getStackTop(): Layer {\n    return this._stack[this._stack.length - 1];\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public captureException(exception: unknown, hint?: EventHint): string {\n    const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n    const syntheticException = new Error('Sentry syntheticException');\n    this._withClient((client, scope) => {\n      client.captureException(\n        exception,\n        {\n          originalException: exception,\n          syntheticException,\n          ...hint,\n          event_id: eventId,\n        },\n        scope,\n      );\n    });\n    return eventId;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public captureMessage(\n    message: string,\n    // eslint-disable-next-line deprecation/deprecation\n    level?: Severity | SeverityLevel,\n    hint?: EventHint,\n  ): string {\n    const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n    const syntheticException = new Error(message);\n    this._withClient((client, scope) => {\n      client.captureMessage(\n        message,\n        level,\n        {\n          originalException: message,\n          syntheticException,\n          ...hint,\n          event_id: eventId,\n        },\n        scope,\n      );\n    });\n    return eventId;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public captureEvent(event: Event, hint?: EventHint): string {\n    const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n    if (!event.type) {\n      this._lastEventId = eventId;\n    }\n\n    this._withClient((client, scope) => {\n      client.captureEvent(event, { ...hint, event_id: eventId }, scope);\n    });\n    return eventId;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public lastEventId(): string | undefined {\n    return this._lastEventId;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n    const { scope, client } = this.getStackTop();\n\n    if (!client) return;\n\n    const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n      (client.getOptions && client.getOptions()) || {};\n\n    if (maxBreadcrumbs <= 0) return;\n\n    const timestamp = dateTimestampInSeconds();\n    const mergedBreadcrumb = { timestamp, ...breadcrumb };\n    const finalBreadcrumb = beforeBreadcrumb\n      ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n      : mergedBreadcrumb;\n\n    if (finalBreadcrumb === null) return;\n\n    if (client.emit) {\n      client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n    }\n\n    scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setUser(user: User | null): void {\n    this.getScope().setUser(user);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setTags(tags: { [key: string]: Primitive }): void {\n    this.getScope().setTags(tags);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setExtras(extras: Extras): void {\n    this.getScope().setExtras(extras);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setTag(key: string, value: Primitive): void {\n    this.getScope().setTag(key, value);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setExtra(key: string, extra: Extra): void {\n    this.getScope().setExtra(key, extra);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  public setContext(name: string, context: { [key: string]: any } | null): void {\n    this.getScope().setContext(name, context);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public configureScope(callback: (scope: Scope) => void): void {\n    const { scope, client } = this.getStackTop();\n    if (client) {\n      callback(scope);\n    }\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public run(callback: (hub: Hub) => void): void {\n    const oldHub = makeMain(this);\n    try {\n      callback(this);\n    } finally {\n      makeMain(oldHub);\n    }\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public getIntegration<T extends Integration>(integration: IntegrationClass<T>): T | null {\n    const client = this.getClient();\n    if (!client) return null;\n    try {\n      return client.getIntegration(integration);\n    } catch (_oO) {\n      __DEBUG_BUILD__ && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n      return null;\n    }\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public startTransaction(context: TransactionContext, customSamplingContext?: CustomSamplingContext): Transaction {\n    const result = this._callExtensionMethod<Transaction>('startTransaction', context, customSamplingContext);\n\n    if (__DEBUG_BUILD__ && !result) {\n      const client = this.getClient();\n      if (!client) {\n        // eslint-disable-next-line no-console\n        console.warn(\n          \"Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'\",\n        );\n      } else {\n        // eslint-disable-next-line no-console\n        console.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n`);\n      }\n    }\n\n    return result;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public traceHeaders(): { [key: string]: string } {\n    return this._callExtensionMethod<{ [key: string]: string }>('traceHeaders');\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public captureSession(endSession: boolean = false): void {\n    // both send the update and pull the session from the scope\n    if (endSession) {\n      return this.endSession();\n    }\n\n    // only send the update\n    this._sendSessionUpdate();\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public endSession(): void {\n    const layer = this.getStackTop();\n    const scope = layer.scope;\n    const session = scope.getSession();\n    if (session) {\n      closeSession(session);\n    }\n    this._sendSessionUpdate();\n\n    // the session is over; take it off of the scope\n    scope.setSession();\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public startSession(context?: SessionContext): Session {\n    const { scope, client } = this.getStackTop();\n    const { release, environment = DEFAULT_ENVIRONMENT } = (client && client.getOptions()) || {};\n\n    // Will fetch userAgent if called from browser sdk\n    const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n    const session = makeSession({\n      release,\n      environment,\n      user: scope.getUser(),\n      ...(userAgent && { userAgent }),\n      ...context,\n    });\n\n    // End existing session if there's one\n    const currentSession = scope.getSession && scope.getSession();\n    if (currentSession && currentSession.status === 'ok') {\n      updateSession(currentSession, { status: 'exited' });\n    }\n    this.endSession();\n\n    // Afterwards we set the new session on the scope\n    scope.setSession(session);\n\n    return session;\n  }\n\n  /**\n   * Returns if default PII should be sent to Sentry and propagated in ourgoing requests\n   * when Tracing is used.\n   */\n  public shouldSendDefaultPii(): boolean {\n    const client = this.getClient();\n    const options = client && client.getOptions();\n    return Boolean(options && options.sendDefaultPii);\n  }\n\n  /**\n   * Sends the current Session on the scope\n   */\n  private _sendSessionUpdate(): void {\n    const { scope, client } = this.getStackTop();\n\n    const session = scope.getSession();\n    if (session && client && client.captureSession) {\n      client.captureSession(session);\n    }\n  }\n\n  /**\n   * Internal helper function to call a method on the top client if it exists.\n   *\n   * @param method The method to call on the client.\n   * @param args Arguments to pass to the client function.\n   */\n  private _withClient(callback: (client: Client, scope: Scope) => void): void {\n    const { scope, client } = this.getStackTop();\n    if (client) {\n      callback(client, scope);\n    }\n  }\n\n  /**\n   * Calls global extension method and binding current instance to the function call\n   */\n  // @ts-expect-error Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  private _callExtensionMethod<T>(method: string, ...args: any[]): T {\n    const carrier = getMainCarrier();\n    const sentry = carrier.__SENTRY__;\n    if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n      return sentry.extensions[method].apply(this, args);\n    }\n    __DEBUG_BUILD__ && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n  }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier(): Carrier {\n  GLOBAL_OBJ.__SENTRY__ = GLOBAL_OBJ.__SENTRY__ || {\n    extensions: {},\n    hub: undefined,\n  };\n  return GLOBAL_OBJ;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub: Hub): Hub {\n  const registry = getMainCarrier();\n  const oldHub = getHubFromCarrier(registry);\n  setHubOnCarrier(registry, hub);\n  return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub(): Hub {\n  // Get main carrier (global for every environment)\n  const registry = getMainCarrier();\n\n  if (registry.__SENTRY__ && registry.__SENTRY__.acs) {\n    const hub = registry.__SENTRY__.acs.getCurrentHub();\n\n    if (hub) {\n      return hub;\n    }\n  }\n\n  // Return hub that lives on a global object\n  return getGlobalHub(registry);\n}\n\nfunction getGlobalHub(registry: Carrier = getMainCarrier()): Hub {\n  // If there's no hub, or its an old API, assign a new one\n  if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n    setHubOnCarrier(registry, new Hub());\n  }\n\n  // Return hub that lives on a global object\n  return getHubFromCarrier(registry);\n}\n\n/**\n * @private Private API with no semver guarantees!\n *\n * If the carrier does not contain a hub, a new hub is created with the global hub client and scope.\n */\nexport function ensureHubOnCarrier(carrier: Carrier, parent: Hub = getGlobalHub()): void {\n  // If there's no hub on current domain, or it's an old API, assign a new one\n  if (!hasHubOnCarrier(carrier) || getHubFromCarrier(carrier).isOlderThan(API_VERSION)) {\n    const globalHubTopStack = parent.getStackTop();\n    setHubOnCarrier(carrier, new Hub(globalHubTopStack.client, Scope.clone(globalHubTopStack.scope)));\n  }\n}\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\nexport function setAsyncContextStrategy(strategy: AsyncContextStrategy | undefined): void {\n  // Get main carrier (global for every environment)\n  const registry = getMainCarrier();\n  registry.__SENTRY__ = registry.__SENTRY__ || {};\n  registry.__SENTRY__.acs = strategy;\n}\n\n/**\n * Runs the supplied callback in its own async context. Async Context strategies are defined per SDK.\n *\n * @param callback The callback to run in its own async context\n * @param options Options to pass to the async context strategy\n * @returns The result of the callback\n */\nexport function runWithAsyncContext<T>(callback: () => T, options: RunWithAsyncContextOptions = {}): T {\n  const registry = getMainCarrier();\n\n  if (registry.__SENTRY__ && registry.__SENTRY__.acs) {\n    return registry.__SENTRY__.acs.runWithAsyncContext(callback, options);\n  }\n\n  // if there was no strategy, fallback to just calling the callback\n  return callback();\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier: Carrier): boolean {\n  return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier: Carrier): Hub {\n  return getGlobalSingleton<Hub>('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nexport function setHubOnCarrier(carrier: Carrier, hub: Hub): boolean {\n  if (!carrier) return false;\n  const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n  __SENTRY__.hub = hub;\n  return true;\n}\n"],"names":[],"mappings":"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"}