diff options
Diffstat (limited to 'src/jet/metrics/providers')
| -rw-r--r-- | src/jet/metrics/providers/StorefrontFieldsProvider.ts | 19 | ||||
| -rw-r--r-- | src/jet/metrics/providers/index.ts | 15 |
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', + }, + ]; +} |
