-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdependencies.ts
More file actions
25 lines (23 loc) · 1.12 KB
/
dependencies.ts
File metadata and controls
25 lines (23 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { createIocContainer } from "@aklinker1/zero-ioc";
import { createChromeWebStore } from "./services/chrome-web-store";
import { createFirefoxAddonStore } from "./services/firefox-addon-store";
import { createEdgeAddonStore } from "./services/edge-addon-store";
import type { ExtensionStores } from "./services/extension-stores";
import { ExtensionStoreName } from "./enums";
export const dependencies = createIocContainer()
.register("chromeWebStore", createChromeWebStore)
.register("firefoxAddonStore", createFirefoxAddonStore)
.register("edgeAddonStore", createEdgeAddonStore)
.register(
"stores",
(deps) =>
({
[ExtensionStoreName.ChromeWebStore]: deps.chromeWebStore,
[ExtensionStoreName.FirefoxAddonStore]: deps.firefoxAddonStore,
[ExtensionStoreName.EdgeAddonStore]: deps.edgeAddonStore,
// Deprecated, but staying around for a while.
[ExtensionStoreName.ChromeExtensions]: deps.chromeWebStore,
[ExtensionStoreName.FirefoxExtensions]: deps.firefoxAddonStore,
[ExtensionStoreName.EdgeExtensions]: deps.edgeAddonStore,
}) satisfies ExtensionStores,
);