|
1 | | -import { createIocContainer } from "@aklinker1/zero-ioc"; |
| 1 | +import { createIocContainer, transient } from "@aklinker1/zero-ioc"; |
2 | 2 | import { createChromeWebStore } from "./services/chrome-web-store"; |
3 | 3 | import { createFirefoxAddonStore } from "./services/firefox-addon-store"; |
4 | 4 | import { createEdgeAddonStore } from "./services/edge-addon-store"; |
5 | 5 | import type { ExtensionStores } from "./services/extension-stores"; |
6 | 6 | import { ExtensionStoreName } from "./enums"; |
| 7 | +import { createRedisCache } from "./services/redis-cache"; |
| 8 | +import { createInMemoryCache } from "./services/in-memory-cache"; |
| 9 | +import { createEdgeApi } from "./services/edge-api"; |
| 10 | +import { createFirefoxApi } from "./services/firefox-api"; |
7 | 11 |
|
8 | 12 | export const container = createIocContainer() |
9 | | - .register("chromeWebStore", createChromeWebStore) |
10 | | - .register("firefoxAddonStore", createFirefoxAddonStore) |
11 | | - .register("edgeAddonStore", createEdgeAddonStore) |
| 13 | + .register( |
| 14 | + "cache", |
| 15 | + Bun.redis.connected ? createRedisCache : createInMemoryCache, |
| 16 | + ) |
| 17 | + .register("edgeApi", createEdgeApi) |
| 18 | + .register("firefoxApi", createFirefoxApi) |
| 19 | + .register("chromeWebStore", transient(createChromeWebStore)) |
| 20 | + .register("firefoxAddonStore", transient(createFirefoxAddonStore)) |
| 21 | + .register("edgeAddonStore", transient(createEdgeAddonStore)) |
12 | 22 | .register( |
13 | 23 | "stores", |
14 | 24 | (deps) => |
|
0 commit comments