summaryrefslogtreecommitdiff
path: root/src/jet/metrics/providers
diff options
context:
space:
mode:
authorrxliuli <rxliuli@gmail.com>2025-11-04 05:03:50 +0800
committerrxliuli <rxliuli@gmail.com>2025-11-04 05:03:50 +0800
commitbce557cc2dc767628bed6aac87301a1be7c5431b (patch)
treeb51a051228d01fe3306cd7626d4a96768aadb944 /src/jet/metrics/providers
init commit
Diffstat (limited to 'src/jet/metrics/providers')
-rw-r--r--src/jet/metrics/providers/StorefrontFieldsProvider.ts19
-rw-r--r--src/jet/metrics/providers/index.ts15
2 files changed, 34 insertions, 0 deletions
diff --git a/src/jet/metrics/providers/StorefrontFieldsProvider.ts b/src/jet/metrics/providers/StorefrontFieldsProvider.ts
new file mode 100644
index 0000000..f4c5448
--- /dev/null
+++ b/src/jet/metrics/providers/StorefrontFieldsProvider.ts
@@ -0,0 +1,19 @@
+import type {
+ MetricsFieldsBuilder,
+ MetricsFieldsContext,
+ MetricsFieldsProvider,
+} from '@jet/engine';
+import type { AppStoreObjectGraph } from '@jet-app/app-store/foundation/runtime/app-store-object-graph';
+import { getLocale } from '@jet-app/app-store/common/locale';
+
+export class StorefrontFieldsProvider implements MetricsFieldsProvider {
+ constructor(private readonly objectGraph: AppStoreObjectGraph) {}
+
+ addMetricsFields(
+ builder: MetricsFieldsBuilder,
+ _context: MetricsFieldsContext,
+ ) {
+ const { storefront } = getLocale(this.objectGraph);
+ builder.addValue(storefront, 'storeFrontCountryCode');
+ }
+}
diff --git a/src/jet/metrics/providers/index.ts b/src/jet/metrics/providers/index.ts
new file mode 100644
index 0000000..98f3780
--- /dev/null
+++ b/src/jet/metrics/providers/index.ts
@@ -0,0 +1,15 @@
+import type { MetricsProvider } from '@amp/web-apps-metrics-8';
+import type { AppStoreObjectGraph } from '@jet-app/app-store/foundation/runtime/app-store-object-graph';
+
+import { StorefrontFieldsProvider } from './StorefrontFieldsProvider';
+
+export function makeMetricsProviders(
+ objectGraph: AppStoreObjectGraph,
+): MetricsProvider[] {
+ return [
+ {
+ provider: new StorefrontFieldsProvider(objectGraph),
+ request: 'storeFrontCountryCode',
+ },
+ ];
+}