diff options
| author | rxliuli <rxliuli@gmail.com> | 2025-11-04 05:03:50 +0800 |
|---|---|---|
| committer | rxliuli <rxliuli@gmail.com> | 2025-11-04 05:03:50 +0800 |
| commit | bce557cc2dc767628bed6aac87301a1be7c5431b (patch) | |
| tree | b51a051228d01fe3306cd7626d4a96768aadb944 /src/jet/metrics/providers | |
init commit
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', + }, + ]; +} |
