@microsoft/applicationinsights-angularplugin-js 2.6.2 → 2.8.0

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.
Files changed (30) hide show
  1. package/README.md +120 -13
  2. package/esm2020/lib/IErrorService.mjs +2 -0
  3. package/esm2020/lib/applicationinsights-angularplugin-error.service.mjs +39 -0
  4. package/esm2020/lib/applicationinsights-angularplugin-js.component.mjs +93 -0
  5. package/esm2020/lib/applicationinsights-angularplugin-js.module.mjs +23 -0
  6. package/{esm2015/microsoft-applicationinsights-angularplugin-js.js → esm2020/microsoft-applicationinsights-angularplugin-js.mjs} +0 -0
  7. package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -1
  8. package/fesm2015/microsoft-applicationinsights-angularplugin-js.mjs +158 -0
  9. package/fesm2015/microsoft-applicationinsights-angularplugin-js.mjs.map +1 -0
  10. package/fesm2020/microsoft-applicationinsights-angularplugin-js.mjs +158 -0
  11. package/fesm2020/microsoft-applicationinsights-angularplugin-js.mjs.map +1 -0
  12. package/lib/IErrorService.d.ts +4 -0
  13. package/lib/applicationinsights-angularplugin-error.service.d.ts +8 -3
  14. package/lib/applicationinsights-angularplugin-js.component.d.ts +4 -0
  15. package/lib/applicationinsights-angularplugin-js.module.d.ts +5 -0
  16. package/microsoft-applicationinsights-angularplugin-js-2.8.0.tgz +0 -0
  17. package/microsoft-applicationinsights-angularplugin-js.d.ts +1 -0
  18. package/package.json +24 -12
  19. package/public-api.d.ts +1 -0
  20. package/bundles/microsoft-applicationinsights-angularplugin-js.umd.js +0 -455
  21. package/bundles/microsoft-applicationinsights-angularplugin-js.umd.js.map +0 -1
  22. package/bundles/microsoft-applicationinsights-angularplugin-js.umd.min.js +0 -16
  23. package/bundles/microsoft-applicationinsights-angularplugin-js.umd.min.js.map +0 -1
  24. package/esm2015/lib/applicationinsights-angularplugin-error.service.js +0 -26
  25. package/esm2015/lib/applicationinsights-angularplugin-js.component.js +0 -79
  26. package/esm2015/lib/applicationinsights-angularplugin-js.module.js +0 -16
  27. package/fesm2015/microsoft-applicationinsights-angularplugin-js.js +0 -126
  28. package/fesm2015/microsoft-applicationinsights-angularplugin-js.js.map +0 -1
  29. package/microsoft-applicationinsights-angularplugin-js-2.6.2.tgz +0 -0
  30. package/microsoft-applicationinsights-angularplugin-js.metadata.json +0 -1
package/README.md CHANGED
@@ -1,24 +1,131 @@
1
- # ApplicationinsightsAngularpluginJs
1
+ # Microsoft Application Insights JavaScript SDK - Angular Plugin
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.0.6.
3
+ [![Angular CI](https://github.com/microsoft/applicationinsights-angularplugin-js/actions/workflows/angular.yml/badge.svg?branch=main)](https://github.com/microsoft/applicationinsights-angularplugin-js/actions/workflows/angular.yml)
4
+ [![npm version](https://badge.fury.io/js/%40microsoft%2Fapplicationinsights-angularplugin-js.svg)]()
4
5
 
5
- ## Code scaffolding
6
+ Angular Plugin for the Application Insights Javascript SDK, enables the following:
6
7
 
7
- Run `ng generate component component-name --project applicationinsights-angularplugin-js` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project applicationinsights-angularplugin-js`.
8
- > Note: Don't forget to add `--project applicationinsights-angularplugin-js` or else it will be added to the default project in your `angular.json` file.
8
+ > ***Note:*** Angular plugin is NOT es3 compatible
9
9
 
10
- ## Build
10
+ - Tracking of router changes
11
+ - Tracking uncaught exceptions
11
12
 
12
- Run `ng build applicationinsights-angularplugin-js` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+ Angular Plugin for the Application Insights Javascript SDK
13
14
 
14
- ## Publishing
15
+ ## Getting Started
15
16
 
16
- After building your library with `ng build applicationinsights-angularplugin-js`, go to the dist folder `cd dist/applicationinsights-angularplugin-js` and run `npm publish`.
17
+ Install npm package:
17
18
 
18
- ## Running unit tests
19
+ ```bash
20
+ npm install @microsoft/applicationinsights-angularplugin-js
21
+ ```
19
22
 
20
- Run `ng test applicationinsights-angularplugin-js` to execute the unit tests via [Karma](https://karma-runner.github.io).
23
+ ## Basic Usage
21
24
 
22
- ## Further help
25
+ Set up an instance of Application Insights in the entry component in your app:
23
26
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
27
+ ```js
28
+ import { Component } from '@angular/core';
29
+ import { ApplicationInsights } from '@microsoft/applicationinsights-web';
30
+ import { AngularPlugin } from '@microsoft/applicationinsights-angularplugin-js';
31
+ import { Router } from '@angular/router';
32
+
33
+ @Component({
34
+ selector: 'app-root',
35
+ templateUrl: './app.component.html',
36
+ styleUrls: ['./app.component.css']
37
+ })
38
+ export class AppComponent {
39
+ constructor(
40
+ private router: Router
41
+ ){
42
+ var angularPlugin = new AngularPlugin();
43
+ const appInsights = new ApplicationInsights({ config: {
44
+ instrumentationKey: 'YOUR_INSTRUMENTATION_KEY_GOES_HERE',
45
+ extensions: [angularPlugin],
46
+ extensionConfig: {
47
+ [angularPlugin.identifier]: { router: this.router }
48
+ }
49
+ } });
50
+ appInsights.loadAppInsights();
51
+ }
52
+ }
53
+ ```
54
+
55
+ To track uncaught exceptions, setup ApplicationinsightsAngularpluginErrorService in `app.module.ts`:
56
+
57
+ ```js
58
+ import { ApplicationinsightsAngularpluginErrorService } from '@microsoft/applicationinsights-angularplugin-js';
59
+
60
+ @NgModule({
61
+ ...
62
+ providers: [
63
+ {
64
+ provide: ErrorHandler,
65
+ useClass: ApplicationinsightsAngularpluginErrorService
66
+ }
67
+ ]
68
+ ...
69
+ })
70
+ export class AppModule { }
71
+ ```
72
+
73
+ To chain more custom error handlers, create custom error handlers that implement IErrorService:
74
+
75
+ ```js
76
+ import { IErrorService } from '@microsoft/applicationinsights-angularplugin-js';
77
+
78
+ export class CustomErrorHandler implements IErrorService {
79
+ handleError(error: any) {
80
+ ...
81
+ }
82
+ }
83
+ ```
84
+
85
+ And pass errorServices array through extensionConfig:
86
+
87
+ ```js
88
+ extensionConfig: {
89
+ [angularPlugin.identifier]: {
90
+ router: this.router,
91
+ errorServices: [new CustomErrorHandler()]
92
+ }
93
+ }
94
+ ```
95
+
96
+ ## Contributing
97
+
98
+ This project welcomes contributions and suggestions. Most contributions require you to agree to a
99
+ Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
100
+ the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
101
+
102
+ When you submit a pull request, a CLA bot will automatically determine whether you need to provide
103
+ a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
104
+ provided by the bot. You will only need to do this once across all repos using our CLA.
105
+
106
+ This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
107
+ For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
108
+ contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
109
+
110
+ ## Trademarks
111
+
112
+ This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
113
+ trademarks or logos is subject to and must follow
114
+ [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
115
+ Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
116
+ Any use of third-party trademarks or logos are subject to those third-party's policies.
117
+
118
+ ### Note
119
+
120
+ Angular plugin is using newer version of typescript, make sure to build and test before you create a pull request.
121
+ Navigate to the root folder of Angular plugin, under /applicationinsights-angularplugin-js:
122
+
123
+ ```js
124
+ npm install
125
+ npm run build
126
+ npm run test
127
+ ```
128
+
129
+ ## License
130
+
131
+ [MIT](LICENSE)
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUVycm9yU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy9zcmMvbGliL0lFcnJvclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9ySGFuZGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRXJyb3JTZXJ2aWNlIGV4dGVuZHMgRXJyb3JIYW5kbGVyIHtcclxuICAgIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiB2b2lkO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { arrForEach } from '@microsoft/applicationinsights-core-js';
3
+ import * as i0 from "@angular/core";
4
+ export class ApplicationinsightsAngularpluginErrorService {
5
+ constructor() {
6
+ this.errorServices = [];
7
+ if (ApplicationinsightsAngularpluginErrorService.instance === null) {
8
+ ApplicationinsightsAngularpluginErrorService.instance = this;
9
+ }
10
+ }
11
+ set plugin(analyticsPlugin) {
12
+ this.analyticsPlugin = analyticsPlugin;
13
+ }
14
+ addErrorHandler(errorService) {
15
+ this.errorServices.push(errorService);
16
+ }
17
+ handleError(error) {
18
+ if (this.analyticsPlugin) {
19
+ this.analyticsPlugin.trackException({ exception: error });
20
+ }
21
+ if (this.errorServices && this.errorServices.length > 0) {
22
+ arrForEach(this.errorServices, errorService => {
23
+ if (errorService.handleError && typeof errorService.handleError === 'function') {
24
+ errorService.handleError(error);
25
+ }
26
+ });
27
+ }
28
+ }
29
+ }
30
+ ApplicationinsightsAngularpluginErrorService.instance = null;
31
+ ApplicationinsightsAngularpluginErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ ApplicationinsightsAngularpluginErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, decorators: [{
34
+ type: Injectable,
35
+ args: [{
36
+ providedIn: 'root'
37
+ }]
38
+ }], ctorParameters: function () { return []; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWVycm9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcHBsaWNhdGlvbmluc2lnaHRzLWFuZ3VsYXJwbHVnaW4tanMvc3JjL2xpYi9hcHBsaWNhdGlvbmluc2lnaHRzLWFuZ3VsYXJwbHVnaW4tZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFNcEUsTUFBTSxPQUFPLDRDQUE0QztJQUt2RDtRQUZRLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQUcxQyxJQUFJLDRDQUE0QyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDbEUsNENBQTRDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxJQUFXLE1BQU0sQ0FBQyxlQUE2QjtRQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sZUFBZSxDQUFDLFlBQTJCO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMzRDtRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkQsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLEVBQUU7Z0JBQzVDLElBQUksWUFBWSxDQUFDLFdBQVcsSUFBSSxPQUFPLFlBQVksQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFO29CQUM5RSxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNqQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQTlCYSxxREFBUSxHQUFpRCxJQUFLLENBQUE7eUlBRGpFLDRDQUE0Qzs2SUFBNUMsNENBQTRDLGNBRjNDLE1BQU07MkZBRVAsNENBQTRDO2tCQUh4RCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUFwcEluc2lnaHRzIH0gZnJvbSAnQG1pY3Jvc29mdC9hcHBsaWNhdGlvbmluc2lnaHRzLWNvbW1vbic7XHJcbmltcG9ydCB7IGFyckZvckVhY2ggfSBmcm9tICdAbWljcm9zb2Z0L2FwcGxpY2F0aW9uaW5zaWdodHMtY29yZS1qcyc7XHJcbmltcG9ydCB7IElFcnJvclNlcnZpY2UgfSBmcm9tICcuL0lFcnJvclNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25pbnNpZ2h0c0FuZ3VsYXJwbHVnaW5FcnJvclNlcnZpY2UgaW1wbGVtZW50cyBJRXJyb3JTZXJ2aWNlIHtcclxuICBwdWJsaWMgc3RhdGljIGluc3RhbmNlOiBBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBhbmFseXRpY3NQbHVnaW46IElBcHBJbnNpZ2h0cztcclxuICBwcml2YXRlIGVycm9yU2VydmljZXM6IElFcnJvclNlcnZpY2VbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGlmIChBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZS5pbnN0YW5jZSA9PT0gbnVsbCkge1xyXG4gICAgICBBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZS5pbnN0YW5jZSA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHBsdWdpbihhbmFseXRpY3NQbHVnaW46IElBcHBJbnNpZ2h0cykge1xyXG4gICAgdGhpcy5hbmFseXRpY3NQbHVnaW4gPSBhbmFseXRpY3NQbHVnaW47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkRXJyb3JIYW5kbGVyKGVycm9yU2VydmljZTogSUVycm9yU2VydmljZSk6IHZvaWQge1xyXG4gICAgdGhpcy5lcnJvclNlcnZpY2VzLnB1c2goZXJyb3JTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFuYWx5dGljc1BsdWdpbikge1xyXG4gICAgICB0aGlzLmFuYWx5dGljc1BsdWdpbi50cmFja0V4Y2VwdGlvbih7IGV4Y2VwdGlvbjogZXJyb3IgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZXJyb3JTZXJ2aWNlcyAmJiB0aGlzLmVycm9yU2VydmljZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBhcnJGb3JFYWNoKHRoaXMuZXJyb3JTZXJ2aWNlcywgZXJyb3JTZXJ2aWNlID0+IHtcclxuICAgICAgICBpZiAoZXJyb3JTZXJ2aWNlLmhhbmRsZUVycm9yICYmIHR5cGVvZiBlcnJvclNlcnZpY2UuaGFuZGxlRXJyb3IgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgIGVycm9yU2VydmljZS5oYW5kbGVFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -0,0 +1,93 @@
1
+ import { Component } from '@angular/core';
2
+ import { PropertiesPluginIdentifier, Util } from '@microsoft/applicationinsights-common';
3
+ import { BaseTelemetryPlugin, arrForEach, _InternalMessageId, LoggingSeverity, getLocation } from '@microsoft/applicationinsights-core-js';
4
+ import { NavigationEnd } from '@angular/router';
5
+ import { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';
6
+ import * as i0 from "@angular/core";
7
+ // eslint-disable-next-line @angular-eslint/component-class-suffix
8
+ export class AngularPlugin extends BaseTelemetryPlugin {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.priority = 186;
12
+ this.identifier = 'AngularPlugin';
13
+ }
14
+ initialize(config, core, extensions, pluginChain) {
15
+ super.initialize(config, core, extensions, pluginChain);
16
+ const self = this;
17
+ const ctx = self._getTelCtx();
18
+ const extConfig = ctx.getExtCfg(self.identifier, { router: null, errorServices: null });
19
+ arrForEach(extensions, ext => {
20
+ const identifier = ext.identifier;
21
+ if (identifier === 'ApplicationInsightsAnalytics') {
22
+ self.analyticsPlugin = ext;
23
+ if (ApplicationinsightsAngularpluginErrorService.instance !== null) {
24
+ ApplicationinsightsAngularpluginErrorService.instance.plugin = self.analyticsPlugin;
25
+ if (extConfig.errorServices && Array.isArray(extConfig.errorServices)) {
26
+ arrForEach(extConfig.errorServices, (errorService) => {
27
+ ApplicationinsightsAngularpluginErrorService.instance.addErrorHandler(errorService);
28
+ });
29
+ }
30
+ }
31
+ }
32
+ if (identifier === PropertiesPluginIdentifier) {
33
+ self.propertiesPlugin = ext;
34
+ }
35
+ });
36
+ if (extConfig.router) {
37
+ let isPageInitialLoad = true;
38
+ const pageViewTelemetry = {
39
+ uri: extConfig.router.url
40
+ };
41
+ self.trackPageView(pageViewTelemetry);
42
+ extConfig.router.events.subscribe(event => {
43
+ if (event instanceof NavigationEnd) {
44
+ // for page initial load, do not call trackPageView twice
45
+ if (isPageInitialLoad) {
46
+ isPageInitialLoad = false;
47
+ return;
48
+ }
49
+ const pvt = {
50
+ uri: extConfig.router.url,
51
+ properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0
52
+ };
53
+ self.trackPageView(pvt);
54
+ }
55
+ });
56
+ }
57
+ }
58
+ /**
59
+ * Add Part A fields to the event
60
+ *
61
+ * @param event The event that needs to be processed
62
+ */
63
+ processTelemetry(event, itemCtx) {
64
+ this.processNext(event, itemCtx);
65
+ }
66
+ trackPageView(pageView) {
67
+ const self = this;
68
+ if (self.analyticsPlugin) {
69
+ const location = getLocation();
70
+ if (self.propertiesPlugin && self.propertiesPlugin.context && self.propertiesPlugin.context.telemetryTrace) {
71
+ self.propertiesPlugin.context.telemetryTrace.traceID = Util.generateW3CId();
72
+ self.propertiesPlugin.context.telemetryTrace.name = location && location.pathname || '_unknown_';
73
+ }
74
+ self.analyticsPlugin.trackPageView(pageView);
75
+ }
76
+ else {
77
+ self.diagLog().throwInternal(
78
+ // eslint-disable-next-line max-len
79
+ LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, 'Analytics plugin is not available, Angular plugin telemetry will not be sent: ');
80
+ }
81
+ }
82
+ }
83
+ AngularPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularPlugin, deps: null, target: i0.ɵɵFactoryTarget.Component });
84
+ AngularPlugin.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AngularPlugin, selector: "lib-applicationinsights-angularplugin-js", usesInheritance: true, ngImport: i0, template: ``, isInline: true });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularPlugin, decorators: [{
86
+ type: Component,
87
+ args: [{
88
+ selector: 'lib-applicationinsights-angularplugin-js',
89
+ template: ``,
90
+ styles: []
91
+ }]
92
+ }] });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWpzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy9zcmMvbGliL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ3dDLDBCQUEwQixFQUFFLElBQUksRUFDOUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBRWUsbUJBQW1CLEVBQUUsVUFBVSxFQUN2QixrQkFBa0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUM3RSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFvQmpILGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sYUFBYyxTQUFRLG1CQUFtQjtJQU50RDs7UUFPVyxhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2YsZUFBVSxHQUFHLGVBQWUsQ0FBQztLQTRFdkM7SUF2RUcsVUFBVSxDQUFDLE1BQWdDLEVBQUUsSUFBc0IsRUFBRSxVQUFxQixFQUFFLFdBQW1DO1FBQzNILEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUEwQixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFB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QUMsT0FBTyxFQUFFLENBQUMsYUFBYTtZQUN4QixtQ0FBbUM7WUFDbkMsZUFBZSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQywwQkFBMEIsRUFBRSxnRkFBZ0YsQ0FBQyxDQUFDO1NBQ2xLO0lBQ0wsQ0FBQzs7MEdBN0VRLGFBQWE7OEZBQWIsYUFBYSx1R0FKWixFQUFFOzJGQUlILGFBQWE7a0JBTnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsUUFBUSxFQUFFLEVBQUU7b0JBQ1osTUFBTSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIElDb25maWcsIElQYWdlVmlld1RlbGVtZXRyeSwgSUFwcEluc2lnaHRzLCBQcm9wZXJ0aWVzUGx1Z2luSWRlbnRpZmllciwgVXRpbFxyXG59IGZyb20gJ0BtaWNyb3NvZnQvYXBwbGljYXRpb25pbnNpZ2h0cy1jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gICAgSVBsdWdpbiwgSUNvbmZpZ3VyYXRpb24sIElBcHBJbnNpZ2h0c0NvcmUsXHJcbiAgICBJVGVsZW1ldHJ5UGx1Z2luLCBCYXNlVGVsZW1ldHJ5UGx1Z2luLCBhcnJGb3JFYWNoLCBJVGVsZW1ldHJ5SXRlbSwgSVRlbGVtZXRyeVBsdWdpbkNoYWluLFxyXG4gICAgSVByb2Nlc3NUZWxlbWV0cnlDb250ZXh0LCBfSW50ZXJuYWxNZXNzYWdlSWQsIExvZ2dpbmdTZXZlcml0eSwgZ2V0TG9jYXRpb25cclxufSBmcm9tICdAbWljcm9zb2Z0L2FwcGxpY2F0aW9uaW5zaWdodHMtY29yZS1qcyc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbi8vIEZvciB0eXBlcyBvbmx5XHJcbmltcG9ydCAqIGFzIHByb3BlcnRpZXMgZnJvbSAnQG1pY3Jvc29mdC9hcHBsaWNhdGlvbmluc2lnaHRzLXByb3BlcnRpZXMtanMnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWVycm9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9JRXJyb3JTZXJ2aWNlJztcclxuXHJcbmludGVyZmFjZSBJQW5ndWxhckV4dGVuc2lvbkNvbmZpZyB7XHJcbiAgICAvKipcclxuICAgICAqIEFuZ3VsYXIgcm91dGVyIGZvciBlbmFibGluZyBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBQYWdlVmlldyB0cmFja2luZy5cclxuICAgICAqL1xyXG4gICAgcm91dGVyPzogUm91dGVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3VzdG9tIGVycm9yIHNlcnZpY2UgZm9yIGdsb2JhbCBlcnJvciBoYW5kbGluZy5cclxuICAgICAqL1xyXG4gICAgZXJyb3JTZXJ2aWNlcz86IElFcnJvclNlcnZpY2VbXTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1hcHBsaWNhdGlvbmluc2lnaHRzLWFuZ3VsYXJwbHVnaW4tanMnLFxyXG4gICAgdGVtcGxhdGU6IGBgLFxyXG4gICAgc3R5bGVzOiBbXVxyXG59KVxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1jbGFzcy1zdWZmaXhcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJQbHVnaW4gZXh0ZW5kcyBCYXNlVGVsZW1ldHJ5UGx1Z2luIHtcclxuICAgIHB1YmxpYyBwcmlvcml0eSA9IDE4NjtcclxuICAgIHB1YmxpYyBpZGVudGlmaWVyID0gJ0FuZ3VsYXJQbHVnaW4nO1xyXG5cclxuICAgIHByaXZhdGUgYW5hbHl0aWNzUGx1Z2luOiBJQXBwSW5zaWdodHM7XHJcbiAgICBwcml2YXRlIHByb3BlcnRpZXNQbHVnaW46IHByb3BlcnRpZXMuUHJvcGVydGllc1BsdWdpbjtcclxuXHJcbiAgICBpbml0aWFsaXplKGNvbmZpZzogSUNvbmZpZ3VyYXRpb24gJiBJQ29uZmlnLCBjb3JlOiBJQXBwSW5zaWdodHNDb3JlLCBleHRlbnNpb25zOiBJUGx1Z2luW10sIHBsdWdpbkNoYWluPzogSVRlbGVtZXRyeVBsdWdpbkNoYWluKSB7XHJcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZShjb25maWcsIGNvcmUsIGV4dGVuc2lvbnMsIHBsdWdpbkNoYWluKTtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICBjb25zdCBjdHggPSBzZWxmLl9nZXRUZWxDdHgoKTtcclxuICAgICAgICBjb25zdCBleHRDb25maWcgPSBjdHguZ2V0RXh0Q2ZnPElBbmd1bGFyRXh0ZW5zaW9uQ29uZmlnPihzZWxmLmlkZW50aWZpZXIsIHsgcm91dGVyOiBudWxsLCBlcnJvclNlcnZpY2VzOiBudWxsIH0pO1xyXG4gICAgICAgIGFyckZvckVhY2goZXh0ZW5zaW9ucywgZXh0ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaWRlbnRpZmllciA9IChleHQgYXMgSVRlbGVtZXRyeVBsdWdpbikuaWRlbnRpZmllcjtcclxuICAgICAgICAgICAgaWYgKGlkZW50aWZpZXIgPT09ICdBcHBsaWNhdGlvbkluc2lnaHRzQW5hbHl0aWNzJykge1xyXG4gICAgICAgICAgICAgICAgc2VsZi5hbmFseXRpY3NQbHVnaW4gPSAoZXh0IGFzIGFueSkgYXMgSUFwcEluc2lnaHRzO1xyXG4gICAgICAgICAgICAgICAgaWYgKEFwcGxpY2F0aW9uaW5zaWdodHNBbmd1bGFycGx1Z2luRXJyb3JTZXJ2aWNlLmluc3RhbmNlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQXBwbGljYXRpb25pbnNpZ2h0c0FuZ3VsYXJwbHVnaW5FcnJvclNlcnZpY2UuaW5zdGFuY2UucGx1Z2luID0gc2VsZi5hbmFseXRpY3NQbHVnaW47XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4dENvbmZpZy5lcnJvclNlcnZpY2VzICYmIEFycmF5LmlzQXJyYXkoZXh0Q29uZmlnLmVycm9yU2VydmljZXMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyckZvckVhY2goZXh0Q29uZmlnLmVycm9yU2VydmljZXMsIChlcnJvclNlcnZpY2U6IElFcnJvclNlcnZpY2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcGxpY2F0aW9uaW5zaWdodHNBbmd1bGFycGx1Z2luRXJyb3JTZXJ2aWNlLmluc3RhbmNlLmFkZEVycm9ySGFuZGxlcihlcnJvclNlcnZpY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGlkZW50aWZpZXIgPT09IFByb3BlcnRpZXNQbHVnaW5JZGVudGlmaWVyKSB7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnByb3BlcnRpZXNQbHVnaW4gPSAoZXh0IGFzIGFueSkgYXMgcHJvcGVydGllcy5Qcm9wZXJ0aWVzUGx1Z2luO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChleHRDb25maWcucm91dGVyKSB7XHJcbiAgICAgICAgICAgIGxldCBpc1BhZ2VJbml0aWFsTG9hZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VWaWV3VGVsZW1ldHJ5OiBJUGFnZVZpZXdUZWxlbWV0cnkgPSB7XHJcbiAgICAgICAgICAgICAgICB1cmk6IGV4dENvbmZpZy5yb3V0ZXIudXJsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHNlbGYudHJhY2tQYWdlVmlldyhwYWdlVmlld1RlbGVtZXRyeSk7XHJcbiAgICAgICAgICAgIGV4dENvbmZpZy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZm9yIHBhZ2UgaW5pdGlhbCBsb2FkLCBkbyBub3QgY2FsbCB0cmFja1BhZ2VWaWV3IHR3aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzUGFnZUluaXRpYWxMb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUGFnZUluaXRpYWxMb2FkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHZ0OiBJUGFnZVZpZXdUZWxlbWV0cnkgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVyaTogZXh0Q29uZmlnLnJvdXRlci51cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHsgZHVyYXRpb246IDAgfSAvLyBTUEEgcm91dGUgY2hhbmdlIGxvYWRpbmcgZHVyYXRpb25zIGFyZSB1bmRlZmluZWQsIHNvIHNlbmQgMFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi50cmFja1BhZ2VWaWV3KHB2dCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCBQYXJ0IEEgZmllbGRzIHRvIHRoZSBldmVudFxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBldmVudCBUaGUgZXZlbnQgdGhhdCBuZWVkcyB0byBiZSBwcm9jZXNzZWRcclxuICAgICAqL1xyXG4gICAgcHJvY2Vzc1RlbGVtZXRyeShldmVudDogSVRlbGVtZXRyeUl0ZW0sIGl0ZW1DdHg/OiBJUHJvY2Vzc1RlbGVtZXRyeUNvbnRleHQpIHtcclxuICAgICAgICB0aGlzLnByb2Nlc3NOZXh0KGV2ZW50LCBpdGVtQ3R4KTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja1BhZ2VWaWV3KHBhZ2VWaWV3OiBJUGFnZVZpZXdUZWxlbWV0cnkpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuXHJcbiAgICAgICAgaWYgKHNlbGYuYW5hbHl0aWNzUGx1Z2luKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uID0gZ2V0TG9jYXRpb24oKTtcclxuICAgICAgICAgICAgaWYgKHNlbGYucHJvcGVydGllc1BsdWdpbiAmJiBzZWxmLnByb3BlcnRpZXNQbHVnaW4uY29udGV4dCAmJiBzZWxmLnByb3BlcnRpZXNQbHVnaW4uY29udGV4dC50ZWxlbWV0cnlUcmFjZSkge1xyXG4gICAgICAgICAgICAgICAgc2VsZi5wcm9wZXJ0aWVzUGx1Z2luLmNvbnRleHQudGVsZW1ldHJ5VHJhY2UudHJhY2VJRCA9IFV0aWwuZ2VuZXJhdGVXM0NJZCgpO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5wcm9wZXJ0aWVzUGx1Z2luLmNvbnRleHQudGVsZW1ldHJ5VHJhY2UubmFtZSA9IGxvY2F0aW9uICYmIGxvY2F0aW9uLnBhdGhuYW1lIHx8ICdfdW5rbm93bl8nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNlbGYuYW5hbHl0aWNzUGx1Z2luLnRyYWNrUGFnZVZpZXcocGFnZVZpZXcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNlbGYuZGlhZ0xvZygpLnRocm93SW50ZXJuYWwoXHJcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG4gICAgICAgICAgICAgICAgTG9nZ2luZ1NldmVyaXR5LkNSSVRJQ0FMLCBfSW50ZXJuYWxNZXNzYWdlSWQuVGVsZW1ldHJ5SW5pdGlhbGl6ZXJGYWlsZWQsICdBbmFseXRpY3MgcGx1Z2luIGlzIG5vdCBhdmFpbGFibGUsIEFuZ3VsYXIgcGx1Z2luIHRlbGVtZXRyeSB3aWxsIG5vdCBiZSBzZW50OiAnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AngularPlugin } from './applicationinsights-angularplugin-js.component';
3
+ import { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';
4
+ import * as i0 from "@angular/core";
5
+ export class ApplicationinsightsAngularpluginJsModule {
6
+ }
7
+ ApplicationinsightsAngularpluginJsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ ApplicationinsightsAngularpluginJsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, declarations: [AngularPlugin], exports: [AngularPlugin] });
9
+ ApplicationinsightsAngularpluginJsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, providers: [
10
+ ApplicationinsightsAngularpluginErrorService
11
+ ], imports: [[]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [AngularPlugin],
16
+ imports: [],
17
+ exports: [AngularPlugin],
18
+ providers: [
19
+ ApplicationinsightsAngularpluginErrorService
20
+ ]
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWpzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy9zcmMvbGliL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDakYsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBV2pILE1BQU0sT0FBTyx3Q0FBd0M7O3FJQUF4Qyx3Q0FBd0M7c0lBQXhDLHdDQUF3QyxpQkFScEMsYUFBYSxhQUdsQixhQUFhO3NJQUtaLHdDQUF3QyxhQUp4QztRQUNULDRDQUE0QztLQUM3QyxZQUxRLEVBQ1I7MkZBTVUsd0NBQXdDO2tCQVRwRCxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLEVBQ1I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1QsNENBQTRDO3FCQUM3QztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFuZ3VsYXJQbHVnaW4gfSBmcm9tICcuL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWVycm9yLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBbmd1bGFyUGx1Z2luXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgXSxcclxuICBleHBvcnRzOiBbQW5ndWxhclBsdWdpbl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uaW5zaWdodHNBbmd1bGFycGx1Z2luSnNNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -4,4 +4,5 @@
4
4
  export * from './lib/applicationinsights-angularplugin-js.component';
5
5
  export * from './lib/applicationinsights-angularplugin-js.module';
6
6
  export * from './lib/applicationinsights-angularplugin-error.service';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHVEQUF1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qc1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHBsaWNhdGlvbmluc2lnaHRzLWFuZ3VsYXJwbHVnaW4tanMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWVycm9yLnNlcnZpY2UnO1xyXG4iXX0=
7
+ export * from './lib/IErrorService';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWpzXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWpzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHBsaWNhdGlvbmluc2lnaHRzLWFuZ3VsYXJwbHVnaW4tZXJyb3Iuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL0lFcnJvclNlcnZpY2UnO1xyXG4iXX0=
@@ -0,0 +1,158 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, Component, NgModule } from '@angular/core';
3
+ import { PropertiesPluginIdentifier, Util } from '@microsoft/applicationinsights-common';
4
+ import { arrForEach, BaseTelemetryPlugin, getLocation, LoggingSeverity, _InternalMessageId } from '@microsoft/applicationinsights-core-js';
5
+ import { NavigationEnd } from '@angular/router';
6
+
7
+ class ApplicationinsightsAngularpluginErrorService {
8
+ constructor() {
9
+ this.errorServices = [];
10
+ if (ApplicationinsightsAngularpluginErrorService.instance === null) {
11
+ ApplicationinsightsAngularpluginErrorService.instance = this;
12
+ }
13
+ }
14
+ set plugin(analyticsPlugin) {
15
+ this.analyticsPlugin = analyticsPlugin;
16
+ }
17
+ addErrorHandler(errorService) {
18
+ this.errorServices.push(errorService);
19
+ }
20
+ handleError(error) {
21
+ if (this.analyticsPlugin) {
22
+ this.analyticsPlugin.trackException({ exception: error });
23
+ }
24
+ if (this.errorServices && this.errorServices.length > 0) {
25
+ arrForEach(this.errorServices, errorService => {
26
+ if (errorService.handleError && typeof errorService.handleError === 'function') {
27
+ errorService.handleError(error);
28
+ }
29
+ });
30
+ }
31
+ }
32
+ }
33
+ ApplicationinsightsAngularpluginErrorService.instance = null;
34
+ ApplicationinsightsAngularpluginErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ ApplicationinsightsAngularpluginErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, decorators: [{
37
+ type: Injectable,
38
+ args: [{
39
+ providedIn: 'root'
40
+ }]
41
+ }], ctorParameters: function () { return []; } });
42
+
43
+ // eslint-disable-next-line @angular-eslint/component-class-suffix
44
+ class AngularPlugin extends BaseTelemetryPlugin {
45
+ constructor() {
46
+ super(...arguments);
47
+ this.priority = 186;
48
+ this.identifier = 'AngularPlugin';
49
+ }
50
+ initialize(config, core, extensions, pluginChain) {
51
+ super.initialize(config, core, extensions, pluginChain);
52
+ const self = this;
53
+ const ctx = self._getTelCtx();
54
+ const extConfig = ctx.getExtCfg(self.identifier, { router: null, errorServices: null });
55
+ arrForEach(extensions, ext => {
56
+ const identifier = ext.identifier;
57
+ if (identifier === 'ApplicationInsightsAnalytics') {
58
+ self.analyticsPlugin = ext;
59
+ if (ApplicationinsightsAngularpluginErrorService.instance !== null) {
60
+ ApplicationinsightsAngularpluginErrorService.instance.plugin = self.analyticsPlugin;
61
+ if (extConfig.errorServices && Array.isArray(extConfig.errorServices)) {
62
+ arrForEach(extConfig.errorServices, (errorService) => {
63
+ ApplicationinsightsAngularpluginErrorService.instance.addErrorHandler(errorService);
64
+ });
65
+ }
66
+ }
67
+ }
68
+ if (identifier === PropertiesPluginIdentifier) {
69
+ self.propertiesPlugin = ext;
70
+ }
71
+ });
72
+ if (extConfig.router) {
73
+ let isPageInitialLoad = true;
74
+ const pageViewTelemetry = {
75
+ uri: extConfig.router.url
76
+ };
77
+ self.trackPageView(pageViewTelemetry);
78
+ extConfig.router.events.subscribe(event => {
79
+ if (event instanceof NavigationEnd) {
80
+ // for page initial load, do not call trackPageView twice
81
+ if (isPageInitialLoad) {
82
+ isPageInitialLoad = false;
83
+ return;
84
+ }
85
+ const pvt = {
86
+ uri: extConfig.router.url,
87
+ properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0
88
+ };
89
+ self.trackPageView(pvt);
90
+ }
91
+ });
92
+ }
93
+ }
94
+ /**
95
+ * Add Part A fields to the event
96
+ *
97
+ * @param event The event that needs to be processed
98
+ */
99
+ processTelemetry(event, itemCtx) {
100
+ this.processNext(event, itemCtx);
101
+ }
102
+ trackPageView(pageView) {
103
+ const self = this;
104
+ if (self.analyticsPlugin) {
105
+ const location = getLocation();
106
+ if (self.propertiesPlugin && self.propertiesPlugin.context && self.propertiesPlugin.context.telemetryTrace) {
107
+ self.propertiesPlugin.context.telemetryTrace.traceID = Util.generateW3CId();
108
+ self.propertiesPlugin.context.telemetryTrace.name = location && location.pathname || '_unknown_';
109
+ }
110
+ self.analyticsPlugin.trackPageView(pageView);
111
+ }
112
+ else {
113
+ self.diagLog().throwInternal(
114
+ // eslint-disable-next-line max-len
115
+ LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, 'Analytics plugin is not available, Angular plugin telemetry will not be sent: ');
116
+ }
117
+ }
118
+ }
119
+ AngularPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularPlugin, deps: null, target: i0.ɵɵFactoryTarget.Component });
120
+ AngularPlugin.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AngularPlugin, selector: "lib-applicationinsights-angularplugin-js", usesInheritance: true, ngImport: i0, template: ``, isInline: true });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularPlugin, decorators: [{
122
+ type: Component,
123
+ args: [{
124
+ selector: 'lib-applicationinsights-angularplugin-js',
125
+ template: ``,
126
+ styles: []
127
+ }]
128
+ }] });
129
+
130
+ class ApplicationinsightsAngularpluginJsModule {
131
+ }
132
+ ApplicationinsightsAngularpluginJsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
133
+ ApplicationinsightsAngularpluginJsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, declarations: [AngularPlugin], exports: [AngularPlugin] });
134
+ ApplicationinsightsAngularpluginJsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, providers: [
135
+ ApplicationinsightsAngularpluginErrorService
136
+ ], imports: [[]] });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, decorators: [{
138
+ type: NgModule,
139
+ args: [{
140
+ declarations: [AngularPlugin],
141
+ imports: [],
142
+ exports: [AngularPlugin],
143
+ providers: [
144
+ ApplicationinsightsAngularpluginErrorService
145
+ ]
146
+ }]
147
+ }] });
148
+
149
+ /*
150
+ * Public API Surface of applicationinsights-angularplugin-js
151
+ */
152
+
153
+ /**
154
+ * Generated bundle index. Do not edit.
155
+ */
156
+
157
+ export { AngularPlugin, ApplicationinsightsAngularpluginErrorService, ApplicationinsightsAngularpluginJsModule };
158
+ //# sourceMappingURL=microsoft-applicationinsights-angularplugin-js.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-applicationinsights-angularplugin-js.mjs","sources":["../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-error.service.ts","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-js.component.ts","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-js.module.ts","../../../projects/applicationinsights-angularplugin-js/src/public-api.ts","../../../projects/applicationinsights-angularplugin-js/src/microsoft-applicationinsights-angularplugin-js.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { IAppInsights } from '@microsoft/applicationinsights-common';\r\nimport { arrForEach } from '@microsoft/applicationinsights-core-js';\r\nimport { IErrorService } from './IErrorService';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationinsightsAngularpluginErrorService implements IErrorService {\r\n public static instance: ApplicationinsightsAngularpluginErrorService = null;\r\n private analyticsPlugin: IAppInsights;\r\n private errorServices: IErrorService[] = [];\r\n\r\n constructor() {\r\n if (ApplicationinsightsAngularpluginErrorService.instance === null) {\r\n ApplicationinsightsAngularpluginErrorService.instance = this;\r\n }\r\n }\r\n\r\n public set plugin(analyticsPlugin: IAppInsights) {\r\n this.analyticsPlugin = analyticsPlugin;\r\n }\r\n\r\n public addErrorHandler(errorService: IErrorService): void {\r\n this.errorServices.push(errorService);\r\n }\r\n\r\n handleError(error: any): void {\r\n if (this.analyticsPlugin) {\r\n this.analyticsPlugin.trackException({ exception: error });\r\n }\r\n\r\n if (this.errorServices && this.errorServices.length > 0) {\r\n arrForEach(this.errorServices, errorService => {\r\n if (errorService.handleError && typeof errorService.handleError === 'function') {\r\n errorService.handleError(error);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\nimport {\r\n IConfig, IPageViewTelemetry, IAppInsights, PropertiesPluginIdentifier, Util\r\n} from '@microsoft/applicationinsights-common';\r\nimport {\r\n IPlugin, IConfiguration, IAppInsightsCore,\r\n ITelemetryPlugin, BaseTelemetryPlugin, arrForEach, ITelemetryItem, ITelemetryPluginChain,\r\n IProcessTelemetryContext, _InternalMessageId, LoggingSeverity, getLocation\r\n} from '@microsoft/applicationinsights-core-js';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// For types only\r\nimport * as properties from '@microsoft/applicationinsights-properties-js';\r\nimport { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';\r\nimport { IErrorService } from './IErrorService';\r\n\r\ninterface IAngularExtensionConfig {\r\n /**\r\n * Angular router for enabling Application Insights PageView tracking.\r\n */\r\n router?: Router;\r\n\r\n /**\r\n * Custom error service for global error handling.\r\n */\r\n errorServices?: IErrorService[];\r\n}\r\n\r\n@Component({\r\n selector: 'lib-applicationinsights-angularplugin-js',\r\n template: ``,\r\n styles: []\r\n})\r\n// eslint-disable-next-line @angular-eslint/component-class-suffix\r\nexport class AngularPlugin extends BaseTelemetryPlugin {\r\n public priority = 186;\r\n public identifier = 'AngularPlugin';\r\n\r\n private analyticsPlugin: IAppInsights;\r\n private propertiesPlugin: properties.PropertiesPlugin;\r\n\r\n initialize(config: IConfiguration & IConfig, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain) {\r\n super.initialize(config, core, extensions, pluginChain);\r\n const self = this;\r\n const ctx = self._getTelCtx();\r\n const extConfig = ctx.getExtCfg<IAngularExtensionConfig>(self.identifier, { router: null, errorServices: null });\r\n arrForEach(extensions, ext => {\r\n const identifier = (ext as ITelemetryPlugin).identifier;\r\n if (identifier === 'ApplicationInsightsAnalytics') {\r\n self.analyticsPlugin = (ext as any) as IAppInsights;\r\n if (ApplicationinsightsAngularpluginErrorService.instance !== null) {\r\n ApplicationinsightsAngularpluginErrorService.instance.plugin = self.analyticsPlugin;\r\n if (extConfig.errorServices && Array.isArray(extConfig.errorServices)) {\r\n arrForEach(extConfig.errorServices, (errorService: IErrorService) => {\r\n ApplicationinsightsAngularpluginErrorService.instance.addErrorHandler(errorService);\r\n });\r\n }\r\n }\r\n }\r\n if (identifier === PropertiesPluginIdentifier) {\r\n self.propertiesPlugin = (ext as any) as properties.PropertiesPlugin;\r\n }\r\n });\r\n\r\n if (extConfig.router) {\r\n let isPageInitialLoad = true;\r\n const pageViewTelemetry: IPageViewTelemetry = {\r\n uri: extConfig.router.url\r\n };\r\n self.trackPageView(pageViewTelemetry);\r\n extConfig.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n // for page initial load, do not call trackPageView twice\r\n if (isPageInitialLoad) {\r\n isPageInitialLoad = false;\r\n return;\r\n }\r\n const pvt: IPageViewTelemetry = {\r\n uri: extConfig.router.url,\r\n properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0\r\n };\r\n self.trackPageView(pvt);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Add Part A fields to the event\r\n *\r\n * @param event The event that needs to be processed\r\n */\r\n processTelemetry(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext) {\r\n this.processNext(event, itemCtx);\r\n }\r\n\r\n trackPageView(pageView: IPageViewTelemetry) {\r\n const self = this;\r\n\r\n if (self.analyticsPlugin) {\r\n const location = getLocation();\r\n if (self.propertiesPlugin && self.propertiesPlugin.context && self.propertiesPlugin.context.telemetryTrace) {\r\n self.propertiesPlugin.context.telemetryTrace.traceID = Util.generateW3CId();\r\n self.propertiesPlugin.context.telemetryTrace.name = location && location.pathname || '_unknown_';\r\n }\r\n self.analyticsPlugin.trackPageView(pageView);\r\n } else {\r\n self.diagLog().throwInternal(\r\n // eslint-disable-next-line max-len\r\n LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, 'Analytics plugin is not available, Angular plugin telemetry will not be sent: ');\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AngularPlugin } from './applicationinsights-angularplugin-js.component';\r\nimport { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';\r\n\r\n@NgModule({\r\n declarations: [AngularPlugin],\r\n imports: [\r\n ],\r\n exports: [AngularPlugin],\r\n providers: [\r\n ApplicationinsightsAngularpluginErrorService\r\n ]\r\n})\r\nexport class ApplicationinsightsAngularpluginJsModule { }\r\n","/*\r\n * Public API Surface of applicationinsights-angularplugin-js\r\n */\r\n\r\nexport * from './lib/applicationinsights-angularplugin-js.component';\r\nexport * from './lib/applicationinsights-angularplugin-js.module';\r\nexport * from './lib/applicationinsights-angularplugin-error.service';\r\nexport * from './lib/IErrorService';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}