@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.
Files changed (52) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +9 -1
  3. package/dist/chunk-3XAF3IZW.js +206 -0
  4. package/dist/chunk-3XAF3IZW.js.map +1 -0
  5. package/dist/chunk-DTRYQ3SF.js +36 -0
  6. package/dist/chunk-DTRYQ3SF.js.map +1 -0
  7. package/dist/chunk-JHZRO76J.js +288 -0
  8. package/dist/chunk-JHZRO76J.js.map +1 -0
  9. package/dist/chunk-NJ7RJSGZ.js +50 -0
  10. package/dist/chunk-NJ7RJSGZ.js.map +1 -0
  11. package/dist/chunk-ONDKTPGP.js +144 -0
  12. package/dist/chunk-ONDKTPGP.js.map +1 -0
  13. package/dist/chunk-PA5TYHIW.js +73 -0
  14. package/dist/chunk-PA5TYHIW.js.map +1 -0
  15. package/dist/chunk-QHM6T5OI.js +105 -0
  16. package/dist/chunk-QHM6T5OI.js.map +1 -0
  17. package/dist/chunk-YA4MAETI.js +47 -0
  18. package/dist/chunk-YA4MAETI.js.map +1 -0
  19. package/dist/drizzle-mutation-store.d.ts +20 -0
  20. package/dist/drizzle-mutation-store.js +3 -0
  21. package/dist/drizzle-mutation-store.js.map +1 -0
  22. package/dist/drizzle-partial-sync-changelog.d.ts +20 -0
  23. package/dist/drizzle-partial-sync-changelog.js +3 -0
  24. package/dist/drizzle-partial-sync-changelog.js.map +1 -0
  25. package/dist/drizzle-partial-sync-store.d.ts +22 -0
  26. package/dist/drizzle-partial-sync-store.js +4 -0
  27. package/dist/drizzle-partial-sync-store.js.map +1 -0
  28. package/dist/durable-sqlite-collection.d.ts +41 -0
  29. package/dist/durable-sqlite-collection.js +3 -0
  30. package/dist/durable-sqlite-collection.js.map +1 -0
  31. package/dist/durable-sqlite-sync-server.d.ts +48 -0
  32. package/dist/durable-sqlite-sync-server.js +3 -0
  33. package/dist/durable-sqlite-sync-server.js.map +1 -0
  34. package/dist/index.d.ts +20 -0
  35. package/dist/index.js +10 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/partial-sync-predicate-sql.d.ts +29 -0
  38. package/dist/partial-sync-predicate-sql.js +3 -0
  39. package/dist/partial-sync-predicate-sql.js.map +1 -0
  40. package/dist/partial-sync-sqlite-db.d.ts +9 -0
  41. package/dist/partial-sync-sqlite-db.js +3 -0
  42. package/dist/partial-sync-sqlite-db.js.map +1 -0
  43. package/dist/queryable-durable-object.d.ts +128 -0
  44. package/dist/queryable-durable-object.js +3 -0
  45. package/dist/queryable-durable-object.js.map +1 -0
  46. package/dist/syncable-durable-object.d.ts +58 -0
  47. package/dist/syncable-durable-object.js +4 -0
  48. package/dist/syncable-durable-object.js.map +1 -0
  49. package/package.json +22 -20
  50. package/src/durable-sqlite-collection.ts +4 -4
  51. package/src/queryable-durable-object.ts +15 -12
  52. 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
- ZodSession,
22
- ZodWebSocketDO,
23
- type ZodSessionOptions,
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
- ): ZodSessionOptions<SyncClientMessage, SyncServerMessage<TItem>> {
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 ZodSession<
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: ZodSessionOptions<SyncClientMessage, SyncServerMessage<TItem>>,
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 ZodWebSocketDO<
119
- // biome-ignore lint/suspicious/noExplicitAny: ZodWebSocketDO session generic is internal; row type is fixed in constructor.
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
- zodSessionOptions: (
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
- createZodSession: (
162
+ createStandardSchemaSession: (
160
163
  _sessionCtx: Context<{ Bindings: TEnv }> | undefined,
161
164
  websocket: WebSocket,
162
- options: ZodSessionOptions<
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 as Map<WebSocket, SyncTableSession<TRow, TEnv>>,
170
- options as ZodSessionOptions<
172
+ this.sessions,
173
+ options as StandardSchemaSessionOptions<
171
174
  SyncClientMessage,
172
175
  SyncServerMessage<TRow>
173
176
  >,