@dereekb/dbx-analytics 1.1.0 → 2.1.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.
@@ -1,87 +1,87 @@
1
1
  import { Observable, BehaviorSubject, Subscription } from 'rxjs';
2
- import { AnalyticsEvent, AnalyticsEventData, AnalyticsEventName, AnalyticsUser, NewUserAnalyticsEventData, UserAnalyticsEvent } from './analytics';
3
- import { AnalyticsStreamEvent, AnalyticsStreamEventType } from './analytics.stream';
2
+ import { DbxAnalyticsEvent, DbxAnalyticsEventData, DbxAnalyticsEventName, DbxAnalyticsUser, NewUserAnalyticsEventData, DbxUserAnalyticsEvent } from './analytics';
3
+ import { DbxAnalyticsStreamEvent, DbxAnalyticsStreamEventType } from './analytics.stream';
4
4
  import { Maybe, Destroyable } from '@dereekb/util';
5
5
  import * as i0 from "@angular/core";
6
- export declare abstract class AnalyticsEventEmitterService {
7
- abstract sendNewUserEvent(user: AnalyticsUser, data: NewUserAnalyticsEventData): void;
8
- abstract sendUserLoginEvent(user: AnalyticsUser, data?: AnalyticsEventData): void;
9
- abstract sendUserLogoutEvent(data?: AnalyticsEventData): void;
10
- abstract sendUserPropertiesEvent(user: AnalyticsUser, data?: AnalyticsEventData): void;
11
- abstract sendEventData(name: AnalyticsEventName, data?: AnalyticsEventData): void;
12
- abstract sendEvent(event: AnalyticsEvent): void;
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
13
  abstract sendPageView(page?: string): void;
14
14
  }
15
- export declare abstract class AnalyticsEventStreamService {
16
- abstract readonly events$: Observable<AnalyticsStreamEvent>;
15
+ export declare abstract class DbxAnalyticsEventStreamService {
16
+ abstract readonly events$: Observable<DbxAnalyticsStreamEvent>;
17
17
  }
18
- export declare abstract class AnalyticsUserSource {
19
- abstract readonly analyticsUser$: Observable<Maybe<AnalyticsUser>>;
18
+ export declare abstract class DbxAnalyticsUserSource {
19
+ abstract readonly analyticsUser$: Observable<Maybe<DbxAnalyticsUser>>;
20
20
  }
21
- export declare abstract class AnalyticsServiceListener {
22
- abstract listenToService(service: AnalyticsService): void;
21
+ export declare abstract class DbxAnalyticsServiceListener {
22
+ abstract listenToService(service: DbxAnalyticsService): void;
23
23
  }
24
24
  /**
25
25
  * Abstract AnalyticsServiceListener implementation.
26
26
  */
27
- export declare abstract class AbstractAnalyticsServiceListener implements AnalyticsServiceListener, Destroyable {
27
+ export declare abstract class AbstractDbxAnalyticsServiceListener implements DbxAnalyticsServiceListener, Destroyable {
28
28
  private _sub;
29
- protected _analytics: BehaviorSubject<Maybe<AnalyticsService>>;
30
- readonly analytics$: Observable<AnalyticsService>;
31
- readonly analyticsEvents$: Observable<AnalyticsStreamEvent>;
32
- listenToService(service: AnalyticsService): void;
29
+ protected _analytics: BehaviorSubject<Maybe<DbxAnalyticsService>>;
30
+ readonly analytics$: Observable<DbxAnalyticsService>;
31
+ readonly analyticsEvents$: Observable<DbxAnalyticsStreamEvent>;
32
+ listenToService(service: DbxAnalyticsService): void;
33
33
  protected abstract _initializeServiceSubscription(): Subscription | false;
34
34
  destroy(): void;
35
35
  }
36
- export declare abstract class AnalyticsServiceConfiguration {
37
- listeners: AnalyticsServiceListener[];
36
+ export declare abstract class DbxAnalyticsServiceConfiguration {
37
+ listeners: DbxAnalyticsServiceListener[];
38
38
  isProduction?: boolean;
39
39
  logEvents?: boolean;
40
- userSource?: AnalyticsUserSource;
40
+ userSource?: DbxAnalyticsUserSource;
41
41
  }
42
- export declare class AnalyticsStreamEventAnalyticsEventWrapper implements AnalyticsStreamEvent {
43
- readonly event: UserAnalyticsEvent;
44
- readonly type: AnalyticsStreamEventType;
45
- constructor(event: UserAnalyticsEvent, type?: AnalyticsStreamEventType);
46
- get user(): Maybe<AnalyticsUser>;
42
+ export declare class DbxAnalyticsStreamEventAnalyticsEventWrapper implements DbxAnalyticsStreamEvent {
43
+ readonly event: DbxUserAnalyticsEvent;
44
+ readonly type: DbxAnalyticsStreamEventType;
45
+ constructor(event: DbxUserAnalyticsEvent, type?: DbxAnalyticsStreamEventType);
46
+ get user(): Maybe<DbxAnalyticsUser>;
47
47
  get userId(): string | undefined;
48
48
  }
49
49
  /**
50
50
  * Primary analytics service that emits analytics events that components can listen to.
51
51
  */
52
- export declare class AnalyticsService implements AnalyticsEventStreamService, AnalyticsEventEmitterService, Destroyable {
52
+ export declare class DbxAnalyticsService implements DbxAnalyticsEventStreamService, DbxAnalyticsEventEmitterService, Destroyable {
53
53
  private _config;
54
54
  static readonly USER_REGISTRATION_EVENT_NAME = "User Registered";
55
55
  static readonly USER_LOGIN_EVENT_NAME = "User Login";
56
56
  static readonly USER_LOGOUT_EVENT_NAME = "User Logout";
57
57
  static readonly USER_PROPERTIES_EVENT_NAME = "User Properties";
58
58
  private _subject;
59
- readonly events$: Observable<AnalyticsStreamEvent>;
59
+ readonly events$: Observable<DbxAnalyticsStreamEvent>;
60
60
  private _userSource;
61
- readonly user$: Observable<Maybe<AnalyticsUser>>;
61
+ readonly user$: Observable<Maybe<DbxAnalyticsUser>>;
62
62
  private _userSourceSub;
63
63
  private _loggerSub;
64
- constructor(_config: AnalyticsServiceConfiguration, userSource?: Maybe<AnalyticsUserSource>);
64
+ constructor(_config: DbxAnalyticsServiceConfiguration, userSource?: Maybe<DbxAnalyticsUserSource>);
65
65
  /**
66
66
  * Sets the user directly.
67
67
  */
68
- setUser(user: Maybe<AnalyticsUser>): void;
69
- setUserSource(source: AnalyticsUserSource): void;
68
+ setUser(user: Maybe<DbxAnalyticsUser>): void;
69
+ setUserSource(source: DbxAnalyticsUserSource): void;
70
70
  /**
71
71
  * Sends an event.
72
72
  */
73
- sendNewUserEvent(user: AnalyticsUser, data: NewUserAnalyticsEventData): void;
74
- sendUserLoginEvent(user: AnalyticsUser, data?: AnalyticsEventData): void;
75
- sendUserLogoutEvent(data?: AnalyticsEventData, clearUser?: boolean): void;
76
- sendUserPropertiesEvent(user: AnalyticsUser, data?: AnalyticsEventData): void;
77
- sendEventData(name: AnalyticsEventName, data?: AnalyticsEventData): void;
78
- sendEventType(eventType: AnalyticsEventName): void;
79
- sendEvent(event: AnalyticsEvent): void;
73
+ sendNewUserEvent(user: DbxAnalyticsUser, data: NewUserAnalyticsEventData): void;
74
+ sendUserLoginEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;
75
+ sendUserLogoutEvent(data?: DbxAnalyticsEventData, clearUser?: boolean): void;
76
+ sendUserPropertiesEvent(user: DbxAnalyticsUser, data?: DbxAnalyticsEventData): void;
77
+ sendEventData(name: DbxAnalyticsEventName, data?: DbxAnalyticsEventData): void;
78
+ sendEventType(eventType: DbxAnalyticsEventName): void;
79
+ sendEvent(event: DbxAnalyticsEvent): void;
80
80
  sendPageView(page?: string): void;
81
- protected sendNextEvent(event: AnalyticsEvent | undefined, type: AnalyticsStreamEventType, userOverride?: AnalyticsUser): void;
82
- protected nextEvent(event: UserAnalyticsEvent, type: AnalyticsStreamEventType): void;
81
+ protected sendNextEvent(event: DbxAnalyticsEvent | undefined, type: DbxAnalyticsStreamEventType, userOverride?: DbxAnalyticsUser): void;
82
+ protected nextEvent(event: DbxUserAnalyticsEvent, type: DbxAnalyticsStreamEventType): void;
83
83
  private _init;
84
84
  destroy(): void;
85
- static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsService, [null, { optional: true; }]>;
86
- static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsService>;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsService, [null, { optional: true; }]>;
86
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxAnalyticsService>;
87
87
  }
@@ -1,6 +1,6 @@
1
1
  import { Maybe } from "@dereekb/util";
2
- import { AnalyticsUser, UserAnalyticsEvent, AnalyticsUserId } from "./analytics";
3
- export declare enum AnalyticsStreamEventType {
2
+ import { DbxAnalyticsUser, DbxUserAnalyticsEvent, DbxAnalyticsUserId } from "./analytics";
3
+ export declare enum DbxAnalyticsStreamEventType {
4
4
  PageView = 0,
5
5
  UserChange = 1,
6
6
  NewUserEvent = 2,
@@ -9,9 +9,9 @@ export declare enum AnalyticsStreamEventType {
9
9
  UserPropertiesEvent = 5,
10
10
  Event = 6
11
11
  }
12
- export interface AnalyticsStreamEvent {
13
- readonly type: AnalyticsStreamEventType;
14
- readonly user?: Maybe<AnalyticsUser>;
15
- readonly event?: UserAnalyticsEvent;
16
- readonly userId?: AnalyticsUserId;
12
+ export interface DbxAnalyticsStreamEvent {
13
+ readonly type: DbxAnalyticsStreamEventType;
14
+ readonly user?: Maybe<DbxAnalyticsUser>;
15
+ readonly event?: DbxUserAnalyticsEvent;
16
+ readonly userId?: DbxAnalyticsUserId;
17
17
  }
@@ -1,18 +1,18 @@
1
1
  /// <reference types="segment-analytics" />
2
- import { AbstractAnalyticsServiceListener, AnalyticsStreamEvent } from '../../analytics';
3
- import { SegmentApiService } from './segment.service';
2
+ import { AbstractDbxAnalyticsServiceListener, DbxAnalyticsStreamEvent } from '../../analytics';
3
+ import { DbxAnalyticsSegmentApiService } from './segment.service';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
- * AnalyticsServiceListener adapter for Segment.
6
+ * DbxAnalyticsServiceListener adapter for Segment.
7
7
  */
8
- export declare class SegmentAnalyticsListenerService extends AbstractAnalyticsServiceListener {
8
+ export declare class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServiceListener {
9
9
  private _segmentApi;
10
- constructor(_segmentApi: SegmentApiService);
10
+ constructor(_segmentApi: DbxAnalyticsSegmentApiService);
11
11
  protected _initializeServiceSubscription(): import("rxjs").Subscription;
12
- protected handleStreamEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: AnalyticsStreamEvent): void;
13
- protected updateWithNewUserEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: AnalyticsStreamEvent): void;
14
- protected updateWithEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: AnalyticsStreamEvent, name?: string): void;
12
+ protected handleStreamEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void;
13
+ protected updateWithNewUserEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent): void;
14
+ protected updateWithEvent(api: SegmentAnalytics.AnalyticsJS, streamEvent: DbxAnalyticsStreamEvent, name?: string): void;
15
15
  private changeUser;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<SegmentAnalyticsListenerService, never>;
17
- static ɵprov: i0.ɵɵInjectableDeclaration<SegmentAnalyticsListenerService>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsSegmentServiceListener, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxAnalyticsSegmentServiceListener>;
18
18
  }
@@ -1,8 +1,8 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class SegmentModule {
4
- static forRoot(preloadService?: boolean): ModuleWithProviders<SegmentModule>;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<SegmentModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<SegmentModule, never, never, never>;
7
- static ɵinj: i0.ɵɵInjectorDeclaration<SegmentModule>;
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
8
  }
@@ -3,7 +3,7 @@ import { InjectionToken } from '@angular/core';
3
3
  import { AbstractAsyncWindowLoadedService } from '@dereekb/browser';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare const PRELOAD_SEGMENT_TOKEN: InjectionToken<string>;
6
- export declare class SegmentApiServiceConfig {
6
+ export declare class DbxAnalyticsSegmentApiServiceConfig {
7
7
  writeKey: string;
8
8
  logging: boolean;
9
9
  active: boolean;
@@ -14,14 +14,14 @@ export declare class SegmentApiServiceConfig {
14
14
  *
15
15
  * This requires some setup in index.html.
16
16
  */
17
- export declare class SegmentApiService extends AbstractAsyncWindowLoadedService<SegmentAnalytics.AnalyticsJS> {
17
+ export declare class DbxAnalyticsSegmentApiService extends AbstractAsyncWindowLoadedService<SegmentAnalytics.AnalyticsJS> {
18
18
  private _config;
19
19
  static readonly SEGMENT_API_WINDOW_KEY = "analytics";
20
20
  static readonly SEGMENT_READY_KEY = "SegmentReady";
21
- constructor(_config: SegmentApiServiceConfig, preload?: boolean);
22
- get config(): SegmentApiServiceConfig;
21
+ constructor(_config: DbxAnalyticsSegmentApiServiceConfig, preload?: boolean);
22
+ get config(): DbxAnalyticsSegmentApiServiceConfig;
23
23
  protected _prepareCompleteLoadingService(): Promise<void>;
24
24
  protected _initService(service: SegmentAnalytics.AnalyticsJS): Promise<SegmentAnalytics.AnalyticsJS>;
25
- static ɵfac: i0.ɵɵFactoryDeclaration<SegmentApiService, never>;
26
- static ɵprov: i0.ɵɵInjectableDeclaration<SegmentApiService>;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxAnalyticsSegmentApiService, never>;
26
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxAnalyticsSegmentApiService>;
27
27
  }
package/package.json CHANGED
@@ -1,23 +1,20 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-analytics",
3
- "version": "1.1.0",
3
+ "version": "2.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.1.0",
6
6
  "@angular/core": "^13.1.0",
7
- "@dereekb/rxjs": "1.1.0",
8
- "rxjs": "^7.5.2",
9
- "@dereekb/util": "1.1.0",
7
+ "@dereekb/rxjs": "2.1.0",
8
+ "rxjs": "^7.0.0",
9
+ "@dereekb/util": "2.1.0",
10
10
  "extra-set": "^2.2.11",
11
+ "make-error": "^1.3.0",
11
12
  "ms": "^3.0.0-canary.1",
12
- "@dereekb/dbx-core": "1.1.0",
13
+ "@dereekb/dbx-core": "2.1.0",
13
14
  "@ngrx/component-store": "^13.0.2",
14
- "@ngrx/data": "^13.0.2",
15
- "@ngrx/effects": "^13.0.2",
16
- "@ngrx/entity": "^13.0.2",
17
- "@ngrx/store": "^13.0.2",
18
15
  "@angular/platform-browser": "^13.0.0",
19
16
  "date-fns": "^2.28.0",
20
- "@dereekb/date": "1.1.0",
17
+ "@dereekb/date": "2.1.0",
21
18
  "class-transformer": "^0.5.1",
22
19
  "class-validator": "^0.13.2",
23
20
  "date-fns-tz": "^1.2.2",
@@ -25,7 +22,7 @@
25
22
  "@angular/router": "^13.0.0",
26
23
  "@uirouter/core": "^6.0.8",
27
24
  "@uirouter/angular": "^9.1.0",
28
- "@dereekb/browser": "1.1.0"
25
+ "@dereekb/browser": "2.1.0"
29
26
  },
30
27
  "dependencies": {
31
28
  "tslib": "^2.3.0"