1import * as Layer from "effect/Layer";
2
3import * as PullRequestCacheStore from "../connection/pull-request-cache-store";
4import * as EnvironmentCacheStore from "../connection/environment-cache-store";
5import * as MobileDatabase from "./mobile-database";
6import * as MobilePreferences from "./mobile-preferences";
7import * as MobileSecureStorage from "./mobile-secure-storage";
8import * as MobileStorage from "./mobile-storage";
9
10const layerBase = Layer.merge(MobileDatabase.layer, MobileSecureStorage.layer);
11const layerDependent = Layer.mergeAll(
12 MobilePreferences.layer,
13 MobileStorage.layer,
14 EnvironmentCacheStore.layer,
15 PullRequestCacheStore.layer,
16).pipe(Layer.provide(layerBase));
17
18export const layer = Layer.merge(layerBase, layerDependent);