HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/base.komma.pro/node_modules/@sentry/hub/dist/hub.js.map
{"version":3,"file":"hub.js","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n  Breadcrumb,\n  BreadcrumbHint,\n  Client,\n  Event,\n  EventHint,\n  Hub as HubInterface,\n  Integration,\n  IntegrationClass,\n  Severity,\n  Span,\n  SpanContext,\n  Transaction,\n  TransactionContext,\n  User,\n} from '@sentry/types';\nimport { consoleSandbox, getGlobalObject, isNodeEnv, logger, timestampWithMs, uuid4 } from '@sentry/utils';\n\nimport { Carrier, Layer } from './interfaces';\nimport { Scope } from './scope';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be incresed when the global interface\n * changes a and new methods are introduced.\n *\n * @hidden\n */\nexport const API_VERSION = 3;\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\n/**\n * Absolute maximum number of breadcrumbs added to an event. The\n * `maxBreadcrumbs` option cannot be higher than this value.\n */\nconst MAX_BREADCRUMBS = 100;\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.push({ client, scope });\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 _invokeClient<M extends keyof Client>(method: M, ...args: any[]): void {\n    const top = this.getStackTop();\n    if (top && top.client && top.client[method]) {\n      (top.client as any)[method](...args, top.scope);\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 stack = this.getStack();\n    const parentScope = stack.length > 0 ? stack[stack.length - 1].scope : undefined;\n    const scope = Scope.clone(parentScope);\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    return this.getStack().pop() !== undefined;\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 | undefined {\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: any, hint?: EventHint): string {\n    const eventId = (this._lastEventId = uuid4());\n    let finalHint = hint;\n\n    // If there's no explicit hint provided, mimick the same thing that would happen\n    // in the minimal itself to create a consistent behavior.\n    // We don't do this in the client, as it's the lowest level API, and doing this,\n    // would prevent user from having full control over direct calls.\n    if (!hint) {\n      let syntheticException: Error;\n      try {\n        throw new Error('Sentry syntheticException');\n      } catch (exception) {\n        syntheticException = exception as Error;\n      }\n      finalHint = {\n        originalException: exception,\n        syntheticException,\n      };\n    }\n\n    this._invokeClient('captureException', exception, {\n      ...finalHint,\n      event_id: eventId,\n    });\n    return eventId;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public captureMessage(message: string, level?: Severity, hint?: EventHint): string {\n    const eventId = (this._lastEventId = uuid4());\n    let finalHint = hint;\n\n    // If there's no explicit hint provided, mimick the same thing that would happen\n    // in the minimal itself to create a consistent behavior.\n    // We don't do this in the client, as it's the lowest level API, and doing this,\n    // would prevent user from having full control over direct calls.\n    if (!hint) {\n      let syntheticException: Error;\n      try {\n        throw new Error(message);\n      } catch (exception) {\n        syntheticException = exception as Error;\n      }\n      finalHint = {\n        originalException: message,\n        syntheticException,\n      };\n    }\n\n    this._invokeClient('captureMessage', message, level, {\n      ...finalHint,\n      event_id: eventId,\n    });\n    return eventId;\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public captureEvent(event: Event, hint?: EventHint): string {\n    const eventId = (this._lastEventId = uuid4());\n    this._invokeClient('captureEvent', event, {\n      ...hint,\n      event_id: eventId,\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 top = this.getStackTop();\n\n    if (!top.scope || !top.client) {\n      return;\n    }\n\n    const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n      (top.client.getOptions && top.client.getOptions()) || {};\n\n    if (maxBreadcrumbs <= 0) {\n      return;\n    }\n\n    const timestamp = timestampWithMs();\n    const mergedBreadcrumb = { timestamp, ...breadcrumb };\n    const finalBreadcrumb = beforeBreadcrumb\n      ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n      : mergedBreadcrumb;\n\n    if (finalBreadcrumb === null) {\n      return;\n    }\n\n    top.scope.addBreadcrumb(finalBreadcrumb, Math.min(maxBreadcrumbs, MAX_BREADCRUMBS));\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setUser(user: User | null): void {\n    const top = this.getStackTop();\n    if (!top.scope) {\n      return;\n    }\n    top.scope.setUser(user);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setTags(tags: { [key: string]: string }): void {\n    const top = this.getStackTop();\n    if (!top.scope) {\n      return;\n    }\n    top.scope.setTags(tags);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setExtras(extras: { [key: string]: any }): void {\n    const top = this.getStackTop();\n    if (!top.scope) {\n      return;\n    }\n    top.scope.setExtras(extras);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setTag(key: string, value: string): void {\n    const top = this.getStackTop();\n    if (!top.scope) {\n      return;\n    }\n    top.scope.setTag(key, value);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setExtra(key: string, extra: any): void {\n    const top = this.getStackTop();\n    if (!top.scope) {\n      return;\n    }\n    top.scope.setExtra(key, extra);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public setContext(name: string, context: { [key: string]: any } | null): void {\n    const top = this.getStackTop();\n    if (!top.scope) {\n      return;\n    }\n    top.scope.setContext(name, context);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public configureScope(callback: (scope: Scope) => void): void {\n    const top = this.getStackTop();\n    if (top.scope && top.client) {\n      callback(top.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) {\n      return null;\n    }\n    try {\n      return client.getIntegration(integration);\n    } catch (_oO) {\n      logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n      return null;\n    }\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public startSpan(context: SpanContext): Span {\n    return this._callExtensionMethod('startSpan', context);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public startTransaction(context: TransactionContext): Transaction {\n    return this._callExtensionMethod('startTransaction', context);\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public traceHeaders(): { [key: string]: string } {\n    return this._callExtensionMethod<{ [key: string]: string }>('traceHeaders');\n  }\n\n  /**\n   * Calls global extension method and binding current instance to the function call\n   */\n  // @ts-ignore\n  private _callExtensionMethod<T>(method: string, ...args: any[]): T {\n    const carrier = getMainCarrier();\n    const sentry = carrier.__SENTRY__;\n    // tslint:disable-next-line: strict-type-predicates\n    if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n      return sentry.extensions[method].apply(this, args);\n    }\n    logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n  }\n}\n\n/** Returns the global shim registry. */\nexport function getMainCarrier(): Carrier {\n  const carrier = getGlobalObject();\n  carrier.__SENTRY__ = carrier.__SENTRY__ || {\n    extensions: {},\n    hub: undefined,\n  };\n  return carrier;\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 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  // Prefer domains over global if they are there (applicable only to Node environment)\n  if (isNodeEnv()) {\n    return getHubFromActiveDomain(registry);\n  }\n  // Return hub that lives on a global object\n  return getHubFromCarrier(registry);\n}\n\n/**\n * Try to read the hub from an active domain, fallback to the registry if one doesnt exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry: Carrier): Hub {\n  try {\n    const property = 'domain';\n    const carrier = getMainCarrier();\n    const sentry = carrier.__SENTRY__;\n    // tslint:disable-next-line: strict-type-predicates\n    if (!sentry || !sentry.extensions || !sentry.extensions[property]) {\n      return getHubFromCarrier(registry);\n    }\n    const domain = sentry.extensions[property] as any;\n    const activeDomain = domain.active;\n\n    // If there no active domain, just return global hub\n    if (!activeDomain) {\n      return getHubFromCarrier(registry);\n    }\n\n    // If there's no hub on current domain, or its an old API, assign a new one\n    if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n      const registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n      setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n    }\n\n    // Return hub that lives on a domain\n    return getHubFromCarrier(activeDomain);\n  } catch (_Oo) {\n    // Return hub that lives on a global object\n    return getHubFromCarrier(registry);\n  }\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  if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) {\n    return true;\n  }\n  return false;\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  if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) {\n    return carrier.__SENTRY__.hub;\n  }\n  carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n  carrier.__SENTRY__.hub = new Hub();\n  return carrier.__SENTRY__.hub;\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 */\nexport function setHubOnCarrier(carrier: Carrier, hub: Hub): boolean {\n  if (!carrier) {\n    return false;\n  }\n  carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n  carrier.__SENTRY__.hub = hub;\n  return true;\n}\n"]}