@dereekb/dbx-analytics 11.1.8 → 12.0.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.
- package/esm2022/lib/action/analytics.action.directive.mjs +6 -5
- package/esm2022/lib/action/analytics.module.mjs +19 -0
- package/esm2022/lib/action/index.mjs +2 -2
- package/esm2022/lib/analytics/analytics.providers.mjs +23 -0
- package/esm2022/lib/analytics/analytics.service.mjs +6 -6
- package/esm2022/lib/analytics/index.mjs +2 -2
- package/esm2022/lib/providers/segment/index.mjs +2 -2
- package/esm2022/lib/providers/segment/segment.listener.service.mjs +5 -5
- package/esm2022/lib/providers/segment/segment.providers.mjs +29 -0
- package/esm2022/lib/providers/segment/segment.service.mjs +7 -10
- package/fesm2022/dereekb-dbx-analytics.mjs +74 -69
- package/fesm2022/dereekb-dbx-analytics.mjs.map +1 -1
- package/lib/action/analytics.action.directive.d.ts +1 -1
- package/lib/action/{analytics.action.module.d.ts → analytics.module.d.ts} +4 -1
- package/lib/action/index.d.ts +1 -1
- package/lib/analytics/analytics.providers.d.ts +16 -0
- package/lib/analytics/analytics.service.d.ts +5 -5
- package/lib/analytics/index.d.ts +1 -1
- package/lib/providers/segment/index.d.ts +1 -1
- package/lib/providers/segment/segment.listener.service.d.ts +1 -2
- package/lib/providers/segment/segment.providers.d.ts +17 -0
- package/lib/providers/segment/segment.service.d.ts +0 -1
- package/package.json +2 -2
- package/esm2022/lib/action/analytics.action.module.mjs +0 -16
- package/esm2022/lib/analytics/analytics.module.mjs +0 -23
- package/esm2022/lib/providers/segment/segment.module.mjs +0 -27
- package/lib/analytics/analytics.module.d.ts +0 -14
- package/lib/providers/segment/segment.module.d.ts +0 -8
|
@@ -49,16 +49,17 @@ export class DbxActionAnalyticsDirective extends AbstractSubscriptionDirective {
|
|
|
49
49
|
this._config.complete();
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
53
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAnalyticsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxActionAnalyticsDirective, isStandalone: true, selector: "[dbxActionAnalytics]", inputs: { config: ["dbxActionAnalytics", "config"] }, usesInheritance: true, ngImport: i0 });
|
|
54
54
|
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAnalyticsDirective, decorators: [{
|
|
56
56
|
type: Directive,
|
|
57
57
|
args: [{
|
|
58
|
-
selector: '[dbxActionAnalytics]'
|
|
58
|
+
selector: '[dbxActionAnalytics]',
|
|
59
|
+
standalone: true
|
|
59
60
|
}]
|
|
60
61
|
}], propDecorators: { config: [{
|
|
61
62
|
type: Input,
|
|
62
63
|
args: ['dbxActionAnalytics']
|
|
63
64
|
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmFjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYWN0aW9uL2FuYWx5dGljcy5hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBYXJFOztHQUVHO0FBS0gsTUFBTSxPQUFPLDJCQUFrQyxTQUFRLDZCQUE2QjtJQUN6RSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsbUNBQXlDLENBQUEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXZDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBd0MsU0FBUyxDQUFDLENBQUM7SUFDeEYsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBFLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQTZDO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNwQixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3pELE1BQU0sVUFBVSxHQUEwQixFQUFFLENBQUM7WUFFN0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RixDQUFDO1lBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkcsQ0FBQztZQUVELElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlILENBQUM7WUFFRCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLFVBQVUsQ0FBQyxJQUFJLENBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQixXQUFXLEVBQUUsRUFDYixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FDdEQsQ0FDRixDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0QixPQUFPLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1lBQzlCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVRLFdBQVc7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBMURVLDJCQUEyQjs0RkFBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFTSyxNQUFNO3NCQURULEtBQUs7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyTWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwLCBzaGFyZVJlcGxheSwgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlLCBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IERieEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi9hbmFseXRpY3MvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF5YmUsIFJlYWRhYmxlRXJyb3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBEYnhBY3Rpb25BbmFseXRpY3NEaXJlY3RpdmUgY29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QWN0aW9uQW5hbHl0aWNzQ29uZmlnPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4ge1xuICBvblRyaWdnZXJlZD86IChzZXJ2aWNlOiBEYnhBbmFseXRpY3NTZXJ2aWNlKSA9PiB2b2lkO1xuICBvblJlYWR5PzogKHNlcnZpY2U6IERieEFuYWx5dGljc1NlcnZpY2UsIHZhbHVlOiBUKSA9PiB2b2lkO1xuICBvblN1Y2Nlc3M/OiAoc2VydmljZTogRGJ4QW5hbHl0aWNzU2VydmljZSwgcmVzdWx0OiBNYXliZTxPPiwgdmFsdWU6IFQpID0+IHZvaWQ7XG4gIG9uRXJyb3I/OiAoc2VydmljZTogRGJ4QW5hbHl0aWNzU2VydmljZSwgZXJyb3I6IE1heWJlPFJlYWRhYmxlRXJyb3I+KSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIFVzZWQgdG8gbGlzdGVuIHRvIGFuIEFjdGlvbkNvbnRleHQgYW5kIHNlbmQgYW5hbHl0aWNhbCBldmVudHMgYmFzZWQgb24gYWN0aW9uIGV2ZW50cy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvbkFuYWx5dGljc10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkFuYWx5dGljc0RpcmVjdGl2ZTxULCBPPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBzb3VyY2UgPSBpbmplY3QoRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgTz4sIHsgaG9zdDogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgYW5hbHl0aWNzU2VydmljZSA9IGluamVjdChEYnhBbmFseXRpY3NTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieEFjdGlvbkFuYWx5dGljc0NvbmZpZzxULCBPPj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0aGlzLl9jb25maWcucGlwZShmaWx0ZXJNYXliZSgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgQElucHV0KCdkYnhBY3Rpb25BbmFseXRpY3MnKVxuICBnZXQgY29uZmlnKCk6IE1heWJlPERieEFjdGlvbkFuYWx5dGljc0NvbmZpZzxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcudmFsdWU7XG4gIH1cblxuICBzZXQgY29uZmlnKGNvbmZpZzogTWF5YmU8RGJ4QWN0aW9uQW5hbHl0aWNzQ29uZmlnPFQsIE8+Pikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IHRoaXMuY29uZmlnJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoeyBvblRyaWdnZXJlZCwgb25SZWFkeSwgb25TdWNjZXNzLCBvbkVycm9yIH0pID0+IHtcbiAgICAgICAgICBjb25zdCB0cmlnZ2VyT2JzOiBPYnNlcnZhYmxlPHVua25vd24+W10gPSBbXTtcblxuICAgICAgICAgIGlmIChvblRyaWdnZXJlZCkge1xuICAgICAgICAgICAgdHJpZ2dlck9icy5wdXNoKHRoaXMuc291cmNlLnRyaWdnZXJlZCQucGlwZSh0YXAoKCkgPT4gb25UcmlnZ2VyZWQodGhpcy5hbmFseXRpY3NTZXJ2aWNlKSkpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAob25SZWFkeSkge1xuICAgICAgICAgICAgdHJpZ2dlck9icy5wdXNoKHRoaXMuc291cmNlLnZhbHVlUmVhZHkkLnBpcGUodGFwKCh2YWx1ZSkgPT4gb25SZWFkeSh0aGlzLmFuYWx5dGljc1NlcnZpY2UsIHZhbHVlKSkpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAob25TdWNjZXNzKSB7XG4gICAgICAgICAgICB0cmlnZ2VyT2JzLnB1c2godGhpcy5zb3VyY2Uuc3VjY2Vzc1BhaXIkLnBpcGUodGFwKCh7IHJlc3VsdCwgdmFsdWUgfSkgPT4gb25TdWNjZXNzKHRoaXMuYW5hbHl0aWNzU2VydmljZSwgcmVzdWx0LCB2YWx1ZSkpKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgICAgICAgIHRyaWdnZXJPYnMucHVzaChcbiAgICAgICAgICAgICAgdGhpcy5zb3VyY2UuZXJyb3IkLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyTWF5YmUoKSxcbiAgICAgICAgICAgICAgICB0YXAoKGVycm9yKSA9PiBvbkVycm9yKHRoaXMuYW5hbHl0aWNzU2VydmljZSwgZXJyb3IpKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0cmlnZ2VyT2JzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnRyaWdnZXJPYnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZS5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgdGhpcy5fY29uZmlnLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DbxActionAnalyticsDirective } from './analytics.action.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated The exported DbxActionAnalyticsDirective is now a standalone component. Import that instead.
|
|
6
|
+
*/
|
|
7
|
+
export class DbxAnalyticsActionModule {
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsActionModule, imports: [DbxActionAnalyticsDirective], exports: [DbxActionAnalyticsDirective] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsActionModule });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsActionModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [DbxActionAnalyticsDirective],
|
|
16
|
+
exports: [DbxActionAnalyticsDirective]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1hbmFseXRpY3Mvc3JjL2xpYi9hY3Rpb24vYW5hbHl0aWNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUUzRTs7R0FFRztBQUtILE1BQU0sT0FBTyx3QkFBd0I7d0dBQXhCLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLFlBSHpCLDJCQUEyQixhQUMzQiwyQkFBMkI7eUdBRTFCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFKcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEFjdGlvbkFuYWx5dGljc0RpcmVjdGl2ZSB9IGZyb20gJy4vYW5hbHl0aWNzLmFjdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoZSBleHBvcnRlZCBEYnhBY3Rpb25BbmFseXRpY3NEaXJlY3RpdmUgaXMgbm93IGEgc3RhbmRhbG9uZSBjb21wb25lbnQuIEltcG9ydCB0aGF0IGluc3RlYWQuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEYnhBY3Rpb25BbmFseXRpY3NEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbRGJ4QWN0aW9uQW5hbHl0aWNzRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBbmFseXRpY3NBY3Rpb25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './analytics.action.module';
|
|
2
1
|
export * from './analytics.action.directive';
|
|
3
|
-
|
|
2
|
+
export * from './analytics.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzLmFjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hbmFseXRpY3MubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Injector, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { DbxAnalyticsServiceConfiguration, DbxAnalyticsService } from './analytics.service';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a EnvironmentProviders that provides a DbxAnalyticsService.
|
|
5
|
+
*
|
|
6
|
+
* @param config Configuration
|
|
7
|
+
* @returns EnvironmentProviders
|
|
8
|
+
*/
|
|
9
|
+
export function provideDbxAnalyticsService(config) {
|
|
10
|
+
const { dbxAnalyticsServiceConfigurationFactory } = config;
|
|
11
|
+
const providers = [
|
|
12
|
+
// configuration
|
|
13
|
+
{
|
|
14
|
+
provide: DbxAnalyticsServiceConfiguration,
|
|
15
|
+
useFactory: dbxAnalyticsServiceConfigurationFactory,
|
|
16
|
+
deps: [Injector]
|
|
17
|
+
},
|
|
18
|
+
// service
|
|
19
|
+
DbxAnalyticsService
|
|
20
|
+
];
|
|
21
|
+
return makeEnvironmentProviders(providers);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1hbmFseXRpY3Mvc3JjL2xpYi9hbmFseXRpY3MvYW5hbHl0aWNzLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLFFBQVEsRUFBWSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVc1Rjs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxNQUFpQztJQUMxRSxNQUFNLEVBQUUsdUNBQXVDLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFM0QsTUFBTSxTQUFTLEdBQWU7UUFDNUIsZ0JBQWdCO1FBQ2hCO1lBQ0UsT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxVQUFVLEVBQUUsdUNBQXVDO1lBQ25ELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztTQUNqQjtRQUNELFVBQVU7UUFDVixtQkFBbUI7S0FDcEIsQ0FBQztJQUVGLE9BQU8sd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBJbmplY3RvciwgUHJvdmlkZXIsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4QW5hbHl0aWNzU2VydmljZUNvbmZpZ3VyYXRpb24sIERieEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgRGJ4QW5hbHl0aWNzU2VydmljZUNvbmZpZ3VyYXRpb25GYWN0b3J5ID0gKGluamVjdG9yOiBJbmplY3RvcikgPT4gRGJ4QW5hbHl0aWNzU2VydmljZUNvbmZpZ3VyYXRpb247XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgcHJvdmlkZURieEFuYWx5dGljc1NlcnZpY2UoKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVEYnhBbmFseXRpY3NDb25maWcge1xuICByZWFkb25seSBkYnhBbmFseXRpY3NTZXJ2aWNlQ29uZmlndXJhdGlvbkZhY3Rvcnk6IERieEFuYWx5dGljc1NlcnZpY2VDb25maWd1cmF0aW9uRmFjdG9yeTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgRW52aXJvbm1lbnRQcm92aWRlcnMgdGhhdCBwcm92aWRlcyBhIERieEFuYWx5dGljc1NlcnZpY2UuXG4gKlxuICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uXG4gKiBAcmV0dXJucyBFbnZpcm9ubWVudFByb3ZpZGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEFuYWx5dGljc1NlcnZpY2UoY29uZmlnOiBQcm92aWRlRGJ4QW5hbHl0aWNzQ29uZmlnKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICBjb25zdCB7IGRieEFuYWx5dGljc1NlcnZpY2VDb25maWd1cmF0aW9uRmFjdG9yeSB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgICAvLyBjb25maWd1cmF0aW9uXG4gICAge1xuICAgICAgcHJvdmlkZTogRGJ4QW5hbHl0aWNzU2VydmljZUNvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VGYWN0b3J5OiBkYnhBbmFseXRpY3NTZXJ2aWNlQ29uZmlndXJhdGlvbkZhY3RvcnksXG4gICAgICBkZXBzOiBbSW5qZWN0b3JdXG4gICAgfSxcbiAgICAvLyBzZXJ2aWNlXG4gICAgRGJ4QW5hbHl0aWNzU2VydmljZVxuICBdO1xuXG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMocHJvdmlkZXJzKTtcbn1cbiJdfQ==
|
|
@@ -191,15 +191,15 @@ export class DbxAnalyticsService {
|
|
|
191
191
|
this._userIdEventSub.destroy();
|
|
192
192
|
this._loggerSub.destroy();
|
|
193
193
|
}
|
|
194
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
195
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsService, deps: [{ token: DbxAnalyticsUserSource, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
195
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsService });
|
|
196
196
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsService, decorators: [{
|
|
198
198
|
type: Injectable
|
|
199
|
-
}], ctorParameters:
|
|
199
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
200
200
|
type: Optional
|
|
201
201
|
}, {
|
|
202
202
|
type: Inject,
|
|
203
203
|
args: [DbxAnalyticsUserSource]
|
|
204
|
-
}] }]
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYW5hbHl0aWNzL2FuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBZ0IsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkksT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBMkIsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRixPQUFPLEVBQXNCLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV4RSxNQUFNLE9BQWdCLCtCQUErQjtDQVFwRDtBQUVELE1BQU0sT0FBZ0IsOEJBQThCO0NBRW5EO0FBRUQsTUFBTSxPQUFnQixzQkFBc0I7Q0FFM0M7QUFFRCxNQUFNLE9BQWdCLDJCQUEyQjtDQUVoRDtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixtQ0FBbUM7SUFDL0MsSUFBSSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixVQUFVLEdBQUcsSUFBSSxlQUFlLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBRXpFLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDOUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUs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QUFFLDJCQUEyQixDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDN0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsMkJBQTJCLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBN0xVLG1CQUFtQixrQkF1QkUsc0JBQXNCOzRHQXZCM0MsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOzswQkF3QkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBCZWhhdmlvclN1YmplY3QsIG9mLCBTdWJzY3JpcHRpb24sIGZpcnN0LCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIGZpbHRlck1heWJlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhBbmFseXRpY3NFdmVudCwgRGJ4QW5hbHl0aWNzRXZlbnREYXRhLCBEYnhBbmFseXRpY3NFdmVudE5hbWUsIERieEFuYWx5dGljc1VzZXIsIE5ld1VzZXJBbmFseXRpY3NFdmVudERhdGEsIERieFVzZXJBbmFseXRpY3NFdmVudCB9IGZyb20gJy4vYW5hbHl0aWNzJztcbmltcG9ydCB7IERieEFuYWx5dGljc1N0cmVhbUV2ZW50LCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUgfSBmcm9tICcuL2FuYWx5dGljcy5zdHJlYW0nO1xuaW1wb3J0IHsgTWF5YmUsIERlc3Ryb3lhYmxlLCBzYWZlQ29tcGFyZUVxdWFsaXR5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhBbmFseXRpY3NFdmVudEVtaXR0ZXJTZXJ2aWNlIHtcbiAgYWJzdHJhY3Qgc2VuZE5ld1VzZXJFdmVudCh1c2VyOiBEYnhBbmFseXRpY3NVc2VyLCBkYXRhOiBOZXdVc2VyQW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZFVzZXJMb2dpbkV2ZW50KHVzZXI6IERieEFuYWx5dGljc1VzZXIsIGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkO1xuICBhYnN0cmFjdCBzZW5kVXNlckxvZ291dEV2ZW50KGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkO1xuICBhYnN0cmFjdCBzZW5kVXNlclByb3BlcnRpZXNFdmVudCh1c2VyOiBEYnhBbmFseXRpY3NVc2VyLCBkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZEV2ZW50RGF0YShuYW1lOiBEYnhBbmFseXRpY3NFdmVudE5hbWUsIGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkO1xuICBhYnN0cmFjdCBzZW5kRXZlbnQoZXZlbnQ6IERieEFuYWx5dGljc0V2ZW50KTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZFBhZ2VWaWV3KHBhZ2U/OiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4QW5hbHl0aWNzRXZlbnRTdHJlYW1TZXJ2aWNlIHtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgZXZlbnRzJDogT2JzZXJ2YWJsZTxEYnhBbmFseXRpY3NTdHJlYW1FdmVudD47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhBbmFseXRpY3NVc2VyU291cmNlIHtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYW5hbHl0aWNzVXNlciQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4QW5hbHl0aWNzVXNlcj4+O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4QW5hbHl0aWNzU2VydmljZUxpc3RlbmVyIHtcbiAgcHVibGljIGFic3RyYWN0IGxpc3RlblRvU2VydmljZShzZXJ2aWNlOiBEYnhBbmFseXRpY3NTZXJ2aWNlKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIgaW1wbGVtZW50YXRpb24uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciBpbXBsZW1lbnRzIERieEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciwgRGVzdHJveWFibGUge1xuICBwcml2YXRlIF9zdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByb3RlY3RlZCBfYW5hbHl0aWNzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhBbmFseXRpY3NTZXJ2aWNlPj4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBhbmFseXRpY3MkID0gdGhpcy5fYW5hbHl0aWNzLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBhbmFseXRpY3NFdmVudHMkID0gdGhpcy5hbmFseXRpY3MkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB4LmV2ZW50cyQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLy8gTUFSSzogQW5hbHl0aWNzU2VydmljZUxpc3RlbmVyXG4gIGxpc3RlblRvU2VydmljZShzZXJ2aWNlOiBEYnhBbmFseXRpY3NTZXJ2aWNlKTogdm9pZCB7XG4gICAgdGhpcy5fYW5hbHl0aWNzLm5leHQoc2VydmljZSk7XG4gICAgY29uc3Qgc3ViID0gdGhpcy5faW5pdGlhbGl6ZVNlcnZpY2VTdWJzY3JpcHRpb24oKTtcblxuICAgIGlmIChzdWIgIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLl9zdWIuc3Vic2NyaXB0aW9uID0gc3ViO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfaW5pdGlhbGl6ZVNlcnZpY2VTdWJzY3JpcHRpb24oKTogU3Vic2NyaXB0aW9uIHwgZmFsc2U7XG5cbiAgLy8gTUFSSzogRGVzdHJveVxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FuYWx5dGljcy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3N1Yi5kZXN0cm95KCk7XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEFuYWx5dGljc1NlcnZpY2VDb25maWd1cmF0aW9uIHtcbiAgbGlzdGVuZXJzOiBEYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXJbXSA9IFtdO1xuICBpc1Byb2R1Y3Rpb24/OiBib29sZWFuO1xuICBsb2dFdmVudHM/OiBib29sZWFuO1xuICB1c2VyU291cmNlPzogRGJ4QW5hbHl0aWNzVXNlclNvdXJjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudEFuYWx5dGljc0V2ZW50V3JhcHBlciBleHRlbmRzIERieEFuYWx5dGljc1N0cmVhbUV2ZW50IHtcbiAgcmVhZG9ubHkgZXZlbnQ6IERieFVzZXJBbmFseXRpY3NFdmVudDtcbiAgcmVhZG9ubHkgdHlwZTogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlO1xuICByZWFkb25seSB1c2VyOiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPjtcbiAgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYnhBbmFseXRpY3NTdHJlYW1FdmVudEFuYWx5dGljc0V2ZW50V3JhcHBlcihldmVudDogRGJ4VXNlckFuYWx5dGljc0V2ZW50LCB0eXBlOiBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUgPSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuRXZlbnQpIHtcbiAgY29uc3QgeyB1c2VyIH0gPSBldmVudDtcbiAgY29uc3QgdXNlcklkID0gdXNlciA/IHVzZXIudXNlciA6IHVuZGVmaW5lZDtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50LFxuICAgIHR5cGUsXG4gICAgdXNlcixcbiAgICB1c2VySWRcbiAgfTtcbn1cblxuLyoqXG4gKiBQcmltYXJ5IGFuYWx5dGljcyBzZXJ2aWNlIHRoYXQgZW1pdHMgYW5hbHl0aWNzIGV2ZW50cyB0aGF0IGNvbXBvbmVudHMgY2FuIGxpc3RlbiB0by5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1NlcnZpY2UgaW1wbGVtZW50cyBEYnhBbmFseXRpY3NFdmVudFN0cmVhbVNlcnZpY2UsIERieEFuYWx5dGljc0V2ZW50RW1pdHRlclNlcnZpY2UsIERlc3Ryb3lhYmxlIHtcbiAgcHJpdmF0ZSBfY29uZmlnID0gaW5qZWN0KERieEFuYWx5dGljc1NlcnZpY2VDb25maWd1cmF0aW9uKTtcblxuICAvLyBUT0RPOiBNYWtlIHRoZXNlIGNvbmZpZ3VyYWJsZS5cbiAgc3RhdGljIHJlYWRvbmx5IFVTRVJfUkVHSVNUUkFUSU9OX0VWRU5UX05BTUUgPSAnVXNlciBSZWdpc3RlcmVkJztcbiAgc3RhdGljIHJlYWRvbmx5IFVTRVJfTE9HSU5fRVZFTlRfTkFNRSA9ICdVc2VyIExvZ2luJztcbiAgc3RhdGljIHJlYWRvbmx5IFVTRVJfTE9HT1VUX0VWRU5UX05BTUUgPSAnVXNlciBMb2dvdXQnO1xuICBzdGF0aWMgcmVhZG9ubHkgVVNFUl9QUk9QRVJUSUVTX0VWRU5UX05BTUUgPSAnVXNlciBQcm9wZXJ0aWVzJztcblxuICBwcml2YXRlIF9zdWJqZWN0ID0gbmV3IFN1YmplY3Q8RGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnQ+KCk7XG4gIHJlYWRvbmx5IGV2ZW50cyQgPSB0aGlzLl9zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgX3VzZXJTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieEFuYWx5dGljc1VzZXJTb3VyY2U+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHVzZXIkID0gdGhpcy5fdXNlclNvdXJjZS5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4gKHggPyB4LmFuYWx5dGljc1VzZXIkIDogb2YodW5kZWZpbmVkKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcHJpdmF0ZSBfdXNlclNvdXJjZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfdXNlcklkRXZlbnRTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2xvZ2dlclN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERieEFuYWx5dGljc1VzZXJTb3VyY2UpIHVzZXJTb3VyY2U/OiBNYXliZTxEYnhBbmFseXRpY3NVc2VyU291cmNlPikge1xuICAgIHRoaXMuX2luaXQoKTtcblxuICAgIHVzZXJTb3VyY2UgPSB1c2VyU291cmNlIHx8IHRoaXMuX2NvbmZpZy51c2VyU291cmNlO1xuICAgIGlmICh1c2VyU291cmNlKSB7XG4gICAgICB0aGlzLnNldFVzZXJTb3VyY2UodXNlclNvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTUFSSzogU291cmNlXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB1c2VyIGRpcmVjdGx5LCBvdmVycmlkZGluZyB0aGUgVXNlclNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBzZXRVc2VyKHVzZXI6IE1heWJlPERieEFuYWx5dGljc1VzZXI+KTogdm9pZCB7XG4gICAgbGV0IHNvdXJjZTogTWF5YmU8RGJ4QW5hbHl0aWNzVXNlclNvdXJjZT47XG5cbiAgICBpZiAodXNlcikge1xuICAgICAgc291cmNlID0geyBhbmFseXRpY3NVc2VyJDogb2YodXNlcikgfTtcbiAgICB9XG5cbiAgICB0aGlzLl91c2VyU291cmNlLm5leHQoc291cmNlKTtcblxuICAgIGlmICh0aGlzLl91c2VyU291cmNlLnZhbHVlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0RieEFuYWx5dGljc1NlcnZpY2UgaGFzIGEgdXNlclNvdXJjZSB0aGF0IGlzIHNldC4gU291cmNlIGlzIG5vdyBvdmVycmlkZGVuIGJ5IHNldFVzZXIoKSB2YWx1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXNlclNvdXJjZShzb3VyY2U6IERieEFuYWx5dGljc1VzZXJTb3VyY2UpOiB2b2lkIHtcbiAgICB0aGlzLl91c2VyU291cmNlLm5leHQoc291cmNlKTtcbiAgfVxuXG4gIC8vIE1BUks6IEFuYWx5dGljc0V2ZW50RW1pdHRlclNlcnZpY2VcbiAgLyoqXG4gICAqIFNlbmRzIGFuIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIHNlbmROZXdVc2VyRXZlbnQodXNlcjogRGJ4QW5hbHl0aWNzVXNlciwgZGF0YTogTmV3VXNlckFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudChcbiAgICAgIHtcbiAgICAgICAgbmFtZTogRGJ4QW5hbHl0aWNzU2VydmljZS5VU0VSX1JFR0lTVFJBVElPTl9FVkVOVF9OQU1FLFxuICAgICAgICBkYXRhXG4gICAgICB9LFxuICAgICAgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLk5ld1VzZXJFdmVudCxcbiAgICAgIHVzZXJcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbmRVc2VyTG9naW5FdmVudCh1c2VyOiBEYnhBbmFseXRpY3NVc2VyLCBkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTmV4dEV2ZW50KFxuICAgICAge1xuICAgICAgICBuYW1lOiBEYnhBbmFseXRpY3NTZXJ2aWNlLlVTRVJfTE9HSU5fRVZFTlRfTkFNRSxcbiAgICAgICAgZGF0YVxuICAgICAgfSxcbiAgICAgIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5Vc2VyTG9naW5FdmVudCxcbiAgICAgIHVzZXJcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbmRVc2VyTG9nb3V0RXZlbnQoZGF0YT86IERieEFuYWx5dGljc0V2ZW50RGF0YSwgY2xlYXJVc2VyID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudChcbiAgICAgIHtcbiAgICAgICAgbmFtZTogRGJ4QW5hbHl0aWNzU2VydmljZS5VU0VSX0xPR09VVF9FVkVOVF9OQU1FLFxuICAgICAgICBkYXRhXG4gICAgICB9LFxuICAgICAgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJMb2dvdXRFdmVudFxuICAgICk7XG5cbiAgICBpZiAoY2xlYXJVc2VyKSB7XG4gICAgICB0aGlzLnNldFVzZXIodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VuZFVzZXJQcm9wZXJ0aWVzRXZlbnQodXNlcjogRGJ4QW5hbHl0aWNzVXNlciwgZGF0YT86IERieEFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudChcbiAgICAgIHtcbiAgICAgICAgbmFtZTogRGJ4QW5hbHl0aWNzU2VydmljZS5VU0VSX1BST1BFUlRJRVNfRVZFTlRfTkFNRSxcbiAgICAgICAgZGF0YVxuICAgICAgfSxcbiAgICAgIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5Vc2VyUHJvcGVydGllc0V2ZW50LFxuICAgICAgdXNlclxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEV2ZW50RGF0YShuYW1lOiBEYnhBbmFseXRpY3NFdmVudE5hbWUsIGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zZW5kRXZlbnQoe1xuICAgICAgbmFtZSxcbiAgICAgIGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kRXZlbnRUeXBlKGV2ZW50VHlwZTogRGJ4QW5hbHl0aWNzRXZlbnROYW1lKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTmV4dEV2ZW50KFxuICAgICAge1xuICAgICAgICBuYW1lOiBldmVudFR5cGVcbiAgICAgIH0sXG4gICAgICBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuRXZlbnRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbmRFdmVudChldmVudDogRGJ4QW5hbHl0aWNzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoZXZlbnQsIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5FdmVudCk7XG4gIH1cblxuICBwdWJsaWMgc2VuZFBhZ2VWaWV3KHBhZ2U/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHBhZ2VcbiAgICAgIH0sXG4gICAgICBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuUGFnZVZpZXdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIHRoZSBuZXh0IGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIHR5cGVcbiAgICogQHBhcmFtIHVzZXJPdmVycmlkZSBVc2VzIHRoaXMgdXNlciBpZiBzZXQgYXMgbnVsbCBvciBhbiBvdmVycmlkZSB2YWx1ZS4gSWYgdW5kZWZpbmVkIHRoZSBjdXJyZW50IGFuYWx5dGljcyB1c2VyIGlzIHVzZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2VuZE5leHRFdmVudChldmVudDogRGJ4QW5hbHl0aWNzRXZlbnQgPSB7fSwgdHlwZTogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLCB1c2VyT3ZlcnJpZGU/OiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPik6IHZvaWQge1xuICAgIHRoaXMudXNlciQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGFuYWx5dGljc1VzZXIpID0+IHtcbiAgICAgIGNvbnN0IHVzZXI6IE1heWJlPERieEFuYWx5dGljc1VzZXI+ID0gdXNlck92ZXJyaWRlICE9PSB1bmRlZmluZWQgPyB1c2VyT3ZlcnJpZGUgOiBhbmFseXRpY3NVc2VyO1xuICAgICAgY29uc3QgYW5hbHl0aWNzRXZlbnQ6IERieFVzZXJBbmFseXRpY3NFdmVudCA9IHsgLi4uZXZlbnQsIHVzZXIgfTtcbiAgICAgIHRoaXMubmV4dEV2ZW50KGFuYWx5dGljc0V2ZW50LCB0eXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0RXZlbnQoZXZlbnQ6IERieFVzZXJBbmFseXRpY3NFdmVudCwgdHlwZTogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlKTogdm9pZCB7XG4gICAgY29uc3Qgd3JhcHBlciA9IGRieEFuYWx5dGljc1N0cmVhbUV2ZW50QW5hbHl0aWNzRXZlbnRXcmFwcGVyKGV2ZW50LCB0eXBlKTtcbiAgICB0aGlzLl9zdWJqZWN0Lm5leHQod3JhcHBlcik7XG4gIH1cblxuICAvLyBNQVJLOiBJbnRlcm5hbFxuICBwcml2YXRlIF9pbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb25maWcuaXNQcm9kdWN0aW9uKSB7XG4gICAgICAvLyBJbml0aWFsaXplIGxpc3RlbmVycy5cbiAgICAgIHRoaXMuX2NvbmZpZy5saXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgbGlzdGVuZXIubGlzdGVuVG9TZXJ2aWNlKHRoaXMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignQW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzIG5vdCBpbiBwcm9kdWN0aW9uIG1vZGUuIEFsbCBhbmFseXRpY3MgZXZlbnRzIGFyZSBpZ25vcmVkLicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb25maWcubG9nRXZlbnRzIHx8ICF0aGlzLl9jb25maWcuaXNQcm9kdWN0aW9uKSB7XG4gICAgICBjb25zb2xlLmxvZygnQW5hbHl0aWNzU2VydmljZTogTG9nIGFuYWx5dGljcyBldmVudHMgZW5hYmxlZC4nKTtcblxuICAgICAgLy8gQ3JlYXRlIGEgbmV3IHN1YnNjcmlwdGlvblxuICAgICAgdGhpcy5fbG9nZ2VyU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuX3N1YmplY3Quc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBBbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3MgRXZlbnQgLSAke0RieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZVt4LnR5cGVdfSB8IFVzZXI6ICR7eC51c2VySWR9IHwgRGF0YTogJHtKU09OLnN0cmluZ2lmeSh4LmV2ZW50KX0uYCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl91c2VyU291cmNlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMudXNlciQuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICB0aGlzLnNlbmROZXh0RXZlbnQoe30sIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5Vc2VyQ2hhbmdlLCB1c2VyID8/IG51bGwpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fdXNlcklkRXZlbnRTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy51c2VyJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBzYWZlQ29tcGFyZUVxdWFsaXR5KGEsIGIsICh4LCB5KSA9PiB4LnVzZXIgPT09IHkudXNlcikpKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgIHRoaXMuc2VuZE5leHRFdmVudCh7fSwgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJJZENoYW5nZSwgdXNlciA/PyBudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5fc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3VzZXJTb3VyY2UuY29tcGxldGUoKTtcbiAgICB0aGlzLl91c2VyU291cmNlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl91c2VySWRFdmVudFN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fbG9nZ2VyU3ViLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
|
|
204
|
+
}] }] });
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYW5hbHl0aWNzL2FuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBZ0IsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkksT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBMkIsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRixPQUFPLEVBQXNCLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV4RSxNQUFNLE9BQWdCLCtCQUErQjtDQVFwRDtBQUVELE1BQU0sT0FBZ0IsOEJBQThCO0NBRW5EO0FBRUQsTUFBTSxPQUFnQixzQkFBc0I7Q0FFM0M7QUFFRCxNQUFNLE9BQWdCLDJCQUEyQjtDQUVoRDtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixtQ0FBbUM7SUFDL0MsSUFBSSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixVQUFVLEdBQUcsSUFBSSxlQUFlLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBRXpFLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDOUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUs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ZSwgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0LCBvZiwgU3Vic2NyaXB0aW9uLCBmaXJzdCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0LCBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4QW5hbHl0aWNzRXZlbnQsIERieEFuYWx5dGljc0V2ZW50RGF0YSwgRGJ4QW5hbHl0aWNzRXZlbnROYW1lLCBEYnhBbmFseXRpY3NVc2VyLCBOZXdVc2VyQW5hbHl0aWNzRXZlbnREYXRhLCBEYnhVc2VyQW5hbHl0aWNzRXZlbnQgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCwgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlIH0gZnJvbSAnLi9hbmFseXRpY3Muc3RyZWFtJztcbmltcG9ydCB7IE1heWJlLCBEZXN0cm95YWJsZSwgc2FmZUNvbXBhcmVFcXVhbGl0eSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4QW5hbHl0aWNzRXZlbnRFbWl0dGVyU2VydmljZSB7XG4gIGFic3RyYWN0IHNlbmROZXdVc2VyRXZlbnQodXNlcjogRGJ4QW5hbHl0aWNzVXNlciwgZGF0YTogTmV3VXNlckFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRVc2VyTG9naW5FdmVudCh1c2VyOiBEYnhBbmFseXRpY3NVc2VyLCBkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZFVzZXJMb2dvdXRFdmVudChkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZFVzZXJQcm9wZXJ0aWVzRXZlbnQodXNlcjogRGJ4QW5hbHl0aWNzVXNlciwgZGF0YT86IERieEFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRFdmVudERhdGEobmFtZTogRGJ4QW5hbHl0aWNzRXZlbnROYW1lLCBkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZEV2ZW50KGV2ZW50OiBEYnhBbmFseXRpY3NFdmVudCk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRQYWdlVmlldyhwYWdlPzogc3RyaW5nKTogdm9pZDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEFuYWx5dGljc0V2ZW50U3RyZWFtU2VydmljZSB7XG4gIGFic3RyYWN0IHJlYWRvbmx5IGV2ZW50cyQ6IE9ic2VydmFibGU8RGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnQ+O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4QW5hbHl0aWNzVXNlclNvdXJjZSB7XG4gIGFic3RyYWN0IHJlYWRvbmx5IGFuYWx5dGljc1VzZXIkOiBPYnNlcnZhYmxlPE1heWJlPERieEFuYWx5dGljc1VzZXI+Pjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciB7XG4gIHB1YmxpYyBhYnN0cmFjdCBsaXN0ZW5Ub1NlcnZpY2Uoc2VydmljZTogRGJ4QW5hbHl0aWNzU2VydmljZSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQWJzdHJhY3QgQW5hbHl0aWNzU2VydmljZUxpc3RlbmVyIGltcGxlbWVudGF0aW9uLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIgaW1wbGVtZW50cyBEYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIsIERlc3Ryb3lhYmxlIHtcbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcm90ZWN0ZWQgX2FuYWx5dGljcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4QW5hbHl0aWNzU2VydmljZT4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgYW5hbHl0aWNzJCA9IHRoaXMuX2FuYWx5dGljcy5waXBlKGZpbHRlck1heWJlKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgYW5hbHl0aWNzRXZlbnRzJCA9IHRoaXMuYW5hbHl0aWNzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4geC5ldmVudHMkKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8vIE1BUks6IEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lclxuICBsaXN0ZW5Ub1NlcnZpY2Uoc2VydmljZTogRGJ4QW5hbHl0aWNzU2VydmljZSk6IHZvaWQge1xuICAgIHRoaXMuX2FuYWx5dGljcy5uZXh0KHNlcnZpY2UpO1xuICAgIGNvbnN0IHN1YiA9IHRoaXMuX2luaXRpYWxpemVTZXJ2aWNlU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBpZiAoc3ViICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5fc3ViLnN1YnNjcmlwdGlvbiA9IHN1YjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2luaXRpYWxpemVTZXJ2aWNlU3Vic2NyaXB0aW9uKCk6IFN1YnNjcmlwdGlvbiB8IGZhbHNlO1xuXG4gIC8vIE1BUks6IERlc3Ryb3lcbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbmFseXRpY3MuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zdWIuZGVzdHJveSgpO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhBbmFseXRpY3NTZXJ2aWNlQ29uZmlndXJhdGlvbiB7XG4gIHJlYWRvbmx5IGxpc3RlbmVyczogRGJ4QW5hbHl0aWNzU2VydmljZUxpc3RlbmVyW10gPSBbXTtcbiAgcmVhZG9ubHkgaXNQcm9kdWN0aW9uPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbG9nRXZlbnRzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdXNlclNvdXJjZT86IERieEFuYWx5dGljc1VzZXJTb3VyY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRBbmFseXRpY3NFdmVudFdyYXBwZXIgZXh0ZW5kcyBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCB7XG4gIHJlYWRvbmx5IGV2ZW50OiBEYnhVc2VyQW5hbHl0aWNzRXZlbnQ7XG4gIHJlYWRvbmx5IHR5cGU6IERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZTtcbiAgcmVhZG9ubHkgdXNlcjogTWF5YmU8RGJ4QW5hbHl0aWNzVXNlcj47XG4gIHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRBbmFseXRpY3NFdmVudFdyYXBwZXIoZXZlbnQ6IERieFVzZXJBbmFseXRpY3NFdmVudCwgdHlwZTogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlID0gRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLkV2ZW50KSB7XG4gIGNvbnN0IHsgdXNlciB9ID0gZXZlbnQ7XG4gIGNvbnN0IHVzZXJJZCA9IHVzZXIgPyB1c2VyLnVzZXIgOiB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudCxcbiAgICB0eXBlLFxuICAgIHVzZXIsXG4gICAgdXNlcklkXG4gIH07XG59XG5cbi8qKlxuICogUHJpbWFyeSBhbmFseXRpY3Mgc2VydmljZSB0aGF0IGVtaXRzIGFuYWx5dGljcyBldmVudHMgdGhhdCBjb21wb25lbnRzIGNhbiBsaXN0ZW4gdG8uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhBbmFseXRpY3NTZXJ2aWNlIGltcGxlbWVudHMgRGJ4QW5hbHl0aWNzRXZlbnRTdHJlYW1TZXJ2aWNlLCBEYnhBbmFseXRpY3NFdmVudEVtaXR0ZXJTZXJ2aWNlLCBEZXN0cm95YWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZyA9IGluamVjdChEYnhBbmFseXRpY3NTZXJ2aWNlQ29uZmlndXJhdGlvbik7XG5cbiAgLy8gVE9ETzogTWFrZSB0aGVzZSBjb25maWd1cmFibGUuXG4gIHN0YXRpYyByZWFkb25seSBVU0VSX1JFR0lTVFJBVElPTl9FVkVOVF9OQU1FID0gJ1VzZXIgUmVnaXN0ZXJlZCc7XG4gIHN0YXRpYyByZWFkb25seSBVU0VSX0xPR0lOX0VWRU5UX05BTUUgPSAnVXNlciBMb2dpbic7XG4gIHN0YXRpYyByZWFkb25seSBVU0VSX0xPR09VVF9FVkVOVF9OQU1FID0gJ1VzZXIgTG9nb3V0JztcbiAgc3RhdGljIHJlYWRvbmx5IFVTRVJfUFJPUEVSVElFU19FVkVOVF9OQU1FID0gJ1VzZXIgUHJvcGVydGllcyc7XG5cbiAgcHJpdmF0ZSBfc3ViamVjdCA9IG5ldyBTdWJqZWN0PERieEFuYWx5dGljc1N0cmVhbUV2ZW50PigpO1xuICByZWFkb25seSBldmVudHMkID0gdGhpcy5fc3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIF91c2VyU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhBbmFseXRpY3NVc2VyU291cmNlPj4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSB1c2VyJCA9IHRoaXMuX3VzZXJTb3VyY2UucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+ICh4ID8geC5hbmFseXRpY3NVc2VyJCA6IG9mKHVuZGVmaW5lZCkpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHByaXZhdGUgX3VzZXJTb3VyY2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX3VzZXJJZEV2ZW50U3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9sb2dnZXJTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChEYnhBbmFseXRpY3NVc2VyU291cmNlKSB1c2VyU291cmNlPzogTWF5YmU8RGJ4QW5hbHl0aWNzVXNlclNvdXJjZT4pIHtcbiAgICB0aGlzLl9pbml0KCk7XG5cbiAgICB1c2VyU291cmNlID0gdXNlclNvdXJjZSB8fCB0aGlzLl9jb25maWcudXNlclNvdXJjZTtcbiAgICBpZiAodXNlclNvdXJjZSkge1xuICAgICAgdGhpcy5zZXRVc2VyU291cmNlKHVzZXJTb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1BUks6IFNvdXJjZVxuICAvKipcbiAgICogU2V0cyB0aGUgdXNlciBkaXJlY3RseSwgb3ZlcnJpZGRpbmcgdGhlIFVzZXJTb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgc2V0VXNlcih1c2VyOiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPik6IHZvaWQge1xuICAgIGxldCBzb3VyY2U6IE1heWJlPERieEFuYWx5dGljc1VzZXJTb3VyY2U+O1xuXG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIHNvdXJjZSA9IHsgYW5hbHl0aWNzVXNlciQ6IG9mKHVzZXIpIH07XG4gICAgfVxuXG4gICAgdGhpcy5fdXNlclNvdXJjZS5uZXh0KHNvdXJjZSk7XG5cbiAgICBpZiAodGhpcy5fdXNlclNvdXJjZS52YWx1ZSkge1xuICAgICAgY29uc29sZS53YXJuKCdEYnhBbmFseXRpY3NTZXJ2aWNlIGhhcyBhIHVzZXJTb3VyY2UgdGhhdCBpcyBzZXQuIFNvdXJjZSBpcyBub3cgb3ZlcnJpZGRlbiBieSBzZXRVc2VyKCkgdmFsdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFVzZXJTb3VyY2Uoc291cmNlOiBEYnhBbmFseXRpY3NVc2VyU291cmNlKTogdm9pZCB7XG4gICAgdGhpcy5fdXNlclNvdXJjZS5uZXh0KHNvdXJjZSk7XG4gIH1cblxuICAvLyBNQVJLOiBBbmFseXRpY3NFdmVudEVtaXR0ZXJTZXJ2aWNlXG4gIC8qKlxuICAgKiBTZW5kcyBhbiBldmVudC5cbiAgICovXG4gIHB1YmxpYyBzZW5kTmV3VXNlckV2ZW50KHVzZXI6IERieEFuYWx5dGljc1VzZXIsIGRhdGE6IE5ld1VzZXJBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoXG4gICAgICB7XG4gICAgICAgIG5hbWU6IERieEFuYWx5dGljc1NlcnZpY2UuVVNFUl9SRUdJU1RSQVRJT05fRVZFTlRfTkFNRSxcbiAgICAgICAgZGF0YVxuICAgICAgfSxcbiAgICAgIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5OZXdVc2VyRXZlbnQsXG4gICAgICB1c2VyXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kVXNlckxvZ2luRXZlbnQodXNlcjogRGJ4QW5hbHl0aWNzVXNlciwgZGF0YT86IERieEFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudChcbiAgICAgIHtcbiAgICAgICAgbmFtZTogRGJ4QW5hbHl0aWNzU2VydmljZS5VU0VSX0xPR0lOX0VWRU5UX05BTUUsXG4gICAgICAgIGRhdGFcbiAgICAgIH0sXG4gICAgICBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlckxvZ2luRXZlbnQsXG4gICAgICB1c2VyXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kVXNlckxvZ291dEV2ZW50KGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEsIGNsZWFyVXNlciA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoXG4gICAgICB7XG4gICAgICAgIG5hbWU6IERieEFuYWx5dGljc1NlcnZpY2UuVVNFUl9MT0dPVVRfRVZFTlRfTkFNRSxcbiAgICAgICAgZGF0YVxuICAgICAgfSxcbiAgICAgIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5Vc2VyTG9nb3V0RXZlbnRcbiAgICApO1xuXG4gICAgaWYgKGNsZWFyVXNlcikge1xuICAgICAgdGhpcy5zZXRVc2VyKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbmRVc2VyUHJvcGVydGllc0V2ZW50KHVzZXI6IERieEFuYWx5dGljc1VzZXIsIGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoXG4gICAgICB7XG4gICAgICAgIG5hbWU6IERieEFuYWx5dGljc1NlcnZpY2UuVVNFUl9QUk9QRVJUSUVTX0VWRU5UX05BTUUsXG4gICAgICAgIGRhdGFcbiAgICAgIH0sXG4gICAgICBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlclByb3BlcnRpZXNFdmVudCxcbiAgICAgIHVzZXJcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbmRFdmVudERhdGEobmFtZTogRGJ4QW5hbHl0aWNzRXZlbnROYW1lLCBkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuc2VuZEV2ZW50KHtcbiAgICAgIG5hbWUsXG4gICAgICBkYXRhXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEV2ZW50VHlwZShldmVudFR5cGU6IERieEFuYWx5dGljc0V2ZW50TmFtZSk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudChcbiAgICAgIHtcbiAgICAgICAgbmFtZTogZXZlbnRUeXBlXG4gICAgICB9LFxuICAgICAgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLkV2ZW50XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kRXZlbnQoZXZlbnQ6IERieEFuYWx5dGljc0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTmV4dEV2ZW50KGV2ZW50LCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuRXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHNlbmRQYWdlVmlldyhwYWdlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTmV4dEV2ZW50KFxuICAgICAge1xuICAgICAgICBuYW1lOiBwYWdlXG4gICAgICB9LFxuICAgICAgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlBhZ2VWaWV3XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgbmV4dCBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50XG4gICAqIEBwYXJhbSB0eXBlXG4gICAqIEBwYXJhbSB1c2VyT3ZlcnJpZGUgVXNlcyB0aGlzIHVzZXIgaWYgc2V0IGFzIG51bGwgb3IgYW4gb3ZlcnJpZGUgdmFsdWUuIElmIHVuZGVmaW5lZCB0aGUgY3VycmVudCBhbmFseXRpY3MgdXNlciBpcyB1c2VkLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNlbmROZXh0RXZlbnQoZXZlbnQ6IERieEFuYWx5dGljc0V2ZW50ID0ge30sIHR5cGU6IERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZSwgdXNlck92ZXJyaWRlPzogTWF5YmU8RGJ4QW5hbHl0aWNzVXNlcj4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZXIkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChhbmFseXRpY3NVc2VyKSA9PiB7XG4gICAgICBjb25zdCB1c2VyOiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPiA9IHVzZXJPdmVycmlkZSAhPT0gdW5kZWZpbmVkID8gdXNlck92ZXJyaWRlIDogYW5hbHl0aWNzVXNlcjtcbiAgICAgIGNvbnN0IGFuYWx5dGljc0V2ZW50OiBEYnhVc2VyQW5hbHl0aWNzRXZlbnQgPSB7IC4uLmV2ZW50LCB1c2VyIH07XG4gICAgICB0aGlzLm5leHRFdmVudChhbmFseXRpY3NFdmVudCwgdHlwZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dEV2ZW50KGV2ZW50OiBEYnhVc2VyQW5hbHl0aWNzRXZlbnQsIHR5cGU6IERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZSk6IHZvaWQge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBkYnhBbmFseXRpY3NTdHJlYW1FdmVudEFuYWx5dGljc0V2ZW50V3JhcHBlcihldmVudCwgdHlwZSk7XG4gICAgdGhpcy5fc3ViamVjdC5uZXh0KHdyYXBwZXIpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgcHJpdmF0ZSBfaW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29uZmlnLmlzUHJvZHVjdGlvbikge1xuICAgICAgLy8gSW5pdGlhbGl6ZSBsaXN0ZW5lcnMuXG4gICAgICB0aGlzLl9jb25maWcubGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgIGxpc3RlbmVyLmxpc3RlblRvU2VydmljZSh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0FuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljcyBub3QgaW4gcHJvZHVjdGlvbiBtb2RlLiBBbGwgYW5hbHl0aWNzIGV2ZW50cyBhcmUgaWdub3JlZC4nKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLmxvZ0V2ZW50cyB8fCAhdGhpcy5fY29uZmlnLmlzUHJvZHVjdGlvbikge1xuICAgICAgY29uc29sZS5sb2coJ0FuYWx5dGljc1NlcnZpY2U6IExvZyBhbmFseXRpY3MgZXZlbnRzIGVuYWJsZWQuJyk7XG5cbiAgICAgIC8vIENyZWF0ZSBhIG5ldyBzdWJzY3JpcHRpb25cbiAgICAgIHRoaXMuX2xvZ2dlclN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl9zdWJqZWN0LnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhgQW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzIEV2ZW50IC0gJHtEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGVbeC50eXBlXX0gfCBVc2VyOiAke3gudXNlcklkfSB8IERhdGE6ICR7SlNPTi5zdHJpbmdpZnkoeC5ldmVudCl9LmApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdXNlclNvdXJjZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnVzZXIkLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgdGhpcy5zZW5kTmV4dEV2ZW50KHt9LCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlckNoYW5nZSwgdXNlciA/PyBudWxsKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3VzZXJJZEV2ZW50U3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMudXNlciQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gc2FmZUNvbXBhcmVFcXVhbGl0eShhLCBiLCAoeCwgeSkgPT4geC51c2VyID09PSB5LnVzZXIpKSkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICB0aGlzLnNlbmROZXh0RXZlbnQoe30sIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5Vc2VySWRDaGFuZ2UsIHVzZXIgPz8gbnVsbCk7XG4gICAgfSk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTtcbiAgICB0aGlzLl91c2VyU291cmNlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fdXNlclNvdXJjZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fdXNlcklkRXZlbnRTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2xvZ2dlclN1Yi5kZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './analytics.
|
|
1
|
+
export * from './analytics.providers';
|
|
2
2
|
export * from './analytics.service';
|
|
3
3
|
export * from './analytics.stream';
|
|
4
4
|
export * from './analytics';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYW5hbHl0aWNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbmFseXRpY3MucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hbmFseXRpY3Muc3RyZWFtJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzJztcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './segment.listener.service';
|
|
2
|
+
export * from './segment.providers';
|
|
2
3
|
export * from './segment.service';
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvcHJvdmlkZXJzL3NlZ21lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlZ21lbnQubGlzdGVuZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlZ21lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlZ21lbnQubW9kdWxlJztcbiJdfQ==
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvcHJvdmlkZXJzL3NlZ21lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlZ21lbnQubGlzdGVuZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlZ21lbnQucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VnbWVudC5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -87,13 +87,13 @@ export class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServ
|
|
|
87
87
|
api.reset();
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
91
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
90
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
91
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, providedIn: 'root' });
|
|
92
92
|
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, decorators: [{
|
|
94
94
|
type: Injectable,
|
|
95
95
|
args: [{
|
|
96
96
|
providedIn: 'root'
|
|
97
97
|
}]
|
|
98
|
-
}], ctorParameters:
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
}], ctorParameters: () => [] });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5saXN0ZW5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWFuYWx5dGljcy9zcmMvbGliL3Byb3ZpZGVycy9zZWdtZW50L3NlZ21lbnQubGlzdGVuZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBMkIsMkJBQTJCLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDOUksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLG1DQUFtQztJQUN4RSxXQUFXLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFckU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5RkFBeUYsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7SUFDSCxDQUFDO0lBRVMsOEJBQThCO1FBQ3RDLE9BQU8sYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQTBELEVBQUUsRUFBRTtZQUNy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QUNILElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzt3R0FwR1Usa0NBQWtDOzRHQUFsQyxrQ0FBa0MsY0FGakMsTUFBTTs7NEZBRVAsa0NBQWtDO2tCQUg5QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIsIERieEFuYWx5dGljc1N0cmVhbUV2ZW50LCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUsIERieEFuYWx5dGljc1VzZXIgfSBmcm9tICcuLi8uLi9hbmFseXRpY3MnO1xuaW1wb3J0IHsgRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UgfSBmcm9tICcuL3NlZ21lbnQuc2VydmljZSc7XG5cbi8qKlxuICogRGJ4QW5hbHl0aWNzU2VydmljZUxpc3RlbmVyIGFkYXB0ZXIgZm9yIFNlZ21lbnQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1NlZ21lbnRTZXJ2aWNlTGlzdGVuZXIgZXh0ZW5kcyBBYnN0cmFjdERieEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlZ21lbnRBcGkgPSBpbmplY3QoRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAodGhpcy5fc2VnbWVudEFwaS5jb25maWcubG9nZ2luZykge1xuICAgICAgY29uc29sZS5sb2coJ1NlZ21lbnRBbmFseXRpY3NMaXN0ZW5lclNlcnZpY2U6IFNlZ21lbnQgaXMgbG9nZ2luZyBldmVudHMuJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5hY3RpdmUpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50QW5hbHl0aWNzTGlzdGVuZXJTZXJ2aWNlOiBTZWdtZW50IGlzIGRpc2FibGVkIGZyb20gc2VuZGluZyBldmVudHMgdG8gdGhlIHNlcnZlci4nKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXRpYWxpemVTZXJ2aWNlU3Vic2NyaXB0aW9uKCkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLl9zZWdtZW50QXBpLnNlcnZpY2UkLCB0aGlzLmFuYWx5dGljc0V2ZW50cyRdKS5zdWJzY3JpYmUoKFtzZWdtZW50LCBzdHJlYW1FdmVudF06IFtTZWdtZW50QW5hbHl0aWNzLkFuYWx5dGljc0pTLCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudF0pID0+IHtcbiAgICAgIGlmICh0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5sb2dnaW5nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50IExpc3RlbmVyIExvZ2dpbmcgRXZlbnQ6ICcsIHN0cmVhbUV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3NlZ21lbnRBcGkuY29uZmlnLmFjdGl2ZSkge1xuICAgICAgICB0aGlzLmhhbmRsZVN0cmVhbUV2ZW50KHNlZ21lbnQsIHN0cmVhbUV2ZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTdHJlYW1FdmVudChhcGk6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMsIHN0cmVhbUV2ZW50OiBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCk6IHZvaWQge1xuICAgIHN3aXRjaCAoc3RyZWFtRXZlbnQudHlwZSkge1xuICAgICAgY2FzZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuTmV3VXNlckV2ZW50OlxuICAgICAgICB0aGlzLnVwZGF0ZVdpdGhOZXdVc2VyRXZlbnQoYXBpLCBzdHJlYW1FdmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlckxvZ2luRXZlbnQ6XG4gICAgICAgIHRoaXMuY2hhbmdlVXNlcihhcGksIHN0cmVhbUV2ZW50LnVzZXIpO1xuICAgICAgICB0aGlzLnVwZGF0ZVdpdGhFdmVudChhcGksIHN0cmVhbUV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5FdmVudDpcbiAgICAgICAgdGhpcy51cGRhdGVXaXRoRXZlbnQoYXBpLCBzdHJlYW1FdmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlckxvZ291dEV2ZW50OlxuICAgICAgICB0aGlzLmNoYW5nZVVzZXIoYXBpLCB1bmRlZmluZWQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlBhZ2VWaWV3OlxuICAgICAgICBhcGkucGFnZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJDaGFuZ2U6XG4gICAgICAgIHRoaXMuY2hhbmdlVXNlcihhcGksIHN0cmVhbUV2ZW50LnVzZXIpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlV2l0aE5ld1VzZXJFdmVudChhcGk6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMsIHN0cmVhbUV2ZW50OiBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlVXNlcihhcGksIHN0cmVhbUV2ZW50LnVzZXIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZVdpdGhFdmVudChhcGk6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMsIHN0cmVhbUV2ZW50OiBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCwgbmFtZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50ID0gc3RyZWFtRXZlbnQuZXZlbnQ7XG4gICAgY29uc3QgZXZlbnROYW1lID0gbmFtZSB8fCBldmVudD8ubmFtZTtcblxuICAgIGlmIChldmVudE5hbWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQ/LnZhbHVlO1xuICAgICAgY29uc3QgZGF0YSA9IGV2ZW50Py5kYXRhO1xuXG4gICAgICBhcGkudHJhY2soXG4gICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLih2YWx1ZSAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgLi4uZGF0YVxuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5sb2dnaW5nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnU2VnbWVudCB0cmFjayBzdWNjZXNzLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZVVzZXIoYXBpOiBTZWdtZW50QW5hbHl0aWNzLkFuYWx5dGljc0pTLCB1c2VyOiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPik6IHZvaWQge1xuICAgIGlmICh1c2VyPy51c2VyKSB7XG4gICAgICBhcGkuaWRlbnRpZnkoXG4gICAgICAgIHVzZXIudXNlcixcbiAgICAgICAge1xuICAgICAgICAgIC4uLnVzZXIucHJvcGVydGllc1xuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5sb2dnaW5nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnU2VnbWVudCBpZGVudGlmeSBzdWNjZXNzLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlc2V0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injector, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { DbxAnalyticsSegmentApiService, DbxAnalyticsSegmentApiServiceConfig, PRELOAD_SEGMENT_TOKEN } from './segment.service';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a EnvironmentProviders that provides a DbxAnalyticsSegmentApiService.
|
|
5
|
+
*
|
|
6
|
+
* @param config Configuration
|
|
7
|
+
* @returns EnvironmentProviders
|
|
8
|
+
*/
|
|
9
|
+
export function provideDbxAnalyticsSegmentApiService(config) {
|
|
10
|
+
const { preloadSegmentToken, dbxAnalyticsSegmentApiServiceConfigFactory } = config;
|
|
11
|
+
const providers = [
|
|
12
|
+
// configuration
|
|
13
|
+
{
|
|
14
|
+
provide: DbxAnalyticsSegmentApiServiceConfig,
|
|
15
|
+
useFactory: dbxAnalyticsSegmentApiServiceConfigFactory,
|
|
16
|
+
deps: [Injector]
|
|
17
|
+
},
|
|
18
|
+
// service
|
|
19
|
+
DbxAnalyticsSegmentApiService
|
|
20
|
+
];
|
|
21
|
+
if (preloadSegmentToken) {
|
|
22
|
+
providers.push({
|
|
23
|
+
provide: PRELOAD_SEGMENT_TOKEN,
|
|
24
|
+
useValue: preloadSegmentToken
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return makeEnvironmentProviders(providers);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvcHJvdmlkZXJzL3NlZ21lbnQvc2VnbWVudC5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixRQUFRLEVBQUUsd0JBQXdCLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLG1DQUFtQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZOUg7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsb0NBQW9DLENBQUMsTUFBOEM7SUFDakcsTUFBTSxFQUFFLG1CQUFtQixFQUFFLDBDQUEwQyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRW5GLE1BQU0sU0FBUyxHQUFlO1FBQzVCLGdCQUFnQjtRQUNoQjtZQUNFLE9BQU8sRUFBRSxtQ0FBbUM7WUFDNUMsVUFBVSxFQUFFLDBDQUEwQztZQUN0RCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7U0FDakI7UUFDRCxVQUFVO1FBQ1YsNkJBQTZCO0tBQzlCLENBQUM7SUFFRixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNiLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIEluamVjdG9yLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZSwgRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2VDb25maWcsIFBSRUxPQURfU0VHTUVOVF9UT0tFTiB9IGZyb20gJy4vc2VnbWVudC5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2VDb25maWdGYWN0b3J5ID0gKGluamVjdG9yOiBJbmplY3RvcikgPT4gRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2VDb25maWc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgcHJvdmlkZURieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlKClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlRGJ4QW5hbHl0aWNzU2VnbWVudE1vZHVsZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHByZWxvYWRTZWdtZW50VG9rZW4/OiBib29sZWFuO1xuICByZWFkb25seSBkYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZUNvbmZpZ0ZhY3Rvcnk6IERieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlQ29uZmlnRmFjdG9yeTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgRW52aXJvbm1lbnRQcm92aWRlcnMgdGhhdCBwcm92aWRlcyBhIERieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlLlxuICpcbiAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvblxuICogQHJldHVybnMgRW52aXJvbm1lbnRQcm92aWRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZShjb25maWc6IFByb3ZpZGVEYnhBbmFseXRpY3NTZWdtZW50TW9kdWxlQ29uZmlnKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICBjb25zdCB7IHByZWxvYWRTZWdtZW50VG9rZW4sIGRieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlQ29uZmlnRmFjdG9yeSB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgICAvLyBjb25maWd1cmF0aW9uXG4gICAge1xuICAgICAgcHJvdmlkZTogRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2VDb25maWcsXG4gICAgICB1c2VGYWN0b3J5OiBkYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZUNvbmZpZ0ZhY3RvcnksXG4gICAgICBkZXBzOiBbSW5qZWN0b3JdXG4gICAgfSxcbiAgICAvLyBzZXJ2aWNlXG4gICAgRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2VcbiAgXTtcblxuICBpZiAocHJlbG9hZFNlZ21lbnRUb2tlbikge1xuICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFBSRUxPQURfU0VHTUVOVF9UT0tFTixcbiAgICAgIHVzZVZhbHVlOiBwcmVsb2FkU2VnbWVudFRva2VuXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKHByb3ZpZGVycyk7XG59XG4iXX0=
|
|
@@ -50,18 +50,15 @@ export class DbxAnalyticsSegmentApiService extends AbstractAsyncWindowLoadedServ
|
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
54
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentApiService, deps: [{ token: PRELOAD_SEGMENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentApiService });
|
|
55
55
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
57
|
-
type: Injectable
|
|
58
|
-
|
|
59
|
-
providedIn: 'root'
|
|
60
|
-
}]
|
|
61
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentApiService, decorators: [{
|
|
57
|
+
type: Injectable
|
|
58
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
62
59
|
type: Optional
|
|
63
60
|
}, {
|
|
64
61
|
type: Inject,
|
|
65
62
|
args: [PRELOAD_SEGMENT_TOKEN]
|
|
66
|
-
}] }]
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
}] }] });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWFuYWx5dGljcy9zcmMvbGliL3Byb3ZpZGVycy9zZWdtZW50L3NlZ21lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQVMsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU1QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBUyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRXhHLE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUMsUUFBUSxDQUFTO0lBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2QsWUFBWSxRQUFnQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFPRDs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGdDQUE4RDtJQUM5RixPQUFPLEdBQUcsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFdkUsTUFBTSxDQUFVLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztJQUNyRCxNQUFNLENBQVUsaUJBQWlCLEdBQUcsY0FBYyxDQUFDO0lBRW5ELFlBQXVELE9BQXdCO1FBQzdFLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVrQiw4QkFBOEI7UUFDL0MsT0FBTyxJQUFJLENBQUM7WUFDVix3Q0FBd0M7WUFDeEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBRSxNQUFNLENBQUMsU0FBcUMsQ0FBQyxPQUFPLENBQUM7WUFDM0UsYUFBYSxFQUFFLEdBQUc7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVrQixZQUFZLENBQUMsT0FBcUM7UUFDbkUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMscUJBQXFCO2dCQUUxRCx3Q0FBd0M7Z0JBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO29CQUNqQixpR0FBaUc7b0JBQ2pHLE1BQU0sT0FBTyxHQUFpQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFDM0csT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBdENVLDZCQUE2QixrQkFNUixxQkFBcUI7NEdBTjFDLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVTs7MEJBT0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0LCBpbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEFzeW5jV2luZG93TG9hZGVkU2VydmljZSB9IGZyb20gJ0BkZXJlZWtiL2Jyb3dzZXInO1xuaW1wb3J0IHsgTWF5YmUsIHBvbGwgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGNvbnN0IFBSRUxPQURfU0VHTUVOVF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZVByZWxvYWQnKTtcblxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlQ29uZmlnIHtcbiAgd3JpdGVLZXk6IHN0cmluZztcbiAgbG9nZ2luZyA9IHRydWU7XG4gIGFjdGl2ZSA9IHRydWU7XG4gIGNvbnN0cnVjdG9yKHdyaXRlS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLndyaXRlS2V5ID0gd3JpdGVLZXk7XG4gIH1cbn1cblxuLyoqXG4gKiBXaGVuIHRoZSBTZWdtZW50IGxpYnJhcnkgZmluaXNoZXMgbG9hZGluZywgaXQgaXMgaW52b2tlZC5cbiAqL1xudHlwZSBTZWdtZW50QW5hbHl0aWNzSW52b2tlZCA9IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMgJiB7IGludm9rZWQ/OiBib29sZWFuIH07XG5cbi8qKlxuICogU2VnbWVudCBBUEkgU2VydmljZSB1c2VkIGZvciB3YWl0aW5nL3JldHJpZXZpbmcgdGhlIHNlZ21lbnQgQVBJIGZyb20gd2luZG93IHdoZW4gaW5pdGlhbGl6ZWQuXG4gKlxuICogVGhpcyByZXF1aXJlcyBzb21lIHNldHVwIGluIGluZGV4Lmh0bWwuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZSBleHRlbmRzIEFic3RyYWN0QXN5bmNXaW5kb3dMb2FkZWRTZXJ2aWNlPFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlM+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnID0gaW5qZWN0KERieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlQ29uZmlnKTtcblxuICBzdGF0aWMgcmVhZG9ubHkgU0VHTUVOVF9BUElfV0lORE9XX0tFWSA9ICdhbmFseXRpY3MnO1xuICBzdGF0aWMgcmVhZG9ubHkgU0VHTUVOVF9SRUFEWV9LRVkgPSAnU2VnbWVudFJlYWR5JztcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KFBSRUxPQURfU0VHTUVOVF9UT0tFTikgcHJlbG9hZD86IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgc3VwZXIoRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UuU0VHTUVOVF9BUElfV0lORE9XX0tFWSwgdW5kZWZpbmVkLCAnU2VnbWVudCcsIHByZWxvYWQpO1xuICB9XG5cbiAgZ2V0IGNvbmZpZygpOiBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZUNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfcHJlcGFyZUNvbXBsZXRlTG9hZGluZ1NlcnZpY2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHBvbGwoe1xuICAgICAgLy8gcG9sbCB1bnRpbCBhbmFseXRpY3MuaW52b2tlZCBpcyB0cnVlLlxuICAgICAgY2hlY2s6ICgpID0+IEJvb2xlYW4oKHdpbmRvdy5hbmFseXRpY3MgYXMgU2VnbWVudEFuYWx5dGljc0ludm9rZWQpLmludm9rZWQpLFxuICAgICAgdGltZXNUb0dpdmV1cDogMTAwXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2luaXRTZXJ2aWNlKHNlcnZpY2U6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMpOiBQcm9taXNlPFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2VydmljZS5sb2FkKHRoaXMuX2NvbmZpZy53cml0ZUtleSk7IC8vIEluaXRpYWxpemUgU2VnbWVudFxuXG4gICAgICAgIC8vIFdhaXQgZm9yIHRoZSBzZXJ2aWNlIHRvIHJlYWR5IGl0c2VsZi5cbiAgICAgICAgc2VydmljZS5yZWFkeSgoKSA9PiB7XG4gICAgICAgICAgLy8gU2VnbWVudCBjaGFuZ2VzIGl0c2VsZiBvciByYXRoZXIgdGhlIHRhcmdldCwgYW5kIHRoZSBwcmV2aW91cyBpbml0aWFsIHRhcmdldCBpcyBpZ25vcmVkIGFmdGVyLlxuICAgICAgICAgIGNvbnN0IHNlZ21lbnQ6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMgPSB3aW5kb3dbRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UuU0VHTUVOVF9BUElfV0lORE9XX0tFWV07XG4gICAgICAgICAgcmVzb2x2ZShzZWdtZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdGYWlsZWQgdG8gaW5pdCBzZWdtZW50OiAnICsgZSk7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Injectable, Optional, Inject, Directive, Input, NgModule, InjectionToken } from '@angular/core';
|
|
3
1
|
import { SubscriptionObject, filterMaybe } from '@dereekb/rxjs';
|
|
4
2
|
import { BehaviorSubject, shareReplay, switchMap, Subject, of, first, distinctUntilChanged, tap, merge, combineLatest } from 'rxjs';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { inject, Injectable, Optional, Inject, Directive, Input, NgModule, Injector, makeEnvironmentProviders, InjectionToken } from '@angular/core';
|
|
5
5
|
import { AbstractSubscriptionDirective, DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';
|
|
6
6
|
import { safeCompareEquality, poll } from '@dereekb/util';
|
|
7
7
|
import { AbstractAsyncWindowLoadedService } from '@dereekb/browser';
|
|
@@ -215,17 +215,17 @@ class DbxAnalyticsService {
|
|
|
215
215
|
this._userIdEventSub.destroy();
|
|
216
216
|
this._loggerSub.destroy();
|
|
217
217
|
}
|
|
218
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
219
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
218
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsService, deps: [{ token: DbxAnalyticsUserSource, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
219
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsService });
|
|
220
220
|
}
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsService, decorators: [{
|
|
222
222
|
type: Injectable
|
|
223
|
-
}], ctorParameters:
|
|
223
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
224
224
|
type: Optional
|
|
225
225
|
}, {
|
|
226
226
|
type: Inject,
|
|
227
227
|
args: [DbxAnalyticsUserSource]
|
|
228
|
-
}] }]
|
|
228
|
+
}] }] });
|
|
229
229
|
|
|
230
230
|
/**
|
|
231
231
|
* Used to listen to an ActionContext and send analytical events based on action events.
|
|
@@ -272,51 +272,56 @@ class DbxActionAnalyticsDirective extends AbstractSubscriptionDirective {
|
|
|
272
272
|
this._config.complete();
|
|
273
273
|
});
|
|
274
274
|
}
|
|
275
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
276
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
275
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAnalyticsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
276
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxActionAnalyticsDirective, isStandalone: true, selector: "[dbxActionAnalytics]", inputs: { config: ["dbxActionAnalytics", "config"] }, usesInheritance: true, ngImport: i0 });
|
|
277
277
|
}
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAnalyticsDirective, decorators: [{
|
|
279
279
|
type: Directive,
|
|
280
280
|
args: [{
|
|
281
|
-
selector: '[dbxActionAnalytics]'
|
|
281
|
+
selector: '[dbxActionAnalytics]',
|
|
282
|
+
standalone: true
|
|
282
283
|
}]
|
|
283
284
|
}], propDecorators: { config: [{
|
|
284
285
|
type: Input,
|
|
285
286
|
args: ['dbxActionAnalytics']
|
|
286
287
|
}] } });
|
|
287
288
|
|
|
289
|
+
/**
|
|
290
|
+
* @deprecated The exported DbxActionAnalyticsDirective is now a standalone component. Import that instead.
|
|
291
|
+
*/
|
|
288
292
|
class DbxAnalyticsActionModule {
|
|
289
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
290
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
291
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
293
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
294
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsActionModule, imports: [DbxActionAnalyticsDirective], exports: [DbxActionAnalyticsDirective] });
|
|
295
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsActionModule });
|
|
292
296
|
}
|
|
293
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsActionModule, decorators: [{
|
|
294
298
|
type: NgModule,
|
|
295
299
|
args: [{
|
|
296
|
-
|
|
300
|
+
imports: [DbxActionAnalyticsDirective],
|
|
297
301
|
exports: [DbxActionAnalyticsDirective]
|
|
298
302
|
}]
|
|
299
303
|
}] });
|
|
300
304
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
305
|
+
/**
|
|
306
|
+
* Creates a EnvironmentProviders that provides a DbxAnalyticsService.
|
|
307
|
+
*
|
|
308
|
+
* @param config Configuration
|
|
309
|
+
* @returns EnvironmentProviders
|
|
310
|
+
*/
|
|
311
|
+
function provideDbxAnalyticsService(config) {
|
|
312
|
+
const { dbxAnalyticsServiceConfigurationFactory } = config;
|
|
313
|
+
const providers = [
|
|
314
|
+
// configuration
|
|
315
|
+
{
|
|
316
|
+
provide: DbxAnalyticsServiceConfiguration,
|
|
317
|
+
useFactory: dbxAnalyticsServiceConfigurationFactory,
|
|
318
|
+
deps: [Injector]
|
|
319
|
+
},
|
|
320
|
+
// service
|
|
321
|
+
DbxAnalyticsService
|
|
322
|
+
];
|
|
323
|
+
return makeEnvironmentProviders(providers);
|
|
316
324
|
}
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsModule, decorators: [{
|
|
318
|
-
type: NgModule
|
|
319
|
-
}] });
|
|
320
325
|
|
|
321
326
|
const PRELOAD_SEGMENT_TOKEN = new InjectionToken('DbxAnalyticsSegmentApiServicePreload');
|
|
322
327
|
class DbxAnalyticsSegmentApiServiceConfig {
|
|
@@ -366,20 +371,17 @@ class DbxAnalyticsSegmentApiService extends AbstractAsyncWindowLoadedService {
|
|
|
366
371
|
}
|
|
367
372
|
});
|
|
368
373
|
}
|
|
369
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
370
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
374
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentApiService, deps: [{ token: PRELOAD_SEGMENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
375
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentApiService });
|
|
371
376
|
}
|
|
372
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
373
|
-
type: Injectable
|
|
374
|
-
|
|
375
|
-
providedIn: 'root'
|
|
376
|
-
}]
|
|
377
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
377
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentApiService, decorators: [{
|
|
378
|
+
type: Injectable
|
|
379
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
378
380
|
type: Optional
|
|
379
381
|
}, {
|
|
380
382
|
type: Inject,
|
|
381
383
|
args: [PRELOAD_SEGMENT_TOKEN]
|
|
382
|
-
}] }]
|
|
384
|
+
}] }] });
|
|
383
385
|
|
|
384
386
|
/**
|
|
385
387
|
* DbxAnalyticsServiceListener adapter for Segment.
|
|
@@ -465,43 +467,46 @@ class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServiceList
|
|
|
465
467
|
api.reset();
|
|
466
468
|
}
|
|
467
469
|
}
|
|
468
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
469
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
470
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
471
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, providedIn: 'root' });
|
|
470
472
|
}
|
|
471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
473
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, decorators: [{
|
|
472
474
|
type: Injectable,
|
|
473
475
|
args: [{
|
|
474
476
|
providedIn: 'root'
|
|
475
477
|
}]
|
|
476
|
-
}], ctorParameters:
|
|
478
|
+
}], ctorParameters: () => [] });
|
|
477
479
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
480
|
+
/**
|
|
481
|
+
* Creates a EnvironmentProviders that provides a DbxAnalyticsSegmentApiService.
|
|
482
|
+
*
|
|
483
|
+
* @param config Configuration
|
|
484
|
+
* @returns EnvironmentProviders
|
|
485
|
+
*/
|
|
486
|
+
function provideDbxAnalyticsSegmentApiService(config) {
|
|
487
|
+
const { preloadSegmentToken, dbxAnalyticsSegmentApiServiceConfigFactory } = config;
|
|
488
|
+
const providers = [
|
|
489
|
+
// configuration
|
|
490
|
+
{
|
|
491
|
+
provide: DbxAnalyticsSegmentApiServiceConfig,
|
|
492
|
+
useFactory: dbxAnalyticsSegmentApiServiceConfigFactory,
|
|
493
|
+
deps: [Injector]
|
|
494
|
+
},
|
|
495
|
+
// service
|
|
496
|
+
DbxAnalyticsSegmentApiService
|
|
497
|
+
];
|
|
498
|
+
if (preloadSegmentToken) {
|
|
499
|
+
providers.push({
|
|
500
|
+
provide: PRELOAD_SEGMENT_TOKEN,
|
|
501
|
+
useValue: preloadSegmentToken
|
|
502
|
+
});
|
|
489
503
|
}
|
|
490
|
-
|
|
491
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsSegmentModule });
|
|
492
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsSegmentModule });
|
|
504
|
+
return makeEnvironmentProviders(providers);
|
|
493
505
|
}
|
|
494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsSegmentModule, decorators: [{
|
|
495
|
-
type: NgModule,
|
|
496
|
-
args: [{
|
|
497
|
-
declarations: [],
|
|
498
|
-
imports: []
|
|
499
|
-
}]
|
|
500
|
-
}] });
|
|
501
506
|
|
|
502
507
|
/**
|
|
503
508
|
* Generated bundle index. Do not edit.
|
|
504
509
|
*/
|
|
505
510
|
|
|
506
|
-
export { AbstractDbxAnalyticsServiceListener, DbxActionAnalyticsDirective, DbxAnalyticsActionModule, DbxAnalyticsEventEmitterService, DbxAnalyticsEventStreamService,
|
|
511
|
+
export { AbstractDbxAnalyticsServiceListener, DbxActionAnalyticsDirective, DbxAnalyticsActionModule, DbxAnalyticsEventEmitterService, DbxAnalyticsEventStreamService, DbxAnalyticsSegmentApiService, DbxAnalyticsSegmentApiServiceConfig, DbxAnalyticsSegmentServiceListener, DbxAnalyticsService, DbxAnalyticsServiceConfiguration, DbxAnalyticsServiceListener, DbxAnalyticsStreamEventType, DbxAnalyticsUserSource, PRELOAD_SEGMENT_TOKEN, dbxAnalyticsStreamEventAnalyticsEventWrapper, provideDbxAnalyticsSegmentApiService, provideDbxAnalyticsService };
|
|
507
512
|
//# sourceMappingURL=dereekb-dbx-analytics.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dereekb-dbx-analytics.mjs","sources":["../../../../packages/dbx-analytics/src/lib/analytics/analytics.stream.ts","../../../../packages/dbx-analytics/src/lib/analytics/analytics.service.ts","../../../../packages/dbx-analytics/src/lib/action/analytics.action.directive.ts","../../../../packages/dbx-analytics/src/lib/action/analytics.action.module.ts","../../../../packages/dbx-analytics/src/lib/analytics/analytics.module.ts","../../../../packages/dbx-analytics/src/lib/providers/segment/segment.service.ts","../../../../packages/dbx-analytics/src/lib/providers/segment/segment.listener.service.ts","../../../../packages/dbx-analytics/src/lib/providers/segment/segment.module.ts","../../../../packages/dbx-analytics/src/dereekb-dbx-analytics.ts"],"sourcesContent":["import { type Maybe } from '@dereekb/util';\nimport { DbxAnalyticsUser, DbxUserAnalyticsEvent, DbxAnalyticsUserId } from './analytics';\n\nexport enum DbxAnalyticsStreamEventType {\n PageView,\n /**\n * Emitted any time the user value changes.\n *\n * Can emit when the user goes from defined to undefined.\n */\n UserChange,\n /**\n * Emitted any time the user id changes.\n */\n UserIdChange,\n\n // User Events\n NewUserEvent,\n UserLoginEvent,\n UserLogoutEvent,\n UserPropertiesEvent,\n\n // Events\n Event\n}\n\nexport interface DbxAnalyticsStreamEvent {\n readonly type: DbxAnalyticsStreamEventType;\n readonly user?: Maybe<DbxAnalyticsUser>;\n readonly event?: DbxUserAnalyticsEvent;\n readonly userId?: DbxAnalyticsUserId;\n}\n","import { Observable, Subject, BehaviorSubject, of, Subscription, first, shareReplay, switchMap, distinctUntilChanged } from 'rxjs';\nimport { Inject, Injectable, Optional, inject } from '@angular/core';\nimport { SubscriptionObject, filterMaybe } from '@dereekb/rxjs';\nimport { DbxAnalyticsEvent, DbxAnalyticsEventData, DbxAnalyticsEventName, DbxAnalyticsUser, NewUserAnalyticsEventData, DbxUserAnalyticsEvent } from './analytics';\nimport { DbxAnalyticsStreamEvent, DbxAnalyticsStreamEventType } from './analytics.stream';\nimport { Maybe, Destroyable, safeCompareEquality } from '@dereekb/util';\n\nexport abstract class DbxAnalyticsEventEmitterService {\n abstract sendNewUserEvent(user: DbxAnalyticsUser, data: NewUserAnalyticsEventData): void;\n abstract sendUserLoginEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;\n abstract sendUserLogoutEvent(data?: DbxAnalyticsEventData): void;\n abstract sendUserPropertiesEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;\n abstract sendEventData(name: DbxAnalyticsEventName, data?: DbxAnalyticsEventData): void;\n abstract sendEvent(event: DbxAnalyticsEvent): void;\n abstract sendPageView(page?: string): void;\n}\n\nexport abstract class DbxAnalyticsEventStreamService {\n abstract readonly events$: Observable<DbxAnalyticsStreamEvent>;\n}\n\nexport abstract class DbxAnalyticsUserSource {\n abstract readonly analyticsUser$: Observable<Maybe<DbxAnalyticsUser>>;\n}\n\nexport abstract class DbxAnalyticsServiceListener {\n public abstract listenToService(service: DbxAnalyticsService): void;\n}\n\n/**\n * Abstract AnalyticsServiceListener implementation.\n */\nexport abstract class AbstractDbxAnalyticsServiceListener implements DbxAnalyticsServiceListener, Destroyable {\n private _sub = new SubscriptionObject();\n protected _analytics = new BehaviorSubject<Maybe<DbxAnalyticsService>>(undefined);\n\n readonly analytics$ = this._analytics.pipe(filterMaybe(), shareReplay(1));\n readonly analyticsEvents$ = this.analytics$.pipe(\n switchMap((x) => x.events$),\n shareReplay(1)\n );\n\n // MARK: AnalyticsServiceListener\n listenToService(service: DbxAnalyticsService): void {\n this._analytics.next(service);\n const sub = this._initializeServiceSubscription();\n\n if (sub !== false) {\n this._sub.subscription = sub;\n }\n }\n\n protected abstract _initializeServiceSubscription(): Subscription | false;\n\n // MARK: Destroy\n destroy(): void {\n this._analytics.complete();\n this._sub.destroy();\n }\n}\n\nexport abstract class DbxAnalyticsServiceConfiguration {\n listeners: DbxAnalyticsServiceListener[] = [];\n isProduction?: boolean;\n logEvents?: boolean;\n userSource?: DbxAnalyticsUserSource;\n}\n\nexport interface DbxAnalyticsStreamEventAnalyticsEventWrapper extends DbxAnalyticsStreamEvent {\n readonly event: DbxUserAnalyticsEvent;\n readonly type: DbxAnalyticsStreamEventType;\n readonly user: Maybe<DbxAnalyticsUser>;\n readonly userId: string | undefined;\n}\n\nexport function dbxAnalyticsStreamEventAnalyticsEventWrapper(event: DbxUserAnalyticsEvent, type: DbxAnalyticsStreamEventType = DbxAnalyticsStreamEventType.Event) {\n const { user } = event;\n const userId = user ? user.user : undefined;\n\n return {\n event,\n type,\n user,\n userId\n };\n}\n\n/**\n * Primary analytics service that emits analytics events that components can listen to.\n */\n@Injectable()\nexport class DbxAnalyticsService implements DbxAnalyticsEventStreamService, DbxAnalyticsEventEmitterService, Destroyable {\n private _config = inject(DbxAnalyticsServiceConfiguration);\n\n // TODO: Make these configurable.\n static readonly USER_REGISTRATION_EVENT_NAME = 'User Registered';\n static readonly USER_LOGIN_EVENT_NAME = 'User Login';\n static readonly USER_LOGOUT_EVENT_NAME = 'User Logout';\n static readonly USER_PROPERTIES_EVENT_NAME = 'User Properties';\n\n private _subject = new Subject<DbxAnalyticsStreamEvent>();\n readonly events$ = this._subject.asObservable();\n\n private _userSource = new BehaviorSubject<Maybe<DbxAnalyticsUserSource>>(undefined);\n\n readonly user$ = this._userSource.pipe(\n switchMap((x) => (x ? x.analyticsUser$ : of(undefined))),\n shareReplay(1)\n );\n\n private _userSourceSub = new SubscriptionObject();\n private _userIdEventSub = new SubscriptionObject();\n private _loggerSub = new SubscriptionObject();\n\n constructor(@Optional() @Inject(DbxAnalyticsUserSource) userSource?: Maybe<DbxAnalyticsUserSource>) {\n this._init();\n\n userSource = userSource || this._config.userSource;\n if (userSource) {\n this.setUserSource(userSource);\n }\n }\n\n // MARK: Source\n /**\n * Sets the user directly, overridding the UserSource.\n */\n public setUser(user: Maybe<DbxAnalyticsUser>): void {\n let source: Maybe<DbxAnalyticsUserSource>;\n\n if (user) {\n source = { analyticsUser$: of(user) };\n }\n\n this._userSource.next(source);\n\n if (this._userSource.value) {\n console.warn('DbxAnalyticsService has a userSource that is set. Source is now overridden by setUser() value.');\n }\n }\n\n public setUserSource(source: DbxAnalyticsUserSource): void {\n this._userSource.next(source);\n }\n\n // MARK: AnalyticsEventEmitterService\n /**\n * Sends an event.\n */\n public sendNewUserEvent(user: DbxAnalyticsUser, data: NewUserAnalyticsEventData): void {\n this.sendNextEvent(\n {\n name: DbxAnalyticsService.USER_REGISTRATION_EVENT_NAME,\n data\n },\n DbxAnalyticsStreamEventType.NewUserEvent,\n user\n );\n }\n\n public sendUserLoginEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void {\n this.sendNextEvent(\n {\n name: DbxAnalyticsService.USER_LOGIN_EVENT_NAME,\n data\n },\n DbxAnalyticsStreamEventType.UserLoginEvent,\n user\n );\n }\n\n public sendUserLogoutEvent(data?: DbxAnalyticsEventData, clearUser = true): void {\n this.sendNextEvent(\n {\n name: DbxAnalyticsService.USER_LOGOUT_EVENT_NAME,\n data\n },\n DbxAnalyticsStreamEventType.UserLogoutEvent\n );\n\n if (clearUser) {\n this.setUser(undefined);\n }\n }\n\n public sendUserPropertiesEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void {\n this.sendNextEvent(\n {\n name: DbxAnalyticsService.USER_PROPERTIES_EVENT_NAME,\n data\n },\n DbxAnalyticsStreamEventType.UserPropertiesEvent,\n user\n );\n }\n\n public sendEventData(name: DbxAnalyticsEventName, data?: DbxAnalyticsEventData): void {\n return this.sendEvent({\n name,\n data\n });\n }\n\n public sendEventType(eventType: DbxAnalyticsEventName): void {\n this.sendNextEvent(\n {\n name: eventType\n },\n DbxAnalyticsStreamEventType.Event\n );\n }\n\n public sendEvent(event: DbxAnalyticsEvent): void {\n this.sendNextEvent(event, DbxAnalyticsStreamEventType.Event);\n }\n\n public sendPageView(page?: string): void {\n this.sendNextEvent(\n {\n name: page\n },\n DbxAnalyticsStreamEventType.PageView\n );\n }\n\n /**\n * Sends the next event.\n *\n * @param event\n * @param type\n * @param userOverride Uses this user if set as null or an override value. If undefined the current analytics user is used.\n */\n protected sendNextEvent(event: DbxAnalyticsEvent = {}, type: DbxAnalyticsStreamEventType, userOverride?: Maybe<DbxAnalyticsUser>): void {\n this.user$.pipe(first()).subscribe((analyticsUser) => {\n const user: Maybe<DbxAnalyticsUser> = userOverride !== undefined ? userOverride : analyticsUser;\n const analyticsEvent: DbxUserAnalyticsEvent = { ...event, user };\n this.nextEvent(analyticsEvent, type);\n });\n }\n\n protected nextEvent(event: DbxUserAnalyticsEvent, type: DbxAnalyticsStreamEventType): void {\n const wrapper = dbxAnalyticsStreamEventAnalyticsEventWrapper(event, type);\n this._subject.next(wrapper);\n }\n\n // MARK: Internal\n private _init(): void {\n if (this._config.isProduction) {\n // Initialize listeners.\n this._config.listeners.forEach((listener) => {\n listener.listenToService(this);\n });\n } else {\n console.warn('AnalyticsService: Analytics not in production mode. All analytics events are ignored.');\n }\n\n if (this._config.logEvents || !this._config.isProduction) {\n console.log('AnalyticsService: Log analytics events enabled.');\n\n // Create a new subscription\n this._loggerSub.subscription = this._subject.subscribe((x) => {\n console.log(`AnalyticsService: Analytics Event - ${DbxAnalyticsStreamEventType[x.type]} | User: ${x.userId} | Data: ${JSON.stringify(x.event)}.`);\n });\n }\n\n this._userSourceSub.subscription = this.user$.subscribe((user) => {\n this.sendNextEvent({}, DbxAnalyticsStreamEventType.UserChange, user ?? null);\n });\n\n this._userIdEventSub.subscription = this.user$.pipe(distinctUntilChanged((a, b) => safeCompareEquality(a, b, (x, y) => x.user === y.user))).subscribe((user) => {\n this.sendNextEvent({}, DbxAnalyticsStreamEventType.UserIdChange, user ?? null);\n });\n }\n\n destroy() {\n this._subject.complete();\n this._userSource.complete();\n this._userSourceSub.destroy();\n this._userIdEventSub.destroy();\n this._loggerSub.destroy();\n }\n}\n","import { filterMaybe } from '@dereekb/rxjs';\nimport { switchMap, tap, shareReplay, BehaviorSubject, merge, Observable, of } from 'rxjs';\nimport { Directive, Input, OnInit, OnDestroy, inject } from '@angular/core';\nimport { DbxActionContextStoreSourceInstance, AbstractSubscriptionDirective } from '@dereekb/dbx-core';\nimport { DbxAnalyticsService } from '../analytics/analytics.service';\nimport { Maybe, ReadableError } from '@dereekb/util';\n\n/**\n * DbxActionAnalyticsDirective config\n */\nexport interface DbxActionAnalyticsConfig<T = unknown, O = unknown> {\n onTriggered?: (service: DbxAnalyticsService) => void;\n onReady?: (service: DbxAnalyticsService, value: T) => void;\n onSuccess?: (service: DbxAnalyticsService, result: Maybe<O>, value: T) => void;\n onError?: (service: DbxAnalyticsService, error: Maybe<ReadableError>) => void;\n}\n\n/**\n * Used to listen to an ActionContext and send analytical events based on action events.\n */\n@Directive({\n selector: '[dbxActionAnalytics]'\n})\nexport class DbxActionAnalyticsDirective<T, O> extends AbstractSubscriptionDirective implements OnInit, OnDestroy {\n readonly source = inject(DbxActionContextStoreSourceInstance<T, O>, { host: true });\n readonly analyticsService = inject(DbxAnalyticsService);\n\n private readonly _config = new BehaviorSubject<Maybe<DbxActionAnalyticsConfig<T, O>>>(undefined);\n readonly config$ = this._config.pipe(filterMaybe(), shareReplay(1));\n\n @Input('dbxActionAnalytics')\n get config(): Maybe<DbxActionAnalyticsConfig<T, O>> {\n return this._config.value;\n }\n\n set config(config: Maybe<DbxActionAnalyticsConfig<T, O>>) {\n this._config.next(config);\n }\n\n ngOnInit(): void {\n this.sub = this.config$\n .pipe(\n switchMap(({ onTriggered, onReady, onSuccess, onError }) => {\n const triggerObs: Observable<unknown>[] = [];\n\n if (onTriggered) {\n triggerObs.push(this.source.triggered$.pipe(tap(() => onTriggered(this.analyticsService))));\n }\n\n if (onReady) {\n triggerObs.push(this.source.valueReady$.pipe(tap((value) => onReady(this.analyticsService, value))));\n }\n\n if (onSuccess) {\n triggerObs.push(this.source.successPair$.pipe(tap(({ result, value }) => onSuccess(this.analyticsService, result, value))));\n }\n\n if (onError) {\n triggerObs.push(\n this.source.error$.pipe(\n filterMaybe(),\n tap((error) => onError(this.analyticsService, error))\n )\n );\n }\n\n if (triggerObs.length) {\n return merge(...triggerObs);\n } else {\n return of();\n }\n })\n )\n .subscribe();\n }\n\n override ngOnDestroy(): void {\n this.source.lockSet.onNextUnlock(() => {\n super.ngOnDestroy();\n this._config.complete();\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DbxActionAnalyticsDirective } from './analytics.action.directive';\n\n@NgModule({\n declarations: [DbxActionAnalyticsDirective],\n exports: [DbxActionAnalyticsDirective]\n})\nexport class DbxAnalyticsActionModule {}\n","import { NgModule, ModuleWithProviders, Provider } from '@angular/core';\nimport { DbxAnalyticsService } from './analytics.service';\n\nexport interface DbxAnalyticsModuleOptions {\n /**\n * Provides a AnalyticsServiceConfiguration value.\n */\n analyticsConfigurationProvider: Provider;\n}\n\n@NgModule()\nexport class DbxAnalyticsModule {\n static forRoot(options: DbxAnalyticsModuleOptions): ModuleWithProviders<DbxAnalyticsModule> {\n return {\n ngModule: DbxAnalyticsModule,\n providers: [\n // Configuration\n options.analyticsConfigurationProvider,\n // Service\n DbxAnalyticsService\n ]\n };\n }\n}\n","import { Injectable, InjectionToken, Inject, inject, Optional } from '@angular/core';\nimport { AbstractAsyncWindowLoadedService } from '@dereekb/browser';\nimport { Maybe, poll } from '@dereekb/util';\n\nexport const PRELOAD_SEGMENT_TOKEN = new InjectionToken<string>('DbxAnalyticsSegmentApiServicePreload');\n\nexport class DbxAnalyticsSegmentApiServiceConfig {\n writeKey: string;\n logging = true;\n active = true;\n constructor(writeKey: string) {\n this.writeKey = writeKey;\n }\n}\n\n/**\n * When the Segment library finishes loading, it is invoked.\n */\ntype SegmentAnalyticsInvoked = SegmentAnalytics.AnalyticsJS & { invoked?: boolean };\n\n/**\n * Segment API Service used for waiting/retrieving the segment API from window when initialized.\n *\n * This requires some setup in index.html.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxAnalyticsSegmentApiService extends AbstractAsyncWindowLoadedService<SegmentAnalytics.AnalyticsJS> {\n private readonly _config = inject(DbxAnalyticsSegmentApiServiceConfig);\n\n static readonly SEGMENT_API_WINDOW_KEY = 'analytics';\n static readonly SEGMENT_READY_KEY = 'SegmentReady';\n\n constructor(@Optional() @Inject(PRELOAD_SEGMENT_TOKEN) preload?: Maybe<boolean>) {\n super(DbxAnalyticsSegmentApiService.SEGMENT_API_WINDOW_KEY, undefined, 'Segment', preload);\n }\n\n get config(): DbxAnalyticsSegmentApiServiceConfig {\n return this._config;\n }\n\n protected override _prepareCompleteLoadingService(): Promise<void> {\n return poll({\n // poll until analytics.invoked is true.\n check: () => Boolean((window.analytics as SegmentAnalyticsInvoked).invoked),\n timesToGiveup: 100\n });\n }\n\n protected override _initService(service: SegmentAnalytics.AnalyticsJS): Promise<SegmentAnalytics.AnalyticsJS> {\n return new Promise((resolve, reject) => {\n try {\n service.load(this._config.writeKey); // Initialize Segment\n\n // Wait for the service to ready itself.\n service.ready(() => {\n // Segment changes itself or rather the target, and the previous initial target is ignored after.\n const segment: SegmentAnalytics.AnalyticsJS = window[DbxAnalyticsSegmentApiService.SEGMENT_API_WINDOW_KEY];\n resolve(segment);\n });\n } catch (e) {\n console.log('Failed to init segment: ' + e);\n reject(e);\n }\n });\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { type Maybe } from '@dereekb/util';\nimport { combineLatest } from 'rxjs';\nimport { AbstractDbxAnalyticsServiceListener, DbxAnalyticsStreamEvent, DbxAnalyticsStreamEventType, DbxAnalyticsUser } from '../../analytics';\nimport { DbxAnalyticsSegmentApiService } from './segment.service';\n\n/**\n * DbxAnalyticsServiceListener adapter for Segment.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServiceListener {\n private _segmentApi = inject(DbxAnalyticsSegmentApiService);\n\n constructor() {\n super();\n\n if (this._segmentApi.config.logging) {\n console.log('SegmentAnalyticsListenerService: Segment is logging events.');\n }\n\n if (!this._segmentApi.config.active) {\n console.log('SegmentAnalyticsListenerService: Segment is disabled from sending events to the server.');\n }\n }\n\n protected _initializeServiceSubscription() {\n return combineLatest([this._segmentApi.service$, this.analyticsEvents$]).subscribe(([segment, streamEvent]: [SegmentAnalytics.AnalyticsJS, DbxAnalyticsStreamEvent]) => {\n if (this._segmentApi.config.logging) {\n console.log('Segment Listener Logging Event: ', streamEvent);\n }\n\n if (this._segmentApi.config.active) {\n this.handleStreamEvent(segment, streamEvent);\n }\n });\n }\n\n protected handleStreamEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void {\n switch (streamEvent.type) {\n case DbxAnalyticsStreamEventType.NewUserEvent:\n this.updateWithNewUserEvent(api, streamEvent);\n break;\n case DbxAnalyticsStreamEventType.UserLoginEvent:\n this.changeUser(api, streamEvent.user);\n this.updateWithEvent(api, streamEvent);\n break;\n case DbxAnalyticsStreamEventType.Event:\n this.updateWithEvent(api, streamEvent);\n break;\n case DbxAnalyticsStreamEventType.UserLogoutEvent:\n this.changeUser(api, undefined);\n break;\n case DbxAnalyticsStreamEventType.PageView:\n api.page();\n break;\n case DbxAnalyticsStreamEventType.UserChange:\n this.changeUser(api, streamEvent.user);\n break;\n }\n }\n\n protected updateWithNewUserEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void {\n this.changeUser(api, streamEvent.user);\n }\n\n protected updateWithEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent, name?: string): void {\n const event = streamEvent.event;\n const eventName = name || event?.name;\n\n if (eventName) {\n const value = event?.value;\n const data = event?.data;\n\n api.track(\n eventName,\n {\n ...(value != null\n ? {\n value\n }\n : undefined),\n ...data\n },\n {},\n () => {\n if (this._segmentApi.config.logging) {\n console.log('Segment track success.');\n }\n }\n );\n }\n }\n\n private changeUser(api: SegmentAnalytics.AnalyticsJS, user: Maybe<DbxAnalyticsUser>): void {\n if (user?.user) {\n api.identify(\n user.user,\n {\n ...user.properties\n },\n {},\n () => {\n if (this._segmentApi.config.logging) {\n console.log('Segment identify success.');\n }\n }\n );\n } else {\n api.reset();\n }\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { PRELOAD_SEGMENT_TOKEN } from './segment.service';\n\n@NgModule({\n declarations: [],\n imports: []\n})\nexport class DbxAnalyticsSegmentModule {\n static forRoot(preloadService?: boolean): ModuleWithProviders<DbxAnalyticsSegmentModule> {\n return {\n ngModule: DbxAnalyticsSegmentModule,\n providers: [\n {\n provide: PRELOAD_SEGMENT_TOKEN,\n useValue: preloadService\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dereekb-dbx-analytics.mjs","sources":["../../../../packages/dbx-analytics/src/lib/analytics/analytics.stream.ts","../../../../packages/dbx-analytics/src/lib/analytics/analytics.service.ts","../../../../packages/dbx-analytics/src/lib/action/analytics.action.directive.ts","../../../../packages/dbx-analytics/src/lib/action/analytics.module.ts","../../../../packages/dbx-analytics/src/lib/analytics/analytics.providers.ts","../../../../packages/dbx-analytics/src/lib/providers/segment/segment.service.ts","../../../../packages/dbx-analytics/src/lib/providers/segment/segment.listener.service.ts","../../../../packages/dbx-analytics/src/lib/providers/segment/segment.providers.ts","../../../../packages/dbx-analytics/src/dereekb-dbx-analytics.ts"],"sourcesContent":["import { type Maybe } from '@dereekb/util';\nimport { DbxAnalyticsUser, DbxUserAnalyticsEvent, DbxAnalyticsUserId } from './analytics';\n\nexport enum DbxAnalyticsStreamEventType {\n PageView,\n /**\n * Emitted any time the user value changes.\n *\n * Can emit when the user goes from defined to undefined.\n */\n UserChange,\n /**\n * Emitted any time the user id changes.\n */\n UserIdChange,\n\n // User Events\n NewUserEvent,\n UserLoginEvent,\n UserLogoutEvent,\n UserPropertiesEvent,\n\n // Events\n Event\n}\n\nexport interface DbxAnalyticsStreamEvent {\n readonly type: DbxAnalyticsStreamEventType;\n readonly user?: Maybe<DbxAnalyticsUser>;\n readonly event?: DbxUserAnalyticsEvent;\n readonly userId?: DbxAnalyticsUserId;\n}\n","import { Observable, Subject, BehaviorSubject, of, Subscription, first, shareReplay, switchMap, distinctUntilChanged } from 'rxjs';\nimport { Inject, Injectable, Optional, inject } from '@angular/core';\nimport { SubscriptionObject, filterMaybe } from '@dereekb/rxjs';\nimport { DbxAnalyticsEvent, DbxAnalyticsEventData, DbxAnalyticsEventName, DbxAnalyticsUser, NewUserAnalyticsEventData, DbxUserAnalyticsEvent } from './analytics';\nimport { DbxAnalyticsStreamEvent, DbxAnalyticsStreamEventType } from './analytics.stream';\nimport { Maybe, Destroyable, safeCompareEquality } from '@dereekb/util';\n\nexport abstract class DbxAnalyticsEventEmitterService {\n abstract sendNewUserEvent(user: DbxAnalyticsUser, data: NewUserAnalyticsEventData): void;\n abstract sendUserLoginEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;\n abstract sendUserLogoutEvent(data?: DbxAnalyticsEventData): void;\n abstract sendUserPropertiesEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;\n abstract sendEventData(name: DbxAnalyticsEventName, data?: DbxAnalyticsEventData): void;\n abstract sendEvent(event: DbxAnalyticsEvent): void;\n abstract sendPageView(page?: string): void;\n}\n\nexport abstract class DbxAnalyticsEventStreamService {\n abstract readonly events$: Observable<DbxAnalyticsStreamEvent>;\n}\n\nexport abstract class DbxAnalyticsUserSource {\n abstract readonly analyticsUser$: Observable<Maybe<DbxAnalyticsUser>>;\n}\n\nexport abstract class DbxAnalyticsServiceListener {\n public abstract listenToService(service: DbxAnalyticsService): void;\n}\n\n/**\n * Abstract AnalyticsServiceListener implementation.\n */\nexport abstract class AbstractDbxAnalyticsServiceListener implements DbxAnalyticsServiceListener, Destroyable {\n private _sub = new SubscriptionObject();\n protected _analytics = new BehaviorSubject<Maybe<DbxAnalyticsService>>(undefined);\n\n readonly analytics$ = this._analytics.pipe(filterMaybe(), shareReplay(1));\n readonly analyticsEvents$ = this.analytics$.pipe(\n switchMap((x) => x.events$),\n shareReplay(1)\n );\n\n // MARK: AnalyticsServiceListener\n listenToService(service: DbxAnalyticsService): void {\n this._analytics.next(service);\n const sub = this._initializeServiceSubscription();\n\n if (sub !== false) {\n this._sub.subscription = sub;\n }\n }\n\n protected abstract _initializeServiceSubscription(): Subscription | false;\n\n // MARK: Destroy\n destroy(): void {\n this._analytics.complete();\n this._sub.destroy();\n }\n}\n\nexport abstract class DbxAnalyticsServiceConfiguration {\n readonly listeners: DbxAnalyticsServiceListener[] = [];\n readonly isProduction?: boolean;\n readonly logEvents?: boolean;\n readonly userSource?: DbxAnalyticsUserSource;\n}\n\nexport interface DbxAnalyticsStreamEventAnalyticsEventWrapper extends DbxAnalyticsStreamEvent {\n readonly event: DbxUserAnalyticsEvent;\n readonly type: DbxAnalyticsStreamEventType;\n readonly user: Maybe<DbxAnalyticsUser>;\n readonly userId: string | undefined;\n}\n\nexport function dbxAnalyticsStreamEventAnalyticsEventWrapper(event: DbxUserAnalyticsEvent, type: DbxAnalyticsStreamEventType = DbxAnalyticsStreamEventType.Event) {\n const { user } = event;\n const userId = user ? user.user : undefined;\n\n return {\n event,\n type,\n user,\n userId\n };\n}\n\n/**\n * Primary analytics service that emits analytics events that components can listen to.\n */\n@Injectable()\nexport class DbxAnalyticsService implements DbxAnalyticsEventStreamService, DbxAnalyticsEventEmitterService, Destroyable {\n private readonly _config = inject(DbxAnalyticsServiceConfiguration);\n\n // TODO: Make these configurable.\n static readonly USER_REGISTRATION_EVENT_NAME = 'User Registered';\n static readonly USER_LOGIN_EVENT_NAME = 'User Login';\n static readonly USER_LOGOUT_EVENT_NAME = 'User Logout';\n static readonly USER_PROPERTIES_EVENT_NAME = 'User Properties';\n\n private _subject = new Subject<DbxAnalyticsStreamEvent>();\n readonly events$ = this._subject.asObservable();\n\n private _userSource = new BehaviorSubject<Maybe<DbxAnalyticsUserSource>>(undefined);\n\n readonly user$ = this._userSource.pipe(\n switchMap((x) => (x ? x.analyticsUser$ : of(undefined))),\n shareReplay(1)\n );\n\n private _userSourceSub = new SubscriptionObject();\n private _userIdEventSub = new SubscriptionObject();\n private _loggerSub = new SubscriptionObject();\n\n constructor(@Optional() @Inject(DbxAnalyticsUserSource) userSource?: Maybe<DbxAnalyticsUserSource>) {\n this._init();\n\n userSource = userSource || this._config.userSource;\n if (userSource) {\n this.setUserSource(userSource);\n }\n }\n\n // MARK: Source\n /**\n * Sets the user directly, overridding the UserSource.\n */\n public setUser(user: Maybe<DbxAnalyticsUser>): void {\n let source: Maybe<DbxAnalyticsUserSource>;\n\n if (user) {\n source = { analyticsUser$: of(user) };\n }\n\n this._userSource.next(source);\n\n if (this._userSource.value) {\n console.warn('DbxAnalyticsService has a userSource that is set. Source is now overridden by setUser() value.');\n }\n }\n\n public setUserSource(source: DbxAnalyticsUserSource): void {\n this._userSource.next(source);\n }\n\n // MARK: AnalyticsEventEmitterService\n /**\n * Sends an event.\n */\n public sendNewUserEvent(user: DbxAnalyticsUser, data: NewUserAnalyticsEventData): void {\n this.sendNextEvent(\n {\n name: DbxAnalyticsService.USER_REGISTRATION_EVENT_NAME,\n data\n },\n DbxAnalyticsStreamEventType.NewUserEvent,\n user\n );\n }\n\n public sendUserLoginEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void {\n this.sendNextEvent(\n {\n name: DbxAnalyticsService.USER_LOGIN_EVENT_NAME,\n data\n },\n DbxAnalyticsStreamEventType.UserLoginEvent,\n user\n );\n }\n\n public sendUserLogoutEvent(data?: DbxAnalyticsEventData, clearUser = true): void {\n this.sendNextEvent(\n {\n name: DbxAnalyticsService.USER_LOGOUT_EVENT_NAME,\n data\n },\n DbxAnalyticsStreamEventType.UserLogoutEvent\n );\n\n if (clearUser) {\n this.setUser(undefined);\n }\n }\n\n public sendUserPropertiesEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void {\n this.sendNextEvent(\n {\n name: DbxAnalyticsService.USER_PROPERTIES_EVENT_NAME,\n data\n },\n DbxAnalyticsStreamEventType.UserPropertiesEvent,\n user\n );\n }\n\n public sendEventData(name: DbxAnalyticsEventName, data?: DbxAnalyticsEventData): void {\n return this.sendEvent({\n name,\n data\n });\n }\n\n public sendEventType(eventType: DbxAnalyticsEventName): void {\n this.sendNextEvent(\n {\n name: eventType\n },\n DbxAnalyticsStreamEventType.Event\n );\n }\n\n public sendEvent(event: DbxAnalyticsEvent): void {\n this.sendNextEvent(event, DbxAnalyticsStreamEventType.Event);\n }\n\n public sendPageView(page?: string): void {\n this.sendNextEvent(\n {\n name: page\n },\n DbxAnalyticsStreamEventType.PageView\n );\n }\n\n /**\n * Sends the next event.\n *\n * @param event\n * @param type\n * @param userOverride Uses this user if set as null or an override value. If undefined the current analytics user is used.\n */\n protected sendNextEvent(event: DbxAnalyticsEvent = {}, type: DbxAnalyticsStreamEventType, userOverride?: Maybe<DbxAnalyticsUser>): void {\n this.user$.pipe(first()).subscribe((analyticsUser) => {\n const user: Maybe<DbxAnalyticsUser> = userOverride !== undefined ? userOverride : analyticsUser;\n const analyticsEvent: DbxUserAnalyticsEvent = { ...event, user };\n this.nextEvent(analyticsEvent, type);\n });\n }\n\n protected nextEvent(event: DbxUserAnalyticsEvent, type: DbxAnalyticsStreamEventType): void {\n const wrapper = dbxAnalyticsStreamEventAnalyticsEventWrapper(event, type);\n this._subject.next(wrapper);\n }\n\n // MARK: Internal\n private _init(): void {\n if (this._config.isProduction) {\n // Initialize listeners.\n this._config.listeners.forEach((listener) => {\n listener.listenToService(this);\n });\n } else {\n console.warn('AnalyticsService: Analytics not in production mode. All analytics events are ignored.');\n }\n\n if (this._config.logEvents || !this._config.isProduction) {\n console.log('AnalyticsService: Log analytics events enabled.');\n\n // Create a new subscription\n this._loggerSub.subscription = this._subject.subscribe((x) => {\n console.log(`AnalyticsService: Analytics Event - ${DbxAnalyticsStreamEventType[x.type]} | User: ${x.userId} | Data: ${JSON.stringify(x.event)}.`);\n });\n }\n\n this._userSourceSub.subscription = this.user$.subscribe((user) => {\n this.sendNextEvent({}, DbxAnalyticsStreamEventType.UserChange, user ?? null);\n });\n\n this._userIdEventSub.subscription = this.user$.pipe(distinctUntilChanged((a, b) => safeCompareEquality(a, b, (x, y) => x.user === y.user))).subscribe((user) => {\n this.sendNextEvent({}, DbxAnalyticsStreamEventType.UserIdChange, user ?? null);\n });\n }\n\n destroy() {\n this._subject.complete();\n this._userSource.complete();\n this._userSourceSub.destroy();\n this._userIdEventSub.destroy();\n this._loggerSub.destroy();\n }\n}\n","import { filterMaybe } from '@dereekb/rxjs';\nimport { switchMap, tap, shareReplay, BehaviorSubject, merge, Observable, of } from 'rxjs';\nimport { Directive, Input, OnInit, OnDestroy, inject } from '@angular/core';\nimport { DbxActionContextStoreSourceInstance, AbstractSubscriptionDirective } from '@dereekb/dbx-core';\nimport { DbxAnalyticsService } from '../analytics/analytics.service';\nimport { Maybe, ReadableError } from '@dereekb/util';\n\n/**\n * DbxActionAnalyticsDirective config\n */\nexport interface DbxActionAnalyticsConfig<T = unknown, O = unknown> {\n onTriggered?: (service: DbxAnalyticsService) => void;\n onReady?: (service: DbxAnalyticsService, value: T) => void;\n onSuccess?: (service: DbxAnalyticsService, result: Maybe<O>, value: T) => void;\n onError?: (service: DbxAnalyticsService, error: Maybe<ReadableError>) => void;\n}\n\n/**\n * Used to listen to an ActionContext and send analytical events based on action events.\n */\n@Directive({\n selector: '[dbxActionAnalytics]',\n standalone: true\n})\nexport class DbxActionAnalyticsDirective<T, O> extends AbstractSubscriptionDirective implements OnInit, OnDestroy {\n readonly source = inject(DbxActionContextStoreSourceInstance<T, O>, { host: true });\n readonly analyticsService = inject(DbxAnalyticsService);\n\n private readonly _config = new BehaviorSubject<Maybe<DbxActionAnalyticsConfig<T, O>>>(undefined);\n readonly config$ = this._config.pipe(filterMaybe(), shareReplay(1));\n\n @Input('dbxActionAnalytics')\n get config(): Maybe<DbxActionAnalyticsConfig<T, O>> {\n return this._config.value;\n }\n\n set config(config: Maybe<DbxActionAnalyticsConfig<T, O>>) {\n this._config.next(config);\n }\n\n ngOnInit(): void {\n this.sub = this.config$\n .pipe(\n switchMap(({ onTriggered, onReady, onSuccess, onError }) => {\n const triggerObs: Observable<unknown>[] = [];\n\n if (onTriggered) {\n triggerObs.push(this.source.triggered$.pipe(tap(() => onTriggered(this.analyticsService))));\n }\n\n if (onReady) {\n triggerObs.push(this.source.valueReady$.pipe(tap((value) => onReady(this.analyticsService, value))));\n }\n\n if (onSuccess) {\n triggerObs.push(this.source.successPair$.pipe(tap(({ result, value }) => onSuccess(this.analyticsService, result, value))));\n }\n\n if (onError) {\n triggerObs.push(\n this.source.error$.pipe(\n filterMaybe(),\n tap((error) => onError(this.analyticsService, error))\n )\n );\n }\n\n if (triggerObs.length) {\n return merge(...triggerObs);\n } else {\n return of();\n }\n })\n )\n .subscribe();\n }\n\n override ngOnDestroy(): void {\n this.source.lockSet.onNextUnlock(() => {\n super.ngOnDestroy();\n this._config.complete();\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DbxActionAnalyticsDirective } from './analytics.action.directive';\n\n/**\n * @deprecated The exported DbxActionAnalyticsDirective is now a standalone component. Import that instead.\n */\n@NgModule({\n imports: [DbxActionAnalyticsDirective],\n exports: [DbxActionAnalyticsDirective]\n})\nexport class DbxAnalyticsActionModule {}\n","import { EnvironmentProviders, Injector, Provider, makeEnvironmentProviders } from '@angular/core';\nimport { DbxAnalyticsServiceConfiguration, DbxAnalyticsService } from './analytics.service';\n\nexport type DbxAnalyticsServiceConfigurationFactory = (injector: Injector) => DbxAnalyticsServiceConfiguration;\n\n/**\n * Configuration for provideDbxAnalyticsService()\n */\nexport interface ProvideDbxAnalyticsConfig {\n readonly dbxAnalyticsServiceConfigurationFactory: DbxAnalyticsServiceConfigurationFactory;\n}\n\n/**\n * Creates a EnvironmentProviders that provides a DbxAnalyticsService.\n *\n * @param config Configuration\n * @returns EnvironmentProviders\n */\nexport function provideDbxAnalyticsService(config: ProvideDbxAnalyticsConfig): EnvironmentProviders {\n const { dbxAnalyticsServiceConfigurationFactory } = config;\n\n const providers: Provider[] = [\n // configuration\n {\n provide: DbxAnalyticsServiceConfiguration,\n useFactory: dbxAnalyticsServiceConfigurationFactory,\n deps: [Injector]\n },\n // service\n DbxAnalyticsService\n ];\n\n return makeEnvironmentProviders(providers);\n}\n","import { Injectable, InjectionToken, Inject, inject, Optional } from '@angular/core';\nimport { AbstractAsyncWindowLoadedService } from '@dereekb/browser';\nimport { Maybe, poll } from '@dereekb/util';\n\nexport const PRELOAD_SEGMENT_TOKEN = new InjectionToken<string>('DbxAnalyticsSegmentApiServicePreload');\n\nexport class DbxAnalyticsSegmentApiServiceConfig {\n writeKey: string;\n logging = true;\n active = true;\n constructor(writeKey: string) {\n this.writeKey = writeKey;\n }\n}\n\n/**\n * When the Segment library finishes loading, it is invoked.\n */\ntype SegmentAnalyticsInvoked = SegmentAnalytics.AnalyticsJS & { invoked?: boolean };\n\n/**\n * Segment API Service used for waiting/retrieving the segment API from window when initialized.\n *\n * This requires some setup in index.html.\n */\n@Injectable()\nexport class DbxAnalyticsSegmentApiService extends AbstractAsyncWindowLoadedService<SegmentAnalytics.AnalyticsJS> {\n private readonly _config = inject(DbxAnalyticsSegmentApiServiceConfig);\n\n static readonly SEGMENT_API_WINDOW_KEY = 'analytics';\n static readonly SEGMENT_READY_KEY = 'SegmentReady';\n\n constructor(@Optional() @Inject(PRELOAD_SEGMENT_TOKEN) preload?: Maybe<boolean>) {\n super(DbxAnalyticsSegmentApiService.SEGMENT_API_WINDOW_KEY, undefined, 'Segment', preload);\n }\n\n get config(): DbxAnalyticsSegmentApiServiceConfig {\n return this._config;\n }\n\n protected override _prepareCompleteLoadingService(): Promise<void> {\n return poll({\n // poll until analytics.invoked is true.\n check: () => Boolean((window.analytics as SegmentAnalyticsInvoked).invoked),\n timesToGiveup: 100\n });\n }\n\n protected override _initService(service: SegmentAnalytics.AnalyticsJS): Promise<SegmentAnalytics.AnalyticsJS> {\n return new Promise((resolve, reject) => {\n try {\n service.load(this._config.writeKey); // Initialize Segment\n\n // Wait for the service to ready itself.\n service.ready(() => {\n // Segment changes itself or rather the target, and the previous initial target is ignored after.\n const segment: SegmentAnalytics.AnalyticsJS = window[DbxAnalyticsSegmentApiService.SEGMENT_API_WINDOW_KEY];\n resolve(segment);\n });\n } catch (e) {\n console.log('Failed to init segment: ' + e);\n reject(e);\n }\n });\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { type Maybe } from '@dereekb/util';\nimport { combineLatest } from 'rxjs';\nimport { AbstractDbxAnalyticsServiceListener, DbxAnalyticsStreamEvent, DbxAnalyticsStreamEventType, DbxAnalyticsUser } from '../../analytics';\nimport { DbxAnalyticsSegmentApiService } from './segment.service';\n\n/**\n * DbxAnalyticsServiceListener adapter for Segment.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServiceListener {\n private readonly _segmentApi = inject(DbxAnalyticsSegmentApiService);\n\n constructor() {\n super();\n\n if (this._segmentApi.config.logging) {\n console.log('SegmentAnalyticsListenerService: Segment is logging events.');\n }\n\n if (!this._segmentApi.config.active) {\n console.log('SegmentAnalyticsListenerService: Segment is disabled from sending events to the server.');\n }\n }\n\n protected _initializeServiceSubscription() {\n return combineLatest([this._segmentApi.service$, this.analyticsEvents$]).subscribe(([segment, streamEvent]: [SegmentAnalytics.AnalyticsJS, DbxAnalyticsStreamEvent]) => {\n if (this._segmentApi.config.logging) {\n console.log('Segment Listener Logging Event: ', streamEvent);\n }\n\n if (this._segmentApi.config.active) {\n this.handleStreamEvent(segment, streamEvent);\n }\n });\n }\n\n protected handleStreamEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void {\n switch (streamEvent.type) {\n case DbxAnalyticsStreamEventType.NewUserEvent:\n this.updateWithNewUserEvent(api, streamEvent);\n break;\n case DbxAnalyticsStreamEventType.UserLoginEvent:\n this.changeUser(api, streamEvent.user);\n this.updateWithEvent(api, streamEvent);\n break;\n case DbxAnalyticsStreamEventType.Event:\n this.updateWithEvent(api, streamEvent);\n break;\n case DbxAnalyticsStreamEventType.UserLogoutEvent:\n this.changeUser(api, undefined);\n break;\n case DbxAnalyticsStreamEventType.PageView:\n api.page();\n break;\n case DbxAnalyticsStreamEventType.UserChange:\n this.changeUser(api, streamEvent.user);\n break;\n }\n }\n\n protected updateWithNewUserEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void {\n this.changeUser(api, streamEvent.user);\n }\n\n protected updateWithEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent, name?: string): void {\n const event = streamEvent.event;\n const eventName = name || event?.name;\n\n if (eventName) {\n const value = event?.value;\n const data = event?.data;\n\n api.track(\n eventName,\n {\n ...(value != null\n ? {\n value\n }\n : undefined),\n ...data\n },\n {},\n () => {\n if (this._segmentApi.config.logging) {\n console.log('Segment track success.');\n }\n }\n );\n }\n }\n\n private changeUser(api: SegmentAnalytics.AnalyticsJS, user: Maybe<DbxAnalyticsUser>): void {\n if (user?.user) {\n api.identify(\n user.user,\n {\n ...user.properties\n },\n {},\n () => {\n if (this._segmentApi.config.logging) {\n console.log('Segment identify success.');\n }\n }\n );\n } else {\n api.reset();\n }\n }\n}\n","import { EnvironmentProviders, Injector, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { DbxAnalyticsSegmentApiService, DbxAnalyticsSegmentApiServiceConfig, PRELOAD_SEGMENT_TOKEN } from './segment.service';\n\nexport type DbxAnalyticsSegmentApiServiceConfigFactory = (injector: Injector) => DbxAnalyticsSegmentApiServiceConfig;\n\n/**\n * Configuration for provideDbxAnalyticsSegmentApiService()\n */\nexport interface ProvideDbxAnalyticsSegmentModuleConfig {\n readonly preloadSegmentToken?: boolean;\n readonly dbxAnalyticsSegmentApiServiceConfigFactory: DbxAnalyticsSegmentApiServiceConfigFactory;\n}\n\n/**\n * Creates a EnvironmentProviders that provides a DbxAnalyticsSegmentApiService.\n *\n * @param config Configuration\n * @returns EnvironmentProviders\n */\nexport function provideDbxAnalyticsSegmentApiService(config: ProvideDbxAnalyticsSegmentModuleConfig): EnvironmentProviders {\n const { preloadSegmentToken, dbxAnalyticsSegmentApiServiceConfigFactory } = config;\n\n const providers: Provider[] = [\n // configuration\n {\n provide: DbxAnalyticsSegmentApiServiceConfig,\n useFactory: dbxAnalyticsSegmentApiServiceConfigFactory,\n deps: [Injector]\n },\n // service\n DbxAnalyticsSegmentApiService\n ];\n\n if (preloadSegmentToken) {\n providers.push({\n provide: PRELOAD_SEGMENT_TOKEN,\n useValue: preloadSegmentToken\n });\n }\n\n return makeEnvironmentProviders(providers);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -26,5 +26,5 @@ export declare class DbxActionAnalyticsDirective<T, O> extends AbstractSubscript
|
|
|
26
26
|
ngOnInit(): void;
|
|
27
27
|
ngOnDestroy(): void;
|
|
28
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<DbxActionAnalyticsDirective<any, any>, never>;
|
|
29
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxActionAnalyticsDirective<any, any>, "[dbxActionAnalytics]", never, { "config": { "alias": "dbxActionAnalytics"; "required": false; }; }, {}, never, never,
|
|
29
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxActionAnalyticsDirective<any, any>, "[dbxActionAnalytics]", never, { "config": { "alias": "dbxActionAnalytics"; "required": false; }; }, {}, never, never, true, never>;
|
|
30
30
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./analytics.action.directive";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated The exported DbxActionAnalyticsDirective is now a standalone component. Import that instead.
|
|
5
|
+
*/
|
|
3
6
|
export declare class DbxAnalyticsActionModule {
|
|
4
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsActionModule, never>;
|
|
5
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DbxAnalyticsActionModule, [typeof i1.DbxActionAnalyticsDirective],
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DbxAnalyticsActionModule, never, [typeof i1.DbxActionAnalyticsDirective], [typeof i1.DbxActionAnalyticsDirective]>;
|
|
6
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<DbxAnalyticsActionModule>;
|
|
7
10
|
}
|
package/lib/action/index.d.ts
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EnvironmentProviders, Injector } from '@angular/core';
|
|
2
|
+
import { DbxAnalyticsServiceConfiguration } from './analytics.service';
|
|
3
|
+
export type DbxAnalyticsServiceConfigurationFactory = (injector: Injector) => DbxAnalyticsServiceConfiguration;
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for provideDbxAnalyticsService()
|
|
6
|
+
*/
|
|
7
|
+
export interface ProvideDbxAnalyticsConfig {
|
|
8
|
+
readonly dbxAnalyticsServiceConfigurationFactory: DbxAnalyticsServiceConfigurationFactory;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Creates a EnvironmentProviders that provides a DbxAnalyticsService.
|
|
12
|
+
*
|
|
13
|
+
* @param config Configuration
|
|
14
|
+
* @returns EnvironmentProviders
|
|
15
|
+
*/
|
|
16
|
+
export declare function provideDbxAnalyticsService(config: ProvideDbxAnalyticsConfig): EnvironmentProviders;
|
|
@@ -34,10 +34,10 @@ export declare abstract class AbstractDbxAnalyticsServiceListener implements Dbx
|
|
|
34
34
|
destroy(): void;
|
|
35
35
|
}
|
|
36
36
|
export declare abstract class DbxAnalyticsServiceConfiguration {
|
|
37
|
-
listeners: DbxAnalyticsServiceListener[];
|
|
38
|
-
isProduction?: boolean;
|
|
39
|
-
logEvents?: boolean;
|
|
40
|
-
userSource?: DbxAnalyticsUserSource;
|
|
37
|
+
readonly listeners: DbxAnalyticsServiceListener[];
|
|
38
|
+
readonly isProduction?: boolean;
|
|
39
|
+
readonly logEvents?: boolean;
|
|
40
|
+
readonly userSource?: DbxAnalyticsUserSource;
|
|
41
41
|
}
|
|
42
42
|
export interface DbxAnalyticsStreamEventAnalyticsEventWrapper extends DbxAnalyticsStreamEvent {
|
|
43
43
|
readonly event: DbxUserAnalyticsEvent;
|
|
@@ -55,7 +55,7 @@ export declare function dbxAnalyticsStreamEventAnalyticsEventWrapper(event: DbxU
|
|
|
55
55
|
* Primary analytics service that emits analytics events that components can listen to.
|
|
56
56
|
*/
|
|
57
57
|
export declare class DbxAnalyticsService implements DbxAnalyticsEventStreamService, DbxAnalyticsEventEmitterService, Destroyable {
|
|
58
|
-
private _config;
|
|
58
|
+
private readonly _config;
|
|
59
59
|
static readonly USER_REGISTRATION_EVENT_NAME = "User Registered";
|
|
60
60
|
static readonly USER_LOGIN_EVENT_NAME = "User Login";
|
|
61
61
|
static readonly USER_LOGOUT_EVENT_NAME = "User Logout";
|
package/lib/analytics/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
/// <reference types="segment-analytics" />
|
|
2
1
|
import { AbstractDbxAnalyticsServiceListener, DbxAnalyticsStreamEvent } from '../../analytics';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
/**
|
|
5
4
|
* DbxAnalyticsServiceListener adapter for Segment.
|
|
6
5
|
*/
|
|
7
6
|
export declare class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServiceListener {
|
|
8
|
-
private _segmentApi;
|
|
7
|
+
private readonly _segmentApi;
|
|
9
8
|
constructor();
|
|
10
9
|
protected _initializeServiceSubscription(): import("rxjs").Subscription;
|
|
11
10
|
protected handleStreamEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EnvironmentProviders, Injector } from '@angular/core';
|
|
2
|
+
import { DbxAnalyticsSegmentApiServiceConfig } from './segment.service';
|
|
3
|
+
export type DbxAnalyticsSegmentApiServiceConfigFactory = (injector: Injector) => DbxAnalyticsSegmentApiServiceConfig;
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for provideDbxAnalyticsSegmentApiService()
|
|
6
|
+
*/
|
|
7
|
+
export interface ProvideDbxAnalyticsSegmentModuleConfig {
|
|
8
|
+
readonly preloadSegmentToken?: boolean;
|
|
9
|
+
readonly dbxAnalyticsSegmentApiServiceConfigFactory: DbxAnalyticsSegmentApiServiceConfigFactory;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Creates a EnvironmentProviders that provides a DbxAnalyticsSegmentApiService.
|
|
13
|
+
*
|
|
14
|
+
* @param config Configuration
|
|
15
|
+
* @returns EnvironmentProviders
|
|
16
|
+
*/
|
|
17
|
+
export declare function provideDbxAnalyticsSegmentApiService(config: ProvideDbxAnalyticsSegmentModuleConfig): EnvironmentProviders;
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-analytics",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@dereekb/rxjs": "*",
|
|
6
6
|
"rxjs": "^7.5.0",
|
|
7
|
-
"@angular/core": "^
|
|
7
|
+
"@angular/core": "^18.0.0",
|
|
8
8
|
"@dereekb/dbx-core": "*",
|
|
9
9
|
"@dereekb/util": "*",
|
|
10
10
|
"@dereekb/browser": "*"
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { DbxActionAnalyticsDirective } from './analytics.action.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DbxAnalyticsActionModule {
|
|
5
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsActionModule, declarations: [DbxActionAnalyticsDirective], exports: [DbxActionAnalyticsDirective] });
|
|
7
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsActionModule });
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsActionModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
declarations: [DbxActionAnalyticsDirective],
|
|
13
|
-
exports: [DbxActionAnalyticsDirective]
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmFjdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYWN0aW9uL2FuYWx5dGljcy5hY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBTTNFLE1BQU0sT0FBTyx3QkFBd0I7d0dBQXhCLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGlCQUhwQiwyQkFBMkIsYUFDaEMsMkJBQTJCO3lHQUUxQix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSnBDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhBY3Rpb25BbmFseXRpY3NEaXJlY3RpdmUgfSBmcm9tICcuL2FuYWx5dGljcy5hY3Rpb24uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRGJ4QWN0aW9uQW5hbHl0aWNzRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0RieEFjdGlvbkFuYWx5dGljc0RpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4QW5hbHl0aWNzQWN0aW9uTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { DbxAnalyticsService } from './analytics.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DbxAnalyticsModule {
|
|
5
|
-
static forRoot(options) {
|
|
6
|
-
return {
|
|
7
|
-
ngModule: DbxAnalyticsModule,
|
|
8
|
-
providers: [
|
|
9
|
-
// Configuration
|
|
10
|
-
options.analyticsConfigurationProvider,
|
|
11
|
-
// Service
|
|
12
|
-
DbxAnalyticsService
|
|
13
|
-
]
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsModule });
|
|
18
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsModule });
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsModule, decorators: [{
|
|
21
|
-
type: NgModule
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1hbmFseXRpY3Mvc3JjL2xpYi9hbmFseXRpY3MvYW5hbHl0aWNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFVMUQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQWtDO1FBQy9DLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxnQkFBZ0I7Z0JBQ2hCLE9BQU8sQ0FBQyw4QkFBOEI7Z0JBQ3RDLFVBQVU7Z0JBQ1YsbUJBQW1CO2FBQ3BCO1NBQ0YsQ0FBQztJQUNKLENBQUM7d0dBWFUsa0JBQWtCO3lHQUFsQixrQkFBa0I7eUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4QW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vYW5hbHl0aWNzLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEFuYWx5dGljc01vZHVsZU9wdGlvbnMge1xuICAvKipcbiAgICogUHJvdmlkZXMgYSBBbmFseXRpY3NTZXJ2aWNlQ29uZmlndXJhdGlvbiB2YWx1ZS5cbiAgICovXG4gIGFuYWx5dGljc0NvbmZpZ3VyYXRpb25Qcm92aWRlcjogUHJvdmlkZXI7XG59XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgRGJ4QW5hbHl0aWNzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogRGJ4QW5hbHl0aWNzTW9kdWxlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4QW5hbHl0aWNzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEYnhBbmFseXRpY3NNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLy8gQ29uZmlndXJhdGlvblxuICAgICAgICBvcHRpb25zLmFuYWx5dGljc0NvbmZpZ3VyYXRpb25Qcm92aWRlcixcbiAgICAgICAgLy8gU2VydmljZVxuICAgICAgICBEYnhBbmFseXRpY3NTZXJ2aWNlXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { PRELOAD_SEGMENT_TOKEN } from './segment.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DbxAnalyticsSegmentModule {
|
|
5
|
-
static forRoot(preloadService) {
|
|
6
|
-
return {
|
|
7
|
-
ngModule: DbxAnalyticsSegmentModule,
|
|
8
|
-
providers: [
|
|
9
|
-
{
|
|
10
|
-
provide: PRELOAD_SEGMENT_TOKEN,
|
|
11
|
-
useValue: preloadService
|
|
12
|
-
}
|
|
13
|
-
]
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsSegmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsSegmentModule });
|
|
18
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsSegmentModule });
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxAnalyticsSegmentModule, decorators: [{
|
|
21
|
-
type: NgModule,
|
|
22
|
-
args: [{
|
|
23
|
-
declarations: [],
|
|
24
|
-
imports: []
|
|
25
|
-
}]
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvcHJvdmlkZXJzL3NlZ21lbnQvc2VnbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTTFELE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUF3QjtRQUNyQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtvQkFDOUIsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzt3R0FYVSx5QkFBeUI7eUdBQXpCLHlCQUF5Qjt5R0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQUpyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQUkVMT0FEX1NFR01FTlRfVE9LRU4gfSBmcm9tICcuL3NlZ21lbnQuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1NlZ21lbnRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChwcmVsb2FkU2VydmljZT86IGJvb2xlYW4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEFuYWx5dGljc1NlZ21lbnRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEFuYWx5dGljc1NlZ21lbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFBSRUxPQURfU0VHTUVOVF9UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogcHJlbG9hZFNlcnZpY2VcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ModuleWithProviders, Provider } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export interface DbxAnalyticsModuleOptions {
|
|
4
|
-
/**
|
|
5
|
-
* Provides a AnalyticsServiceConfiguration value.
|
|
6
|
-
*/
|
|
7
|
-
analyticsConfigurationProvider: Provider;
|
|
8
|
-
}
|
|
9
|
-
export declare class DbxAnalyticsModule {
|
|
10
|
-
static forRoot(options: DbxAnalyticsModuleOptions): ModuleWithProviders<DbxAnalyticsModule>;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DbxAnalyticsModule, never, never, never>;
|
|
13
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<DbxAnalyticsModule>;
|
|
14
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class DbxAnalyticsSegmentModule {
|
|
4
|
-
static forRoot(preloadService?: boolean): ModuleWithProviders<DbxAnalyticsSegmentModule>;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsSegmentModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DbxAnalyticsSegmentModule, never, never, never>;
|
|
7
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<DbxAnalyticsSegmentModule>;
|
|
8
|
-
}
|