Declare return types for all public methods, even void ones

pull/21833/head
James Salter 2021-07-28 17:20:22 +01:00
parent e4722ee457
commit 7b4a7711b2
1 changed files with 9 additions and 9 deletions

View File

@ -269,7 +269,7 @@ export class PosthogAnalytics {
return this.enabled;
}
public setAnonymity(anonymity: Anonymity) {
public setAnonymity(anonymity: Anonymity): void {
// Update this.anonymity.
// This is public for testing purposes, typically you want to call updateAnonymityFromSettings
// to ensure this value is in step with the user's settings.
@ -283,17 +283,17 @@ export class PosthogAnalytics {
this.anonymity = anonymity;
}
public async identifyUser(userId: string) {
public async identifyUser(userId: string): Promise<void> {
if (this.anonymity == Anonymity.Pseudonymous) {
this.posthog.identify(await hashHex(userId));
}
}
public getAnonymity() {
public getAnonymity(): Anonymity {
return this.anonymity;
}
public logout() {
public logout(): void {
if (this.enabled) {
this.posthog.reset();
}
@ -311,7 +311,7 @@ export class PosthogAnalytics {
public async trackAnonymousEvent<E extends IAnonymousEvent>(
eventName: E["eventName"],
properties: E["properties"],
) {
): Promise<void> {
if (this.anonymity == Anonymity.Disabled) return;
await this.capture(eventName, properties);
}
@ -320,7 +320,7 @@ export class PosthogAnalytics {
eventName: E["eventName"],
roomId: string,
properties: Omit<E["properties"], "roomId">,
) {
): Promise<void> {
const updatedProperties = {
...properties,
hashedRoomId: roomId ? await hashHex(roomId) : null,
@ -328,7 +328,7 @@ export class PosthogAnalytics {
await this.trackPseudonymousEvent(eventName, updatedProperties);
}
public async trackPageView(durationMs: number) {
public async trackPageView(durationMs: number): Promise<void> {
const hash = window.location.hash;
let screen = null;
@ -343,7 +343,7 @@ export class PosthogAnalytics {
});
}
public async updatePlatformSuperProperties() {
public async updatePlatformSuperProperties(): Promise<void> {
// Update super properties in posthog with our platform (app version, platform).
// These properties will be subsequently passed in every event.
//
@ -353,7 +353,7 @@ export class PosthogAnalytics {
this.registerSuperProperties(this.platformSuperProperties);
}
public async updateAnonymityFromSettings(userId?: string) {
public async updateAnonymityFromSettings(userId?: string): Promise<void> {
// Update this.anonymity based on the user's analytics opt-in settings
// Identify the user (via hashed user ID) to posthog if anonymity is pseudonmyous
this.setAnonymity(PosthogAnalytics.getAnonymityFromSettings());