@livestore/common 0.3.2-dev.9 → 0.4.0-dev.1

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 (172) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +2 -2
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/adapter-types.d.ts +4 -4
  5. package/dist/adapter-types.d.ts.map +1 -1
  6. package/dist/debug-info.d.ts +17 -17
  7. package/dist/devtools/devtools-messages-client-session.d.ts +38 -38
  8. package/dist/devtools/devtools-messages-common.d.ts +6 -6
  9. package/dist/devtools/devtools-messages-leader.d.ts +28 -28
  10. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  11. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  12. package/dist/leader-thread/LeaderSyncProcessor.js +3 -1
  13. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  14. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  15. package/dist/leader-thread/make-leader-thread-layer.js +21 -4
  16. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  17. package/dist/leader-thread/shutdown-channel.d.ts +2 -2
  18. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  19. package/dist/leader-thread/shutdown-channel.js +2 -2
  20. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  21. package/dist/leader-thread/types.d.ts +1 -1
  22. package/dist/leader-thread/types.d.ts.map +1 -1
  23. package/dist/materializer-helper.d.ts +3 -3
  24. package/dist/materializer-helper.d.ts.map +1 -1
  25. package/dist/materializer-helper.js +2 -2
  26. package/dist/materializer-helper.js.map +1 -1
  27. package/dist/rematerialize-from-eventlog.js +1 -1
  28. package/dist/rematerialize-from-eventlog.js.map +1 -1
  29. package/dist/schema/EventDef.d.ts +104 -178
  30. package/dist/schema/EventSequenceNumber.d.ts +5 -0
  31. package/dist/schema/EventSequenceNumber.d.ts.map +1 -1
  32. package/dist/schema/EventSequenceNumber.js +7 -2
  33. package/dist/schema/EventSequenceNumber.js.map +1 -1
  34. package/dist/schema/EventSequenceNumber.test.js +2 -2
  35. package/dist/schema/LiveStoreEvent.d.ts +6 -5
  36. package/dist/schema/LiveStoreEvent.d.ts.map +1 -1
  37. package/dist/schema/LiveStoreEvent.js +5 -0
  38. package/dist/schema/LiveStoreEvent.js.map +1 -1
  39. package/dist/schema/schema.d.ts +3 -0
  40. package/dist/schema/schema.d.ts.map +1 -1
  41. package/dist/schema/schema.js.map +1 -1
  42. package/dist/schema/state/sqlite/client-document-def.d.ts +3 -2
  43. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  44. package/dist/schema/state/sqlite/client-document-def.js +6 -4
  45. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  46. package/dist/schema/state/sqlite/client-document-def.test.js +76 -1
  47. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  48. package/dist/schema/state/sqlite/column-annotations.d.ts +34 -0
  49. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -0
  50. package/dist/schema/state/sqlite/column-annotations.js +50 -0
  51. package/dist/schema/state/sqlite/column-annotations.js.map +1 -0
  52. package/dist/schema/state/sqlite/column-annotations.test.d.ts +2 -0
  53. package/dist/schema/state/sqlite/column-annotations.test.d.ts.map +1 -0
  54. package/dist/schema/state/sqlite/column-annotations.test.js +179 -0
  55. package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -0
  56. package/dist/schema/state/sqlite/column-def.d.ts +15 -0
  57. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -0
  58. package/dist/schema/state/sqlite/column-def.js +242 -0
  59. package/dist/schema/state/sqlite/column-def.js.map +1 -0
  60. package/dist/schema/state/sqlite/column-def.test.d.ts +2 -0
  61. package/dist/schema/state/sqlite/column-def.test.d.ts.map +1 -0
  62. package/dist/schema/state/sqlite/column-def.test.js +529 -0
  63. package/dist/schema/state/sqlite/column-def.test.js.map +1 -0
  64. package/dist/schema/state/sqlite/column-spec.d.ts +11 -0
  65. package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -0
  66. package/dist/schema/state/sqlite/column-spec.js +39 -0
  67. package/dist/schema/state/sqlite/column-spec.js.map +1 -0
  68. package/dist/schema/state/sqlite/column-spec.test.d.ts +2 -0
  69. package/dist/schema/state/sqlite/column-spec.test.d.ts.map +1 -0
  70. package/dist/schema/state/sqlite/column-spec.test.js +146 -0
  71. package/dist/schema/state/sqlite/column-spec.test.js.map +1 -0
  72. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +1 -0
  73. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
  74. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +1 -0
  75. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  76. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +17 -4
  77. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  78. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +2 -0
  79. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  80. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +65 -165
  81. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  82. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -0
  83. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  84. package/dist/schema/state/sqlite/mod.d.ts +2 -0
  85. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  86. package/dist/schema/state/sqlite/mod.js +2 -0
  87. package/dist/schema/state/sqlite/mod.js.map +1 -1
  88. package/dist/schema/state/sqlite/query-builder/api.d.ts +309 -560
  89. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  90. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts +1 -0
  91. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
  92. package/dist/schema/state/sqlite/query-builder/astToSql.js +8 -6
  93. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
  94. package/dist/schema/state/sqlite/system-tables.d.ts +464 -46
  95. package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -1
  96. package/dist/schema/state/sqlite/table-def.d.ts +159 -152
  97. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  98. package/dist/schema/state/sqlite/table-def.js +45 -6
  99. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  100. package/dist/schema/state/sqlite/table-def.test.d.ts +2 -0
  101. package/dist/schema/state/sqlite/table-def.test.d.ts.map +1 -0
  102. package/dist/schema/state/sqlite/table-def.test.js +192 -0
  103. package/dist/schema/state/sqlite/table-def.test.js.map +1 -0
  104. package/dist/schema-management/common.d.ts +1 -1
  105. package/dist/schema-management/common.d.ts.map +1 -1
  106. package/dist/schema-management/common.js +11 -2
  107. package/dist/schema-management/common.js.map +1 -1
  108. package/dist/schema-management/migrations.d.ts +0 -1
  109. package/dist/schema-management/migrations.d.ts.map +1 -1
  110. package/dist/schema-management/migrations.js +4 -30
  111. package/dist/schema-management/migrations.js.map +1 -1
  112. package/dist/schema-management/migrations.test.d.ts +2 -0
  113. package/dist/schema-management/migrations.test.d.ts.map +1 -0
  114. package/dist/schema-management/migrations.test.js +52 -0
  115. package/dist/schema-management/migrations.test.js.map +1 -0
  116. package/dist/sql-queries/types.d.ts +37 -133
  117. package/dist/sqlite-db-helper.d.ts +3 -1
  118. package/dist/sqlite-db-helper.d.ts.map +1 -1
  119. package/dist/sqlite-db-helper.js +16 -0
  120. package/dist/sqlite-db-helper.js.map +1 -1
  121. package/dist/sqlite-types.d.ts +4 -4
  122. package/dist/sqlite-types.d.ts.map +1 -1
  123. package/dist/sync/ClientSessionSyncProcessor.d.ts +2 -2
  124. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  125. package/dist/sync/ClientSessionSyncProcessor.js +8 -7
  126. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  127. package/dist/sync/sync.d.ts.map +1 -1
  128. package/dist/sync/sync.js.map +1 -1
  129. package/dist/util.d.ts +3 -3
  130. package/dist/util.d.ts.map +1 -1
  131. package/dist/util.js.map +1 -1
  132. package/dist/version.d.ts +1 -1
  133. package/dist/version.js +1 -1
  134. package/package.json +4 -4
  135. package/src/ClientSessionLeaderThreadProxy.ts +2 -2
  136. package/src/adapter-types.ts +6 -4
  137. package/src/devtools/devtools-messages-leader.ts +3 -3
  138. package/src/leader-thread/LeaderSyncProcessor.ts +3 -1
  139. package/src/leader-thread/make-leader-thread-layer.ts +26 -7
  140. package/src/leader-thread/shutdown-channel.ts +2 -2
  141. package/src/leader-thread/types.ts +1 -1
  142. package/src/materializer-helper.ts +5 -11
  143. package/src/rematerialize-from-eventlog.ts +2 -2
  144. package/src/schema/EventSequenceNumber.test.ts +2 -2
  145. package/src/schema/EventSequenceNumber.ts +8 -2
  146. package/src/schema/LiveStoreEvent.ts +7 -1
  147. package/src/schema/schema.ts +4 -0
  148. package/src/schema/state/sqlite/client-document-def.test.ts +89 -1
  149. package/src/schema/state/sqlite/client-document-def.ts +7 -4
  150. package/src/schema/state/sqlite/column-annotations.test.ts +212 -0
  151. package/src/schema/state/sqlite/column-annotations.ts +77 -0
  152. package/src/schema/state/sqlite/column-def.test.ts +665 -0
  153. package/src/schema/state/sqlite/column-def.ts +290 -0
  154. package/src/schema/state/sqlite/column-spec.test.ts +223 -0
  155. package/src/schema/state/sqlite/column-spec.ts +42 -0
  156. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +2 -0
  157. package/src/schema/state/sqlite/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +15 -0
  158. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +20 -2
  159. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +1 -0
  160. package/src/schema/state/sqlite/mod.ts +2 -0
  161. package/src/schema/state/sqlite/query-builder/api.ts +4 -3
  162. package/src/schema/state/sqlite/query-builder/astToSql.ts +9 -7
  163. package/src/schema/state/sqlite/table-def.test.ts +241 -0
  164. package/src/schema/state/sqlite/table-def.ts +222 -16
  165. package/src/schema-management/common.ts +10 -3
  166. package/src/schema-management/migrations.ts +4 -33
  167. package/src/sqlite-db-helper.ts +19 -1
  168. package/src/sqlite-types.ts +4 -4
  169. package/src/sync/ClientSessionSyncProcessor.ts +13 -8
  170. package/src/sync/sync.ts +2 -0
  171. package/src/util.ts +7 -2
  172. package/src/version.ts +1 -1
@@ -1,4 +1,5 @@
1
1
  import { Schema } from '@livestore/utils/effect';
2
+ import { SqliteError } from "./adapter-types.js";
2
3
  import { getResultSchema, isQueryBuilder } from "./schema/state/sqlite/query-builder/mod.js";
3
4
  export const makeExecute = (execute) => {
4
5
  return (...args) => {
@@ -26,4 +27,19 @@ export const makeSelect = (select) => {
26
27
  }
27
28
  };
28
29
  };
30
+ export const validateSnapshot = (snapshot) => {
31
+ const headerBytes = new TextDecoder().decode(snapshot.slice(0, 16));
32
+ const hasValidHeader = headerBytes.startsWith('SQLite format 3');
33
+ if (!hasValidHeader) {
34
+ throw new SqliteError({
35
+ cause: 'Invalid SQLite header',
36
+ note: `Expected header to start with 'SQLite format 3', but got: ${headerBytes}`,
37
+ });
38
+ }
39
+ };
40
+ export const makeExport = (exportFn) => () => {
41
+ const snapshot = exportFn();
42
+ validateSnapshot(snapshot);
43
+ return snapshot;
44
+ };
29
45
  //# sourceMappingURL=sqlite-db-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-db-helper.js","sourceRoot":"","sources":["../src/sqlite-db-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGhD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAG5F,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAIS,EACY,EAAE;IACvB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,YAAY,CAAC,GAAG,IAAI,CAAA;QAExE,IAAI,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;YAC5D,OAAO,OAAO,CAAC,KAAK,EAAE,UAA2C,EAAE,mBAAmB,CAAC,CAAA;QACzF,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAA0F,EACtE,EAAE;IACtB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;QAEtD,IAAI,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;YAC5D,MAAM,YAAY,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAA;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,UAA2C,CAAC,CAAA;YAC1E,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAA;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAA;QACxD,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"sqlite-db-helper.js","sourceRoot":"","sources":["../src/sqlite-db-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAiB,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAG5F,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAIS,EACY,EAAE;IACvB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,YAAY,CAAC,GAAG,IAAI,CAAA;QAExE,IAAI,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;YAC5D,OAAO,OAAO,CAAC,KAAK,EAAE,UAA2C,EAAE,mBAAmB,CAAC,CAAA;QACzF,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAA0F,EACtE,EAAE;IACtB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;QAEtD,IAAI,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;YAC5D,MAAM,YAAY,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAA;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,UAA2C,CAAC,CAAA;YAC1E,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAA;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAA;QACxD,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAoB,EAAE,EAAE;IACvD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACnE,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAEhE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,WAAW,CAAC;YACpB,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,6DAA6D,WAAW,EAAE;SACjF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAuC,EAAE,EAAE,CAAC,GAAG,EAAE;IAC1E,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAC3B,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC1B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -22,12 +22,12 @@ export interface SqliteDb<TReq = any, TMetadata extends TReq = TReq> {
22
22
  }): void;
23
23
  select<T>(queryStr: string, bindValues?: PreparedBindValues | undefined): ReadonlyArray<T>;
24
24
  select<T>(queryBuilder: QueryBuilder<T, any, any>): T;
25
- export(): Uint8Array;
26
- import: (data: Uint8Array | SqliteDb<TReq>) => void;
25
+ export(): Uint8Array<ArrayBuffer>;
26
+ import: (data: Uint8Array<ArrayBuffer> | SqliteDb<TReq>) => void;
27
27
  close(): void;
28
28
  destroy(): void;
29
29
  session(): SqliteDbSession;
30
- makeChangeset: (data: Uint8Array) => SqliteDbChangeset;
30
+ makeChangeset: (data: Uint8Array<ArrayBuffer>) => SqliteDbChangeset;
31
31
  }
32
32
  export type SqliteDebugInfo = {
33
33
  head: EventSequenceNumber.EventSequenceNumber;
@@ -55,7 +55,7 @@ export interface PreparedStatement {
55
55
  sql: string;
56
56
  }
57
57
  export type SqliteDbSession = {
58
- changeset: () => Uint8Array | undefined;
58
+ changeset: () => Uint8Array<ArrayBuffer> | undefined;
59
59
  finish: () => void;
60
60
  };
61
61
  export type SqliteDbChangeset = {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-types.d.ts","sourceRoot":"","sources":["../src/sqlite-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-types.d.ts","sourceRoot":"","sources":["../src/sqlite-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnD;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,IAAI,GAAG,GAAG,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;IACjE,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,SAAS,CAAA;IACnB,gFAAgF;IAChF,KAAK,EAAE,eAAe,CAAA;IACtB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAC5C,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,kBAAkB,GAAG,SAAS,EAC3C,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,GAC1D,IAAI,CAAA;IACP,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IAE1G,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAC1F,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAErD,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;IACjC,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;IAChE,KAAK,IAAI,IAAI,CAAA;IACb,OAAO,IAAI,IAAI,CAAA;IACf,OAAO,IAAI,eAAe,CAAA;IAC1B,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,iBAAiB,CAAA;CACpE;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,mBAAmB,CAAC,mBAAmB,CAAA;CAAE,CAAA;AAG/E,MAAM,MAAM,YAAY,CACtB,IAAI,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,eAAe,CAAA;CAAE,EAC9D,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACnD,UAAU,SAAS,IAAI,GAAG,IAAI,EAC9B,CAAC,GAAG,KAAK,IACP,CACF,MAAM,SAAS,OAAO,EACtB,SAAS,SAAS,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,EAE/F,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC,EAAE,WAAW,GAAG,eAAe,EAAE,CAAC,CAAC,CAAA;AAElH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IACtH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IACvE,QAAQ,IAAI,IAAI,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;IACpD,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAE9B,MAAM,EAAE,MAAM,iBAAiB,CAAA;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,eAAe;;;;;GAKyB,CAAA;AAErD,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,OAAO,eAAe,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -31,7 +31,7 @@ export declare const makeClientSessionSyncProcessor: ({ schema, clientSession, r
31
31
  writeTables: Set<string>;
32
32
  sessionChangeset: {
33
33
  _tag: "sessionChangeset";
34
- data: Uint8Array;
34
+ data: Uint8Array<ArrayBuffer>;
35
35
  debug: any;
36
36
  } | {
37
37
  _tag: "no-op";
@@ -40,7 +40,7 @@ export declare const makeClientSessionSyncProcessor: ({ schema, clientSession, r
40
40
  };
41
41
  materializerHash: Option.Option<number>;
42
42
  };
43
- rollback: (changeset: Uint8Array) => void;
43
+ rollback: (changeset: Uint8Array<ArrayBuffer>) => void;
44
44
  refreshTables: (tables: Set<string>) => void;
45
45
  span: otel.Span;
46
46
  params: {
@@ -1 +1 @@
1
- {"version":3,"file":"ClientSessionSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,MAAM,EAEN,MAAM,EAEN,KAAK,OAAO,EACZ,MAAM,EACN,KAAK,KAAK,EAEV,YAAY,EACb,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,KAAK,aAAa,EAAa,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEzF,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,8BAA8B,GAAI,qHAU5C;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,aAAa,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACrC,gBAAgB,EAAE,CAChB,YAAY,EAAE,cAAc,CAAC,UAAU,EACvC,OAAO,EAAE;QAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KAAE,KAC1G;QACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACxB,gBAAgB,EAAE;YAAE,IAAI,EAAE,kBAAkB,CAAC;YAAC,IAAI,EAAE,UAAU,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAA;QACpH,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KACxC,CAAA;IACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,IAAI,CAAA;IACzC,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAA;IACf,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAA;QAC3B,UAAU,CAAC,EAAE,0CAA0C,CAAA;KACxD,CAAA;IACD;;;OAGG;IACH,qBAAqB,EAAE,OAAO,CAAA;CAC/B,KAAG,0BA8RH,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,CACJ,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC,EACtD,OAAO,EAAE;QAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAAE,KACnC;QACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KACzB,CAAA;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACvD;;OAEG;IACH,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACzD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,SAAS,EAAE,MAAM;YACf,WAAW,EAAE,MAAM,CAAA;YACnB,YAAY,EAAE,MAAM,CAAA;SACrB,CAAA;KACF,CAAA;CACF;AAKD,eAAO,MAAM,0CAA0C;;;;;;;;EAQrD,CAAA;AACF,KAAK,0CAA0C,GAAG,OAAO,0CAA0C,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"ClientSessionSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,MAAM,EAGN,MAAM,EAEN,KAAK,OAAO,EACZ,MAAM,EACN,KAAK,KAAK,EAEV,YAAY,EACb,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,KAAK,aAAa,EAAa,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEzF,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,8BAA8B,GAAI,qHAU5C;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,aAAa,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACrC,gBAAgB,EAAE,CAChB,YAAY,EAAE,cAAc,CAAC,UAAU,EACvC,OAAO,EAAE;QAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KAAE,KAC1G;QACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACxB,gBAAgB,EACZ;YAAE,IAAI,EAAE,kBAAkB,CAAC;YAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,GACvE;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACjB;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAA;QACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KACxC,CAAA;IACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA;IACtD,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAA;IACf,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAA;QAC3B,UAAU,CAAC,EAAE,0CAA0C,CAAA;KACxD,CAAA;IACD;;;OAGG;IACH,qBAAqB,EAAE,OAAO,CAAA;CAC/B,KAAG,0BA8RH,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,CACJ,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC,EACtD,OAAO,EAAE;QAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAAE,KACnC;QACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KACzB,CAAA;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACvD;;OAEG;IACH,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACzD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,SAAS,EAAE,MAAM;YACf,WAAW,EAAE,MAAM,CAAA;YACnB,YAAY,EAAE,MAAM,CAAA;SACrB,CAAA;KACF,CAAA;CACF;AAMD,eAAO,MAAM,0CAA0C;;;;;;;;EAQrD,CAAA;AACF,KAAK,0CAA0C,GAAG,OAAO,0CAA0C,CAAC,IAAI,CAAA"}
@@ -1,6 +1,6 @@
1
1
  /// <reference lib="dom" />
2
2
  import { LS_DEV, shouldNeverHappen, TRACE_VERBOSE } from '@livestore/utils';
3
- import { BucketQueue, Effect, FiberHandle, Option, Queue, Schema, Stream, Subscribable, } from '@livestore/utils/effect';
3
+ import { BucketQueue, Effect, Exit, FiberHandle, Option, Queue, Schema, Stream, Subscribable, } from '@livestore/utils/effect';
4
4
  import * as otel from '@opentelemetry/api';
5
5
  import { SyncError } from "../adapter-types.js";
6
6
  import * as EventSequenceNumber from "../schema/EventSequenceNumber.js";
@@ -204,7 +204,7 @@ export const makeClientSessionSyncProcessor = ({ schema, clientSession, runtime,
204
204
  event.meta.materializerHashSession = materializerHash;
205
205
  }
206
206
  refreshTables(writeTables);
207
- }).pipe(Effect.tapCauseLogPretty, Effect.catchAllCause((cause) => clientSession.shutdown(cause)))), Stream.runDrain, Effect.forever, // NOTE Whenever the leader changes, we need to re-start the stream
207
+ }).pipe(Effect.tapCauseLogPretty, Effect.catchAllCause((cause) => clientSession.shutdown(Exit.failCause(cause))))), Stream.runDrain, Effect.forever, // NOTE Whenever the leader changes, we need to re-start the stream
208
208
  Effect.interruptible, Effect.withSpan('client-session-sync-processor:pull'), Effect.tapCauseLogPretty, Effect.forkScoped);
209
209
  });
210
210
  return {
@@ -234,13 +234,14 @@ export const makeClientSessionSyncProcessor = ({ schema, clientSession, runtime,
234
234
  };
235
235
  // TODO turn this into a build-time "macro" so all simulation snippets are removed for production builds
236
236
  const SIMULATION_ENABLED = true;
237
+ // Warning: High values for the simulation params can lead to very long test runs since those get multiplied with the number of events
237
238
  export const ClientSessionSyncProcessorSimulationParams = Schema.Struct({
238
239
  pull: Schema.Struct({
239
- '1_before_leader_push_fiber_interrupt': Schema.Int.pipe(Schema.between(0, 1000)),
240
- '2_before_leader_push_queue_clear': Schema.Int.pipe(Schema.between(0, 1000)),
241
- '3_before_rebase_rollback': Schema.Int.pipe(Schema.between(0, 1000)),
242
- '4_before_leader_push_queue_offer': Schema.Int.pipe(Schema.between(0, 1000)),
243
- '5_before_leader_push_fiber_run': Schema.Int.pipe(Schema.between(0, 1000)),
240
+ '1_before_leader_push_fiber_interrupt': Schema.Int.pipe(Schema.between(0, 25)),
241
+ '2_before_leader_push_queue_clear': Schema.Int.pipe(Schema.between(0, 25)),
242
+ '3_before_rebase_rollback': Schema.Int.pipe(Schema.between(0, 25)),
243
+ '4_before_leader_push_queue_offer': Schema.Int.pipe(Schema.between(0, 25)),
244
+ '5_before_leader_push_fiber_run': Schema.Int.pipe(Schema.between(0, 25)),
244
245
  }),
245
246
  });
246
247
  //# sourceMappingURL=ClientSessionSyncProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientSessionSyncProcessor.js","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientSessionSyncProcessor.js","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,WAAW,EACX,MAAM,EACN,IAAI,EACJ,WAAW,EACX,MAAM,EACN,KAAK,EAEL,MAAM,EAEN,MAAM,EACN,YAAY,GACb,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAsB,SAAS,EAAwB,MAAM,qBAAqB,CAAA;AACzF,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAwB,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,MAAM,EACN,aAAa,EACb,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,MAAM,EACN,qBAAqB,GA4BtB,EAA8B,EAAE;IAC/B,MAAM,WAAW,GAAG,cAAc,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAEjE,MAAM,QAAQ,GAAG,CACf,GAAS,EACT,IAA4D,EAC5D,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAW,CAAC,CAAA;IAEpE,MAAM,YAAY,GAAG;QACnB,+DAA+D;QAC/D,OAAO,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC;YAC/B,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU;YAC7D,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU;YAChE,6FAA6F;YAC7F,OAAO,EAAE,EAAE;SACZ,CAAC;KACH,CAAA;IAED,2GAA2G;IAC3G,MAAM,oBAAoB,GAAG,KAAK,CAAC,SAAS,EAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxF,MAAM,aAAa,GAAG,CAAC,YAA4C,EAAE,EAAE,CACrE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;IAEpE,uGAAuG;IACvG,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,EAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE/F,MAAM,IAAI,GAAuC,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QAC1E,sBAAsB;QAEtB,IAAI,uBAAuB,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAA;QAC5D,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC;gBAC/C,MAAM,EAAE,uBAAuB;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU;aAC/C,CAAC,CAAA;YACF,uBAAuB,GAAG,WAAW,CAAC,MAAM,CAAA;YAC5C,OAAO,IAAI,cAAc,CAAC,eAAe,CACvC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI;gBACJ,IAAI;gBACJ,GAAG,WAAW;gBACd,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,SAAS,EAAE,aAAa,CAAC,SAAS;aACnC,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;YAClC,SAAS,EAAE,YAAY,CAAC,OAAO;YAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAC5D,aAAa;YACb,YAAY,EAAE,cAAc,CAAC,cAAc;SAC5C,CAAC,CAAA;QAEF,IAAI,WAAW,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC5C,OAAO,iBAAiB,CAAC,mDAAmD,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;QACpG,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC1B,SAAS,EAAE,gBAAgB,CAAC,MAAM;YAClC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACrE,CAAC,CAAA;QAEF,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,iBAAiB,CAAC,yBAAyB,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,YAAY,CAAA;QAC/C,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAEzE,8BAA8B;QAC9B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;QACrC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YAC1C,8CAA8C;YAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAA;YAC7D,MAAM,EACJ,WAAW,EAAE,cAAc,EAC3B,gBAAgB,EAChB,gBAAgB,GACjB,GAAG,gBAAgB,CAAC,eAAe,EAAE;gBACpC,WAAW;gBACX,aAAa,EAAE,IAAI;gBACnB,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE;aACtC,CAAC,CAAA;YACF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACxB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;YAC9C,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,CAAA;QACvD,CAAC;QAED,yBAAyB;QACzB,qGAAqG;QACrG,WAAW,CAAC,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE5E,OAAO,EAAE,WAAW,EAAE,CAAA;IACxB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG;QAChB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;KACf,CAAA;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;IAEnE,MAAM,IAAI,GAAuC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnE,IAAI,qBAAqB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC5G,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAE,EAAE;gBAClD,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,qCAAqC;oBACrC,KAAK,CAAC,cAAc,EAAE,CAAA;gBACxB,CAAC;YACH,CAAC,CAAA;YAED,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,EAC1E,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CACpF,CAAA;QACH,CAAC;QAED,MAAM,wBAAwB,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAE1D,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAC5F,KAAK,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACvD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBACvC,SAAS,CAAC,WAAW,EAAE,CAAA;gBACvB,OAAO,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC3C,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAEvE,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAA;QAEzE,0EAA0E;QAC1E,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CACzB,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CACtF,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,qEAAqE;YAErE,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnC,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAA;YAC/C,CAAC;YAED,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;gBAClC,SAAS,EAAE,YAAY,CAAC,OAAO;gBAC/B,OAAO;gBACP,aAAa;gBACb,YAAY,EAAE,cAAc,CAAC,cAAc;aAC5C,CAAC,CAAA;YAEF,IAAI,WAAW,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;YAC7D,CAAC;iBAAM,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,iBAAiB,CAAC,oDAAoD,EAAE,WAAW,CAAC,CAAA;YAC7F,CAAC;YAED,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,YAAY,CAAA;YAC/C,KAAK,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YAE3D,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;oBACjC,UAAU,EAAE,OAAO,CAAC,IAAI;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC5D,cAAc,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM;oBAC5C,aAAa,EAAE,WAAW,CAAC,cAAc,CAAC,MAAM;oBAChD,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC5D,gBAAgB,EAAE,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB;iBACtE,CAAC,CAAA;gBAEF,SAAS,CAAC,WAAW,EAAE,CAAA;gBAEvB,IAAI,kBAAkB;oBAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAA;gBAEvF,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAElD,IAAI,kBAAkB;oBAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAA;gBAEnF,uEAAuE;gBACvE,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;gBAEzC,IAAI,kBAAkB;oBAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;gBAE3E,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CACpB,6BAA6B,EAC7B,WAAW,CAAC,cAAc,CAAC,MAAM,EACjC,GAAG,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAClE,CAAA;gBACH,CAAC;gBAED,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChE,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC,CAAE,CAAA;oBAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACjG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;wBAC1C,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;oBACjD,CAAC;gBACH,CAAC;gBAED,IAAI,kBAAkB;oBAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAA;gBAEnF,KAAK,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;gBAE9E,IAAI,kBAAkB;oBAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;gBAEjF,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAA;YAC3E,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;oBAClC,UAAU,EAAE,OAAO,CAAC,IAAI;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC5D,cAAc,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM;oBAC5C,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC7D,CAAC,CAAA;gBAEF,SAAS,CAAC,YAAY,EAAE,CAAA;YAC1B,CAAC;YAED,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAE9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;YACrC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC1C,oFAAoF;gBACpF,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC7D,MAAM,EACJ,WAAW,EAAE,cAAc,EAC3B,gBAAgB,EAChB,gBAAgB,GACjB,GAAG,gBAAgB,CAAC,eAAe,EAAE;oBACpC,WAAW;oBACX,aAAa,EAAE,IAAI;oBACnB,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB;iBAC1D,CAAC,CAAA;gBACF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;oBACnC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACxB,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;gBAC9C,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,CAAA;YACvD,CAAC;YAED,aAAa,CAAC,WAAW,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAC/E,CACF,EACD,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EAAE,mEAAmE;QACnF,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EACrD,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,UAAU,CAClB,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACvB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAA;gBACtC,IAAI,YAAY,KAAK,SAAS;oBAAE,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;gBAC3E,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC;YACF,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;SAChD,CAAC;QACF,KAAK,EAAE;YACL,KAAK,EAAE,GAAG,EAAE,CACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;gBACnC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;gBAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAC9D,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;gBAC3C,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;gBAClE,OAAO,CAAC,GAAG,CACT,gBAAgB,EAChB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CACtC,CAAA;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;YAClD,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;SAC3B;KACmC,CAAA;AACxC,CAAC,CAAA;AAuBD,wGAAwG;AACxG,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAE/B,sIAAsI;AACtI,MAAM,CAAC,MAAM,0CAA0C,GAAG,MAAM,CAAC,MAAM,CAAC;IACtE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,sCAAsC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9E,kCAAkC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,0BAA0B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,kCAAkC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACzE,CAAC;CACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;IACrC,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC;;;;;;;;SAQK;IACL,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,CACrE,IAAI,EAAE,eAAe,KAClB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AAQpG,MAAM,MAAM,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI;IAC1D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IACnG,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAA;QAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;KACvC,CAAC,KACC,MAAM,CAAC,MAAM,CAChB;QACE,KAAK,EAAE,aAAa,CAAC;YACnB,YAAY,EAAE,cAAc,CAAC,gBAAgB,CAAA;YAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;SACvC,CAAC,CAAA;QACF,SAAS,EAAE,MAAM,CAAA;KAClB,EACD,cAAc,GAAG,gBAAgB,EACjC,UAAU,CAAC,UAAU,CACtB,CAAA;IAED,IAAI,EAAE;IACJ;;;;SAIK;IACL,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;IAClF,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACrD;;OAEG;IACH,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CACnF,CAAA;;;;AAED,qBAAa,cAAe,SAAQ,mBAA0D;CAAG;;;;;;;;;;;AAGjG,qBAAa,gBAAiB,SAAQ,qBAUpC;CAAG;;;;;;AAGL,qBAAa,gBAAiB,SAAQ,qBAEpC;CAAG;;;;;;;;;;;;;;;AAGL,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;IACrC,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC;;;;;;;;SAQK;IACL,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CACpC,CAAA;AAGD,MAAM,MAAM,sBAAsB,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,CACrE,IAAI,EAAE,eAAe,KAClB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AASpG,MAAM,MAAM,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI;IAC1D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IACnG,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAA;QAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;KACvC,CAAC,KACC,MAAM,CAAC,MAAM,CAChB;QACE,KAAK,EAAE,aAAa,CAAC;YACnB,YAAY,EAAE,cAAc,CAAC,gBAAgB,CAAA;YAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;SACvC,CAAC,CAAA;QACF,SAAS,EAAE,MAAM,CAAA;KAClB,EACD,cAAc,GAAG,gBAAgB,EACjC,UAAU,CAAC,UAAU,CACtB,CAAA;IAED,IAAI,EAAE;IACJ;;;;SAIK;IACL,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;IAClF,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACrD;;OAEG;IACH,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CACnF,CAAA;;;;AAED,qBAAa,cAAe,SAAQ,mBAA0D;CAAG;;;;;;;;;;;AAGjG,qBAAa,gBAAiB,SAAQ,qBAUpC;CAAG;;;;;;AAGL,qBAAa,gBAAiB,SAAQ,qBAEpC;CAAG;;;;;;;;;;;;;;;AAGL,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIhD,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AA2EvE,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE,EAAE,CAAC;CAAG;AAEjG,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,MAAM,EAAE,MAAM,CAAC,KAAK,CAClB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM;KACvB,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;QACjC,kBAAkB,EAAE,MAAM,CAAC,MAAM;QACjC,WAAW,EAAE,MAAM,CAAC,MAAM;KAC3B,CAAC,CACH;CACF,CAAC;CAAG;AAEL,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,kBAAkB,EAAE,mBAAmB,CAAC,mBAAmB;IAC3D,WAAW,EAAE,mBAAmB,CAAC,mBAAmB;IACpD,4EAA4E;IAC5E,iCAAiC;CAClC,CAAC;CAAG"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIhD,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AA6EvE,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE,EAAE,CAAC;CAAG;AAEjG,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,MAAM,EAAE,MAAM,CAAC,KAAK,CAClB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM;KACvB,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;QACjC,kBAAkB,EAAE,MAAM,CAAC,MAAM;QACjC,WAAW,EAAE,MAAM,CAAC,MAAM;KAC3B,CAAC,CACH;CACF,CAAC;CAAG;AAEL,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,kBAAkB,EAAE,mBAAmB,CAAC,mBAAmB;IAC3D,WAAW,EAAE,mBAAmB,CAAC,mBAAmB;IACpD,4EAA4E;IAC5E,iCAAiC;CAClC,CAAC;CAAG"}
package/dist/util.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import type { Brand } from '@livestore/utils/effect';
2
2
  import { Schema } from '@livestore/utils/effect';
3
3
  export type ParamsObject = Record<string, SqlValue>;
4
- export type SqlValue = string | number | Uint8Array | null;
4
+ export type SqlValue = string | number | Uint8Array<ArrayBuffer> | null;
5
5
  export type Bindable = ReadonlyArray<SqlValue> | ParamsObject;
6
- export declare const SqlValueSchema: Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Uint8Array, typeof Schema.Null]>;
7
- export declare const PreparedBindValues: Schema.brand<Schema.Union<[Schema.Array$<Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Uint8Array, typeof Schema.Null]>>, Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Uint8Array, typeof Schema.Null]>>]>, "PreparedBindValues">;
6
+ export declare const SqlValueSchema: Schema.Union<[typeof Schema.String, typeof Schema.Number, Schema.Schema<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>, never>, typeof Schema.Null]>;
7
+ export declare const PreparedBindValues: Schema.brand<Schema.Union<[Schema.Array$<Schema.Union<[typeof Schema.String, typeof Schema.Number, Schema.Schema<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>, never>, typeof Schema.Null]>>, Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, typeof Schema.Number, Schema.Schema<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>, never>, typeof Schema.Null]>>]>, "PreparedBindValues">;
8
8
  export type PreparedBindValues = Brand.Branded<Bindable, 'PreparedBindValues'>;
9
9
  /**
10
10
  * This is a tag function for tagged literals.
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAE1D,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;AAE7D,eAAO,MAAM,cAAc,0GAA6E,CAAA;AAExG,eAAO,MAAM,kBAAkB,6TAGW,CAAA;AAE1C,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,GAAG,GAAI,UAAU,oBAAoB,EAAE,GAAG,MAAM,OAAO,EAAE,KAAG,MAQxE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,QAAQ,EAAE,WAAW,MAAM,KAAG,kBAWvE,CAAA"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;AAEvE,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;AAE7D,eAAO,MAAM,cAAc,wJAK1B,CAAA;AAED,eAAO,MAAM,kBAAkB,yZAGW,CAAA;AAE1C,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,GAAG,GAAI,UAAU,oBAAoB,EAAE,GAAG,MAAM,OAAO,EAAE,KAAG,MAQxE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,QAAQ,EAAE,WAAW,MAAM,KAAG,kBAWvE,CAAA"}
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAOhD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAExG,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAC5C,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAC7D,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAI1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,QAA8B,EAAE,GAAG,IAAe,EAAU,EAAE;IAChF,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAgB,EAAE,SAAiB,EAAsB,EAAE;IAC3F,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAmC,CAAA;IAErE,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,MAA4B,CAAA;AACrC,CAAC,CAAA"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAOhD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CACxC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAA2D,EAClE,MAAM,CAAC,IAAI,CACZ,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAC5C,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAC7D,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAI1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,QAA8B,EAAE,GAAG,IAAe,EAAU,EAAE;IAChF,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAgB,EAAE,SAAiB,EAAsB,EAAE;IAC3F,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAmC,CAAA;IAErE,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,MAA4B,CAAA;AACrC,CAAC,CAAA"}
package/dist/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const liveStoreVersion: "0.3.2-dev.9";
1
+ export declare const liveStoreVersion: "0.4.0-dev.1";
2
2
  /**
3
3
  * This version number is incremented whenever the internal storage format changes in a breaking way.
4
4
  * Whenever this version changes, LiveStore will start with fresh database files. Old database files are not deleted.
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // TODO bring back when Expo and Playwright supports `with` imports
2
2
  // import packageJson from '../package.json' with { type: 'json' }
3
3
  // export const liveStoreVersion = packageJson.version
4
- export const liveStoreVersion = '0.3.2-dev.9';
4
+ export const liveStoreVersion = '0.4.0-dev.1';
5
5
  /**
6
6
  * This version number is incremented whenever the internal storage format changes in a breaking way.
7
7
  * Whenever this version changes, LiveStore will start with fresh database files. Old database files are not deleted.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/common",
3
- "version": "0.3.2-dev.9",
3
+ "version": "0.4.0-dev.1",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -16,12 +16,12 @@
16
16
  "graphology": "0.26.0-alpha1",
17
17
  "graphology-dag": "0.4.1",
18
18
  "graphology-types": "0.24.8",
19
- "@livestore/utils": "0.3.2-dev.9",
20
- "@livestore/webmesh": "0.3.2-dev.9"
19
+ "@livestore/webmesh": "0.4.0-dev.1",
20
+ "@livestore/utils": "0.4.0-dev.1"
21
21
  },
22
22
  "devDependencies": {
23
23
  "vitest": "3.2.4",
24
- "@livestore/utils-dev": "0.3.2-dev.9"
24
+ "@livestore/utils-dev": "0.4.0-dev.1"
25
25
  },
26
26
  "files": [
27
27
  "package.json",
@@ -23,8 +23,8 @@ export interface ClientSessionLeaderThreadProxy {
23
23
  /** The migrations report from the leader thread */
24
24
  readonly migrationsReport: MigrationsReport
25
25
  }
26
- export: Effect.Effect<Uint8Array, UnexpectedError>
27
- getEventlogData: Effect.Effect<Uint8Array, UnexpectedError>
26
+ export: Effect.Effect<Uint8Array<ArrayBuffer>, UnexpectedError>
27
+ getEventlogData: Effect.Effect<Uint8Array<ArrayBuffer>, UnexpectedError>
28
28
  getSyncState: Effect.Effect<SyncState, UnexpectedError>
29
29
  /** For debugging purposes it can be useful to manually trigger devtools messages (e.g. to reset the database) */
30
30
  sendDevtoolsMessage: (message: Devtools.Leader.MessageToApp) => Effect.Effect<void, UnexpectedError>
@@ -1,6 +1,6 @@
1
1
  import {
2
- type Cause,
3
2
  type Effect,
3
+ type Exit,
4
4
  type Queue,
5
5
  Schema,
6
6
  type Scope,
@@ -27,7 +27,7 @@ export interface ClientSession {
27
27
  sessionId: string
28
28
  /** Status info whether current session is leader or not */
29
29
  lockStatus: SubscriptionRef.SubscriptionRef<LockStatus>
30
- shutdown: (cause: Cause.Cause<UnexpectedError | IntentionalShutdownCause | SyncError>) => Effect.Effect<void>
30
+ shutdown: (cause: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError>) => Effect.Effect<void>
31
31
  /** A proxy API to communicate with the leader thread */
32
32
  leaderThread: ClientSessionLeaderThreadProxy
33
33
  /** A unique identifier for the current instance of the client session. Used for debugging purposes. */
@@ -90,7 +90,9 @@ export type MigrationOptions =
90
90
  }
91
91
  | {
92
92
  strategy: 'manual'
93
- migrate: (oldDb: Uint8Array) => Uint8Array | Promise<Uint8Array> | Effect.Effect<Uint8Array, unknown>
93
+ migrate: (
94
+ oldDb: Uint8Array<ArrayBuffer>,
95
+ ) => Uint8Array<ArrayBuffer> | Promise<Uint8Array<ArrayBuffer>> | Effect.Effect<Uint8Array<ArrayBuffer>, unknown>
94
96
  }
95
97
 
96
98
  export type MigrationHooks = {
@@ -119,7 +121,7 @@ export interface AdapterArgs {
119
121
  devtoolsEnabled: boolean
120
122
  debugInstanceId: string
121
123
  bootStatusQueue: Queue.Queue<BootStatus>
122
- shutdown: (cause: Cause.Cause<any>) => Effect.Effect<void>
124
+ shutdown: (exit: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError>) => Effect.Effect<void>
123
125
  connectDevtoolsToStore: ConnectDevtoolsToStore
124
126
  /**
125
127
  * Payload that will be passed to the sync backend when connecting
@@ -71,12 +71,12 @@ export class SyncHeadRes extends LSDReqResMessage('LSD.Leader.SyncHeadRes', {
71
71
  export class SnapshotReq extends LSDReqResMessage('LSD.Leader.SnapshotReq', {}) {}
72
72
 
73
73
  export class SnapshotRes extends LSDReqResMessage('LSD.Leader.SnapshotRes', {
74
- snapshot: Transferable.Uint8Array,
74
+ snapshot: Transferable.Uint8Array as Schema.Schema<Uint8Array<ArrayBuffer>>,
75
75
  }) {}
76
76
 
77
77
  export const LoadDatabaseFile = LeaderReqResMessage('LSD.Leader.LoadDatabaseFile', {
78
78
  payload: {
79
- data: Transferable.Uint8Array,
79
+ data: Transferable.Uint8Array as Schema.Schema<Uint8Array<ArrayBuffer>>,
80
80
  },
81
81
  success: {},
82
82
  error: {
@@ -103,7 +103,7 @@ export class CommitEventRes extends LSDReqResMessage('LSD.Leader.CommitEventRes'
103
103
  export class EventlogReq extends LSDReqResMessage('LSD.Leader.EventlogReq', {}) {}
104
104
 
105
105
  export class EventlogRes extends LSDReqResMessage('LSD.Leader.EventlogRes', {
106
- eventlog: Transferable.Uint8Array,
106
+ eventlog: Transferable.Uint8Array as Schema.Schema<Uint8Array<ArrayBuffer>>,
107
107
  }) {}
108
108
 
109
109
  export class Ping extends LSDReqResMessage('LSD.Leader.Ping', {}) {}
@@ -700,7 +700,9 @@ const backgroundBackendPulling = ({
700
700
  batch.map((_) =>
701
701
  LiveStoreEvent.EncodedWithMeta.fromGlobal(_.eventEncoded, {
702
702
  syncMetadata: _.metadata,
703
- materializerHashLeader: hashMaterializerResult(_.eventEncoded),
703
+ // TODO we can't really know the materializer result here yet beyond the first event batch item as we need to materialize it one by one first
704
+ // This is a bug and needs to be fixed https://github.com/livestorejs/livestore/issues/503#issuecomment-3114533165
705
+ materializerHashLeader: hashMaterializerResult(LiveStoreEvent.encodedFromGlobal(_.eventEncoded)),
704
706
  materializerHashSession: Option.none(),
705
707
  }),
706
708
  ),
@@ -6,7 +6,7 @@ import type { BootStatus, MakeSqliteDb, SqliteDb, SqliteError } from '../adapter
6
6
  import { UnexpectedError } from '../adapter-types.ts'
7
7
  import type * as Devtools from '../devtools/mod.ts'
8
8
  import type { LiveStoreSchema } from '../schema/mod.ts'
9
- import { EventSequenceNumber, LiveStoreEvent } from '../schema/mod.ts'
9
+ import { EventSequenceNumber, LiveStoreEvent, SystemTables } from '../schema/mod.ts'
10
10
  import type { InvalidPullError, IsOfflineError, SyncOptions } from '../sync/sync.ts'
11
11
  import { SyncState } from '../sync/syncstate.ts'
12
12
  import { sql } from '../util.ts'
@@ -66,13 +66,10 @@ export const makeLeaderThreadLayer = ({
66
66
  Effect.gen(function* () {
67
67
  const bootStatusQueue = yield* Queue.unbounded<BootStatus>().pipe(Effect.acquireRelease(Queue.shutdown))
68
68
 
69
- // TODO do more validation here than just checking the count of tables
70
- // Either happens on initial boot or if schema changes
71
- const dbEventlogMissing =
72
- dbEventlog.select<{ count: number }>(sql`select count(*) as count from sqlite_master`)[0]!.count === 0
69
+ const dbEventlogMissing = !hasEventlogTables(dbEventlog)
73
70
 
74
- const dbStateMissing =
75
- dbState.select<{ count: number }>(sql`select count(*) as count from sqlite_master`)[0]!.count === 0
71
+ // Either happens on initial boot or if schema changes
72
+ const dbStateMissing = !hasStateTables(dbState)
76
73
 
77
74
  const syncBackend =
78
75
  syncOptions?.backend === undefined
@@ -158,6 +155,28 @@ export const makeLeaderThreadLayer = ({
158
155
  Layer.unwrapScoped,
159
156
  )
160
157
 
158
+ const hasEventlogTables = (db: SqliteDb) => {
159
+ const tableNames = new Set(db.select<{ name: string }>(sql`select name from sqlite_master`).map((_) => _.name))
160
+ const eventlogTables = new Set(SystemTables.eventlogSystemTables.map((_) => _.sqliteDef.name))
161
+ return isSubsetOf(eventlogTables, tableNames)
162
+ }
163
+
164
+ const hasStateTables = (db: SqliteDb) => {
165
+ const tableNames = new Set(db.select<{ name: string }>(sql`select name from sqlite_master`).map((_) => _.name))
166
+ const stateTables = new Set(SystemTables.stateSystemTables.map((_) => _.sqliteDef.name))
167
+ return isSubsetOf(stateTables, tableNames)
168
+ }
169
+
170
+ const isSubsetOf = (a: Set<string>, b: Set<string>): boolean => {
171
+ for (const item of a) {
172
+ if (!b.has(item)) {
173
+ return false
174
+ }
175
+ }
176
+
177
+ return true
178
+ }
179
+
161
180
  const getInitialSyncState = ({
162
181
  dbEventlog,
163
182
  dbState,
@@ -1,9 +1,9 @@
1
1
  import type { WebChannel } from '@livestore/utils/effect'
2
2
  import { Schema } from '@livestore/utils/effect'
3
3
 
4
- import { IntentionalShutdownCause, UnexpectedError } from '../index.ts'
4
+ import { IntentionalShutdownCause, SyncError, UnexpectedError } from '../index.ts'
5
5
 
6
- export class All extends Schema.Union(IntentionalShutdownCause, UnexpectedError) {}
6
+ export class All extends Schema.Union(IntentionalShutdownCause, UnexpectedError, SyncError) {}
7
7
 
8
8
  /**
9
9
  * Used internally by an adapter to shutdown gracefully.
@@ -122,7 +122,7 @@ export type MaterializeEvent = (
122
122
  },
123
123
  ) => Effect.Effect<
124
124
  {
125
- sessionChangeset: { _tag: 'sessionChangeset'; data: Uint8Array; debug: any } | { _tag: 'no-op' }
125
+ sessionChangeset: { _tag: 'sessionChangeset'; data: Uint8Array<ArrayBuffer>; debug: any } | { _tag: 'no-op' }
126
126
  hash: Option.Option<number>
127
127
  },
128
128
  SqliteError | UnexpectedError
@@ -24,14 +24,8 @@ export const getExecStatementsFromMaterializer = ({
24
24
  dbState: SqliteDb
25
25
  /** Both encoded and decoded events are supported to reduce the number of times we need to decode/encode */
26
26
  event:
27
- | {
28
- decoded: LiveStoreEvent.AnyDecoded | LiveStoreEvent.PartialAnyDecoded
29
- encoded: undefined
30
- }
31
- | {
32
- decoded: undefined
33
- encoded: LiveStoreEvent.AnyEncoded | LiveStoreEvent.PartialAnyEncoded
34
- }
27
+ | { decoded: LiveStoreEvent.AnyDecoded; encoded: undefined }
28
+ | { decoded: undefined; encoded: LiveStoreEvent.AnyEncoded }
35
29
  }): ReadonlyArray<{
36
30
  statementSql: string
37
31
  bindValues: PreparedBindValues
@@ -85,7 +79,7 @@ export const getExecStatementsFromMaterializer = ({
85
79
 
86
80
  export const makeMaterializerHash =
87
81
  ({ schema, dbState }: { schema: LiveStoreSchema; dbState: SqliteDb }) =>
88
- (event: LiveStoreEvent.AnyEncodedGlobal): Option.Option<number> => {
82
+ (event: LiveStoreEvent.AnyEncoded): Option.Option<number> => {
89
83
  if (isDevEnv()) {
90
84
  const { eventDef, materializer } = getEventDef(schema, event.name)
91
85
  const materializerResults = getExecStatementsFromMaterializer({
@@ -119,8 +113,8 @@ const fromMaterializerResult = (
119
113
  return materializerResult.flatMap(fromMaterializerResult)
120
114
  }
121
115
  if (isQueryBuilder(materializerResult)) {
122
- const { query, bindValues } = materializerResult.asSql()
123
- return [{ sql: query, bindValues: bindValues as BindValues, writeTables: undefined }]
116
+ const { query, bindValues, usedTables } = materializerResult.asSql()
117
+ return [{ sql: query, bindValues: bindValues as BindValues, writeTables: usedTables }]
124
118
  } else if (typeof materializerResult === 'string') {
125
119
  return [{ sql: materializerResult, bindValues: {} as BindValues, writeTables: undefined }]
126
120
  } else {
@@ -87,9 +87,9 @@ LIMIT ${CHUNK_SIZE}
87
87
  let processedEvents = 0
88
88
 
89
89
  yield* Stream.unfoldChunk<
90
- Chunk.Chunk<SystemTables.EventlogMetaRow> | { _tag: 'Initial ' },
90
+ Chunk.Chunk<SystemTables.EventlogMetaRow> | { _tag: 'Initial' },
91
91
  SystemTables.EventlogMetaRow
92
- >({ _tag: 'Initial ' }, (item) => {
92
+ >({ _tag: 'Initial' }, (item) => {
93
93
  // End stream if no more rows
94
94
  if (Chunk.isChunk(item) && item.length === 0) return Option.none()
95
95
 
@@ -23,7 +23,7 @@ Vitest.describe('EventSequenceNumber', () => {
23
23
  expect(EventSequenceNumber.nextPair({ seqNum: e_0_0, isClient: false, rebaseGeneration: 1 }).seqNum).toStrictEqual({
24
24
  global: 1,
25
25
  client: 0,
26
- rebaseGeneration: 1,
26
+ rebaseGeneration: 0,
27
27
  })
28
28
  expect(EventSequenceNumber.nextPair({ seqNum: e_0_0, isClient: true, rebaseGeneration: 1 }).seqNum).toStrictEqual({
29
29
  global: 0,
@@ -35,7 +35,7 @@ Vitest.describe('EventSequenceNumber', () => {
35
35
  expect(EventSequenceNumber.nextPair({ seqNum: e_0_0_g1, isClient: false }).seqNum).toStrictEqual({
36
36
  global: 1,
37
37
  client: 0,
38
- rebaseGeneration: 2,
38
+ rebaseGeneration: 0,
39
39
  })
40
40
  })
41
41
 
@@ -122,8 +122,14 @@ export const fromString = (str: string): EventSequenceNumber => {
122
122
  }
123
123
  }
124
124
 
125
+ export const fromGlobal = (seqNum: GlobalEventSequenceNumber) => ({
126
+ global: seqNum,
127
+ client: clientDefault,
128
+ rebaseGeneration: rebaseGenerationDefault,
129
+ })
130
+
125
131
  export const isEqual = (a: EventSequenceNumber, b: EventSequenceNumber) =>
126
- a.global === b.global && a.client === b.client
132
+ a.global === b.global && a.client === b.client && a.rebaseGeneration === b.rebaseGeneration
127
133
 
128
134
  export type EventSequenceNumberPair = { seqNum: EventSequenceNumber; parentSeqNum: EventSequenceNumber }
129
135
 
@@ -185,7 +191,7 @@ export const nextPair = ({
185
191
  seqNum: {
186
192
  global: (seqNum.global + 1) as any as GlobalEventSequenceNumber,
187
193
  client: clientDefault,
188
- rebaseGeneration: rebaseGeneration ?? seqNum.rebaseGeneration,
194
+ rebaseGeneration: rebaseGenerationDefault,
189
195
  },
190
196
  // NOTE we always point to `client: 0` for non-clientOnly events
191
197
  parentSeqNum: { global: seqNum.global, client: clientDefault, rebaseGeneration: seqNum.rebaseGeneration },
@@ -152,6 +152,12 @@ export const makeEventDefPartialSchema = <TSchema extends LiveStoreSchema>(
152
152
 
153
153
  export const makeEventDefSchemaMemo = memoizeByRef(makeEventDefSchema)
154
154
 
155
+ export const encodedFromGlobal = (event: AnyEncodedGlobal): AnyEncoded => ({
156
+ ...event,
157
+ seqNum: EventSequenceNumber.fromGlobal(event.seqNum),
158
+ parentSeqNum: EventSequenceNumber.fromGlobal(event.parentSeqNum),
159
+ })
160
+
155
161
  /** Equivalent to AnyEncoded but with a meta field and some convenience methods */
156
162
  export class EncodedWithMeta extends Schema.Class<EncodedWithMeta>('LiveStoreEvent.EncodedWithMeta')({
157
163
  name: Schema.String,
@@ -164,7 +170,7 @@ export class EncodedWithMeta extends Schema.Class<EncodedWithMeta>('LiveStoreEve
164
170
  meta: Schema.Struct({
165
171
  sessionChangeset: Schema.Union(
166
172
  Schema.TaggedStruct('sessionChangeset', {
167
- data: Schema.Uint8Array,
173
+ data: Schema.Uint8Array as any as Schema.Schema<Uint8Array<ArrayBuffer>>,
168
174
  debug: Schema.Any.pipe(Schema.optional),
169
175
  }),
170
176
  Schema.TaggedStruct('no-op', {}),
@@ -28,6 +28,10 @@ export interface LiveStoreSchema<
28
28
  }
29
29
  }
30
30
 
31
+ export namespace LiveStoreSchema {
32
+ export type Any = LiveStoreSchema<any, any>
33
+ }
34
+
31
35
  // TODO abstract this further away from sqlite/tables
32
36
  export interface InternalState {
33
37
  readonly sqlite: {