{"version":3,"file":"wizsolucoes-ng-application-insights.mjs","sources":["../../../projects/ng-application-insights/src/lib/ng-application-insights.service.ts","../../../projects/ng-application-insights/src/lib/ng-application-insights-error-handler.service.ts","../../../projects/ng-application-insights/src/lib/ng-application-insights.module.ts","../../../projects/ng-application-insights/src/public-api.ts","../../../projects/ng-application-insights/src/wizsolucoes-ng-application-insights.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport {\r\n  ApplicationInsights,\r\n  IEventTelemetry,\r\n  IExceptionTelemetry,\r\n} from '@microsoft/applicationinsights-web';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\ninterface ICustomProperties {\r\n  [key: string]: any;\r\n}\r\n\r\n@Injectable()\r\nexport class NgApplicationInsightsConfig {\r\n  enabled = true;\r\n  instrumentationKey = '';\r\n  properties?: ICustomProperties = {};\r\n}\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class NgApplicationInsightsService {\r\n  appInsights: ApplicationInsights;\r\n  private customProperties: ICustomProperties = {};\r\n\r\n  constructor(\r\n    private config: NgApplicationInsightsConfig,\r\n    private router: Router\r\n  ) {\r\n    if (this.config.enabled) {\r\n      this.appInsights = new ApplicationInsights({\r\n        config: {\r\n          instrumentationKey: this.config.instrumentationKey,\r\n          enableAutoRouteTracking: true,\r\n        },\r\n      });\r\n\r\n      this.appInsights.loadAppInsights();\r\n      this.createRouterSubscription();\r\n    }\r\n\r\n    this.customProperties = {\r\n      ...this.customProperties,\r\n      ...config.properties,\r\n    };\r\n  }\r\n\r\n  trackPageView(name?: string, uri?: string): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.trackPageView({\r\n        name,\r\n        uri,\r\n        properties: this.customProperties,\r\n      });\r\n    }\r\n  }\r\n\r\n  trackEvent(\r\n    event: IEventTelemetry,\r\n    customProperties?: { [key: string]: any }\r\n  ): void {\r\n    if (this.config.enabled) {\r\n      customProperties = {\r\n        ...customProperties,\r\n        ...this.customProperties,\r\n      }\r\n      this.appInsights.trackEvent(event, customProperties);\r\n    }\r\n  }\r\n\r\n  trackException(error: Error): void {\r\n    const exception: IExceptionTelemetry = {\r\n      exception: error,\r\n      properties: this.customProperties,\r\n    };\r\n    if (this.config.enabled) {\r\n      this.appInsights.trackException(exception);\r\n    }\r\n  }\r\n\r\n  trackPageViewPerformance(name?: string, uri?: string): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.trackPageViewPerformance({\r\n        name,\r\n        uri,\r\n        properties: this.customProperties\r\n      });\r\n    }\r\n  }\r\n\r\n  trackTrace(message?: string): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.trackTrace({\r\n        message,\r\n        properties: this.customProperties\r\n      });\r\n    }\r\n  }\r\n\r\n  trackMetric(name?: string, average?: number): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.trackMetric({\r\n        name,\r\n        average,\r\n        properties: this.customProperties\r\n      });\r\n    }\r\n  }\r\n\r\n  trackDependencyData(name?: string, id?: string, responseCode?: number): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.trackDependencyData({\r\n        id,\r\n        responseCode,\r\n        name,\r\n        properties: this.customProperties\r\n      });\r\n    }\r\n  }\r\n\r\n  startTrackPage(pageName?: string): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.startTrackPage(pageName);\r\n    }\r\n  }\r\n\r\n  stopTrackPage(pageName?: string, url?: string): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.stopTrackPage(pageName, url, this.customProperties);\r\n    }\r\n  }\r\n\r\n  startTrackEvent(name?: string): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.startTrackEvent(name);\r\n    }\r\n  }\r\n\r\n  stopTrackEvent(name?: string, measurements?: any): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.stopTrackEvent(\r\n        name,\r\n        this.customProperties,\r\n        measurements\r\n      );\r\n    }\r\n  }\r\n\r\n  flush(): void {\r\n    if (this.config.enabled) {\r\n      this.appInsights.flush();\r\n    }\r\n  }\r\n\r\n  setCustomProperties(properties: ICustomProperties): void {\r\n    this.customProperties = {\r\n      ...this.customProperties,\r\n      ...properties\r\n    };\r\n  }\r\n\r\n  private createRouterSubscription(): void {\r\n    this.router.events\r\n      .pipe(filter((event) => event instanceof NavigationEnd))\r\n      .subscribe((event: NavigationEnd) => {\r\n        this.trackPageView(null, event.urlAfterRedirects);\r\n      });\r\n  }\r\n}\r\n","import { Injectable, ErrorHandler } from '@angular/core';\r\nimport {\r\n  NgApplicationInsightsConfig,\r\n  NgApplicationInsightsService,\r\n} from './ng-application-insights.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class NgApplicationInsightsErrorHandler extends ErrorHandler {\r\n  constructor(\r\n    private config: NgApplicationInsightsConfig,\r\n    private ngApplicationInsightsService: NgApplicationInsightsService\r\n  ) {\r\n    super();\r\n  }\r\n\r\n  handleError(error: Error): void {\r\n    if (!this.config.enabled) {\r\n      console.error(error);\r\n      return;\r\n    }\r\n\r\n    this.ngApplicationInsightsService.trackException(error);\r\n  }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport {\r\n  NgApplicationInsightsConfig,\r\n  NgApplicationInsightsService,\r\n} from './ng-application-insights.service';\r\n\r\n@NgModule()\r\nexport class NgApplicationInsightsModule {\r\n  constructor(\r\n    public ngApplicationInsightsService: NgApplicationInsightsService\r\n  ) {}\r\n\r\n  static forRoot(\r\n    config: NgApplicationInsightsConfig\r\n  ): ModuleWithProviders<NgApplicationInsightsModule> {\r\n    return {\r\n      ngModule: NgApplicationInsightsModule,\r\n      providers: [{ provide: NgApplicationInsightsConfig, useValue: config }],\r\n    };\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of ng-application-insights\r\n */\r\n\r\nexport * from './lib/ng-application-insights.service';\r\nexport * from './lib/ng-application-insights-error-handler.service';\r\nexport * from './lib/ng-application-insights.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgApplicationInsightsConfig","i1.NgApplicationInsightsService"],"mappings":"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"}