From bce557cc2dc767628bed6aac87301a1be7c5431b Mon Sep 17 00:00:00 2001 From: rxliuli Date: Tue, 4 Nov 2025 05:03:50 +0800 Subject: init commit --- src/jet/dependencies/make-dependencies.ts | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/jet/dependencies/make-dependencies.ts (limited to 'src/jet/dependencies/make-dependencies.ts') diff --git a/src/jet/dependencies/make-dependencies.ts b/src/jet/dependencies/make-dependencies.ts new file mode 100644 index 0000000..f03c7ca --- /dev/null +++ b/src/jet/dependencies/make-dependencies.ts @@ -0,0 +1,45 @@ +import type { LoggerFactory as AppLoggerFactory } from '@amp/web-apps-logger'; + +import { Random } from '@amp/web-apps-common/src/jet/dependencies/random'; +import { Host } from '@amp/web-apps-common/src/jet/dependencies/host'; +import { WebBag } from './bag'; +import { WebClient } from './client'; +import { WebConsole } from './console'; +import { Locale } from './locale'; +import { WebLocalization } from './localization'; +import { makeProperties } from './properties'; +import { WebMetricsIdentifiers } from './metrics-identifiers'; +import { Net, type FeaturesCallbacks } from './net'; +import { WebStorage } from './storage'; +import { makeUnauthenticatedUser } from './user'; +import { SEO } from './seo'; + +export type Dependencies = ReturnType; + +export function makeDependencies( + loggerFactory: AppLoggerFactory, + fetch: typeof window.fetch, + featuresCallbacks?: FeaturesCallbacks, +) { + const locale = new Locale(loggerFactory); + return { + bag: new WebBag(loggerFactory, locale), + client: new WebClient( + // TODO: set the right `BuildType` based on the environment where the app is running + 'production', + locale, + ), + console: new WebConsole(loggerFactory), + host: new Host(), + localization: new WebLocalization(locale, loggerFactory), + locale, + metricsIdentifiers: new WebMetricsIdentifiers(), + net: new Net(fetch, featuresCallbacks), + properties: makeProperties(), + random: new Random(), + seo: new SEO(locale), + storage: new WebStorage(), + user: makeUnauthenticatedUser(), + URL, + }; +} -- cgit v1.2.3