@dereekb/dbx-analytics 12.6.21 → 13.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/fesm2022/dereekb-dbx-analytics.mjs +53 -63
- package/fesm2022/dereekb-dbx-analytics.mjs.map +1 -1
- package/package.json +9 -11
- package/types/dereekb-dbx-analytics.d.ts +257 -0
- package/esm2022/dereekb-dbx-analytics.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/action/analytics.action.directive.mjs +0 -56
- package/esm2022/lib/action/analytics.module.mjs +0 -19
- package/esm2022/lib/action/index.mjs +0 -3
- package/esm2022/lib/analytics/analytics.mjs +0 -2
- package/esm2022/lib/analytics/analytics.providers.mjs +0 -23
- package/esm2022/lib/analytics/analytics.service.mjs +0 -205
- package/esm2022/lib/analytics/analytics.stream.mjs +0 -22
- package/esm2022/lib/analytics/index.mjs +0 -5
- package/esm2022/lib/index.mjs +0 -4
- package/esm2022/lib/providers/index.mjs +0 -2
- package/esm2022/lib/providers/segment/index.mjs +0 -4
- package/esm2022/lib/providers/segment/segment.listener.service.mjs +0 -99
- package/esm2022/lib/providers/segment/segment.providers.mjs +0 -29
- package/esm2022/lib/providers/segment/segment.service.mjs +0 -64
- package/index.d.ts +0 -1
- package/lib/action/analytics.action.directive.d.ts +0 -28
- package/lib/action/analytics.module.d.ts +0 -10
- package/lib/action/index.d.ts +0 -2
- package/lib/analytics/analytics.d.ts +0 -25
- package/lib/analytics/analytics.providers.d.ts +0 -16
- package/lib/analytics/analytics.service.d.ts +0 -100
- package/lib/analytics/analytics.stream.d.ts +0 -26
- package/lib/analytics/index.d.ts +0 -4
- package/lib/index.d.ts +0 -3
- package/lib/providers/index.d.ts +0 -1
- package/lib/providers/segment/index.d.ts +0 -3
- package/lib/providers/segment/segment.listener.service.d.ts +0 -16
- package/lib/providers/segment/segment.providers.d.ts +0 -17
- package/lib/providers/segment/segment.service.d.ts +0 -27
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export var DbxAnalyticsStreamEventType;
|
|
2
|
-
(function (DbxAnalyticsStreamEventType) {
|
|
3
|
-
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["PageView"] = 0] = "PageView";
|
|
4
|
-
/**
|
|
5
|
-
* Emitted any time the user value changes.
|
|
6
|
-
*
|
|
7
|
-
* Can emit when the user goes from defined to undefined.
|
|
8
|
-
*/
|
|
9
|
-
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserChange"] = 1] = "UserChange";
|
|
10
|
-
/**
|
|
11
|
-
* Emitted any time the user id changes.
|
|
12
|
-
*/
|
|
13
|
-
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserIdChange"] = 2] = "UserIdChange";
|
|
14
|
-
// User Events
|
|
15
|
-
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["NewUserEvent"] = 3] = "NewUserEvent";
|
|
16
|
-
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserLoginEvent"] = 4] = "UserLoginEvent";
|
|
17
|
-
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserLogoutEvent"] = 5] = "UserLogoutEvent";
|
|
18
|
-
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserPropertiesEvent"] = 6] = "UserPropertiesEvent";
|
|
19
|
-
// Events
|
|
20
|
-
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["Event"] = 7] = "Event";
|
|
21
|
-
})(DbxAnalyticsStreamEventType || (DbxAnalyticsStreamEventType = {}));
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1hbmFseXRpY3Mvc3JjL2xpYi9hbmFseXRpY3MvYW5hbHl0aWNzLnN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQU4sSUFBWSwyQkFxQlg7QUFyQkQsV0FBWSwyQkFBMkI7SUFDckMscUZBQVEsQ0FBQTtJQUNSOzs7O09BSUc7SUFDSCx5RkFBVSxDQUFBO0lBQ1Y7O09BRUc7SUFDSCw2RkFBWSxDQUFBO0lBRVosY0FBYztJQUNkLDZGQUFZLENBQUE7SUFDWixpR0FBYyxDQUFBO0lBQ2QsbUdBQWUsQ0FBQTtJQUNmLDJHQUFtQixDQUFBO0lBRW5CLFNBQVM7SUFDVCwrRUFBSyxDQUFBO0FBQ1AsQ0FBQyxFQXJCVywyQkFBMkIsS0FBM0IsMkJBQTJCLFFBcUJ0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHR5cGUgRGJ4QW5hbHl0aWNzVXNlciwgdHlwZSBEYnhVc2VyQW5hbHl0aWNzRXZlbnQsIHR5cGUgRGJ4QW5hbHl0aWNzVXNlcklkIH0gZnJvbSAnLi9hbmFseXRpY3MnO1xuXG5leHBvcnQgZW51bSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUge1xuICBQYWdlVmlldyxcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYW55IHRpbWUgdGhlIHVzZXIgdmFsdWUgY2hhbmdlcy5cbiAgICpcbiAgICogQ2FuIGVtaXQgd2hlbiB0aGUgdXNlciBnb2VzIGZyb20gZGVmaW5lZCB0byB1bmRlZmluZWQuXG4gICAqL1xuICBVc2VyQ2hhbmdlLFxuICAvKipcbiAgICogRW1pdHRlZCBhbnkgdGltZSB0aGUgdXNlciBpZCBjaGFuZ2VzLlxuICAgKi9cbiAgVXNlcklkQ2hhbmdlLFxuXG4gIC8vIFVzZXIgRXZlbnRzXG4gIE5ld1VzZXJFdmVudCxcbiAgVXNlckxvZ2luRXZlbnQsXG4gIFVzZXJMb2dvdXRFdmVudCxcbiAgVXNlclByb3BlcnRpZXNFdmVudCxcblxuICAvLyBFdmVudHNcbiAgRXZlbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCB7XG4gIHJlYWRvbmx5IHR5cGU6IERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZTtcbiAgcmVhZG9ubHkgdXNlcj86IE1heWJlPERieEFuYWx5dGljc1VzZXI+O1xuICByZWFkb25seSBldmVudD86IERieFVzZXJBbmFseXRpY3NFdmVudDtcbiAgcmVhZG9ubHkgdXNlcklkPzogRGJ4QW5hbHl0aWNzVXNlcklkO1xufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './analytics.providers';
|
|
2
|
-
export * from './analytics.service';
|
|
3
|
-
export * from './analytics.stream';
|
|
4
|
-
export * from './analytics';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYW5hbHl0aWNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbmFseXRpY3MucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hbmFseXRpY3Muc3RyZWFtJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzJztcbiJdfQ==
|
package/esm2022/lib/index.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './action';
|
|
2
|
-
export * from './analytics';
|
|
3
|
-
export * from './providers';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2FuYWx5dGljcyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './segment';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWdtZW50JztcbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './segment.listener.service';
|
|
2
|
-
export * from './segment.providers';
|
|
3
|
-
export * from './segment.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvcHJvdmlkZXJzL3NlZ21lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlZ21lbnQubGlzdGVuZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlZ21lbnQucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VnbWVudC5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { combineLatest } from 'rxjs';
|
|
3
|
-
import { AbstractDbxAnalyticsServiceListener, DbxAnalyticsStreamEventType } from '../../analytics';
|
|
4
|
-
import { DbxAnalyticsSegmentApiService } from './segment.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* DbxAnalyticsServiceListener adapter for Segment.
|
|
8
|
-
*/
|
|
9
|
-
export class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServiceListener {
|
|
10
|
-
_segmentApi = inject(DbxAnalyticsSegmentApiService);
|
|
11
|
-
constructor() {
|
|
12
|
-
super();
|
|
13
|
-
if (this._segmentApi.config.logging) {
|
|
14
|
-
console.log('SegmentAnalyticsListenerService: Segment is logging events.');
|
|
15
|
-
}
|
|
16
|
-
if (!this._segmentApi.config.active) {
|
|
17
|
-
console.log('SegmentAnalyticsListenerService: Segment is disabled from sending events to the server.');
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
_initializeServiceSubscription() {
|
|
21
|
-
return combineLatest([this._segmentApi.service$, this.analyticsEvents$]).subscribe(([segment, streamEvent]) => {
|
|
22
|
-
if (this._segmentApi.config.logging) {
|
|
23
|
-
console.log('Segment Listener Logging Event: ', streamEvent);
|
|
24
|
-
}
|
|
25
|
-
if (this._segmentApi.config.active) {
|
|
26
|
-
this.handleStreamEvent(segment, streamEvent);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
handleStreamEvent(api, streamEvent) {
|
|
31
|
-
switch (streamEvent.type) {
|
|
32
|
-
case DbxAnalyticsStreamEventType.NewUserEvent:
|
|
33
|
-
this.updateWithNewUserEvent(api, streamEvent);
|
|
34
|
-
break;
|
|
35
|
-
case DbxAnalyticsStreamEventType.UserLoginEvent:
|
|
36
|
-
this.changeUser(api, streamEvent.user);
|
|
37
|
-
this.updateWithEvent(api, streamEvent);
|
|
38
|
-
break;
|
|
39
|
-
case DbxAnalyticsStreamEventType.Event:
|
|
40
|
-
this.updateWithEvent(api, streamEvent);
|
|
41
|
-
break;
|
|
42
|
-
case DbxAnalyticsStreamEventType.UserLogoutEvent:
|
|
43
|
-
this.changeUser(api, undefined);
|
|
44
|
-
break;
|
|
45
|
-
case DbxAnalyticsStreamEventType.PageView:
|
|
46
|
-
api.page();
|
|
47
|
-
break;
|
|
48
|
-
case DbxAnalyticsStreamEventType.UserChange:
|
|
49
|
-
this.changeUser(api, streamEvent.user);
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
updateWithNewUserEvent(api, streamEvent) {
|
|
54
|
-
this.changeUser(api, streamEvent.user);
|
|
55
|
-
}
|
|
56
|
-
updateWithEvent(api, streamEvent, name) {
|
|
57
|
-
const event = streamEvent.event;
|
|
58
|
-
const eventName = name || event?.name;
|
|
59
|
-
if (eventName) {
|
|
60
|
-
const value = event?.value;
|
|
61
|
-
const data = event?.data;
|
|
62
|
-
api.track(eventName, {
|
|
63
|
-
...(value != null
|
|
64
|
-
? {
|
|
65
|
-
value
|
|
66
|
-
}
|
|
67
|
-
: undefined),
|
|
68
|
-
...data
|
|
69
|
-
}, {}, () => {
|
|
70
|
-
if (this._segmentApi.config.logging) {
|
|
71
|
-
console.log('Segment track success.');
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
changeUser(api, user) {
|
|
77
|
-
if (user?.user) {
|
|
78
|
-
api.identify(user.user, {
|
|
79
|
-
...user.properties
|
|
80
|
-
}, {}, () => {
|
|
81
|
-
if (this._segmentApi.config.logging) {
|
|
82
|
-
console.log('Segment identify success.');
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
api.reset();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
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
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, decorators: [{
|
|
94
|
-
type: Injectable,
|
|
95
|
-
args: [{
|
|
96
|
-
providedIn: 'root'
|
|
97
|
-
}]
|
|
98
|
-
}], ctorParameters: () => [] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5saXN0ZW5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWFuYWx5dGljcy9zcmMvbGliL3Byb3ZpZGVycy9zZWdtZW50L3NlZ21lbnQubGlzdGVuZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBMkIsMkJBQTJCLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDOUksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLG1DQUFtQztJQUN4RSxXQUFXLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFckU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5RkFBeUYsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7SUFDSCxDQUFDO0lBRVMsOEJBQThCO1FBQ3RDLE9BQU8sYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQTBELEVBQUUsRUFBRTtZQUNySyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQy9ELENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxHQUFpQyxFQUFFLFdBQW9DO1FBQ2pHLFFBQVEsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLEtBQUssMkJBQTJCLENBQUMsWUFBWTtnQkFDM0MsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDOUMsTUFBTTtZQUNSLEtBQUssMkJBQTJCLENBQUMsY0FBYztnQkFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDdkMsTUFBTTtZQUNSLEtBQUssMkJBQTJCLENBQUMsS0FBSztnQkFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLDJCQUEyQixDQUFDLGVBQWU7Z0JBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1IsS0FBSywyQkFBMkIsQ0FBQyxRQUFRO2dCQUN2QyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1gsTUFBTTtZQUNSLEtBQUssMkJBQTJCLENBQUMsVUFBVTtnQkFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QyxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxHQUFpQyxFQUFFLFdBQW9DO1FBQ3RHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRVMsZUFBZSxDQUFDLEdBQWlDLEVBQUUsV0FBb0MsRUFBRSxJQUFhO1FBQzlHLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDaEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLEtBQUssRUFBRSxJQUFJLENBQUM7UUFFdEMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDM0IsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQztZQUV6QixHQUFHLENBQUMsS0FBSyxDQUNQLFNBQVMsRUFDVDtnQkFDRSxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUk7b0JBQ2YsQ0FBQyxDQUFDO3dCQUNFLEtBQUs7cUJBQ047b0JBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDZCxHQUFHLElBQUk7YUFDUixFQUNELEVBQUUsRUFDRixHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDO1lBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxHQUFpQyxFQUFFLElBQTZCO1FBQ2pGLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2YsR0FBRyxDQUFDLFFBQVEsQ0FDVixJQUFJLENBQUMsSUFBSSxFQUNUO2dCQUNFLEdBQUcsSUFBSSxDQUFDLFVBQVU7YUFDbkIsRUFDRCxFQUFFLEVBQ0YsR0FBRyxFQUFFO2dCQUNILElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzt3R0FwR1Usa0NBQWtDOzRHQUFsQyxrQ0FBa0MsY0FGakMsTUFBTTs7NEZBRVAsa0NBQWtDO2tCQUg5QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIsIERieEFuYWx5dGljc1N0cmVhbUV2ZW50LCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUsIERieEFuYWx5dGljc1VzZXIgfSBmcm9tICcuLi8uLi9hbmFseXRpY3MnO1xuaW1wb3J0IHsgRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UgfSBmcm9tICcuL3NlZ21lbnQuc2VydmljZSc7XG5cbi8qKlxuICogRGJ4QW5hbHl0aWNzU2VydmljZUxpc3RlbmVyIGFkYXB0ZXIgZm9yIFNlZ21lbnQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1NlZ21lbnRTZXJ2aWNlTGlzdGVuZXIgZXh0ZW5kcyBBYnN0cmFjdERieEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlZ21lbnRBcGkgPSBpbmplY3QoRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAodGhpcy5fc2VnbWVudEFwaS5jb25maWcubG9nZ2luZykge1xuICAgICAgY29uc29sZS5sb2coJ1NlZ21lbnRBbmFseXRpY3NMaXN0ZW5lclNlcnZpY2U6IFNlZ21lbnQgaXMgbG9nZ2luZyBldmVudHMuJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5hY3RpdmUpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50QW5hbHl0aWNzTGlzdGVuZXJTZXJ2aWNlOiBTZWdtZW50IGlzIGRpc2FibGVkIGZyb20gc2VuZGluZyBldmVudHMgdG8gdGhlIHNlcnZlci4nKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXRpYWxpemVTZXJ2aWNlU3Vic2NyaXB0aW9uKCkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLl9zZWdtZW50QXBpLnNlcnZpY2UkLCB0aGlzLmFuYWx5dGljc0V2ZW50cyRdKS5zdWJzY3JpYmUoKFtzZWdtZW50LCBzdHJlYW1FdmVudF06IFtTZWdtZW50QW5hbHl0aWNzLkFuYWx5dGljc0pTLCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudF0pID0+IHtcbiAgICAgIGlmICh0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5sb2dnaW5nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50IExpc3RlbmVyIExvZ2dpbmcgRXZlbnQ6ICcsIHN0cmVhbUV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3NlZ21lbnRBcGkuY29uZmlnLmFjdGl2ZSkge1xuICAgICAgICB0aGlzLmhhbmRsZVN0cmVhbUV2ZW50KHNlZ21lbnQsIHN0cmVhbUV2ZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTdHJlYW1FdmVudChhcGk6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMsIHN0cmVhbUV2ZW50OiBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCk6IHZvaWQge1xuICAgIHN3aXRjaCAoc3RyZWFtRXZlbnQudHlwZSkge1xuICAgICAgY2FzZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuTmV3VXNlckV2ZW50OlxuICAgICAgICB0aGlzLnVwZGF0ZVdpdGhOZXdVc2VyRXZlbnQoYXBpLCBzdHJlYW1FdmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlckxvZ2luRXZlbnQ6XG4gICAgICAgIHRoaXMuY2hhbmdlVXNlcihhcGksIHN0cmVhbUV2ZW50LnVzZXIpO1xuICAgICAgICB0aGlzLnVwZGF0ZVdpdGhFdmVudChhcGksIHN0cmVhbUV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5FdmVudDpcbiAgICAgICAgdGhpcy51cGRhdGVXaXRoRXZlbnQoYXBpLCBzdHJlYW1FdmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlckxvZ291dEV2ZW50OlxuICAgICAgICB0aGlzLmNoYW5nZVVzZXIoYXBpLCB1bmRlZmluZWQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlBhZ2VWaWV3OlxuICAgICAgICBhcGkucGFnZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJDaGFuZ2U6XG4gICAgICAgIHRoaXMuY2hhbmdlVXNlcihhcGksIHN0cmVhbUV2ZW50LnVzZXIpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlV2l0aE5ld1VzZXJFdmVudChhcGk6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMsIHN0cmVhbUV2ZW50OiBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlVXNlcihhcGksIHN0cmVhbUV2ZW50LnVzZXIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZVdpdGhFdmVudChhcGk6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMsIHN0cmVhbUV2ZW50OiBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCwgbmFtZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50ID0gc3RyZWFtRXZlbnQuZXZlbnQ7XG4gICAgY29uc3QgZXZlbnROYW1lID0gbmFtZSB8fCBldmVudD8ubmFtZTtcblxuICAgIGlmIChldmVudE5hbWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQ/LnZhbHVlO1xuICAgICAgY29uc3QgZGF0YSA9IGV2ZW50Py5kYXRhO1xuXG4gICAgICBhcGkudHJhY2soXG4gICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLih2YWx1ZSAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgLi4uZGF0YVxuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5sb2dnaW5nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnU2VnbWVudCB0cmFjayBzdWNjZXNzLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZVVzZXIoYXBpOiBTZWdtZW50QW5hbHl0aWNzLkFuYWx5dGljc0pTLCB1c2VyOiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPik6IHZvaWQge1xuICAgIGlmICh1c2VyPy51c2VyKSB7XG4gICAgICBhcGkuaWRlbnRpZnkoXG4gICAgICAgIHVzZXIudXNlcixcbiAgICAgICAge1xuICAgICAgICAgIC4uLnVzZXIucHJvcGVydGllc1xuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5sb2dnaW5nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnU2VnbWVudCBpZGVudGlmeSBzdWNjZXNzLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlc2V0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvcHJvdmlkZXJzL3NlZ21lbnQvc2VnbWVudC5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2QixRQUFRLEVBQUUsd0JBQXdCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxtQ0FBbUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBWTlIOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9DQUFvQyxDQUFDLE1BQThDO0lBQ2pHLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSwwQ0FBMEMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUVuRixNQUFNLFNBQVMsR0FBZTtRQUM1QixnQkFBZ0I7UUFDaEI7WUFDRSxPQUFPLEVBQUUsbUNBQW1DO1lBQzVDLFVBQVUsRUFBRSwwQ0FBMEM7WUFDdEQsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsVUFBVTtRQUNWLDZCQUE2QjtLQUM5QixDQUFDO0lBRUYsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsRUFBRSxtQkFBbUI7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRW52aXJvbm1lbnRQcm92aWRlcnMsIEluamVjdG9yLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsIHR5cGUgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlLCBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZUNvbmZpZywgUFJFTE9BRF9TRUdNRU5UX1RPS0VOIH0gZnJvbSAnLi9zZWdtZW50LnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZUNvbmZpZ0ZhY3RvcnkgPSAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZUNvbmZpZztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBwcm92aWRlRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UoKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVEYnhBbmFseXRpY3NTZWdtZW50TW9kdWxlQ29uZmlnIHtcbiAgcmVhZG9ubHkgcHJlbG9hZFNlZ21lbnRUb2tlbj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlQ29uZmlnRmFjdG9yeTogRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2VDb25maWdGYWN0b3J5O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBFbnZpcm9ubWVudFByb3ZpZGVycyB0aGF0IHByb3ZpZGVzIGEgRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UuXG4gKlxuICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uXG4gKiBAcmV0dXJucyBFbnZpcm9ubWVudFByb3ZpZGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlKGNvbmZpZzogUHJvdmlkZURieEFuYWx5dGljc1NlZ21lbnRNb2R1bGVDb25maWcpOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIGNvbnN0IHsgcHJlbG9hZFNlZ21lbnRUb2tlbiwgZGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2VDb25maWdGYWN0b3J5IH0gPSBjb25maWc7XG5cbiAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gW1xuICAgIC8vIGNvbmZpZ3VyYXRpb25cbiAgICB7XG4gICAgICBwcm92aWRlOiBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZUNvbmZpZyxcbiAgICAgIHVzZUZhY3Rvcnk6IGRieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlQ29uZmlnRmFjdG9yeSxcbiAgICAgIGRlcHM6IFtJbmplY3Rvcl1cbiAgICB9LFxuICAgIC8vIHNlcnZpY2VcbiAgICBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZVxuICBdO1xuXG4gIGlmIChwcmVsb2FkU2VnbWVudFRva2VuKSB7XG4gICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogUFJFTE9BRF9TRUdNRU5UX1RPS0VOLFxuICAgICAgdXNlVmFsdWU6IHByZWxvYWRTZWdtZW50VG9rZW5cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMocHJvdmlkZXJzKTtcbn1cbiJdfQ==
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Injectable, InjectionToken, Inject, inject, Optional } from '@angular/core';
|
|
2
|
-
import { AbstractAsyncWindowLoadedService } from '@dereekb/browser';
|
|
3
|
-
import { poll } from '@dereekb/util';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export const PRELOAD_SEGMENT_TOKEN = new InjectionToken('DbxAnalyticsSegmentApiServicePreload');
|
|
6
|
-
export class DbxAnalyticsSegmentApiServiceConfig {
|
|
7
|
-
writeKey;
|
|
8
|
-
logging = true;
|
|
9
|
-
active = true;
|
|
10
|
-
constructor(writeKey) {
|
|
11
|
-
this.writeKey = writeKey;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Segment API Service used for waiting/retrieving the segment API from window when initialized.
|
|
16
|
-
*
|
|
17
|
-
* This requires some setup in index.html.
|
|
18
|
-
*/
|
|
19
|
-
export class DbxAnalyticsSegmentApiService extends AbstractAsyncWindowLoadedService {
|
|
20
|
-
_config = inject(DbxAnalyticsSegmentApiServiceConfig);
|
|
21
|
-
static SEGMENT_API_WINDOW_KEY = 'analytics';
|
|
22
|
-
static SEGMENT_READY_KEY = 'SegmentReady';
|
|
23
|
-
constructor(preload) {
|
|
24
|
-
super(DbxAnalyticsSegmentApiService.SEGMENT_API_WINDOW_KEY, undefined, 'Segment', preload);
|
|
25
|
-
}
|
|
26
|
-
get config() {
|
|
27
|
-
return this._config;
|
|
28
|
-
}
|
|
29
|
-
_prepareCompleteLoadingService() {
|
|
30
|
-
return poll({
|
|
31
|
-
// poll until analytics.invoked is true.
|
|
32
|
-
check: () => Boolean(window.analytics.invoked),
|
|
33
|
-
timesToGiveup: 100
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
_initService(service) {
|
|
37
|
-
return new Promise((resolve, reject) => {
|
|
38
|
-
try {
|
|
39
|
-
service.load(this._config.writeKey); // Initialize Segment
|
|
40
|
-
// Wait for the service to ready itself.
|
|
41
|
-
service.ready(() => {
|
|
42
|
-
// Segment changes itself or rather the target, and the previous initial target is ignored after.
|
|
43
|
-
const segment = window[DbxAnalyticsSegmentApiService.SEGMENT_API_WINDOW_KEY];
|
|
44
|
-
resolve(segment);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
console.log('Failed to init segment: ' + e);
|
|
49
|
-
reject(e);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
}
|
|
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
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAnalyticsSegmentApiService, decorators: [{
|
|
57
|
-
type: Injectable
|
|
58
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
59
|
-
type: Optional
|
|
60
|
-
}, {
|
|
61
|
-
type: Inject,
|
|
62
|
-
args: [PRELOAD_SEGMENT_TOKEN]
|
|
63
|
-
}] }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWFuYWx5dGljcy9zcmMvbGliL3Byb3ZpZGVycy9zZWdtZW50L3NlZ21lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQVMsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU1QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBUyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRXhHLE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUMsUUFBUSxDQUFTO0lBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2QsWUFBWSxRQUFnQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFPRDs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGdDQUE4RDtJQUM5RixPQUFPLEdBQUcsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFdkUsTUFBTSxDQUFVLHNCQUFzQixHQUFHLFdBQVcsQ0FBQztJQUNyRCxNQUFNLENBQVUsaUJBQWlCLEdBQUcsY0FBYyxDQUFDO0lBRW5ELFlBQXVELE9BQXdCO1FBQzdFLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVrQiw4QkFBOEI7UUFDL0MsT0FBTyxJQUFJLENBQUM7WUFDVix3Q0FBd0M7WUFDeEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBRSxNQUFNLENBQUMsU0FBcUMsQ0FBQyxPQUFPLENBQUM7WUFDM0UsYUFBYSxFQUFFLEdBQUc7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVrQixZQUFZLENBQUMsT0FBcUM7UUFDbkUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMscUJBQXFCO2dCQUUxRCx3Q0FBd0M7Z0JBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO29CQUNqQixpR0FBaUc7b0JBQ2pHLE1BQU0sT0FBTyxHQUFpQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFDM0csT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBdENVLDZCQUE2QixrQkFNUixxQkFBcUI7NEdBTjFDLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVTs7MEJBT0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0LCBpbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEFzeW5jV2luZG93TG9hZGVkU2VydmljZSB9IGZyb20gJ0BkZXJlZWtiL2Jyb3dzZXInO1xuaW1wb3J0IHsgTWF5YmUsIHBvbGwgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGNvbnN0IFBSRUxPQURfU0VHTUVOVF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZVByZWxvYWQnKTtcblxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlQ29uZmlnIHtcbiAgd3JpdGVLZXk6IHN0cmluZztcbiAgbG9nZ2luZyA9IHRydWU7XG4gIGFjdGl2ZSA9IHRydWU7XG4gIGNvbnN0cnVjdG9yKHdyaXRlS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLndyaXRlS2V5ID0gd3JpdGVLZXk7XG4gIH1cbn1cblxuLyoqXG4gKiBXaGVuIHRoZSBTZWdtZW50IGxpYnJhcnkgZmluaXNoZXMgbG9hZGluZywgaXQgaXMgaW52b2tlZC5cbiAqL1xudHlwZSBTZWdtZW50QW5hbHl0aWNzSW52b2tlZCA9IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMgJiB7IGludm9rZWQ/OiBib29sZWFuIH07XG5cbi8qKlxuICogU2VnbWVudCBBUEkgU2VydmljZSB1c2VkIGZvciB3YWl0aW5nL3JldHJpZXZpbmcgdGhlIHNlZ21lbnQgQVBJIGZyb20gd2luZG93IHdoZW4gaW5pdGlhbGl6ZWQuXG4gKlxuICogVGhpcyByZXF1aXJlcyBzb21lIHNldHVwIGluIGluZGV4Lmh0bWwuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZSBleHRlbmRzIEFic3RyYWN0QXN5bmNXaW5kb3dMb2FkZWRTZXJ2aWNlPFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlM+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnID0gaW5qZWN0KERieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlQ29uZmlnKTtcblxuICBzdGF0aWMgcmVhZG9ubHkgU0VHTUVOVF9BUElfV0lORE9XX0tFWSA9ICdhbmFseXRpY3MnO1xuICBzdGF0aWMgcmVhZG9ubHkgU0VHTUVOVF9SRUFEWV9LRVkgPSAnU2VnbWVudFJlYWR5JztcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KFBSRUxPQURfU0VHTUVOVF9UT0tFTikgcHJlbG9hZD86IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgc3VwZXIoRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UuU0VHTUVOVF9BUElfV0lORE9XX0tFWSwgdW5kZWZpbmVkLCAnU2VnbWVudCcsIHByZWxvYWQpO1xuICB9XG5cbiAgZ2V0IGNvbmZpZygpOiBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZUNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfcHJlcGFyZUNvbXBsZXRlTG9hZGluZ1NlcnZpY2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHBvbGwoe1xuICAgICAgLy8gcG9sbCB1bnRpbCBhbmFseXRpY3MuaW52b2tlZCBpcyB0cnVlLlxuICAgICAgY2hlY2s6ICgpID0+IEJvb2xlYW4oKHdpbmRvdy5hbmFseXRpY3MgYXMgU2VnbWVudEFuYWx5dGljc0ludm9rZWQpLmludm9rZWQpLFxuICAgICAgdGltZXNUb0dpdmV1cDogMTAwXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2luaXRTZXJ2aWNlKHNlcnZpY2U6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMpOiBQcm9taXNlPFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2VydmljZS5sb2FkKHRoaXMuX2NvbmZpZy53cml0ZUtleSk7IC8vIEluaXRpYWxpemUgU2VnbWVudFxuXG4gICAgICAgIC8vIFdhaXQgZm9yIHRoZSBzZXJ2aWNlIHRvIHJlYWR5IGl0c2VsZi5cbiAgICAgICAgc2VydmljZS5yZWFkeSgoKSA9PiB7XG4gICAgICAgICAgLy8gU2VnbWVudCBjaGFuZ2VzIGl0c2VsZiBvciByYXRoZXIgdGhlIHRhcmdldCwgYW5kIHRoZSBwcmV2aW91cyBpbml0aWFsIHRhcmdldCBpcyBpZ25vcmVkIGFmdGVyLlxuICAgICAgICAgIGNvbnN0IHNlZ21lbnQ6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMgPSB3aW5kb3dbRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UuU0VHTUVOVF9BUElfV0lORE9XX0tFWV07XG4gICAgICAgICAgcmVzb2x2ZShzZWdtZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdGYWlsZWQgdG8gaW5pdCBzZWdtZW50OiAnICsgZSk7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './lib';
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { OnInit, OnDestroy } from '@angular/core';
|
|
3
|
-
import { DbxActionContextStoreSourceInstance, AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
4
|
-
import { DbxAnalyticsService } from '../analytics/analytics.service';
|
|
5
|
-
import { Maybe, ReadableError } from '@dereekb/util';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* DbxActionAnalyticsDirective config
|
|
9
|
-
*/
|
|
10
|
-
export interface DbxActionAnalyticsConfig<T = unknown, O = unknown> {
|
|
11
|
-
onTriggered?: (service: DbxAnalyticsService) => void;
|
|
12
|
-
onReady?: (service: DbxAnalyticsService, value: T) => void;
|
|
13
|
-
onSuccess?: (service: DbxAnalyticsService, result: Maybe<O>, value: T) => void;
|
|
14
|
-
onError?: (service: DbxAnalyticsService, error: Maybe<ReadableError>) => void;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Used to listen to an ActionContext and send analytical events based on action events.
|
|
18
|
-
*/
|
|
19
|
-
export declare class DbxActionAnalyticsDirective<T, O> extends AbstractSubscriptionDirective implements OnInit, OnDestroy {
|
|
20
|
-
readonly source: DbxActionContextStoreSourceInstance<T, O>;
|
|
21
|
-
readonly analyticsService: DbxAnalyticsService;
|
|
22
|
-
readonly config: import("@angular/core").InputSignal<Maybe<DbxActionAnalyticsConfig<T, O>>>;
|
|
23
|
-
readonly config$: Observable<DbxActionAnalyticsConfig<T, O>>;
|
|
24
|
-
ngOnInit(): void;
|
|
25
|
-
ngOnDestroy(): void;
|
|
26
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxActionAnalyticsDirective<any, any>, never>;
|
|
27
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DbxActionAnalyticsDirective<any, any>, "[dbxActionAnalytics]", never, { "config": { "alias": "dbxActionAnalytics"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
28
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./analytics.action.directive";
|
|
3
|
-
/**
|
|
4
|
-
* @deprecated The exported DbxActionAnalyticsDirective is now a standalone component. Import that instead.
|
|
5
|
-
*/
|
|
6
|
-
export declare class DbxAnalyticsActionModule {
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsActionModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DbxAnalyticsActionModule, never, [typeof i1.DbxActionAnalyticsDirective], [typeof i1.DbxActionAnalyticsDirective]>;
|
|
9
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<DbxAnalyticsActionModule>;
|
|
10
|
-
}
|
package/lib/action/index.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type Maybe, type PrimativeKey } from '@dereekb/util';
|
|
2
|
-
export type DbxAnalyticsEventName = string;
|
|
3
|
-
export type DbxAnalyticsUserId = string;
|
|
4
|
-
export interface DbxAnalyticsUserProperties {
|
|
5
|
-
readonly [key: string]: PrimativeKey | boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface DbxAnalyticsUser {
|
|
8
|
-
readonly user: DbxAnalyticsUserId;
|
|
9
|
-
readonly properties?: DbxAnalyticsUserProperties;
|
|
10
|
-
}
|
|
11
|
-
export interface DbxAnalyticsEventData {
|
|
12
|
-
readonly [key: string]: PrimativeKey | boolean;
|
|
13
|
-
}
|
|
14
|
-
export interface DbxAnalyticsEvent {
|
|
15
|
-
readonly name?: DbxAnalyticsEventName;
|
|
16
|
-
readonly value?: number;
|
|
17
|
-
readonly data?: DbxAnalyticsEventData;
|
|
18
|
-
}
|
|
19
|
-
export interface DbxUserAnalyticsEvent extends DbxAnalyticsEvent {
|
|
20
|
-
readonly user?: Maybe<DbxAnalyticsUser>;
|
|
21
|
-
}
|
|
22
|
-
export type NewUserRegistrationMethod = 'facebook' | 'google' | 'email' | string;
|
|
23
|
-
export interface NewUserAnalyticsEventData extends DbxAnalyticsEventData {
|
|
24
|
-
method: NewUserRegistrationMethod;
|
|
25
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type 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;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { Observable, BehaviorSubject, Subscription } from 'rxjs';
|
|
2
|
-
import { DbxAnalyticsEvent, DbxAnalyticsEventData, DbxAnalyticsEventName, DbxAnalyticsUser, NewUserAnalyticsEventData, DbxUserAnalyticsEvent } from './analytics';
|
|
3
|
-
import { DbxAnalyticsStreamEvent, DbxAnalyticsStreamEventType } from './analytics.stream';
|
|
4
|
-
import { Maybe, Destroyable } from '@dereekb/util';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare abstract class DbxAnalyticsEventEmitterService {
|
|
7
|
-
abstract sendNewUserEvent(user: DbxAnalyticsUser, data: NewUserAnalyticsEventData): void;
|
|
8
|
-
abstract sendUserLoginEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;
|
|
9
|
-
abstract sendUserLogoutEvent(data?: DbxAnalyticsEventData): void;
|
|
10
|
-
abstract sendUserPropertiesEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;
|
|
11
|
-
abstract sendEventData(name: DbxAnalyticsEventName, data?: DbxAnalyticsEventData): void;
|
|
12
|
-
abstract sendEvent(event: DbxAnalyticsEvent): void;
|
|
13
|
-
abstract sendPageView(page?: string): void;
|
|
14
|
-
}
|
|
15
|
-
export declare abstract class DbxAnalyticsEventStreamService {
|
|
16
|
-
abstract readonly events$: Observable<DbxAnalyticsStreamEvent>;
|
|
17
|
-
}
|
|
18
|
-
export declare abstract class DbxAnalyticsUserSource {
|
|
19
|
-
abstract readonly analyticsUser$: Observable<Maybe<DbxAnalyticsUser>>;
|
|
20
|
-
}
|
|
21
|
-
export declare abstract class DbxAnalyticsServiceListener {
|
|
22
|
-
abstract listenToService(service: DbxAnalyticsService): void;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Abstract AnalyticsServiceListener implementation.
|
|
26
|
-
*/
|
|
27
|
-
export declare abstract class AbstractDbxAnalyticsServiceListener implements DbxAnalyticsServiceListener, Destroyable {
|
|
28
|
-
private _sub;
|
|
29
|
-
protected _analytics: BehaviorSubject<Maybe<DbxAnalyticsService>>;
|
|
30
|
-
readonly analytics$: Observable<DbxAnalyticsService>;
|
|
31
|
-
readonly analyticsEvents$: Observable<DbxAnalyticsStreamEvent>;
|
|
32
|
-
listenToService(service: DbxAnalyticsService): void;
|
|
33
|
-
protected abstract _initializeServiceSubscription(): Subscription | false;
|
|
34
|
-
destroy(): void;
|
|
35
|
-
}
|
|
36
|
-
export declare abstract class DbxAnalyticsServiceConfiguration {
|
|
37
|
-
readonly listeners: DbxAnalyticsServiceListener[];
|
|
38
|
-
readonly isProduction?: boolean;
|
|
39
|
-
readonly logEvents?: boolean;
|
|
40
|
-
readonly userSource?: DbxAnalyticsUserSource;
|
|
41
|
-
}
|
|
42
|
-
export interface DbxAnalyticsStreamEventAnalyticsEventWrapper extends DbxAnalyticsStreamEvent {
|
|
43
|
-
readonly event: DbxUserAnalyticsEvent;
|
|
44
|
-
readonly type: DbxAnalyticsStreamEventType;
|
|
45
|
-
readonly user: Maybe<DbxAnalyticsUser>;
|
|
46
|
-
readonly userId: string | undefined;
|
|
47
|
-
}
|
|
48
|
-
export declare function dbxAnalyticsStreamEventAnalyticsEventWrapper(event: DbxUserAnalyticsEvent, type?: DbxAnalyticsStreamEventType): {
|
|
49
|
-
event: DbxUserAnalyticsEvent;
|
|
50
|
-
type: DbxAnalyticsStreamEventType;
|
|
51
|
-
user: Maybe<DbxAnalyticsUser>;
|
|
52
|
-
userId: string | undefined;
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Primary analytics service that emits analytics events that components can listen to.
|
|
56
|
-
*/
|
|
57
|
-
export declare class DbxAnalyticsService implements DbxAnalyticsEventStreamService, DbxAnalyticsEventEmitterService, Destroyable {
|
|
58
|
-
private readonly _config;
|
|
59
|
-
static readonly USER_REGISTRATION_EVENT_NAME = "User Registered";
|
|
60
|
-
static readonly USER_LOGIN_EVENT_NAME = "User Login";
|
|
61
|
-
static readonly USER_LOGOUT_EVENT_NAME = "User Logout";
|
|
62
|
-
static readonly USER_PROPERTIES_EVENT_NAME = "User Properties";
|
|
63
|
-
private _subject;
|
|
64
|
-
readonly events$: Observable<DbxAnalyticsStreamEvent>;
|
|
65
|
-
private _userSource;
|
|
66
|
-
readonly user$: Observable<Maybe<DbxAnalyticsUser>>;
|
|
67
|
-
private _userSourceSub;
|
|
68
|
-
private _userIdEventSub;
|
|
69
|
-
private _loggerSub;
|
|
70
|
-
constructor(userSource?: Maybe<DbxAnalyticsUserSource>);
|
|
71
|
-
/**
|
|
72
|
-
* Sets the user directly, overridding the UserSource.
|
|
73
|
-
*/
|
|
74
|
-
setUser(user: Maybe<DbxAnalyticsUser>): void;
|
|
75
|
-
setUserSource(source: DbxAnalyticsUserSource): void;
|
|
76
|
-
/**
|
|
77
|
-
* Sends an event.
|
|
78
|
-
*/
|
|
79
|
-
sendNewUserEvent(user: DbxAnalyticsUser, data: NewUserAnalyticsEventData): void;
|
|
80
|
-
sendUserLoginEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;
|
|
81
|
-
sendUserLogoutEvent(data?: DbxAnalyticsEventData, clearUser?: boolean): void;
|
|
82
|
-
sendUserPropertiesEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;
|
|
83
|
-
sendEventData(name: DbxAnalyticsEventName, data?: DbxAnalyticsEventData): void;
|
|
84
|
-
sendEventType(eventType: DbxAnalyticsEventName): void;
|
|
85
|
-
sendEvent(event: DbxAnalyticsEvent): void;
|
|
86
|
-
sendPageView(page?: string): void;
|
|
87
|
-
/**
|
|
88
|
-
* Sends the next event.
|
|
89
|
-
*
|
|
90
|
-
* @param event
|
|
91
|
-
* @param type
|
|
92
|
-
* @param userOverride Uses this user if set as null or an override value. If undefined the current analytics user is used.
|
|
93
|
-
*/
|
|
94
|
-
protected sendNextEvent(event: DbxAnalyticsEvent | undefined, type: DbxAnalyticsStreamEventType, userOverride?: Maybe<DbxAnalyticsUser>): void;
|
|
95
|
-
protected nextEvent(event: DbxUserAnalyticsEvent, type: DbxAnalyticsStreamEventType): void;
|
|
96
|
-
private _init;
|
|
97
|
-
destroy(): void;
|
|
98
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsService, [{ optional: true; }]>;
|
|
99
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DbxAnalyticsService>;
|
|
100
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type Maybe } from '@dereekb/util';
|
|
2
|
-
import { type DbxAnalyticsUser, type DbxUserAnalyticsEvent, type DbxAnalyticsUserId } from './analytics';
|
|
3
|
-
export declare enum DbxAnalyticsStreamEventType {
|
|
4
|
-
PageView = 0,
|
|
5
|
-
/**
|
|
6
|
-
* Emitted any time the user value changes.
|
|
7
|
-
*
|
|
8
|
-
* Can emit when the user goes from defined to undefined.
|
|
9
|
-
*/
|
|
10
|
-
UserChange = 1,
|
|
11
|
-
/**
|
|
12
|
-
* Emitted any time the user id changes.
|
|
13
|
-
*/
|
|
14
|
-
UserIdChange = 2,
|
|
15
|
-
NewUserEvent = 3,
|
|
16
|
-
UserLoginEvent = 4,
|
|
17
|
-
UserLogoutEvent = 5,
|
|
18
|
-
UserPropertiesEvent = 6,
|
|
19
|
-
Event = 7
|
|
20
|
-
}
|
|
21
|
-
export interface DbxAnalyticsStreamEvent {
|
|
22
|
-
readonly type: DbxAnalyticsStreamEventType;
|
|
23
|
-
readonly user?: Maybe<DbxAnalyticsUser>;
|
|
24
|
-
readonly event?: DbxUserAnalyticsEvent;
|
|
25
|
-
readonly userId?: DbxAnalyticsUserId;
|
|
26
|
-
}
|
package/lib/analytics/index.d.ts
DELETED
package/lib/index.d.ts
DELETED
package/lib/providers/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './segment';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AbstractDbxAnalyticsServiceListener, DbxAnalyticsStreamEvent } from '../../analytics';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* DbxAnalyticsServiceListener adapter for Segment.
|
|
5
|
-
*/
|
|
6
|
-
export declare class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServiceListener {
|
|
7
|
-
private readonly _segmentApi;
|
|
8
|
-
constructor();
|
|
9
|
-
protected _initializeServiceSubscription(): import("rxjs").Subscription;
|
|
10
|
-
protected handleStreamEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void;
|
|
11
|
-
protected updateWithNewUserEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void;
|
|
12
|
-
protected updateWithEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent, name?: string): void;
|
|
13
|
-
private changeUser;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsSegmentServiceListener, never>;
|
|
15
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DbxAnalyticsSegmentServiceListener>;
|
|
16
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type 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;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { AbstractAsyncWindowLoadedService } from '@dereekb/browser';
|
|
3
|
-
import { Maybe } from '@dereekb/util';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare const PRELOAD_SEGMENT_TOKEN: InjectionToken<string>;
|
|
6
|
-
export declare class DbxAnalyticsSegmentApiServiceConfig {
|
|
7
|
-
writeKey: string;
|
|
8
|
-
logging: boolean;
|
|
9
|
-
active: boolean;
|
|
10
|
-
constructor(writeKey: string);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Segment API Service used for waiting/retrieving the segment API from window when initialized.
|
|
14
|
-
*
|
|
15
|
-
* This requires some setup in index.html.
|
|
16
|
-
*/
|
|
17
|
-
export declare class DbxAnalyticsSegmentApiService extends AbstractAsyncWindowLoadedService<SegmentAnalytics.AnalyticsJS> {
|
|
18
|
-
private readonly _config;
|
|
19
|
-
static readonly SEGMENT_API_WINDOW_KEY = "analytics";
|
|
20
|
-
static readonly SEGMENT_READY_KEY = "SegmentReady";
|
|
21
|
-
constructor(preload?: Maybe<boolean>);
|
|
22
|
-
get config(): DbxAnalyticsSegmentApiServiceConfig;
|
|
23
|
-
protected _prepareCompleteLoadingService(): Promise<void>;
|
|
24
|
-
protected _initService(service: SegmentAnalytics.AnalyticsJS): Promise<SegmentAnalytics.AnalyticsJS>;
|
|
25
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsSegmentApiService, [{ optional: true; }]>;
|
|
26
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DbxAnalyticsSegmentApiService>;
|
|
27
|
-
}
|