@firtoz/drizzle-durable-sqlite 1.0.4 → 2.1.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/CHANGELOG.md +39 -0
- package/README.md +9 -1
- package/dist/chunk-3XAF3IZW.js +206 -0
- package/dist/chunk-3XAF3IZW.js.map +1 -0
- package/dist/chunk-DTRYQ3SF.js +36 -0
- package/dist/chunk-DTRYQ3SF.js.map +1 -0
- package/dist/chunk-JHZRO76J.js +288 -0
- package/dist/chunk-JHZRO76J.js.map +1 -0
- package/dist/chunk-NJ7RJSGZ.js +50 -0
- package/dist/chunk-NJ7RJSGZ.js.map +1 -0
- package/dist/chunk-ONDKTPGP.js +144 -0
- package/dist/chunk-ONDKTPGP.js.map +1 -0
- package/dist/chunk-PA5TYHIW.js +73 -0
- package/dist/chunk-PA5TYHIW.js.map +1 -0
- package/dist/chunk-QHM6T5OI.js +105 -0
- package/dist/chunk-QHM6T5OI.js.map +1 -0
- package/dist/chunk-YA4MAETI.js +47 -0
- package/dist/chunk-YA4MAETI.js.map +1 -0
- package/dist/drizzle-mutation-store.d.ts +20 -0
- package/dist/drizzle-mutation-store.js +3 -0
- package/dist/drizzle-mutation-store.js.map +1 -0
- package/dist/drizzle-partial-sync-changelog.d.ts +20 -0
- package/dist/drizzle-partial-sync-changelog.js +3 -0
- package/dist/drizzle-partial-sync-changelog.js.map +1 -0
- package/dist/drizzle-partial-sync-store.d.ts +22 -0
- package/dist/drizzle-partial-sync-store.js +4 -0
- package/dist/drizzle-partial-sync-store.js.map +1 -0
- package/dist/durable-sqlite-collection.d.ts +41 -0
- package/dist/durable-sqlite-collection.js +3 -0
- package/dist/durable-sqlite-collection.js.map +1 -0
- package/dist/durable-sqlite-sync-server.d.ts +48 -0
- package/dist/durable-sqlite-sync-server.js +3 -0
- package/dist/durable-sqlite-sync-server.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/partial-sync-predicate-sql.d.ts +29 -0
- package/dist/partial-sync-predicate-sql.js +3 -0
- package/dist/partial-sync-predicate-sql.js.map +1 -0
- package/dist/partial-sync-sqlite-db.d.ts +9 -0
- package/dist/partial-sync-sqlite-db.js +3 -0
- package/dist/partial-sync-sqlite-db.js.map +1 -0
- package/dist/queryable-durable-object.d.ts +128 -0
- package/dist/queryable-durable-object.js +3 -0
- package/dist/queryable-durable-object.js.map +1 -0
- package/dist/syncable-durable-object.d.ts +58 -0
- package/dist/syncable-durable-object.js +4 -0
- package/dist/syncable-durable-object.js.map +1 -0
- package/package.json +22 -20
- package/src/durable-sqlite-collection.ts +4 -4
- package/src/queryable-durable-object.ts +15 -12
- package/src/syncable-durable-object.ts +16 -13
|
@@ -18,9 +18,9 @@ import type {
|
|
|
18
18
|
TableWithRequiredFields,
|
|
19
19
|
} from "@firtoz/drizzle-utils";
|
|
20
20
|
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
type
|
|
21
|
+
StandardSchemaSession,
|
|
22
|
+
StandardSchemaWebSocketDO,
|
|
23
|
+
type StandardSchemaSessionOptions,
|
|
24
24
|
} from "@firtoz/websocket-do";
|
|
25
25
|
import {
|
|
26
26
|
durableSqliteCollectionOptions,
|
|
@@ -46,7 +46,7 @@ function createSessionCodecOptions<TItem extends PartialSyncRowShape>(
|
|
|
46
46
|
enableBufferMessages: boolean,
|
|
47
47
|
serializeJson?: (value: unknown) => string,
|
|
48
48
|
deserializeJson?: (raw: string) => unknown,
|
|
49
|
-
):
|
|
49
|
+
): StandardSchemaSessionOptions<SyncClientMessage, SyncServerMessage<TItem>> {
|
|
50
50
|
const clientSchema = createClientMessageSchema();
|
|
51
51
|
const serverSchema = createServerMessageSchema<TItem>();
|
|
52
52
|
if (!enableBufferMessages) {
|
|
@@ -69,7 +69,7 @@ function createSessionCodecOptions<TItem extends PartialSyncRowShape>(
|
|
|
69
69
|
class SyncTableSession<
|
|
70
70
|
TItem extends PartialSyncRowShape,
|
|
71
71
|
TEnv extends Cloudflare.Env,
|
|
72
|
-
> extends
|
|
72
|
+
> extends StandardSchemaSession<
|
|
73
73
|
SessionData,
|
|
74
74
|
SyncServerMessage<TItem>,
|
|
75
75
|
SyncClientMessage,
|
|
@@ -80,7 +80,10 @@ class SyncTableSession<
|
|
|
80
80
|
constructor(
|
|
81
81
|
websocket: WebSocket,
|
|
82
82
|
sessions: Map<WebSocket, SyncTableSession<TItem, TEnv>>,
|
|
83
|
-
options:
|
|
83
|
+
options: StandardSchemaSessionOptions<
|
|
84
|
+
SyncClientMessage,
|
|
85
|
+
SyncServerMessage<TItem>
|
|
86
|
+
>,
|
|
84
87
|
bridge: SyncServerBridge<TItem>,
|
|
85
88
|
) {
|
|
86
89
|
const generatedClientId = crypto.randomUUID();
|
|
@@ -115,8 +118,8 @@ export abstract class SyncableDurableObject<
|
|
|
115
118
|
TSchema extends Record<string, unknown>,
|
|
116
119
|
TTableName extends ValidTableNames<TSchema>,
|
|
117
120
|
TEnv extends Cloudflare.Env = Cloudflare.Env,
|
|
118
|
-
> extends
|
|
119
|
-
// biome-ignore lint/suspicious/noExplicitAny:
|
|
121
|
+
> extends StandardSchemaWebSocketDO<
|
|
122
|
+
// biome-ignore lint/suspicious/noExplicitAny: StandardSchemaWebSocketDO session generic is internal; row type is fixed in constructor.
|
|
120
123
|
any,
|
|
121
124
|
SyncClientMessage,
|
|
122
125
|
SyncServerMessage<unknown>,
|
|
@@ -143,7 +146,7 @@ export abstract class SyncableDurableObject<
|
|
|
143
146
|
let bridgeRef!: SyncServerBridge<TRow>;
|
|
144
147
|
|
|
145
148
|
super(ctx, env, {
|
|
146
|
-
|
|
149
|
+
standardSchemaSessionOptions: (
|
|
147
150
|
sessionCtx: Context<{ Bindings: TEnv }> | undefined,
|
|
148
151
|
) => {
|
|
149
152
|
const useMsgpack =
|
|
@@ -156,18 +159,18 @@ export abstract class SyncableDurableObject<
|
|
|
156
159
|
config.deserializeJson,
|
|
157
160
|
);
|
|
158
161
|
},
|
|
159
|
-
|
|
162
|
+
createStandardSchemaSession: (
|
|
160
163
|
_sessionCtx: Context<{ Bindings: TEnv }> | undefined,
|
|
161
164
|
websocket: WebSocket,
|
|
162
|
-
options:
|
|
165
|
+
options: StandardSchemaSessionOptions<
|
|
163
166
|
SyncClientMessage,
|
|
164
167
|
SyncServerMessage<unknown>
|
|
165
168
|
>,
|
|
166
169
|
) => {
|
|
167
170
|
return new SyncTableSession<TRow, TEnv>(
|
|
168
171
|
websocket,
|
|
169
|
-
this.sessions
|
|
170
|
-
options as
|
|
172
|
+
this.sessions,
|
|
173
|
+
options as StandardSchemaSessionOptions<
|
|
171
174
|
SyncClientMessage,
|
|
172
175
|
SyncServerMessage<TRow>
|
|
173
176
|
>,
|