@livestore/adapter-cloudflare 0.4.0 → 0.5.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/create-store-do.d.ts +2 -2
- package/dist/create-store-do.d.ts.map +1 -1
- package/dist/create-store-do.js +5 -7
- package/dist/create-store-do.js.map +1 -1
- package/dist/make-adapter.d.ts.map +1 -1
- package/dist/make-adapter.js +8 -10
- package/dist/make-adapter.js.map +1 -1
- package/dist/make-sqlite-db.d.ts.map +1 -1
- package/dist/make-sqlite-db.js.map +1 -1
- package/package.json +14 -24
- package/src/create-store-do.ts +12 -8
- package/src/make-adapter.ts +10 -20
- package/src/make-sqlite-db.ts +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LogConfig,
|
|
1
|
+
import type { LogConfig, SyncOptions } from '@livestore/common';
|
|
2
2
|
import type { CfTypes, HelperTypes } from '@livestore/common-cf';
|
|
3
3
|
import { type LiveStoreSchema } from '@livestore/livestore';
|
|
4
4
|
import type * as CfSyncBackend from '@livestore/sync-cf/cf-worker';
|
|
@@ -44,7 +44,7 @@ export type CreateStoreDoOptions<TSchema extends LiveStoreSchema, TEnv, TState>
|
|
|
44
44
|
* @default { _tag: 'Blocking', timeout: 500 }
|
|
45
45
|
*/
|
|
46
46
|
initialSyncOptions?: SyncOptions['initialSyncOptions'];
|
|
47
|
-
} & LogConfig.
|
|
47
|
+
} & LogConfig.LoggerOptions;
|
|
48
48
|
/**
|
|
49
49
|
* Creates a LiveStore instance inside a Cloudflare Durable Object.
|
|
50
50
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-store-do.d.ts","sourceRoot":"","sources":["../src/create-store-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"create-store-do.d.ts","sourceRoot":"","sources":["../src/create-store-do.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAe,KAAK,eAAe,EAAe,MAAM,sBAAsB,CAAA;AACrF,OAAO,KAAK,KAAK,aAAa,MAAM,8BAA8B,CAAA;AAGlE,OAAO,EAAE,MAAM,EAA4B,MAAM,yBAAyB,CAAA;AAI1E,MAAM,MAAM,GAAG,GAAG;IAChB,eAAe,EAAE,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAA;CACvF,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,eAAe,EAAE,IAAI,EAAE,MAAM,IAAI;IAChF,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAA;IACf,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAA;IACjB,8HAA8H;IAC9H,aAAa,EAAE;QACb,qDAAqD;QACrD,GAAG,EAAE,MAAM,CAAA;QACX,+DAA+D;QAC/D,GAAG,EAAE,IAAI,CAAA;QACT,oFAAoF;QACpF,WAAW,EAAE,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;KACjE,CAAA;IACD,iFAAiF;IACjF,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAA;IACjF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAA;CACvD,GAAG,SAAS,CAAC,aAAa,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,eAAO,MAAM,aAAa,GACxB,OAAO,SAAS,eAAe,EAC/B,IAAI,EACJ,MAAM,SAAS,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,EACtE,2HAUC,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,sHAwB1C,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,SAAS,eAAe,EAC/B,IAAI,EACJ,MAAM,SAAS,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,EAEtE,SAAS,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,+DAWnD,CAAA"}
|
package/dist/create-store-do.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { LogConfig } from '@livestore/common';
|
|
2
1
|
import { createStore, provideOtel } from '@livestore/livestore';
|
|
3
2
|
import { makeDoRpcSync } from '@livestore/sync-cf/client';
|
|
4
|
-
import {
|
|
3
|
+
import { isDevEnv } from '@livestore/utils';
|
|
4
|
+
import { Effect, Layer, References, Scope } from '@livestore/utils/effect';
|
|
5
5
|
import { makeAdapter } from "./make-adapter.js";
|
|
6
6
|
/**
|
|
7
7
|
* Creates a LiveStore instance inside a Cloudflare Durable Object.
|
|
@@ -57,13 +57,14 @@ export const createStoreDo = ({ schema, storeId, clientId, sessionId, durableObj
|
|
|
57
57
|
syncOptions: {
|
|
58
58
|
backend: makeDoRpcSync({
|
|
59
59
|
syncBackendStub,
|
|
60
|
+
durableObjectState: ctx,
|
|
60
61
|
durableObjectContext: { bindingName, durableObjectId },
|
|
61
62
|
}),
|
|
62
63
|
livePull, // Uses DO RPC callbacks for reactive pull
|
|
63
64
|
initialSyncOptions,
|
|
64
65
|
},
|
|
65
66
|
});
|
|
66
|
-
return yield* createStore({ schema, adapter, storeId }).pipe(Scope.
|
|
67
|
+
return yield* createStore({ schema, adapter, storeId }).pipe(Scope.provide(scope), provideOtel({}));
|
|
67
68
|
});
|
|
68
69
|
/**
|
|
69
70
|
* Promise-based wrapper around `createStoreDo` for simpler async/await usage.
|
|
@@ -90,8 +91,5 @@ export const createStoreDo = ({ schema, storeId, clientId, sessionId, durableObj
|
|
|
90
91
|
* }
|
|
91
92
|
* ```
|
|
92
93
|
*/
|
|
93
|
-
export const createStoreDoPromise = (options) => createStoreDo(options).pipe(
|
|
94
|
-
threadName: 'DoClient',
|
|
95
|
-
defaultLogger: Logger.consoleWithThread('DoClient'),
|
|
96
|
-
}), Effect.tapCauseLogPretty, Effect.runPromise);
|
|
94
|
+
export const createStoreDoPromise = (options) => createStoreDo(options).pipe(Effect.provide(Layer.mergeAll(options.logger ?? Layer.empty, Layer.succeed(References.MinimumLogLevel, options.logLevel ?? (isDevEnv() === true ? 'Debug' : 'Info')))), Effect.tapCauseLogPretty, Effect.runPromise);
|
|
97
95
|
//# sourceMappingURL=create-store-do.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-store-do.js","sourceRoot":"","sources":["../src/create-store-do.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-store-do.js","sourceRoot":"","sources":["../src/create-store-do.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAwB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AA8C/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,CAI3B,EACA,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,EACT,aAAa,EACb,eAAe,EACf,QAAQ,GAAG,KAAK,EAChB,gBAAgB,GAAG,KAAK,EACxB,kBAAkB,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,GACX,EAAE,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,aAAa,CAAA;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC3B,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAA;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAEjC,MAAM,OAAO,GAAG,WAAW,CAAC;QAC1B,QAAQ;QACR,SAAS;QACT,OAAO;QACP,gBAAgB;QAChB,WAAW,EAAE;YACX,OAAO,EAAE,aAAa,CAAC;gBACrB,eAAe;gBACf,kBAAkB,EAAE,GAAG;gBACvB,oBAAoB,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE;aACvD,CAAC;YACF,QAAQ,EAAE,0CAA0C;YACpD,kBAAkB;SACnB;KACF,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;AACrG,CAAC,CAAC,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAKlC,OAAoD,EACpD,EAAE,CACF,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CACzB,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,QAAQ,CACZ,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAC7B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACxG,CACF,EACD,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,UAAU,CAClB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-adapter.d.ts","sourceRoot":"","sources":["../src/make-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAKZ,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"make-adapter.d.ts","sourceRoot":"","sources":["../src/make-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAKZ,KAAK,WAAW,EAGjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAgBnD,eAAO,MAAM,WAAW,GACrB,kEAME;IACD,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,KAAG,OAoID,CAAA"}
|
package/dist/make-adapter.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ClientSessionLeaderThreadProxy, liveStoreStorageFormatVersion, makeClientSession, UnknownError, } from '@livestore/common';
|
|
1
|
+
import { ClientSessionLeaderThreadProxy, liveStoreStorageFormatVersion, makeClientSession, UnknownError, StateHead, } from '@livestore/common';
|
|
2
2
|
import { Eventlog, LeaderThreadCtx, makeLeaderThreadLayer, streamEventsWithSyncState, } from '@livestore/common/leader-thread';
|
|
3
|
+
import { getStateDbBaseName } from '@livestore/common/schema';
|
|
3
4
|
import { LiveStoreEvent } from '@livestore/livestore';
|
|
4
5
|
import { CF_SQL_VFS_REQUIRED_PRAGMAS, sqliteDbFactory } from '@livestore/sqlite-wasm/cf';
|
|
5
|
-
import { makeSqliteDb as makeDoSqliteDb } from "./make-sqlite-db.js";
|
|
6
6
|
import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm';
|
|
7
|
-
import { Effect, FetchHttpClient, Layer, Schedule, SubscriptionRef, WebChannel } from '@livestore/utils/effect';
|
|
7
|
+
import { Effect, FetchHttpClient, Layer, Queue, Schedule, SubscriptionRef, WebChannel } from '@livestore/utils/effect';
|
|
8
|
+
import { makeSqliteDb as makeDoSqliteDb } from "./make-sqlite-db.js";
|
|
8
9
|
export const makeAdapter = ({ storage, clientId, syncOptions, sessionId, resetPersistence = false, }) => (adapterArgs) => Effect.gen(function* () {
|
|
9
10
|
const { storeId,
|
|
10
11
|
/* devtoolsEnabled, shutdown, bootStatusQueue, */
|
|
@@ -13,15 +14,13 @@ export const makeAdapter = ({ storage, clientId, syncOptions, sessionId, resetPe
|
|
|
13
14
|
const sqlite3 = yield* Effect.promise(() => loadSqlite3Wasm());
|
|
14
15
|
const makeSqliteDb = sqliteDbFactory({ sqlite3 });
|
|
15
16
|
const syncInMemoryDb = yield* makeSqliteDb({ _tag: 'in-memory', storage, configureDb: () => { } }).pipe(UnknownError.mapToUnknownError);
|
|
16
|
-
const schemaHashSuffix = schema.state.sqlite.migrations.strategy === 'manual' ? 'fixed' : schema.state.sqlite.hash.toString();
|
|
17
17
|
if (resetPersistence === true) {
|
|
18
18
|
yield* resetDurableObjectPersistence({ storage, storeId });
|
|
19
19
|
}
|
|
20
|
-
const stateDbFileName = getStateDbFileName(schemaHashSuffix);
|
|
21
20
|
const dbState = yield* makeSqliteDb({
|
|
22
21
|
_tag: 'storage',
|
|
23
22
|
storage,
|
|
24
|
-
fileName:
|
|
23
|
+
fileName: `${getStateDbBaseName(schema)}@${liveStoreStorageFormatVersion}.db`,
|
|
25
24
|
configureDb: (db) => db.execute([...CF_SQL_VFS_REQUIRED_PRAGMAS, 'cache_size=-8000'].map((p) => `PRAGMA ${p}`).join(';\n')),
|
|
26
25
|
}).pipe(UnknownError.mapToUnknownError);
|
|
27
26
|
// dbEventlog runs on DO SQLite directly (not through the VFS). SQL-level transaction
|
|
@@ -45,7 +44,7 @@ export const makeAdapter = ({ storage, clientId, syncOptions, sessionId, resetPe
|
|
|
45
44
|
shutdownChannel,
|
|
46
45
|
syncPayloadEncoded,
|
|
47
46
|
syncPayloadSchema,
|
|
48
|
-
}));
|
|
47
|
+
}).pipe(Layer.provide(StateHead.layer({ dbState }))));
|
|
49
48
|
const { leaderThread, initialSnapshot } = yield* Effect.gen(function* () {
|
|
50
49
|
const { dbState, dbEventlog, syncProcessor, extraIncomingMessagesQueue, initialState, networkStatus } = yield* LeaderThreadCtx;
|
|
51
50
|
const initialLeaderHead = Eventlog.getClientHeadFromDb(dbEventlog);
|
|
@@ -53,7 +52,7 @@ export const makeAdapter = ({ storage, clientId, syncOptions, sessionId, resetPe
|
|
|
53
52
|
const leaderThread = ClientSessionLeaderThreadProxy.of({
|
|
54
53
|
events: {
|
|
55
54
|
pull: ({ cursor }) => syncProcessor.pull({ cursor }),
|
|
56
|
-
push: (batch) => syncProcessor.push(batch.map((item) => new LiveStoreEvent.Client.EncodedWithMeta(item))
|
|
55
|
+
push: (batch) => syncProcessor.push(batch.map((item) => new LiveStoreEvent.Client.EncodedWithMeta(item))),
|
|
57
56
|
stream: (options) => streamEventsWithSyncState({
|
|
58
57
|
dbEventlog,
|
|
59
58
|
syncState: syncProcessor.syncState,
|
|
@@ -68,7 +67,7 @@ export const makeAdapter = ({ storage, clientId, syncOptions, sessionId, resetPe
|
|
|
68
67
|
export: Effect.sync(() => dbState.export()),
|
|
69
68
|
getEventlogData: Effect.sync(() => dbEventlog.export()),
|
|
70
69
|
syncState: syncProcessor.syncState,
|
|
71
|
-
sendDevtoolsMessage: (message) =>
|
|
70
|
+
sendDevtoolsMessage: (message) => Queue.offer(extraIncomingMessagesQueue, message),
|
|
72
71
|
networkStatus,
|
|
73
72
|
}, {
|
|
74
73
|
// overrides: testing?.overrides?.clientSession?.leaderThreadProxy
|
|
@@ -103,7 +102,6 @@ export const makeAdapter = ({ storage, clientId, syncOptions, sessionId, resetPe
|
|
|
103
102
|
});
|
|
104
103
|
return clientSession;
|
|
105
104
|
}).pipe(Effect.withSpan('@livestore/adapter-cloudflare:makeAdapter', { attributes: { clientId, sessionId } }), Effect.provide(FetchHttpClient.layer));
|
|
106
|
-
const getStateDbFileName = (suffix) => `state${suffix}@${liveStoreStorageFormatVersion}.db`;
|
|
107
105
|
const resetDurableObjectPersistence = ({ storage, storeId, }) => Effect.try({
|
|
108
106
|
try: () =>
|
|
109
107
|
// All three tables live in the DO's single storage.sql database but are
|
package/dist/make-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-adapter.js","sourceRoot":"","sources":["../src/make-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,8BAA8B,EAE9B,6BAA6B,EAC7B,iBAAiB,EAEjB,YAAY,
|
|
1
|
+
{"version":3,"file":"make-adapter.js","sourceRoot":"","sources":["../src/make-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-sqlite-db.d.ts","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAGf,QAAQ,EAGT,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"make-sqlite-db.d.ts","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAGf,QAAQ,EAGT,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAiEnD,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,KAAK,EAAE,uBAAuB,CAAA;IAC9B,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACpC,CAAA;AAED,KAAK,uBAAuB,GACxB;IACE,IAAI,EAAE,MAAM,CAAA;IAGZ,EAAE,EAAE,OAAO,CAAC,UAAU,CAAA;IACtB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACpC,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,EAAE,EAAE,OAAO,CAAC,UAAU,CAAA;IACtB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACpC,CAAA;AAEL,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,QAAQ,EAAE,uBAAuB,EAAE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG,QAAQ,CAAC,CAAA;AAEvH,eAAO,MAAM,YAAY,EAAE,sBA2BvB,CAAA;AAEJ,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS;IAChB,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;CAC/C,EACD,2BAGC;IACD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAA;IAC9B,QAAQ,EAAE,SAAS,CAAA;CACpB,KAAG,QAAQ,CAAC,SAAS,CAkHrB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-sqlite-db.js","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,qEAAqE;AACrE,MAAM,2BAA2B;IACvB,UAAU,CAAoB;IACtB,GAAG,CAAQ;IAE3B,YAAY,UAA8B,EAAE,GAAW;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,OAAO,GAAG,CAAC,UAA+B,EAAE,OAAqD,EAAE,EAAE;QACnG,IAAI,CAAC;YACH,IAAI,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,OAAM;
|
|
1
|
+
{"version":3,"file":"make-sqlite-db.js","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,qEAAqE;AACrE,MAAM,2BAA2B;IACvB,UAAU,CAAoB;IACtB,GAAG,CAAQ;IAE3B,YAAY,UAA8B,EAAE,GAAW;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,OAAO,GAAG,CAAC,UAA+B,EAAE,OAAqD,EAAE,EAAE;QACnG,IAAI,CAAC;YACH,IAAI,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,OAAM;YAE5D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAE7G,kDAAkD;YAClD,IAAI,YAAY,GAAG,CAAC,CAAA;YACpB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,YAAY,EAAE,CAAA;YAChB,CAAC;YAED,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,WAAW,CAAC;gBACpB,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtD,IAAI,EAAG,CAAS,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC3B,KAAK,EAAE,CAAC;aACT,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAED,MAAM,GAAG,CAAI,UAA+B,EAAgB,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACjC,IAAI,CAAC,GAAG,EACR,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/D,CAAA;YACD,MAAM,OAAO,GAAQ,EAAE,CAAA;YAEvB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,GAAQ,CAAC,CAAA;YACxB,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,WAAW,CAAC;gBACpB,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtD,IAAI,EAAG,CAAS,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC3B,KAAK,EAAE,CAAC;aACT,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAED,QAAQ,GAAG,GAAG,EAAE;QACd,iEAAiE;IACnE,CAAC,CAAA;CACF;AA0BD,MAAM,CAAC,MAAM,YAAY,GAA2B,CAAC,KAA8B,EAAE,EAAE,CACrF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,aAAa,CAAW;YAC7B,UAAU,EAAE,KAAK,CAAC,EAAE;YACpB,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAe;gBACrB,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC,KAAK;gBACL,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B;SACF,CAAQ,CAAA;IACX,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,aAAa,CAAW;YAC7B,UAAU,EAAE,KAAK,CAAC,EAAE;YACpB,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAe;gBACrB,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC,KAAK;gBACL,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B;SACF,CAAQ,CAAA;IACX,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAK3B,EACA,UAAU,EACV,QAAQ,GAIT,EAAuB,EAAE;IACxB,MAAM,aAAa,GAAwB,EAAE,CAAA;IAE7C,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,MAAM,QAAQ,GAAwB;QACpC,IAAI,EAAE,UAAU;QAChB,QAAQ;QACR,KAAK,EAAE;YACL,2EAA2E;YAC3E,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI;SACtC;QACD,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;gBACjF,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAChC,OAAO,YAAY,CAAA;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,WAAW,CAAC;oBACpB,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;oBACxC,IAAI,EAAG,CAAS,CAAC,IAAI,IAAI,CAAC,CAAC;oBAC3B,KAAK,EAAE,CAAC;iBACT,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,sDAAsD;YACtD,8DAA8D;YAC9D,0BAA0B;YAC1B,8CAA8C;YAC9C,cAAc;YACd,uEAAuE;YACvE,KAAK;YACL,OAAO,IAAI,UAAU,EAAE,CAAA;QACzB,CAAC;QACD,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;YACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACvC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAA;QACjB,CAAC,CAAC;QACF,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;YACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAA;YACf,OAAO,OAA6B,CAAA;QACtC,CAAC,CAAC;QACF,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,CAAC,KAAK,EAAE,CAAA;YAEhB,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,CAAC,CAAC;gBACR,KAAK,EAAE,2DAA2D;aACnE,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAM;YACR,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE,CAAA;YACjB,CAAC;YAED,qDAAqD;YACrD,0DAA0D;YAC1D,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,sDAAsD;YACtD,8EAA8E;YAC9E,0BAA0B;YAC1B,8CAA8C;YAC9C,cAAc;YACd,uEAAuE;YACvE,KAAK;QACP,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,uDAAuD;YACvD,6DAA6D;YAC7D,0BAA0B;YAC1B,+CAA+C;YAC/C,cAAc;YACd,wEAAwE;YACxE,KAAK;YACL,OAAO;gBACL,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE;gBACjC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;aACS,CAAA;QAC7B,CAAC;QACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,2DAA2D;YAC3D,+DAA+D;YAC/D,MAAM,SAAS,GAAG;gBAChB,MAAM,EAAE,GAAG,EAAE;oBACX,MAAM,IAAI,WAAW,CAAC;wBACpB,IAAI,EAAE,CAAC,CAAC;wBACR,KAAK,EAAE,2DAA2D;qBACnE,CAAC,CAAA;gBACJ,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,IAAI,WAAW,CAAC;wBACpB,IAAI,EAAE,CAAC,CAAC;wBACR,KAAK,EAAE,0DAA0D;qBAClE,CAAC,CAAA;gBACJ,CAAC;aAC0B,CAAA;YAE7B,OAAO,SAAS,CAAA;QAClB,CAAC;KAC4B,CAAA;IAE/B,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAE9B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,6BAA6B,GAAG,CAAC,GAAW,EAAW,EAAE;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACtC,OAAO,CACL,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI;QAClC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI;QACnC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI;QAChC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI;QACrC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI;QACtC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CACrC,CAAA;AACH,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/adapter-cloudflare",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0-dev.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,36 +25,27 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@cloudflare/workers-types": "4.20251118.0",
|
|
28
|
-
"@livestore/common": "^0.
|
|
29
|
-
"@livestore/
|
|
30
|
-
"@livestore/
|
|
31
|
-
"@livestore/sqlite-wasm": "^0.
|
|
32
|
-
"@livestore/sync-cf": "^0.
|
|
33
|
-
"@livestore/utils": "^0.
|
|
28
|
+
"@livestore/common": "^0.5.0-dev.0",
|
|
29
|
+
"@livestore/livestore": "^0.5.0-dev.0",
|
|
30
|
+
"@livestore/common-cf": "^0.5.0-dev.0",
|
|
31
|
+
"@livestore/sqlite-wasm": "^0.5.0-dev.0",
|
|
32
|
+
"@livestore/sync-cf": "^0.5.0-dev.0",
|
|
33
|
+
"@livestore/utils": "^0.5.0-dev.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"wrangler": "4.42.2"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@effect/
|
|
40
|
-
"@effect/
|
|
41
|
-
"@effect/
|
|
42
|
-
"@effect/
|
|
43
|
-
"@effect/
|
|
44
|
-
"@effect/
|
|
45
|
-
"@effect/platform-browser": "^0.76.0",
|
|
46
|
-
"@effect/platform-bun": "^0.89.0",
|
|
47
|
-
"@effect/platform-node": "^0.106.0",
|
|
48
|
-
"@effect/printer": "^0.49.0",
|
|
49
|
-
"@effect/printer-ansi": "^0.49.0",
|
|
50
|
-
"@effect/rpc": "^0.75.1",
|
|
51
|
-
"@effect/sql": "^0.51.1",
|
|
52
|
-
"@effect/typeclass": "^0.40.0",
|
|
53
|
-
"@effect/vitest": "^0.29.0",
|
|
39
|
+
"@effect/opentelemetry": "^4.0.0-rc.111",
|
|
40
|
+
"@effect/platform-browser": "^4.0.0-rc.111",
|
|
41
|
+
"@effect/platform-bun": "^4.0.0-rc.111",
|
|
42
|
+
"@effect/platform-node": "^4.0.0-rc.111",
|
|
43
|
+
"@effect/platform-node-shared": "^4.0.0-rc.111",
|
|
44
|
+
"@effect/vitest": "^4.0.0-rc.111",
|
|
54
45
|
"@opentelemetry/api": "^1.9.0",
|
|
55
46
|
"@opentelemetry/resources": "^2.2.0",
|
|
56
47
|
"@standard-schema/spec": "^1.1.0",
|
|
57
|
-
"effect": "^
|
|
48
|
+
"effect": "^4.0.0-rc.111"
|
|
58
49
|
},
|
|
59
50
|
"$genie": {
|
|
60
51
|
"source": "package.json.genie.ts",
|
|
@@ -64,7 +55,6 @@
|
|
|
64
55
|
"packages/@livestore/adapter-web",
|
|
65
56
|
"packages/@livestore/common",
|
|
66
57
|
"packages/@livestore/common-cf",
|
|
67
|
-
"packages/@livestore/devtools-web-common",
|
|
68
58
|
"packages/@livestore/livestore",
|
|
69
59
|
"packages/@livestore/sqlite-wasm",
|
|
70
60
|
"packages/@livestore/sync-cf",
|
package/src/create-store-do.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { LogConfig,
|
|
1
|
+
import type { LogConfig, SyncOptions } from '@livestore/common'
|
|
2
2
|
import type { CfTypes, HelperTypes } from '@livestore/common-cf'
|
|
3
3
|
import { createStore, type LiveStoreSchema, provideOtel } from '@livestore/livestore'
|
|
4
4
|
import type * as CfSyncBackend from '@livestore/sync-cf/cf-worker'
|
|
5
5
|
import { makeDoRpcSync } from '@livestore/sync-cf/client'
|
|
6
|
-
import {
|
|
6
|
+
import { isDevEnv } from '@livestore/utils'
|
|
7
|
+
import { Effect, Layer, References, Scope } from '@livestore/utils/effect'
|
|
7
8
|
|
|
8
9
|
import { makeAdapter } from './make-adapter.ts'
|
|
9
10
|
|
|
@@ -49,7 +50,7 @@ export type CreateStoreDoOptions<TSchema extends LiveStoreSchema, TEnv, TState>
|
|
|
49
50
|
* @default { _tag: 'Blocking', timeout: 500 }
|
|
50
51
|
*/
|
|
51
52
|
initialSyncOptions?: SyncOptions['initialSyncOptions']
|
|
52
|
-
} & LogConfig.
|
|
53
|
+
} & LogConfig.LoggerOptions
|
|
53
54
|
|
|
54
55
|
/**
|
|
55
56
|
* Creates a LiveStore instance inside a Cloudflare Durable Object.
|
|
@@ -121,6 +122,7 @@ export const createStoreDo = <
|
|
|
121
122
|
syncOptions: {
|
|
122
123
|
backend: makeDoRpcSync({
|
|
123
124
|
syncBackendStub,
|
|
125
|
+
durableObjectState: ctx,
|
|
124
126
|
durableObjectContext: { bindingName, durableObjectId },
|
|
125
127
|
}),
|
|
126
128
|
livePull, // Uses DO RPC callbacks for reactive pull
|
|
@@ -128,7 +130,7 @@ export const createStoreDo = <
|
|
|
128
130
|
},
|
|
129
131
|
})
|
|
130
132
|
|
|
131
|
-
return yield* createStore({ schema, adapter, storeId }).pipe(Scope.
|
|
133
|
+
return yield* createStore({ schema, adapter, storeId }).pipe(Scope.provide(scope), provideOtel({}))
|
|
132
134
|
})
|
|
133
135
|
|
|
134
136
|
/**
|
|
@@ -164,10 +166,12 @@ export const createStoreDoPromise = <
|
|
|
164
166
|
options: CreateStoreDoOptions<TSchema, TEnv, TState>,
|
|
165
167
|
) =>
|
|
166
168
|
createStoreDo(options).pipe(
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
Effect.provide(
|
|
170
|
+
Layer.mergeAll(
|
|
171
|
+
options.logger ?? Layer.empty,
|
|
172
|
+
Layer.succeed(References.MinimumLogLevel, options.logLevel ?? (isDevEnv() === true ? 'Debug' : 'Info')),
|
|
173
|
+
),
|
|
174
|
+
),
|
|
171
175
|
Effect.tapCauseLogPretty,
|
|
172
176
|
Effect.runPromise,
|
|
173
177
|
)
|
package/src/make-adapter.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
makeClientSession,
|
|
7
7
|
type SyncOptions,
|
|
8
8
|
UnknownError,
|
|
9
|
+
StateHead,
|
|
9
10
|
} from '@livestore/common'
|
|
10
11
|
import type { CfTypes } from '@livestore/common-cf'
|
|
11
12
|
import {
|
|
@@ -15,11 +16,13 @@ import {
|
|
|
15
16
|
makeLeaderThreadLayer,
|
|
16
17
|
streamEventsWithSyncState,
|
|
17
18
|
} from '@livestore/common/leader-thread'
|
|
19
|
+
import { getStateDbBaseName } from '@livestore/common/schema'
|
|
18
20
|
import { LiveStoreEvent } from '@livestore/livestore'
|
|
19
21
|
import { CF_SQL_VFS_REQUIRED_PRAGMAS, sqliteDbFactory } from '@livestore/sqlite-wasm/cf'
|
|
20
|
-
import { makeSqliteDb as makeDoSqliteDb } from './make-sqlite-db.ts'
|
|
21
22
|
import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm'
|
|
22
|
-
import { Effect, FetchHttpClient, Layer, Schedule, SubscriptionRef, WebChannel } from '@livestore/utils/effect'
|
|
23
|
+
import { Effect, FetchHttpClient, Layer, Queue, Schedule, SubscriptionRef, WebChannel } from '@livestore/utils/effect'
|
|
24
|
+
|
|
25
|
+
import { makeSqliteDb as makeDoSqliteDb } from './make-sqlite-db.ts'
|
|
23
26
|
|
|
24
27
|
export const makeAdapter =
|
|
25
28
|
({
|
|
@@ -55,23 +58,16 @@ export const makeAdapter =
|
|
|
55
58
|
UnknownError.mapToUnknownError,
|
|
56
59
|
)
|
|
57
60
|
|
|
58
|
-
const schemaHashSuffix =
|
|
59
|
-
schema.state.sqlite.migrations.strategy === 'manual' ? 'fixed' : schema.state.sqlite.hash.toString()
|
|
60
|
-
|
|
61
61
|
if (resetPersistence === true) {
|
|
62
62
|
yield* resetDurableObjectPersistence({ storage, storeId })
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
const stateDbFileName = getStateDbFileName(schemaHashSuffix)
|
|
66
|
-
|
|
67
65
|
const dbState = yield* makeSqliteDb({
|
|
68
66
|
_tag: 'storage',
|
|
69
67
|
storage,
|
|
70
|
-
fileName:
|
|
68
|
+
fileName: `${getStateDbBaseName(schema)}@${liveStoreStorageFormatVersion}.db`,
|
|
71
69
|
configureDb: (db) =>
|
|
72
|
-
db.execute(
|
|
73
|
-
[...CF_SQL_VFS_REQUIRED_PRAGMAS, 'cache_size=-8000'].map((p) => `PRAGMA ${p}`).join(';\n'),
|
|
74
|
-
),
|
|
70
|
+
db.execute([...CF_SQL_VFS_REQUIRED_PRAGMAS, 'cache_size=-8000'].map((p) => `PRAGMA ${p}`).join(';\n')),
|
|
75
71
|
}).pipe(UnknownError.mapToUnknownError)
|
|
76
72
|
|
|
77
73
|
// dbEventlog runs on DO SQLite directly (not through the VFS). SQL-level transaction
|
|
@@ -98,7 +94,7 @@ export const makeAdapter =
|
|
|
98
94
|
shutdownChannel,
|
|
99
95
|
syncPayloadEncoded,
|
|
100
96
|
syncPayloadSchema,
|
|
101
|
-
}),
|
|
97
|
+
}).pipe(Layer.provide(StateHead.layer({ dbState }))),
|
|
102
98
|
)
|
|
103
99
|
|
|
104
100
|
const { leaderThread, initialSnapshot } = yield* Effect.gen(function* () {
|
|
@@ -112,11 +108,7 @@ export const makeAdapter =
|
|
|
112
108
|
{
|
|
113
109
|
events: {
|
|
114
110
|
pull: ({ cursor }) => syncProcessor.pull({ cursor }),
|
|
115
|
-
push: (batch) =>
|
|
116
|
-
syncProcessor.push(
|
|
117
|
-
batch.map((item) => new LiveStoreEvent.Client.EncodedWithMeta(item)),
|
|
118
|
-
{ waitForProcessing: true },
|
|
119
|
-
),
|
|
111
|
+
push: (batch) => syncProcessor.push(batch.map((item) => new LiveStoreEvent.Client.EncodedWithMeta(item))),
|
|
120
112
|
stream: (options) =>
|
|
121
113
|
streamEventsWithSyncState({
|
|
122
114
|
dbEventlog,
|
|
@@ -132,7 +124,7 @@ export const makeAdapter =
|
|
|
132
124
|
export: Effect.sync(() => dbState.export()),
|
|
133
125
|
getEventlogData: Effect.sync(() => dbEventlog.export()),
|
|
134
126
|
syncState: syncProcessor.syncState,
|
|
135
|
-
sendDevtoolsMessage: (message) =>
|
|
127
|
+
sendDevtoolsMessage: (message) => Queue.offer(extraIncomingMessagesQueue, message),
|
|
136
128
|
networkStatus,
|
|
137
129
|
},
|
|
138
130
|
{
|
|
@@ -179,8 +171,6 @@ export const makeAdapter =
|
|
|
179
171
|
Effect.provide(FetchHttpClient.layer),
|
|
180
172
|
)
|
|
181
173
|
|
|
182
|
-
const getStateDbFileName = (suffix: string) => `state${suffix}@${liveStoreStorageFormatVersion}.db`
|
|
183
|
-
|
|
184
174
|
const resetDurableObjectPersistence = ({
|
|
185
175
|
storage,
|
|
186
176
|
storeId,
|
package/src/make-sqlite-db.ts
CHANGED
|
@@ -26,7 +26,6 @@ class CloudflarePreparedStatement implements PreparedStatement {
|
|
|
26
26
|
try {
|
|
27
27
|
if (isTransactionControlStatement(this.sql) === true) return
|
|
28
28
|
|
|
29
|
-
|
|
30
29
|
const cursor = this.sqlStorage.exec(this.sql, ...(bindValues !== undefined ? Object.values(bindValues) : []))
|
|
31
30
|
|
|
32
31
|
// Count affected rows by iterating through cursor
|