feat(core-analytics): add IAnalytics interface, types, and NoopAnalytics

Replaces generator placeholder with IAnalytics interface (track, identify,
pageView, flush), AnalyticsAttributeValue + AnalyticsUser types, and
NoopAnalytics implementation. Adds sibling tests covering all four methods
with 100% coverage. All conformance + coverage gates pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 11:31:58 +00:00
parent 80c702eb20
commit 563eab06a6
5 changed files with 129 additions and 13 deletions

View File

@@ -0,0 +1,23 @@
import type {
AnalyticsAttributeValue,
AnalyticsUser,
IAnalytics,
} from "./analytics.interface";
export class NoopAnalytics implements IAnalytics {
track(
_event: string,
_attributes?: Record<string, AnalyticsAttributeValue>,
): void {}
identify(
_user: AnalyticsUser,
_attributes?: Record<string, AnalyticsAttributeValue>,
): void {}
pageView(
_path: string,
_attributes?: Record<string, AnalyticsAttributeValue>,
): void {}
flush(): Promise<void> {
return Promise.resolve();
}
}