@livestore/sync-cf 0.0.0-snapshot-4c2ee347c9a2ee93b7d67a7652d1db36f5b7ee30 → 0.0.0-snapshot-1d99fea7d2ce2c7a5d9ed0a3752f8a7bda6bc3db

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 (50) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/cf-worker/durable-object.d.ts +40 -34
  3. package/dist/cf-worker/durable-object.d.ts.map +1 -1
  4. package/dist/cf-worker/durable-object.js +159 -124
  5. package/dist/cf-worker/durable-object.js.map +1 -1
  6. package/dist/cf-worker/mod.d.ts +3 -0
  7. package/dist/cf-worker/mod.d.ts.map +1 -0
  8. package/dist/cf-worker/mod.js +3 -0
  9. package/dist/cf-worker/mod.js.map +1 -0
  10. package/dist/cf-worker/worker.d.ts +6 -0
  11. package/dist/cf-worker/worker.d.ts.map +1 -0
  12. package/dist/cf-worker/worker.js +29 -0
  13. package/dist/cf-worker/worker.js.map +1 -0
  14. package/dist/common/{index.js → mod.d.ts} +1 -1
  15. package/dist/common/mod.d.ts.map +1 -0
  16. package/dist/common/{index.d.ts → mod.js} +1 -1
  17. package/dist/common/mod.js.map +1 -0
  18. package/dist/common/ws-message-types.d.ts +92 -216
  19. package/dist/common/ws-message-types.d.ts.map +1 -1
  20. package/dist/common/ws-message-types.js +13 -9
  21. package/dist/common/ws-message-types.js.map +1 -1
  22. package/dist/sync-impl/mod.d.ts +2 -0
  23. package/dist/sync-impl/mod.d.ts.map +1 -0
  24. package/dist/sync-impl/mod.js +2 -0
  25. package/dist/sync-impl/mod.js.map +1 -0
  26. package/dist/sync-impl/ws-impl.d.ts +5 -13
  27. package/dist/sync-impl/ws-impl.d.ts.map +1 -1
  28. package/dist/sync-impl/ws-impl.js +69 -69
  29. package/dist/sync-impl/ws-impl.js.map +1 -1
  30. package/package.json +17 -8
  31. package/src/cf-worker/durable-object.ts +236 -153
  32. package/src/cf-worker/mod.ts +2 -0
  33. package/src/cf-worker/worker.ts +39 -0
  34. package/src/common/ws-message-types.ts +18 -9
  35. package/src/sync-impl/ws-impl.ts +120 -121
  36. package/dist/cf-worker/index.d.ts +0 -8
  37. package/dist/cf-worker/index.d.ts.map +0 -1
  38. package/dist/cf-worker/index.js +0 -67
  39. package/dist/cf-worker/index.js.map +0 -1
  40. package/dist/common/index.d.ts.map +0 -1
  41. package/dist/common/index.js.map +0 -1
  42. package/dist/sync-impl/index.d.ts +0 -2
  43. package/dist/sync-impl/index.d.ts.map +0 -1
  44. package/dist/sync-impl/index.js +0 -2
  45. package/dist/sync-impl/index.js.map +0 -1
  46. package/src/cf-worker/index.ts +0 -84
  47. package/tsconfig.json +0 -12
  48. package/wrangler.toml +0 -21
  49. /package/src/common/{index.ts → mod.ts} +0 -0
  50. /package/src/sync-impl/{index.ts → mod.ts} +0 -0
@@ -5,87 +5,49 @@ export declare const PullReq: Schema.TaggedStruct<"WSMessage.PullReq", {
5
5
  cursor: Schema.optional<typeof Schema.Number>;
6
6
  }>;
7
7
  export type PullReq = typeof PullReq.Type;
8
+ export declare const SyncMetadata: Schema.Struct<{
9
+ /** ISO date format */
10
+ createdAt: typeof Schema.String;
11
+ }>;
12
+ export type SyncMetadata = typeof SyncMetadata.Type;
8
13
  export declare const PullRes: Schema.TaggedStruct<"WSMessage.PullRes", {
9
14
  requestId: typeof Schema.String;
10
- events: Schema.Array$<Schema.SchemaClass<{
11
- readonly id: {
12
- readonly global: number;
13
- readonly local: number;
14
- };
15
- readonly mutation: string;
16
- readonly args: any;
17
- readonly parentId: {
18
- readonly global: number;
19
- readonly local: number;
20
- };
21
- }, {
22
- readonly id: {
23
- readonly global: number;
24
- readonly local: number;
25
- };
26
- readonly mutation: string;
27
- readonly args: any;
28
- readonly parentId: {
29
- readonly global: number;
30
- readonly local: number;
31
- };
32
- }, never>>;
33
- hasMore: typeof Schema.Boolean;
15
+ events: Schema.Array$<Schema.Struct<{
16
+ mutationEventEncoded: Schema.Struct<{
17
+ mutation: typeof Schema.String;
18
+ args: typeof Schema.Any;
19
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
20
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
21
+ }>;
22
+ metadata: Schema.Option<Schema.Struct<{
23
+ /** ISO date format */
24
+ createdAt: typeof Schema.String;
25
+ }>>;
26
+ }>>;
27
+ remaining: typeof Schema.Number;
34
28
  }>;
35
29
  export type PullRes = typeof PullRes.Type;
36
30
  export declare const PushBroadcast: Schema.TaggedStruct<"WSMessage.PushBroadcast", {
37
- mutationEventEncoded: Schema.SchemaClass<{
38
- readonly id: {
39
- readonly global: number;
40
- readonly local: number;
41
- };
42
- readonly mutation: string;
43
- readonly args: any;
44
- readonly parentId: {
45
- readonly global: number;
46
- readonly local: number;
47
- };
48
- }, {
49
- readonly id: {
50
- readonly global: number;
51
- readonly local: number;
52
- };
53
- readonly mutation: string;
54
- readonly args: any;
55
- readonly parentId: {
56
- readonly global: number;
57
- readonly local: number;
58
- };
59
- }, never>;
60
- persisted: typeof Schema.Boolean;
31
+ mutationEventEncoded: Schema.Struct<{
32
+ mutation: typeof Schema.String;
33
+ args: typeof Schema.Any;
34
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
35
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
36
+ }>;
37
+ metadata: Schema.Option<Schema.Struct<{
38
+ /** ISO date format */
39
+ createdAt: typeof Schema.String;
40
+ }>>;
61
41
  }>;
62
42
  export type PushBroadcast = typeof PushBroadcast.Type;
63
43
  export declare const PushReq: Schema.TaggedStruct<"WSMessage.PushReq", {
64
44
  requestId: typeof Schema.String;
65
- mutationEventEncoded: Schema.SchemaClass<{
66
- readonly id: {
67
- readonly global: number;
68
- readonly local: number;
69
- };
70
- readonly mutation: string;
71
- readonly args: any;
72
- readonly parentId: {
73
- readonly global: number;
74
- readonly local: number;
75
- };
76
- }, {
77
- readonly id: {
78
- readonly global: number;
79
- readonly local: number;
80
- };
81
- readonly mutation: string;
82
- readonly args: any;
83
- readonly parentId: {
84
- readonly global: number;
85
- readonly local: number;
86
- };
87
- }, never>;
88
- persisted: typeof Schema.Boolean;
45
+ batch: Schema.Array$<Schema.Struct<{
46
+ mutation: typeof Schema.String;
47
+ args: typeof Schema.Any;
48
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
49
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
50
+ }>>;
89
51
  }>;
90
52
  export type PushReq = typeof PushReq.Type;
91
53
  export declare const PushAck: Schema.TaggedStruct<"WSMessage.PushAck", {
@@ -132,81 +94,38 @@ export declare const Message: Schema.Union<[Schema.TaggedStruct<"WSMessage.PullR
132
94
  cursor: Schema.optional<typeof Schema.Number>;
133
95
  }>, Schema.TaggedStruct<"WSMessage.PullRes", {
134
96
  requestId: typeof Schema.String;
135
- events: Schema.Array$<Schema.SchemaClass<{
136
- readonly id: {
137
- readonly global: number;
138
- readonly local: number;
139
- };
140
- readonly mutation: string;
141
- readonly args: any;
142
- readonly parentId: {
143
- readonly global: number;
144
- readonly local: number;
145
- };
146
- }, {
147
- readonly id: {
148
- readonly global: number;
149
- readonly local: number;
150
- };
151
- readonly mutation: string;
152
- readonly args: any;
153
- readonly parentId: {
154
- readonly global: number;
155
- readonly local: number;
156
- };
157
- }, never>>;
158
- hasMore: typeof Schema.Boolean;
97
+ events: Schema.Array$<Schema.Struct<{
98
+ mutationEventEncoded: Schema.Struct<{
99
+ mutation: typeof Schema.String;
100
+ args: typeof Schema.Any;
101
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
102
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
103
+ }>;
104
+ metadata: Schema.Option<Schema.Struct<{
105
+ /** ISO date format */
106
+ createdAt: typeof Schema.String;
107
+ }>>;
108
+ }>>;
109
+ remaining: typeof Schema.Number;
159
110
  }>, Schema.TaggedStruct<"WSMessage.PushBroadcast", {
160
- mutationEventEncoded: Schema.SchemaClass<{
161
- readonly id: {
162
- readonly global: number;
163
- readonly local: number;
164
- };
165
- readonly mutation: string;
166
- readonly args: any;
167
- readonly parentId: {
168
- readonly global: number;
169
- readonly local: number;
170
- };
171
- }, {
172
- readonly id: {
173
- readonly global: number;
174
- readonly local: number;
175
- };
176
- readonly mutation: string;
177
- readonly args: any;
178
- readonly parentId: {
179
- readonly global: number;
180
- readonly local: number;
181
- };
182
- }, never>;
183
- persisted: typeof Schema.Boolean;
111
+ mutationEventEncoded: Schema.Struct<{
112
+ mutation: typeof Schema.String;
113
+ args: typeof Schema.Any;
114
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
115
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
116
+ }>;
117
+ metadata: Schema.Option<Schema.Struct<{
118
+ /** ISO date format */
119
+ createdAt: typeof Schema.String;
120
+ }>>;
184
121
  }>, Schema.TaggedStruct<"WSMessage.PushReq", {
185
122
  requestId: typeof Schema.String;
186
- mutationEventEncoded: Schema.SchemaClass<{
187
- readonly id: {
188
- readonly global: number;
189
- readonly local: number;
190
- };
191
- readonly mutation: string;
192
- readonly args: any;
193
- readonly parentId: {
194
- readonly global: number;
195
- readonly local: number;
196
- };
197
- }, {
198
- readonly id: {
199
- readonly global: number;
200
- readonly local: number;
201
- };
202
- readonly mutation: string;
203
- readonly args: any;
204
- readonly parentId: {
205
- readonly global: number;
206
- readonly local: number;
207
- };
208
- }, never>;
209
- persisted: typeof Schema.Boolean;
123
+ batch: Schema.Array$<Schema.Struct<{
124
+ mutation: typeof Schema.String;
125
+ args: typeof Schema.Any;
126
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
127
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
128
+ }>>;
210
129
  }>, Schema.TaggedStruct<"WSMessage.PushAck", {
211
130
  requestId: typeof Schema.String;
212
131
  mutationId: typeof Schema.Number;
@@ -235,55 +154,30 @@ export type Message = typeof Message.Type;
235
154
  export type MessageEncoded = typeof Message.Encoded;
236
155
  export declare const BackendToClientMessage: Schema.Union<[Schema.TaggedStruct<"WSMessage.PullRes", {
237
156
  requestId: typeof Schema.String;
238
- events: Schema.Array$<Schema.SchemaClass<{
239
- readonly id: {
240
- readonly global: number;
241
- readonly local: number;
242
- };
243
- readonly mutation: string;
244
- readonly args: any;
245
- readonly parentId: {
246
- readonly global: number;
247
- readonly local: number;
248
- };
249
- }, {
250
- readonly id: {
251
- readonly global: number;
252
- readonly local: number;
253
- };
254
- readonly mutation: string;
255
- readonly args: any;
256
- readonly parentId: {
257
- readonly global: number;
258
- readonly local: number;
259
- };
260
- }, never>>;
261
- hasMore: typeof Schema.Boolean;
157
+ events: Schema.Array$<Schema.Struct<{
158
+ mutationEventEncoded: Schema.Struct<{
159
+ mutation: typeof Schema.String;
160
+ args: typeof Schema.Any;
161
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
162
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
163
+ }>;
164
+ metadata: Schema.Option<Schema.Struct<{
165
+ /** ISO date format */
166
+ createdAt: typeof Schema.String;
167
+ }>>;
168
+ }>>;
169
+ remaining: typeof Schema.Number;
262
170
  }>, Schema.TaggedStruct<"WSMessage.PushBroadcast", {
263
- mutationEventEncoded: Schema.SchemaClass<{
264
- readonly id: {
265
- readonly global: number;
266
- readonly local: number;
267
- };
268
- readonly mutation: string;
269
- readonly args: any;
270
- readonly parentId: {
271
- readonly global: number;
272
- readonly local: number;
273
- };
274
- }, {
275
- readonly id: {
276
- readonly global: number;
277
- readonly local: number;
278
- };
279
- readonly mutation: string;
280
- readonly args: any;
281
- readonly parentId: {
282
- readonly global: number;
283
- readonly local: number;
284
- };
285
- }, never>;
286
- persisted: typeof Schema.Boolean;
171
+ mutationEventEncoded: Schema.Struct<{
172
+ mutation: typeof Schema.String;
173
+ args: typeof Schema.Any;
174
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
175
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
176
+ }>;
177
+ metadata: Schema.Option<Schema.Struct<{
178
+ /** ISO date format */
179
+ createdAt: typeof Schema.String;
180
+ }>>;
287
181
  }>, Schema.TaggedStruct<"WSMessage.PushAck", {
288
182
  requestId: typeof Schema.String;
289
183
  mutationId: typeof Schema.Number;
@@ -307,30 +201,12 @@ export declare const ClientToBackendMessage: Schema.Union<[Schema.TaggedStruct<"
307
201
  cursor: Schema.optional<typeof Schema.Number>;
308
202
  }>, Schema.TaggedStruct<"WSMessage.PushReq", {
309
203
  requestId: typeof Schema.String;
310
- mutationEventEncoded: Schema.SchemaClass<{
311
- readonly id: {
312
- readonly global: number;
313
- readonly local: number;
314
- };
315
- readonly mutation: string;
316
- readonly args: any;
317
- readonly parentId: {
318
- readonly global: number;
319
- readonly local: number;
320
- };
321
- }, {
322
- readonly id: {
323
- readonly global: number;
324
- readonly local: number;
325
- };
326
- readonly mutation: string;
327
- readonly args: any;
328
- readonly parentId: {
329
- readonly global: number;
330
- readonly local: number;
331
- };
332
- }, never>;
333
- persisted: typeof Schema.Boolean;
204
+ batch: Schema.Array$<Schema.Struct<{
205
+ mutation: typeof Schema.String;
206
+ args: typeof Schema.Any;
207
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
208
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
209
+ }>>;
334
210
  }>, Schema.TaggedStruct<"WSMessage.AdminResetRoomReq", {
335
211
  requestId: typeof Schema.String;
336
212
  adminSecret: typeof Schema.String;
@@ -1 +1 @@
1
- {"version":3,"file":"ws-message-types.d.ts","sourceRoot":"","sources":["../../src/common/ws-message-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,eAAO,MAAM,OAAO;;IAElB,wDAAwD;;EAExD,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;EAMlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;EAGxB,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,eAAO,MAAM,OAAO;;;EAGlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,eAAO,MAAM,KAAK;;;EAGhB,CAAA;AAEF,eAAO,MAAM,IAAI;;EAEf,CAAA;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAEnC,eAAO,MAAM,IAAI;;EAEf,CAAA;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAEnC,eAAO,MAAM,iBAAiB;;;EAG5B,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,eAAO,MAAM,iBAAiB;;EAE5B,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,eAAO,MAAM,YAAY;;;EAGvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,eAAO,MAAM,YAAY;;;;;EAKvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,eAAO,MAAM,OAAO;;IApFlB,wDAAwD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiGzD,CAAA;AACD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AACzC,MAAM,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,OAAO,CAAA;AAEnD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQlC,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,sBAAsB;;IAhHjC,wDAAwD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgHiD,CAAA;AAC3G,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"ws-message-types.d.ts","sourceRoot":"","sources":["../../src/common/ws-message-types.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,29 @@
1
- import { mutationEventSchemaEncodedAny } from '@livestore/common/schema';
1
+ import { MutationEvent } from '@livestore/common/schema';
2
2
  import { Schema } from '@livestore/utils/effect';
3
3
  export const PullReq = Schema.TaggedStruct('WSMessage.PullReq', {
4
4
  requestId: Schema.String,
5
5
  /** Omitting the cursor will start from the beginning */
6
6
  cursor: Schema.optional(Schema.Number),
7
7
  });
8
+ export const SyncMetadata = Schema.Struct({
9
+ /** ISO date format */
10
+ createdAt: Schema.String,
11
+ });
8
12
  export const PullRes = Schema.TaggedStruct('WSMessage.PullRes', {
9
13
  requestId: Schema.String,
10
- // /** The */
11
- // cursor: Schema.String,
12
- events: Schema.Array(mutationEventSchemaEncodedAny),
13
- hasMore: Schema.Boolean,
14
+ events: Schema.Array(Schema.Struct({
15
+ mutationEventEncoded: MutationEvent.AnyEncodedGlobal,
16
+ metadata: Schema.Option(SyncMetadata),
17
+ })),
18
+ remaining: Schema.Number,
14
19
  });
15
20
  export const PushBroadcast = Schema.TaggedStruct('WSMessage.PushBroadcast', {
16
- mutationEventEncoded: mutationEventSchemaEncodedAny,
17
- persisted: Schema.Boolean,
21
+ mutationEventEncoded: MutationEvent.AnyEncodedGlobal,
22
+ metadata: Schema.Option(SyncMetadata),
18
23
  });
19
24
  export const PushReq = Schema.TaggedStruct('WSMessage.PushReq', {
20
25
  requestId: Schema.String,
21
- mutationEventEncoded: mutationEventSchemaEncodedAny,
22
- persisted: Schema.Boolean,
26
+ batch: Schema.Array(MutationEvent.AnyEncodedGlobal),
23
27
  });
24
28
  export const PushAck = Schema.TaggedStruct('WSMessage.PushAck', {
25
29
  requestId: Schema.String,
@@ -1 +1 @@
1
- {"version":3,"file":"ws-message-types.js","sourceRoot":"","sources":["../../src/common/ws-message-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-message-types.js","sourceRoot":"","sources":["../../src/common/ws-message-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './ws-impl.js';
2
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/sync-impl/mod.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './ws-impl.js';
2
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/sync-impl/mod.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1,18 +1,10 @@
1
- import type { SyncBackend, SyncBackendOptionsBase } from '@livestore/common';
1
+ import type { SyncBackend } from '@livestore/common';
2
2
  import type { Scope } from '@livestore/utils/effect';
3
3
  import { Effect } from '@livestore/utils/effect';
4
- export interface WsSyncOptions extends SyncBackendOptionsBase {
5
- type: 'cf';
4
+ import type { SyncMetadata } from '../common/ws-message-types.js';
5
+ export interface WsSyncOptions {
6
6
  url: string;
7
- roomId: string;
7
+ storeId: string;
8
8
  }
9
- interface LiveStoreGlobalCf {
10
- syncBackend: WsSyncOptions;
11
- }
12
- declare global {
13
- interface LiveStoreGlobal extends LiveStoreGlobalCf {
14
- }
15
- }
16
- export declare const makeWsSync: (options: WsSyncOptions) => Effect.Effect<SyncBackend<null>, never, Scope.Scope>;
17
- export {};
9
+ export declare const makeWsSync: (options: WsSyncOptions) => Effect.Effect<SyncBackend<SyncMetadata>, never, Scope.Scope>;
18
10
  //# sourceMappingURL=ws-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-impl.d.ts","sourceRoot":"","sources":["../../src/sync-impl/ws-impl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAY,MAAM,EAA0D,MAAM,yBAAyB,CAAA;AAKlH,MAAM,WAAW,aAAc,SAAQ,sBAAsB;IAC3D,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE,aAAa,CAAA;CAC3B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,eAAgB,SAAQ,iBAAiB;KAAG;CACvD;AAED,eAAO,MAAM,UAAU,YAAa,aAAa,KAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAoFnG,CAAA"}
1
+ {"version":3,"file":"ws-impl.d.ts","sourceRoot":"","sources":["../../src/sync-impl/ws-impl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAEL,MAAM,EASP,MAAM,yBAAyB,CAAA;AAIhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEjE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,UAAU,YAAa,aAAa,KAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAuE3G,CAAA"}