@livestore/common 0.3.0-dev.4 → 0.3.0-dev.6

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 (113) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-types.d.ts +26 -23
  3. package/dist/adapter-types.d.ts.map +1 -1
  4. package/dist/adapter-types.js.map +1 -1
  5. package/dist/derived-mutations.d.ts +4 -4
  6. package/dist/derived-mutations.d.ts.map +1 -1
  7. package/dist/derived-mutations.test.js.map +1 -1
  8. package/dist/devtools/devtools-bridge.d.ts +2 -1
  9. package/dist/devtools/devtools-bridge.d.ts.map +1 -1
  10. package/dist/devtools/devtools-messages.d.ts +90 -102
  11. package/dist/devtools/devtools-messages.d.ts.map +1 -1
  12. package/dist/devtools/devtools-messages.js +9 -6
  13. package/dist/devtools/devtools-messages.js.map +1 -1
  14. package/dist/leader-thread/apply-mutation.d.ts +5 -2
  15. package/dist/leader-thread/apply-mutation.d.ts.map +1 -1
  16. package/dist/leader-thread/apply-mutation.js +37 -25
  17. package/dist/leader-thread/apply-mutation.js.map +1 -1
  18. package/dist/leader-thread/leader-sync-processor.d.ts.map +1 -1
  19. package/dist/leader-thread/leader-sync-processor.js +20 -12
  20. package/dist/leader-thread/leader-sync-processor.js.map +1 -1
  21. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  22. package/dist/leader-thread/leader-worker-devtools.js +22 -66
  23. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  24. package/dist/leader-thread/make-leader-thread-layer.d.ts +4 -2
  25. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  26. package/dist/leader-thread/make-leader-thread-layer.js +5 -2
  27. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  28. package/dist/leader-thread/mutationlog.d.ts +4 -17
  29. package/dist/leader-thread/mutationlog.d.ts.map +1 -1
  30. package/dist/leader-thread/mutationlog.js +2 -1
  31. package/dist/leader-thread/mutationlog.js.map +1 -1
  32. package/dist/leader-thread/pull-queue-set.d.ts.map +1 -1
  33. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  34. package/dist/leader-thread/recreate-db.js +9 -3
  35. package/dist/leader-thread/recreate-db.js.map +1 -1
  36. package/dist/leader-thread/types.d.ts +7 -5
  37. package/dist/leader-thread/types.d.ts.map +1 -1
  38. package/dist/leader-thread/types.js.map +1 -1
  39. package/dist/mutation.d.ts +9 -2
  40. package/dist/mutation.d.ts.map +1 -1
  41. package/dist/mutation.js +5 -5
  42. package/dist/mutation.js.map +1 -1
  43. package/dist/query-builder/impl.d.ts +1 -1
  44. package/dist/rehydrate-from-mutationlog.d.ts +2 -2
  45. package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
  46. package/dist/rehydrate-from-mutationlog.js +13 -19
  47. package/dist/rehydrate-from-mutationlog.js.map +1 -1
  48. package/dist/schema/EventId.d.ts +16 -14
  49. package/dist/schema/EventId.d.ts.map +1 -1
  50. package/dist/schema/EventId.js +15 -7
  51. package/dist/schema/EventId.js.map +1 -1
  52. package/dist/schema/MutationEvent.d.ts +49 -74
  53. package/dist/schema/MutationEvent.d.ts.map +1 -1
  54. package/dist/schema/MutationEvent.js +29 -13
  55. package/dist/schema/MutationEvent.js.map +1 -1
  56. package/dist/schema/system-tables.d.ts +26 -26
  57. package/dist/schema/system-tables.d.ts.map +1 -1
  58. package/dist/schema/system-tables.js +19 -11
  59. package/dist/schema/system-tables.js.map +1 -1
  60. package/dist/schema-management/migrations.js +6 -6
  61. package/dist/schema-management/migrations.js.map +1 -1
  62. package/dist/sync/client-session-sync-processor.d.ts +4 -4
  63. package/dist/sync/client-session-sync-processor.d.ts.map +1 -1
  64. package/dist/sync/next/history-dag-common.d.ts +1 -4
  65. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  66. package/dist/sync/next/history-dag-common.js +1 -1
  67. package/dist/sync/next/history-dag-common.js.map +1 -1
  68. package/dist/sync/next/rebase-events.d.ts +3 -3
  69. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  70. package/dist/sync/next/rebase-events.js +3 -2
  71. package/dist/sync/next/rebase-events.js.map +1 -1
  72. package/dist/sync/next/test/mutation-fixtures.d.ts.map +1 -1
  73. package/dist/sync/next/test/mutation-fixtures.js +3 -9
  74. package/dist/sync/next/test/mutation-fixtures.js.map +1 -1
  75. package/dist/sync/sync.d.ts +6 -6
  76. package/dist/sync/sync.d.ts.map +1 -1
  77. package/dist/sync/sync.js.map +1 -1
  78. package/dist/sync/syncstate.d.ts +10 -10
  79. package/dist/sync/syncstate.test.js +2 -6
  80. package/dist/sync/syncstate.test.js.map +1 -1
  81. package/dist/sync/validate-push-payload.d.ts +2 -2
  82. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  83. package/dist/sync/validate-push-payload.js +2 -2
  84. package/dist/sync/validate-push-payload.js.map +1 -1
  85. package/dist/version.d.ts +1 -1
  86. package/dist/version.js +1 -1
  87. package/package.json +6 -5
  88. package/src/adapter-types.ts +22 -24
  89. package/src/derived-mutations.test.ts +1 -1
  90. package/src/derived-mutations.ts +9 -5
  91. package/src/devtools/devtools-bridge.ts +2 -1
  92. package/src/devtools/devtools-messages.ts +9 -6
  93. package/src/leader-thread/apply-mutation.ts +48 -30
  94. package/src/leader-thread/leader-sync-processor.ts +26 -15
  95. package/src/leader-thread/leader-worker-devtools.ts +30 -109
  96. package/src/leader-thread/make-leader-thread-layer.ts +15 -5
  97. package/src/leader-thread/mutationlog.ts +9 -5
  98. package/src/leader-thread/recreate-db.ts +9 -5
  99. package/src/leader-thread/types.ts +7 -8
  100. package/src/mutation.ts +17 -7
  101. package/src/rehydrate-from-mutationlog.ts +15 -23
  102. package/src/schema/EventId.ts +23 -9
  103. package/src/schema/MutationEvent.ts +40 -20
  104. package/src/schema/system-tables.ts +19 -11
  105. package/src/schema-management/migrations.ts +6 -6
  106. package/src/sync/client-session-sync-processor.ts +4 -4
  107. package/src/sync/next/history-dag-common.ts +1 -1
  108. package/src/sync/next/rebase-events.ts +7 -7
  109. package/src/sync/next/test/mutation-fixtures.ts +3 -10
  110. package/src/sync/sync.ts +4 -2
  111. package/src/sync/syncstate.test.ts +4 -4
  112. package/src/sync/validate-push-payload.ts +7 -4
  113. package/src/version.ts +1 -1
@@ -1,7 +1,12 @@
1
- import { Schema } from '@livestore/utils/effect';
1
+ import { Brand, Schema } from '@livestore/utils/effect';
2
+ export const localEventId = Brand.nominal();
3
+ export const LocalEventId = Schema.fromBrand(localEventId)(Schema.Int);
4
+ export const globalEventId = Brand.nominal();
5
+ export const GlobalEventId = Schema.fromBrand(globalEventId)(Schema.Int);
6
+ export const localDefault = 0;
2
7
  export const EventId = Schema.Struct({
3
- global: Schema.Number,
4
- local: Schema.Number,
8
+ global: GlobalEventId,
9
+ local: LocalEventId,
5
10
  }).annotations({ title: 'LiveStore.EventId' });
6
11
  /**
7
12
  * Compare two event ids i.e. checks if the first event id is less than the second.
@@ -13,18 +18,21 @@ export const compare = (a, b) => {
13
18
  return a.local - b.local;
14
19
  };
15
20
  export const isEqual = (a, b) => a.global === b.global && a.local === b.local;
16
- export const ROOT = { global: -1, local: 0 };
21
+ export const ROOT = { global: -1, local: localDefault };
17
22
  export const isGreaterThan = (a, b) => {
18
23
  return a.global > b.global || (a.global === b.global && a.local > b.local);
19
24
  };
25
+ export const make = (id) => {
26
+ return Schema.is(EventId)(id) ? id : Schema.decodeSync(EventId)(id);
27
+ };
20
28
  export const nextPair = (id, isLocal) => {
21
29
  if (isLocal) {
22
- return { id: { global: id.global, local: id.local + 1 }, parentId: id };
30
+ return { id: { global: id.global, local: (id.local + 1) }, parentId: id };
23
31
  }
24
32
  return {
25
- id: { global: id.global + 1, local: 0 },
33
+ id: { global: (id.global + 1), local: localDefault },
26
34
  // NOTE we always point to `local: 0` for non-localOnly mutations
27
- parentId: { global: id.global, local: 0 },
35
+ parentId: { global: id.global, local: localDefault },
28
36
  };
29
37
  };
30
38
  //# sourceMappingURL=EventId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventId.js","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAUhD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAA;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IAChD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAA;AAI/F,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAoB,CAAA;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IACtD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAW,EAAE,OAAgB,EAAE,EAAE;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACzE,CAAC;IAED,OAAO;QACL,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACvC,iEAAiE;QACjE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;KAC1C,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"EventId.js","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGvD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAgB,CAAA;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAGtE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAiB,CAAA;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAwB,CAAA;AAUpD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;CACpB,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAA;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IAChD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAA;AAI/F,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,CAAyB,EAAE,KAAK,EAAE,YAAY,EAAoB,CAAA;AAEjG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IACtD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAoC,EAAW,EAAE;IACpE,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAW,EAAE,OAAgB,EAAe,EAAE;IACrE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAwB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAClG,CAAC;IAED,OAAO;QACL,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAyB,EAAE,KAAK,EAAE,YAAY,EAAE;QAC5E,iEAAiE;QACjE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE;KACrD,CAAA;AACH,CAAC,CAAA"}
@@ -23,9 +23,40 @@ export type MutationEventEncoded<TMutationsDef extends MutationDef.Any> = {
23
23
  id: EventId.EventId;
24
24
  parentId: EventId.EventId;
25
25
  };
26
- export type Any = MutationEvent<MutationDef.Any>;
26
+ export type AnyDecoded = MutationEvent<MutationDef.Any>;
27
+ export declare const AnyDecoded: Schema.Struct<{
28
+ mutation: typeof Schema.String;
29
+ args: typeof Schema.Any;
30
+ id: Schema.Struct<{
31
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
32
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
33
+ }>;
34
+ parentId: Schema.Struct<{
35
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
36
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
37
+ }>;
38
+ }>;
27
39
  export type AnyEncoded = MutationEventEncoded<MutationDef.Any>;
28
- export type PartialAny = MutationEventPartial<MutationDef.Any>;
40
+ export declare const AnyEncoded: Schema.Struct<{
41
+ mutation: typeof Schema.String;
42
+ args: typeof Schema.Any;
43
+ id: Schema.Struct<{
44
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
45
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
46
+ }>;
47
+ parentId: Schema.Struct<{
48
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
49
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
50
+ }>;
51
+ }>;
52
+ export declare const AnyEncodedGlobal: Schema.Struct<{
53
+ mutation: typeof Schema.String;
54
+ args: typeof Schema.Any;
55
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
56
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
57
+ }>;
58
+ export type AnyEncodedGlobal = typeof AnyEncodedGlobal.Type;
59
+ export type PartialAnyDecoded = MutationEventPartial<MutationDef.Any>;
29
60
  export type PartialAnyEncoded = MutationEventPartialEncoded<MutationDef.Any>;
30
61
  export type PartialForSchema<TSchema extends LiveStoreSchema> = {
31
62
  [K in keyof TSchema['_MutationDefMapType']]: MutationEventPartial<TSchema['_MutationDefMapType'][K]>;
@@ -33,7 +64,7 @@ export type PartialForSchema<TSchema extends LiveStoreSchema> = {
33
64
  export type ForSchema<TSchema extends LiveStoreSchema> = {
34
65
  [K in keyof TSchema['_MutationDefMapType']]: MutationEvent<TSchema['_MutationDefMapType'][K]>;
35
66
  }[keyof TSchema['_MutationDefMapType']];
36
- export declare const isPartialMutationEvent: (mutationEvent: Any | PartialAny) => mutationEvent is PartialAny;
67
+ export declare const isPartialMutationEvent: (mutationEvent: AnyDecoded | PartialAnyDecoded) => mutationEvent is PartialAnyDecoded;
37
68
  export type ForMutationDefRecord<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
38
69
  [K in keyof TMutationsDefRecord]: {
39
70
  mutation: K;
@@ -63,74 +94,16 @@ export type MutationEventPartialSchema<TMutationsDefRecord extends MutationDefRe
63
94
  export declare const makeMutationEventSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
64
95
  export declare const makeMutationEventPartialSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => MutationEventPartialSchema<TSchema["_MutationDefMapType"]>;
65
96
  export declare const makeMutationEventSchemaMemo: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
66
- export declare const Any: Schema.Struct<{
67
- mutation: typeof Schema.String;
68
- args: typeof Schema.Any;
69
- id: Schema.Struct<{
70
- global: typeof Schema.Number;
71
- local: typeof Schema.Number;
72
- }>;
73
- parentId: Schema.Struct<{
74
- global: typeof Schema.Number;
75
- local: typeof Schema.Number;
76
- }>;
77
- }>;
78
- export declare const DecodedAny: Schema.SchemaClass<{
79
- readonly id: {
80
- readonly global: number;
81
- readonly local: number;
82
- };
83
- readonly mutation: string;
84
- readonly args: any;
85
- readonly parentId: {
86
- readonly global: number;
87
- readonly local: number;
88
- };
89
- }, {
90
- readonly id: {
91
- readonly global: number;
92
- readonly local: number;
93
- };
94
- readonly mutation: string;
95
- readonly args: any;
96
- readonly parentId: {
97
- readonly global: number;
98
- readonly local: number;
99
- };
100
- }, never>;
101
- export declare const EncodedAny: Schema.SchemaClass<{
102
- readonly id: {
103
- readonly global: number;
104
- readonly local: number;
105
- };
106
- readonly mutation: string;
107
- readonly args: any;
108
- readonly parentId: {
109
- readonly global: number;
110
- readonly local: number;
111
- };
112
- }, {
113
- readonly id: {
114
- readonly global: number;
115
- readonly local: number;
116
- };
117
- readonly mutation: string;
118
- readonly args: any;
119
- readonly parentId: {
120
- readonly global: number;
121
- readonly local: number;
122
- };
123
- }, never>;
124
97
  declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
125
98
  mutation: typeof Schema.String;
126
99
  args: typeof Schema.Any;
127
100
  id: Schema.Struct<{
128
- global: typeof Schema.Number;
129
- local: typeof Schema.Number;
101
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
102
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
130
103
  }>;
131
104
  parentId: Schema.Struct<{
132
- global: typeof Schema.Number;
133
- local: typeof Schema.Number;
105
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
106
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
134
107
  }>;
135
108
  meta: Schema.optionalWith<Schema.Schema<{
136
109
  deferred?: Deferred.Deferred<void>;
@@ -145,12 +118,12 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
145
118
  mutation: typeof Schema.String;
146
119
  args: typeof Schema.Any;
147
120
  id: Schema.Struct<{
148
- global: typeof Schema.Number;
149
- local: typeof Schema.Number;
121
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
122
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
150
123
  }>;
151
124
  parentId: Schema.Struct<{
152
- global: typeof Schema.Number;
153
- local: typeof Schema.Number;
125
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
126
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
154
127
  }>;
155
128
  meta: Schema.optionalWith<Schema.Schema<{
156
129
  deferred?: Deferred.Deferred<void>;
@@ -163,8 +136,8 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
163
136
  }>;
164
137
  }>, never, {
165
138
  readonly id: {
166
- readonly global: number;
167
- readonly local: number;
139
+ readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
140
+ readonly local: number & import("effect/Brand").Brand<"LocalEventId">;
168
141
  };
169
142
  } & {
170
143
  readonly mutation: string;
@@ -172,8 +145,8 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
172
145
  readonly args: any;
173
146
  } & {
174
147
  readonly parentId: {
175
- readonly global: number;
176
- readonly local: number;
148
+ readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
149
+ readonly local: number & import("effect/Brand").Brand<"LocalEventId">;
177
150
  };
178
151
  } & {
179
152
  readonly meta?: {
@@ -181,10 +154,12 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
181
154
  sessionChangeset?: Uint8Array;
182
155
  } | undefined;
183
156
  }, {}, {}>;
184
- /** Equivalent to EncodedAny but with a meta field and some convenience methods */
157
+ /** Equivalent to AnyEncoded but with a meta field and some convenience methods */
185
158
  export declare class EncodedWithMeta extends EncodedWithMeta_base {
186
159
  toJSON: () => any;
187
160
  rebase: (parentId: EventId.EventId, isLocal: boolean) => EncodedWithMeta;
161
+ static fromGlobal: (mutationEvent: AnyEncodedGlobal) => EncodedWithMeta;
162
+ toGlobal: () => AnyEncodedGlobal;
188
163
  }
189
164
  export declare const isEqualEncoded: (a: AnyEncoded, b: AnyEncoded) => boolean;
190
165
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MutationEvent.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationEvent.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,24 @@
1
1
  import { memoizeByRef } from '@livestore/utils';
2
2
  import { Schema } from '@livestore/utils/effect';
3
3
  import * as EventId from './EventId.js';
4
+ export const AnyDecoded = Schema.Struct({
5
+ mutation: Schema.String,
6
+ args: Schema.Any,
7
+ id: EventId.EventId,
8
+ parentId: EventId.EventId,
9
+ }).annotations({ title: 'MutationEvent.AnyDecoded' });
10
+ export const AnyEncoded = Schema.Struct({
11
+ mutation: Schema.String,
12
+ args: Schema.Any,
13
+ id: EventId.EventId,
14
+ parentId: EventId.EventId,
15
+ }).annotations({ title: 'MutationEvent.AnyEncoded' });
16
+ export const AnyEncodedGlobal = Schema.Struct({
17
+ mutation: Schema.String,
18
+ args: Schema.Any,
19
+ id: EventId.GlobalEventId,
20
+ parentId: EventId.GlobalEventId,
21
+ }).annotations({ title: 'MutationEvent.AnyEncodedGlobal' });
4
22
  export const isPartialMutationEvent = (mutationEvent) => 'id' in mutationEvent === false && 'parentId' in mutationEvent === false;
5
23
  export const makeMutationEventSchema = (schema) => Schema.Union(...[...schema.mutations.values()].map((def) => Schema.Struct({
6
24
  mutation: Schema.Literal(def.name),
@@ -13,19 +31,7 @@ export const makeMutationEventPartialSchema = (schema) => Schema.Union(...[...sc
13
31
  args: def.schema,
14
32
  }))).annotations({ title: 'MutationEventSchemaPartial' });
15
33
  export const makeMutationEventSchemaMemo = memoizeByRef(makeMutationEventSchema);
16
- export const Any = Schema.Struct({
17
- mutation: Schema.String,
18
- args: Schema.Any,
19
- id: EventId.EventId,
20
- parentId: EventId.EventId,
21
- }).annotations({ title: 'MutationEvent.Any' });
22
- export const DecodedAny = Schema.typeSchema(Any).annotations({
23
- title: 'MutationEvent.DecodedAny',
24
- });
25
- export const EncodedAny = Schema.encodedSchema(Any).annotations({
26
- title: 'MutationEvent.EncodedAny',
27
- });
28
- /** Equivalent to EncodedAny but with a meta field and some convenience methods */
34
+ /** Equivalent to AnyEncoded but with a meta field and some convenience methods */
29
35
  export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta')({
30
36
  mutation: Schema.String,
31
37
  args: Schema.Any,
@@ -47,6 +53,16 @@ export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta
47
53
  ...this,
48
54
  ...EventId.nextPair(this.id, isLocal),
49
55
  });
56
+ static fromGlobal = (mutationEvent) => new EncodedWithMeta({
57
+ ...mutationEvent,
58
+ id: { global: mutationEvent.id, local: EventId.localDefault },
59
+ parentId: { global: mutationEvent.parentId, local: EventId.localDefault },
60
+ });
61
+ toGlobal = () => ({
62
+ ...this,
63
+ id: this.id.global,
64
+ parentId: this.parentId.global,
65
+ });
50
66
  }
51
67
  export const isEqualEncoded = (a, b) => a.id.global === b.id.global &&
52
68
  a.id.local === b.id.local &&
@@ -1 +1 @@
1
- {"version":3,"file":"MutationEvent.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationEvent.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
@@ -99,23 +99,23 @@ export declare const sessionChangesetMetaTable: import("./table-def.js").TableDe
99
99
  columns: {
100
100
  idGlobal: {
101
101
  columnType: "integer";
102
- schema: Schema.Schema<number, number, never>;
102
+ schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
103
103
  default: import("effect/Option").None<never>;
104
104
  nullable: false;
105
105
  primaryKey: false;
106
106
  };
107
107
  idLocal: {
108
108
  columnType: "integer";
109
- schema: Schema.Schema<number, number, never>;
109
+ schema: Schema.Schema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
110
110
  default: import("effect/Option").None<never>;
111
111
  nullable: false;
112
112
  primaryKey: false;
113
113
  };
114
114
  changeset: {
115
115
  columnType: "blob";
116
- schema: Schema.Schema<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>, never>;
116
+ schema: Schema.Schema<Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null, never>;
117
117
  default: import("effect/Option").None<never>;
118
- nullable: false;
118
+ nullable: true;
119
119
  primaryKey: false;
120
120
  };
121
121
  debug: {
@@ -133,16 +133,16 @@ export declare const sessionChangesetMetaTable: import("./table-def.js").TableDe
133
133
  disableAutomaticIdColumn: true;
134
134
  deriveMutations: never;
135
135
  isSingleColumn: false;
136
- requiredInsertColumnNames: "idGlobal" | "idLocal" | "changeset";
136
+ requiredInsertColumnNames: "idGlobal" | "idLocal";
137
137
  }, Schema.Schema<{
138
- readonly idGlobal: number;
139
- readonly idLocal: number;
140
- readonly changeset: Uint8Array<ArrayBufferLike>;
138
+ readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
139
+ readonly idLocal: number & import("effect/Brand").Brand<"LocalEventId">;
140
+ readonly changeset: Uint8Array<ArrayBufferLike> | null;
141
141
  readonly debug: unknown;
142
142
  }, {
143
143
  readonly idGlobal: number;
144
144
  readonly idLocal: number;
145
- readonly changeset: Uint8Array<ArrayBufferLike>;
145
+ readonly changeset: Uint8Array<ArrayBufferLike> | null;
146
146
  readonly debug: string | null;
147
147
  }, never>>;
148
148
  export type SessionChangesetMetaRow = FromTable.RowDecoded<typeof sessionChangesetMetaTable>;
@@ -233,23 +233,23 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
233
233
  columns: {
234
234
  idGlobal: {
235
235
  columnType: "integer";
236
- schema: Schema.Schema<number, number, never>;
236
+ schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
237
237
  default: import("effect/Option").None<never>;
238
238
  nullable: false;
239
239
  primaryKey: false;
240
240
  };
241
241
  idLocal: {
242
242
  columnType: "integer";
243
- schema: Schema.Schema<number, number, never>;
243
+ schema: Schema.Schema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
244
244
  default: import("effect/Option").None<never>;
245
245
  nullable: false;
246
246
  primaryKey: false;
247
247
  };
248
248
  changeset: {
249
249
  columnType: "blob";
250
- schema: Schema.Schema<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>, never>;
250
+ schema: Schema.Schema<Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null, never>;
251
251
  default: import("effect/Option").None<never>;
252
- nullable: false;
252
+ nullable: true;
253
253
  primaryKey: false;
254
254
  };
255
255
  debug: {
@@ -267,16 +267,16 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
267
267
  disableAutomaticIdColumn: true;
268
268
  deriveMutations: never;
269
269
  isSingleColumn: false;
270
- requiredInsertColumnNames: "idGlobal" | "idLocal" | "changeset";
270
+ requiredInsertColumnNames: "idGlobal" | "idLocal";
271
271
  }, Schema.Schema<{
272
- readonly idGlobal: number;
273
- readonly idLocal: number;
274
- readonly changeset: Uint8Array<ArrayBufferLike>;
272
+ readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
273
+ readonly idLocal: number & import("effect/Brand").Brand<"LocalEventId">;
274
+ readonly changeset: Uint8Array<ArrayBufferLike> | null;
275
275
  readonly debug: unknown;
276
276
  }, {
277
277
  readonly idGlobal: number;
278
278
  readonly idLocal: number;
279
- readonly changeset: Uint8Array<ArrayBufferLike>;
279
+ readonly changeset: Uint8Array<ArrayBufferLike> | null;
280
280
  readonly debug: string | null;
281
281
  }, never>>)[];
282
282
  export declare const SyncStatus: Schema.Literal<["synced", "pending", "error", "localOnly"]>;
@@ -287,28 +287,28 @@ export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
287
287
  columns: {
288
288
  idGlobal: {
289
289
  columnType: "integer";
290
- schema: Schema.Schema<number, number, never>;
290
+ schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
291
291
  default: import("effect/Option").None<never>;
292
292
  nullable: false;
293
293
  primaryKey: true;
294
294
  };
295
295
  idLocal: {
296
296
  columnType: "integer";
297
- schema: Schema.Schema<number, number, never>;
297
+ schema: Schema.Schema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
298
298
  default: import("effect/Option").None<never>;
299
299
  nullable: false;
300
300
  primaryKey: true;
301
301
  };
302
302
  parentIdGlobal: {
303
303
  columnType: "integer";
304
- schema: Schema.Schema<number, number, never>;
304
+ schema: Schema.Schema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
305
305
  default: import("effect/Option").None<never>;
306
306
  nullable: false;
307
307
  primaryKey: false;
308
308
  };
309
309
  parentIdLocal: {
310
310
  columnType: "integer";
311
- schema: Schema.Schema<number, number, never>;
311
+ schema: Schema.Schema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
312
312
  default: import("effect/Option").None<never>;
313
313
  nullable: false;
314
314
  primaryKey: false;
@@ -351,10 +351,10 @@ export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
351
351
  isSingleColumn: false;
352
352
  requiredInsertColumnNames: "schemaHash" | "idGlobal" | "idLocal" | "parentIdGlobal" | "parentIdLocal" | "mutation" | "argsJson" | "syncMetadataJson";
353
353
  }, Schema.Schema<{
354
- readonly idGlobal: number;
355
- readonly idLocal: number;
356
- readonly parentIdGlobal: number;
357
- readonly parentIdLocal: number;
354
+ readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
355
+ readonly idLocal: number & import("effect/Brand").Brand<"LocalEventId">;
356
+ readonly parentIdGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
357
+ readonly parentIdLocal: number & import("effect/Brand").Brand<"LocalEventId">;
358
358
  readonly mutation: string;
359
359
  readonly argsJson: any;
360
360
  readonly schemaHash: number;
@@ -1 +1 @@
1
- {"version":3,"file":"system-tables.d.ts","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,IAAI,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK/C,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAS3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAExE,eAAO,MAAM,2BAA2B,iCAAiC,CAAA;AAEzE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UASpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE1F;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAE3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAYrC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE5F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAAyE,CAAA;AAIlG,eAAO,MAAM,UAAU,6DAA4D,CAAA;AACnF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,uBAAuB,iBAAiB,CAAA;AAErD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAahC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElF,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAE1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;UAM3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"system-tables.d.ts","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,IAAI,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK/C,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAS3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAExE,eAAO,MAAM,2BAA2B,iCAAiC,CAAA;AAEzE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UASpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE1F;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAE3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAarC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE5F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAAyE,CAAA;AAIlG,eAAO,MAAM,UAAU,6DAA4D,CAAA;AACnF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,uBAAuB,iBAAiB,CAAA;AAErD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAmBhC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElF,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAE1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;UAM3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { SqliteDsl } from '@livestore/db-schema';
2
2
  import { Schema } from '@livestore/utils/effect';
3
+ import * as EventId from './EventId.js';
3
4
  import { table } from './table-def.js';
4
5
  /// App DB
5
6
  export const SCHEMA_META_TABLE = '__livestore_schema';
@@ -23,27 +24,34 @@ export const schemaMutationsMetaTable = table(SCHEMA_MUTATIONS_META_TABLE, {
23
24
  export const SESSION_CHANGESET_META_TABLE = '__livestore_session_changeset';
24
25
  export const sessionChangesetMetaTable = table(SESSION_CHANGESET_META_TABLE, {
25
26
  // TODO bring back primary key
26
- idGlobal: SqliteDsl.integer({}),
27
- idLocal: SqliteDsl.integer({}),
28
- // idGlobal: SqliteDsl.integer({ primaryKey: true }),
29
- // idLocal: SqliteDsl.integer({ primaryKey: true }),
30
- changeset: SqliteDsl.blob({}),
27
+ idGlobal: SqliteDsl.integer({ schema: EventId.GlobalEventId }),
28
+ idLocal: SqliteDsl.integer({ schema: EventId.LocalEventId }),
29
+ changeset: SqliteDsl.blob({ nullable: true }),
31
30
  debug: SqliteDsl.json({ nullable: true }),
32
- }, { disableAutomaticIdColumn: true });
31
+ }, {
32
+ disableAutomaticIdColumn: true,
33
+ indexes: [{ columns: ['idGlobal', 'idLocal'], name: 'idx_session_changeset_id' }],
34
+ });
33
35
  export const systemTables = [schemaMetaTable, schemaMutationsMetaTable, sessionChangesetMetaTable];
34
36
  /// Mutation log DB
35
37
  export const SyncStatus = Schema.Literal('synced', 'pending', 'error', 'localOnly');
36
38
  export const MUTATION_LOG_META_TABLE = 'mutation_log';
37
39
  export const mutationLogMetaTable = table(MUTATION_LOG_META_TABLE, {
38
- idGlobal: SqliteDsl.integer({ primaryKey: true }),
39
- idLocal: SqliteDsl.integer({ primaryKey: true }),
40
- parentIdGlobal: SqliteDsl.integer({}),
41
- parentIdLocal: SqliteDsl.integer({}),
40
+ idGlobal: SqliteDsl.integer({ primaryKey: true, schema: EventId.GlobalEventId }),
41
+ idLocal: SqliteDsl.integer({ primaryKey: true, schema: EventId.LocalEventId }),
42
+ parentIdGlobal: SqliteDsl.integer({ schema: EventId.GlobalEventId }),
43
+ parentIdLocal: SqliteDsl.integer({ schema: EventId.LocalEventId }),
42
44
  mutation: SqliteDsl.text({}),
43
45
  argsJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Any) }),
44
46
  schemaHash: SqliteDsl.integer({}),
45
47
  syncMetadataJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Option(Schema.JsonValue)) }),
46
- }, { disableAutomaticIdColumn: true, indexes: [] });
48
+ }, {
49
+ disableAutomaticIdColumn: true,
50
+ indexes: [
51
+ { columns: ['idGlobal'], name: 'idx_idGlobal' },
52
+ { columns: ['idGlobal', 'idLocal'], name: 'idx_mutationlog_id' },
53
+ ],
54
+ });
47
55
  export const SYNC_STATUS_TABLE = '__livestore_sync_status';
48
56
  export const syncStatusTable = table(SYNC_STATUS_TABLE, {
49
57
  head: SqliteDsl.integer({ primaryKey: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"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"}
@@ -67,11 +67,11 @@ export const migrateTable = ({ db, tableAst, schemaHash = SqliteAst.hash(tableAs
67
67
  const columnSpec = makeColumnSpec(tableAst);
68
68
  if (behaviour === 'drop-and-recreate') {
69
69
  // TODO need to possibly handle cascading deletes due to foreign keys
70
- dbExecute(db, sql `drop table if exists ${tableName}`);
71
- dbExecute(db, sql `create table if not exists ${tableName} (${columnSpec}) strict`);
70
+ dbExecute(db, sql `drop table if exists '${tableName}'`);
71
+ dbExecute(db, sql `create table if not exists '${tableName}' (${columnSpec}) strict`);
72
72
  }
73
73
  else if (behaviour === 'create-if-not-exists') {
74
- dbExecute(db, sql `create table if not exists ${tableName} (${columnSpec}) strict`);
74
+ dbExecute(db, sql `create table if not exists '${tableName}' (${columnSpec}) strict`);
75
75
  }
76
76
  for (const index of tableAst.indexes) {
77
77
  dbExecute(db, createIndexFromDefinition(tableName, index));
@@ -91,10 +91,10 @@ export const migrateTable = ({ db, tableAst, schemaHash = SqliteAst.hash(tableAs
91
91
  }));
92
92
  const createIndexFromDefinition = (tableName, index) => {
93
93
  const uniqueStr = index.unique ? 'UNIQUE' : '';
94
- return sql `create ${uniqueStr} index if not exists ${index.name} on ${tableName} (${index.columns.join(', ')})`;
94
+ return sql `create ${uniqueStr} index if not exists '${index.name}' on '${tableName}' (${index.columns.join(', ')})`;
95
95
  };
96
96
  export const makeColumnSpec = (tableAst) => {
97
- const primaryKeys = tableAst.columns.filter((_) => _.primaryKey).map((_) => _.name);
97
+ const primaryKeys = tableAst.columns.filter((_) => _.primaryKey).map((_) => `'${_.name}'`);
98
98
  const columnDefStrs = tableAst.columns.map(toSqliteColumnSpec);
99
99
  if (primaryKeys.length > 0) {
100
100
  columnDefStrs.push(`PRIMARY KEY (${primaryKeys.join(', ')})`);
@@ -116,6 +116,6 @@ const toSqliteColumnSpec = (column) => {
116
116
  return `default '${encodedDefaultValue}'`;
117
117
  return `default ${encodedDefaultValue}`;
118
118
  })();
119
- return `${column.name} ${columnTypeStr} ${nullableStr} ${defaultValueStr}`;
119
+ return `'${column.name}' ${columnTypeStr} ${nullableStr} ${defaultValueStr}`;
120
120
  };
121
121
  //# sourceMappingURL=migrations.js.map