authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-04-01 09:14:26-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-04-01 16:14:26+00:00
log9f6686a13d308289c187c9da369f4874f0b5acc5
tree8b80aa6347815476d5fa6722dc7e44899c979f33
parentc6ff7c0d5b79e7dca8fcb675751e88187862b004
signature Signed by PGP key B5690EEEBB952194

[codex] migrate Effect.fn in apps/server/src/persistence/Layers/Sqlite.ts (#1631)

Co-authored-by: codex <codex@users.noreply.github.com>

1 files changed, 15 insertions(+), 15 deletions(-)

apps/server/src/persistence/Layers/Sqlite.ts+15-15
...@@ -16,15 +16,14 @@ const defaultSqliteClientLoaders = {...@@ -16,15 +16,14 @@ const defaultSqliteClientLoaders = {
16 node: () => import("../NodeSqliteClient.ts"),16 node: () => import("../NodeSqliteClient.ts"),
17} satisfies Record<string, () => Promise<Loader>>;17} satisfies Record<string, () => Promise<Loader>>;
1818
19const makeRuntimeSqliteLayer = (19const makeRuntimeSqliteLayer = Effect.fn("makeRuntimeSqliteLayer")(function* (
20 config: RuntimeSqliteLayerConfig,20 config: RuntimeSqliteLayerConfig,
21): Layer.Layer<SqlClient.SqlClient> =>21) {
22 Effect.gen(function* () {22 const runtime = process.versions.bun !== undefined ? "bun" : "node";
23 const runtime = process.versions.bun !== undefined ? "bun" : "node";23 const loader = defaultSqliteClientLoaders[runtime];
24 const loader = defaultSqliteClientLoaders[runtime];24 const clientModule = yield* Effect.promise<Loader>(loader);
25 const clientModule = yield* Effect.promise<Loader>(loader);25 return clientModule.layer(config);
26 return clientModule.layer(config);26}, Layer.unwrap);
27 }).pipe(Layer.unwrap);
2827
29const setup = Layer.effectDiscard(28const setup = Layer.effectDiscard(
30 Effect.gen(function* () {29 Effect.gen(function* () {
...@@ -35,14 +34,15 @@ const setup = Layer.effectDiscard(...@@ -35,14 +34,15 @@ const setup = Layer.effectDiscard(
35 }),34 }),
36);35);
3736
38export const makeSqlitePersistenceLive = (dbPath: string) =>37export const makeSqlitePersistenceLive = Effect.fn("makeSqlitePersistenceLive")(function* (
39 Effect.gen(function* () {38 dbPath: string,
40 const fs = yield* FileSystem.FileSystem;39) {
41 const path = yield* Path.Path;40 const fs = yield* FileSystem.FileSystem;
42 yield* fs.makeDirectory(path.dirname(dbPath), { recursive: true });41 const path = yield* Path.Path;
42 yield* fs.makeDirectory(path.dirname(dbPath), { recursive: true });
4343
44 return Layer.provideMerge(setup, makeRuntimeSqliteLayer({ filename: dbPath }));44 return Layer.provideMerge(setup, makeRuntimeSqliteLayer({ filename: dbPath }));
45 }).pipe(Layer.unwrap);45}, Layer.unwrap);
4646
47export const SqlitePersistenceMemory = Layer.provideMerge(47export const SqlitePersistenceMemory = Layer.provideMerge(
48 setup,48 setup,