@livestore/common 0.3.0-dev.16 → 0.3.0-dev.18
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/adapter-types.d.ts +12 -4
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +4 -0
- package/dist/adapter-types.js.map +1 -1
- package/dist/bounded-collections.d.ts +1 -1
- package/dist/bounded-collections.d.ts.map +1 -1
- package/dist/debug-info.d.ts.map +1 -1
- package/dist/derived-mutations.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
- package/dist/devtools/devtools-messages-common.d.ts +6 -6
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.d.ts +28 -28
- package/dist/devtools/index.d.ts.map +1 -1
- package/dist/init-singleton-tables.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +3 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +130 -50
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/apply-mutation.d.ts.map +1 -1
- package/dist/leader-thread/apply-mutation.js +11 -5
- package/dist/leader-thread/apply-mutation.js.map +1 -1
- package/dist/leader-thread/connection.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +1 -0
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/mutationlog.d.ts.map +1 -1
- package/dist/leader-thread/pull-queue-set.d.ts +3 -3
- package/dist/leader-thread/pull-queue-set.d.ts.map +1 -1
- package/dist/leader-thread/pull-queue-set.js +9 -0
- package/dist/leader-thread/pull-queue-set.js.map +1 -1
- package/dist/leader-thread/shutdown-channel.d.ts +2 -5
- package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
- package/dist/leader-thread/shutdown-channel.js +2 -4
- package/dist/leader-thread/shutdown-channel.js.map +1 -1
- package/dist/leader-thread/types.d.ts +7 -2
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/mutation.d.ts.map +1 -1
- package/dist/otel.d.ts.map +1 -1
- package/dist/query-builder/api.d.ts.map +1 -1
- package/dist/query-builder/impl.d.ts.map +1 -1
- package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
- package/dist/rehydrate-from-mutationlog.js +3 -3
- package/dist/rehydrate-from-mutationlog.js.map +1 -1
- package/dist/schema/EventId.d.ts +8 -0
- package/dist/schema/EventId.d.ts.map +1 -1
- package/dist/schema/EventId.js +14 -0
- package/dist/schema/EventId.js.map +1 -1
- package/dist/schema/MutationEvent.d.ts.map +1 -1
- package/dist/schema/MutationEvent.js +3 -3
- package/dist/schema/MutationEvent.js.map +1 -1
- package/dist/schema/db-schema/ast/sqlite.d.ts.map +1 -1
- package/dist/schema/db-schema/ast/validate.d.ts.map +1 -1
- package/dist/schema/db-schema/dsl/field-defs.d.ts.map +1 -1
- package/dist/schema/db-schema/dsl/field-defs.js.map +1 -1
- package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -1
- package/dist/schema/db-schema/dsl/mod.js.map +1 -1
- package/dist/schema/db-schema/hash.d.ts.map +1 -1
- package/dist/schema/mutations.d.ts +5 -2
- package/dist/schema/mutations.d.ts.map +1 -1
- package/dist/schema/mutations.js.map +1 -1
- package/dist/schema/schema-helpers.d.ts.map +1 -1
- package/dist/schema/schema.d.ts +4 -1
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +19 -8
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/table-def.d.ts +1 -8
- package/dist/schema/table-def.d.ts.map +1 -1
- package/dist/schema-management/common.d.ts.map +1 -1
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
- package/dist/schema-management/validate-mutation-defs.js +2 -2
- package/dist/schema-management/validate-mutation-defs.js.map +1 -1
- package/dist/sql-queries/misc.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.d.ts.map +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
- package/dist/sql-queries/types.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts +11 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +51 -19
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/sync/next/compact-events.d.ts.map +1 -1
- package/dist/sync/next/facts.d.ts.map +1 -1
- package/dist/sync/next/history-dag.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/test/mutation-fixtures.d.ts +7 -7
- package/dist/sync/next/test/mutation-fixtures.d.ts.map +1 -1
- package/dist/sync/sync.d.ts +14 -9
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js +7 -3
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/syncstate.d.ts +132 -21
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +129 -41
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +19 -7
- package/dist/sync/syncstate.test.js.map +1 -1
- package/dist/sync/validate-push-payload.d.ts.map +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/src/adapter-types.ts +9 -4
- package/src/leader-thread/LeaderSyncProcessor.ts +169 -61
- package/src/leader-thread/apply-mutation.ts +21 -5
- package/src/leader-thread/make-leader-thread-layer.ts +1 -0
- package/src/leader-thread/pull-queue-set.ts +10 -1
- package/src/leader-thread/shutdown-channel.ts +2 -4
- package/src/leader-thread/types.ts +8 -2
- package/src/rehydrate-from-mutationlog.ts +2 -2
- package/src/schema/EventId.ts +16 -0
- package/src/schema/MutationEvent.ts +3 -3
- package/src/schema/db-schema/dsl/field-defs.ts +1 -2
- package/src/schema/db-schema/dsl/mod.ts +1 -1
- package/src/schema/mutations.ts +4 -1
- package/src/schema/schema.ts +20 -8
- package/src/schema-management/validate-mutation-defs.ts +2 -2
- package/src/sync/ClientSessionSyncProcessor.ts +82 -19
- package/src/sync/sync.ts +7 -4
- package/src/sync/syncstate.test.ts +32 -14
- package/src/sync/syncstate.ts +145 -60
- package/src/version.ts +1 -1
- package/tmp/pack.tgz +0 -0
package/src/sync/syncstate.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
import {
|
2
|
-
import { ReadonlyArray, Schema } from '@livestore/utils/effect'
|
1
|
+
import { casesHandled } from '@livestore/utils'
|
2
|
+
import { Match, ReadonlyArray, Schema } from '@livestore/utils/effect'
|
3
3
|
|
4
|
+
import { UnexpectedError } from '../adapter-types.js'
|
4
5
|
import * as EventId from '../schema/EventId.js'
|
5
6
|
import * as MutationEvent from '../schema/MutationEvent.js'
|
6
7
|
|
@@ -79,31 +80,104 @@ export const PayloadUpstream = Schema.Union(PayloadUpstreamRebase, PayloadUpstre
|
|
79
80
|
|
80
81
|
export type PayloadUpstream = typeof PayloadUpstream.Type
|
81
82
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
83
|
+
/** Only used for debugging purposes */
|
84
|
+
export class UpdateContext extends Schema.Class<UpdateContext>('UpdateContext')({
|
85
|
+
payload: Payload,
|
86
|
+
syncState: SyncState,
|
87
|
+
}) {
|
88
|
+
toJSON = (): any => {
|
89
|
+
const payload = Match.value(this.payload).pipe(
|
90
|
+
Match.tag('local-push', () => ({
|
91
|
+
_tag: 'local-push',
|
92
|
+
newEvents: this.payload.newEvents.map((e) => e.toJSON()),
|
93
|
+
})),
|
94
|
+
Match.tag('upstream-advance', () => ({
|
95
|
+
_tag: 'upstream-advance',
|
96
|
+
newEvents: this.payload.newEvents.map((e) => e.toJSON()),
|
97
|
+
})),
|
98
|
+
Match.tag('upstream-rebase', () => ({
|
99
|
+
_tag: 'upstream-rebase',
|
100
|
+
newEvents: this.payload.newEvents.map((e) => e.toJSON()),
|
101
|
+
})),
|
102
|
+
Match.exhaustive,
|
103
|
+
)
|
104
|
+
return {
|
105
|
+
payload,
|
106
|
+
syncState: this.syncState.toJSON(),
|
107
|
+
}
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
export class UpdateResultAdvance extends Schema.Class<UpdateResultAdvance>('UpdateResultAdvance')({
|
112
|
+
_tag: Schema.Literal('advance'),
|
113
|
+
newSyncState: SyncState,
|
86
114
|
/** Events which weren't pending before the update */
|
87
|
-
newEvents:
|
115
|
+
newEvents: Schema.Array(MutationEvent.EncodedWithMeta),
|
116
|
+
updateContext: UpdateContext,
|
117
|
+
}) {
|
118
|
+
toJSON = (): any => {
|
119
|
+
return {
|
120
|
+
_tag: this._tag,
|
121
|
+
newSyncState: this.newSyncState.toJSON(),
|
122
|
+
newEvents: this.newEvents.map((e) => e.toJSON()),
|
123
|
+
updateContext: this.updateContext.toJSON(),
|
124
|
+
}
|
125
|
+
}
|
88
126
|
}
|
89
127
|
|
90
|
-
export
|
91
|
-
_tag: 'rebase'
|
92
|
-
newSyncState: SyncState
|
93
|
-
previousSyncState: SyncState
|
128
|
+
export class UpdateResultRebase extends Schema.Class<UpdateResultRebase>('UpdateResultRebase')({
|
129
|
+
_tag: Schema.Literal('rebase'),
|
130
|
+
newSyncState: SyncState,
|
94
131
|
/** Events which weren't pending before the update */
|
95
|
-
newEvents:
|
96
|
-
eventsToRollback:
|
132
|
+
newEvents: Schema.Array(MutationEvent.EncodedWithMeta),
|
133
|
+
eventsToRollback: Schema.Array(MutationEvent.EncodedWithMeta),
|
134
|
+
updateContext: UpdateContext,
|
135
|
+
}) {
|
136
|
+
toJSON = (): any => {
|
137
|
+
return {
|
138
|
+
_tag: this._tag,
|
139
|
+
newSyncState: this.newSyncState.toJSON(),
|
140
|
+
newEvents: this.newEvents.map((e) => e.toJSON()),
|
141
|
+
eventsToRollback: this.eventsToRollback.map((e) => e.toJSON()),
|
142
|
+
updateContext: this.updateContext.toJSON(),
|
143
|
+
}
|
144
|
+
}
|
97
145
|
}
|
98
146
|
|
99
|
-
export
|
100
|
-
_tag: 'reject'
|
101
|
-
previousSyncState: SyncState
|
147
|
+
export class UpdateResultReject extends Schema.Class<UpdateResultReject>('UpdateResultReject')({
|
148
|
+
_tag: Schema.Literal('reject'),
|
102
149
|
/** The minimum id that the new events must have */
|
103
|
-
expectedMinimumId: EventId.EventId
|
150
|
+
expectedMinimumId: EventId.EventId,
|
151
|
+
updateContext: UpdateContext,
|
152
|
+
}) {
|
153
|
+
toJSON = (): any => {
|
154
|
+
return {
|
155
|
+
_tag: this._tag,
|
156
|
+
expectedMinimumId: `(${this.expectedMinimumId.global},${this.expectedMinimumId.client})`,
|
157
|
+
updateContext: this.updateContext.toJSON(),
|
158
|
+
}
|
159
|
+
}
|
104
160
|
}
|
105
161
|
|
106
|
-
export
|
162
|
+
export class UpdateResultUnexpectedError extends Schema.Class<UpdateResultUnexpectedError>(
|
163
|
+
'UpdateResultUnexpectedError',
|
164
|
+
)({
|
165
|
+
_tag: Schema.Literal('unexpected-error'),
|
166
|
+
cause: UnexpectedError,
|
167
|
+
}) {}
|
168
|
+
|
169
|
+
export class UpdateResult extends Schema.Union(
|
170
|
+
UpdateResultAdvance,
|
171
|
+
UpdateResultRebase,
|
172
|
+
UpdateResultReject,
|
173
|
+
UpdateResultUnexpectedError,
|
174
|
+
) {}
|
175
|
+
|
176
|
+
const unexpectedError = (cause: unknown): UpdateResultUnexpectedError =>
|
177
|
+
UpdateResultUnexpectedError.make({
|
178
|
+
_tag: 'unexpected-error',
|
179
|
+
cause: new UnexpectedError({ cause }),
|
180
|
+
})
|
107
181
|
|
108
182
|
export const updateSyncState = ({
|
109
183
|
syncState,
|
@@ -118,7 +192,7 @@ export const updateSyncState = ({
|
|
118
192
|
isEqualEvent: (a: MutationEvent.EncodedWithMeta, b: MutationEvent.EncodedWithMeta) => boolean
|
119
193
|
/** This is used in the leader which should ignore local events when receiving an upstream-advance payload */
|
120
194
|
ignoreLocalEvents?: boolean
|
121
|
-
}): UpdateResult => {
|
195
|
+
}): typeof UpdateResult.Type => {
|
122
196
|
const trimRollbackTail = (
|
123
197
|
rollbackTail: ReadonlyArray<MutationEvent.EncodedWithMeta>,
|
124
198
|
): ReadonlyArray<MutationEvent.EncodedWithMeta> => {
|
@@ -129,6 +203,8 @@ export const updateSyncState = ({
|
|
129
203
|
return rollbackTail.slice(index + 1)
|
130
204
|
}
|
131
205
|
|
206
|
+
const updateContext = UpdateContext.make({ payload, syncState })
|
207
|
+
|
132
208
|
switch (payload._tag) {
|
133
209
|
case 'upstream-rebase': {
|
134
210
|
// Find the index of the rollback event in the rollback tail
|
@@ -136,7 +212,7 @@ export const updateSyncState = ({
|
|
136
212
|
EventId.isEqual(event.id, payload.rollbackUntil),
|
137
213
|
)
|
138
214
|
if (rollbackIndex === -1) {
|
139
|
-
return
|
215
|
+
return unexpectedError(
|
140
216
|
`Rollback event not found in rollback tail. Rollback until: [${payload.rollbackUntil.global},${payload.rollbackUntil.client}]. Rollback tail: [${syncState.rollbackTail.map((e) => e.toString()).join(', ')}]`,
|
141
217
|
)
|
142
218
|
}
|
@@ -153,7 +229,7 @@ export const updateSyncState = ({
|
|
153
229
|
isLocalEvent,
|
154
230
|
})
|
155
231
|
|
156
|
-
return {
|
232
|
+
return UpdateResultRebase.make({
|
157
233
|
_tag: 'rebase',
|
158
234
|
newSyncState: new SyncState({
|
159
235
|
pending: rebasedPending,
|
@@ -161,15 +237,15 @@ export const updateSyncState = ({
|
|
161
237
|
upstreamHead: newUpstreamHead,
|
162
238
|
localHead: rebasedPending.at(-1)?.id ?? newUpstreamHead,
|
163
239
|
}),
|
164
|
-
|
165
|
-
newEvents: payload.newEvents,
|
240
|
+
newEvents: [...payload.newEvents, ...rebasedPending],
|
166
241
|
eventsToRollback,
|
167
|
-
|
242
|
+
updateContext,
|
243
|
+
})
|
168
244
|
}
|
169
245
|
|
170
246
|
case 'upstream-advance': {
|
171
247
|
if (payload.newEvents.length === 0) {
|
172
|
-
return {
|
248
|
+
return UpdateResultAdvance.make({
|
173
249
|
_tag: 'advance',
|
174
250
|
newSyncState: new SyncState({
|
175
251
|
pending: syncState.pending,
|
@@ -177,18 +253,27 @@ export const updateSyncState = ({
|
|
177
253
|
upstreamHead: syncState.upstreamHead,
|
178
254
|
localHead: syncState.localHead,
|
179
255
|
}),
|
180
|
-
previousSyncState: syncState,
|
181
256
|
newEvents: [],
|
182
|
-
|
257
|
+
updateContext,
|
258
|
+
})
|
183
259
|
}
|
184
260
|
|
185
261
|
// Validate that newEvents are sorted in ascending order by eventId
|
186
262
|
for (let i = 1; i < payload.newEvents.length; i++) {
|
187
263
|
if (EventId.isGreaterThan(payload.newEvents[i - 1]!.id, payload.newEvents[i]!.id)) {
|
188
|
-
return
|
264
|
+
return unexpectedError(
|
265
|
+
`Events must be sorted in ascending order by eventId. Received: [${payload.newEvents.map((e) => `(${e.id.global},${e.id.client})`).join(', ')}]`,
|
266
|
+
)
|
189
267
|
}
|
190
268
|
}
|
191
269
|
|
270
|
+
// Validate that incoming events are larger than upstream head
|
271
|
+
if (EventId.isGreaterThan(syncState.upstreamHead, payload.newEvents[0]!.id)) {
|
272
|
+
return unexpectedError(
|
273
|
+
`Incoming events must be greater than upstream head. Expected greater than: [${syncState.upstreamHead.global},${syncState.upstreamHead.client}]. Received: [${payload.newEvents.map((e) => `(${e.id.global},${e.id.client})`).join(', ')}]`,
|
274
|
+
)
|
275
|
+
}
|
276
|
+
|
192
277
|
const newUpstreamHead = payload.newEvents.at(-1)!.id
|
193
278
|
|
194
279
|
const divergentPendingIndex = findDivergencePoint({
|
@@ -235,7 +320,7 @@ export const updateSyncState = ({
|
|
235
320
|
return true
|
236
321
|
})
|
237
322
|
|
238
|
-
return {
|
323
|
+
return UpdateResultAdvance.make({
|
239
324
|
_tag: 'advance',
|
240
325
|
newSyncState: new SyncState({
|
241
326
|
pending: pendingRemaining,
|
@@ -243,9 +328,9 @@ export const updateSyncState = ({
|
|
243
328
|
upstreamHead: newUpstreamHead,
|
244
329
|
localHead: pendingRemaining.at(-1)?.id ?? newUpstreamHead,
|
245
330
|
}),
|
246
|
-
previousSyncState: syncState,
|
247
331
|
newEvents,
|
248
|
-
|
332
|
+
updateContext,
|
333
|
+
})
|
249
334
|
} else {
|
250
335
|
const divergentPending = syncState.pending.slice(divergentPendingIndex)
|
251
336
|
const rebasedPending = rebaseEvents({
|
@@ -262,7 +347,7 @@ export const updateSyncState = ({
|
|
262
347
|
ignoreLocalEvents,
|
263
348
|
})
|
264
349
|
|
265
|
-
return {
|
350
|
+
return UpdateResultRebase.make({
|
266
351
|
_tag: 'rebase',
|
267
352
|
newSyncState: new SyncState({
|
268
353
|
pending: rebasedPending,
|
@@ -270,16 +355,21 @@ export const updateSyncState = ({
|
|
270
355
|
upstreamHead: newUpstreamHead,
|
271
356
|
localHead: rebasedPending.at(-1)!.id,
|
272
357
|
}),
|
273
|
-
previousSyncState: syncState,
|
274
358
|
newEvents: [...payload.newEvents.slice(divergentNewEventsIndex), ...rebasedPending],
|
275
359
|
eventsToRollback: [...syncState.rollbackTail, ...divergentPending],
|
276
|
-
|
360
|
+
updateContext,
|
361
|
+
})
|
277
362
|
}
|
278
363
|
}
|
279
364
|
|
280
365
|
case 'local-push': {
|
281
366
|
if (payload.newEvents.length === 0) {
|
282
|
-
return {
|
367
|
+
return UpdateResultAdvance.make({
|
368
|
+
_tag: 'advance',
|
369
|
+
newSyncState: syncState,
|
370
|
+
newEvents: [],
|
371
|
+
updateContext,
|
372
|
+
})
|
283
373
|
}
|
284
374
|
|
285
375
|
const newEventsFirst = payload.newEvents.at(0)!
|
@@ -287,9 +377,13 @@ export const updateSyncState = ({
|
|
287
377
|
|
288
378
|
if (invalidEventId) {
|
289
379
|
const expectedMinimumId = EventId.nextPair(syncState.localHead, true).id
|
290
|
-
return {
|
380
|
+
return UpdateResultReject.make({
|
381
|
+
_tag: 'reject',
|
382
|
+
expectedMinimumId,
|
383
|
+
updateContext,
|
384
|
+
})
|
291
385
|
} else {
|
292
|
-
return {
|
386
|
+
return UpdateResultAdvance.make({
|
293
387
|
_tag: 'advance',
|
294
388
|
newSyncState: new SyncState({
|
295
389
|
pending: [...syncState.pending, ...payload.newEvents],
|
@@ -297,33 +391,15 @@ export const updateSyncState = ({
|
|
297
391
|
upstreamHead: syncState.upstreamHead,
|
298
392
|
localHead: payload.newEvents.at(-1)!.id,
|
299
393
|
}),
|
300
|
-
previousSyncState: syncState,
|
301
394
|
newEvents: payload.newEvents,
|
302
|
-
|
395
|
+
updateContext,
|
396
|
+
})
|
303
397
|
}
|
304
398
|
}
|
305
399
|
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
// if (startIndex === -1) {
|
310
|
-
// return shouldNeverHappen('New rollback start event not found in rollback tail')
|
311
|
-
// }
|
312
|
-
|
313
|
-
// // Keep only the events from the start index onwards
|
314
|
-
// const newRollbackTail = syncState.rollbackTail.slice(startIndex)
|
315
|
-
|
316
|
-
// return {
|
317
|
-
// _tag: 'advance',
|
318
|
-
// syncState: {
|
319
|
-
// pending: syncState.pending,
|
320
|
-
// rollbackTail: newRollbackTail,
|
321
|
-
// upstreamHead: syncState.upstreamHead,
|
322
|
-
// localHead: syncState.localHead,
|
323
|
-
// },
|
324
|
-
// newEvents: [],
|
325
|
-
// }
|
326
|
-
// }
|
400
|
+
default: {
|
401
|
+
casesHandled(payload)
|
402
|
+
}
|
327
403
|
}
|
328
404
|
}
|
329
405
|
|
@@ -385,3 +461,12 @@ const rebaseEvents = ({
|
|
385
461
|
return newEvent
|
386
462
|
})
|
387
463
|
}
|
464
|
+
|
465
|
+
/**
|
466
|
+
* TODO: Implement this
|
467
|
+
*
|
468
|
+
* In certain scenarios e.g. when the client session has a queue of upstream update results,
|
469
|
+
* it could make sense to "flatten" update results into a single update result which the client session
|
470
|
+
* can process more efficiently which avoids push-threshing
|
471
|
+
*/
|
472
|
+
const _flattenUpdateResults = (_updateResults: ReadonlyArray<UpdateResult>) => {}
|
package/src/version.ts
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
// import packageJson from '../package.json' with { type: 'json' }
|
3
3
|
// export const liveStoreVersion = packageJson.version
|
4
4
|
|
5
|
-
export const liveStoreVersion = '0.3.0-dev.
|
5
|
+
export const liveStoreVersion = '0.3.0-dev.18' as const
|
6
6
|
|
7
7
|
/**
|
8
8
|
* This version number is incremented whenever the internal storage format changes in a breaking way.
|
package/tmp/pack.tgz
ADDED
Binary file
|