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/dependencies/object-graph.ts | |
init commit
Diffstat (limited to 'src/jet/dependencies/object-graph.ts')
| -rw-r--r-- | src/jet/dependencies/object-graph.ts | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/jet/dependencies/object-graph.ts b/src/jet/dependencies/object-graph.ts new file mode 100644 index 0000000..40ad0a9 --- /dev/null +++ b/src/jet/dependencies/object-graph.ts @@ -0,0 +1,59 @@ +import { AppStoreObjectGraph } from '@jet-app/app-store/foundation/runtime/app-store-object-graph'; +import { ObjectGraphType } from '@jet-app/app-store/gameservicesui/src/foundation/object-graph-types'; + +import type { Dependencies } from './make-dependencies'; +import { WebFeatureFlags } from './feature-flags'; +import { WebMediaTokenService } from './media-token-service'; + +export { ObjectGraphType }; + +class AppStoreWebObjectGraph extends AppStoreObjectGraph { + /** + * Configures the ObjectGraph from our `Dependencies` definition + * + * @param dependencies + * @returns + */ + configureWithDependencies(dependencies: Dependencies) { + const { + bag, + client, + console, + host, + locale, + localization, + metricsIdentifiers, + net, + properties, + random, + seo, + storage, + user, + } = dependencies; + + return this.addingClient(client) + .addingNetwork(net) + .addingHost(host) + .addingBag(bag) + .addingLoc(localization) + .addingMediaToken(new WebMediaTokenService()) + .addingConsole(console) + .addingAppleSilicon(undefined) + .addingProperties(properties) + .addingLocale(locale) + .addingUser(user) + .addingFeatureFlags(new WebFeatureFlags()) + .addingMetricsIdentifiers(metricsIdentifiers) + .addingSEO(seo) + .addingStorage(storage) + .addingRandom(random); + } +} + +export function makeObjectGraph( + dependencies: Dependencies, +): AppStoreObjectGraph { + const objectGraph = new AppStoreWebObjectGraph('app-store'); + + return objectGraph.configureWithDependencies(dependencies); +} |
