@livestore/common 0.0.54-dev.4 → 0.0.54

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 (90) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/__tests__/fixture.d.ts +0 -2
  3. package/dist/__tests__/fixture.d.ts.map +1 -1
  4. package/dist/adapter-types.d.ts +75 -16
  5. package/dist/adapter-types.d.ts.map +1 -1
  6. package/dist/adapter-types.js +18 -0
  7. package/dist/adapter-types.js.map +1 -1
  8. package/dist/bounded-collections.d.ts +1 -1
  9. package/dist/bounded-collections.d.ts.map +1 -1
  10. package/dist/bounded-collections.js.map +1 -1
  11. package/dist/debug-info.d.ts +4 -0
  12. package/dist/debug-info.d.ts.map +1 -1
  13. package/dist/debug-info.js +6 -9
  14. package/dist/debug-info.js.map +1 -1
  15. package/dist/derived-mutations.d.ts +4 -5
  16. package/dist/derived-mutations.d.ts.map +1 -1
  17. package/dist/devtools/devtools-messages.d.ts +244 -42
  18. package/dist/devtools/devtools-messages.d.ts.map +1 -1
  19. package/dist/devtools/devtools-messages.js +110 -48
  20. package/dist/devtools/devtools-messages.js.map +1 -1
  21. package/dist/devtools/devtools-window-message.d.ts +29 -0
  22. package/dist/devtools/devtools-window-message.d.ts.map +1 -0
  23. package/dist/devtools/devtools-window-message.js +33 -0
  24. package/dist/devtools/devtools-window-message.js.map +1 -0
  25. package/dist/devtools/index.d.ts +1 -0
  26. package/dist/devtools/index.d.ts.map +1 -1
  27. package/dist/devtools/index.js +1 -0
  28. package/dist/devtools/index.js.map +1 -1
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/mutation.d.ts.map +1 -1
  34. package/dist/rehydrate-from-mutationlog.d.ts +8 -3
  35. package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
  36. package/dist/rehydrate-from-mutationlog.js +71 -56
  37. package/dist/rehydrate-from-mutationlog.js.map +1 -1
  38. package/dist/schema/index.d.ts.map +1 -1
  39. package/dist/schema/mutations.d.ts +2 -1
  40. package/dist/schema/mutations.d.ts.map +1 -1
  41. package/dist/schema/mutations.js +4 -2
  42. package/dist/schema/mutations.js.map +1 -1
  43. package/dist/schema/parse-utils.d.ts +3 -14
  44. package/dist/schema/parse-utils.d.ts.map +1 -1
  45. package/dist/schema/schema-helpers.d.ts +3 -13
  46. package/dist/schema/schema-helpers.d.ts.map +1 -1
  47. package/dist/schema/system-tables.d.ts +0 -5
  48. package/dist/schema/system-tables.d.ts.map +1 -1
  49. package/dist/schema/table-def.d.ts +3 -21
  50. package/dist/schema/table-def.d.ts.map +1 -1
  51. package/dist/schema/table-def.js +0 -1
  52. package/dist/schema/table-def.js.map +1 -1
  53. package/dist/schema-management/common.d.ts.map +1 -1
  54. package/dist/schema-management/migrations.d.ts +10 -5
  55. package/dist/schema-management/migrations.d.ts.map +1 -1
  56. package/dist/schema-management/migrations.js +24 -13
  57. package/dist/schema-management/migrations.js.map +1 -1
  58. package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
  59. package/dist/sql-queries/misc.d.ts.map +1 -1
  60. package/dist/sql-queries/sql-queries.d.ts.map +1 -1
  61. package/dist/sql-queries/sql-query-builder.d.ts +33 -33
  62. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  63. package/dist/sql-queries/types.d.ts.map +1 -1
  64. package/dist/sync/sync.d.ts +3 -3
  65. package/dist/util.d.ts +0 -1
  66. package/dist/util.d.ts.map +1 -1
  67. package/dist/util.js +1 -1
  68. package/dist/util.js.map +1 -1
  69. package/dist/version.d.ts +2 -0
  70. package/dist/version.d.ts.map +1 -0
  71. package/dist/version.js +3 -0
  72. package/dist/version.js.map +1 -0
  73. package/package.json +4 -8
  74. package/src/adapter-types.ts +53 -15
  75. package/src/bounded-collections.ts +1 -1
  76. package/src/debug-info.ts +6 -18
  77. package/src/devtools/devtools-messages.ts +146 -65
  78. package/src/devtools/devtools-window-message.ts +27 -0
  79. package/src/devtools/index.ts +1 -0
  80. package/src/index.ts +1 -0
  81. package/src/rehydrate-from-mutationlog.ts +99 -64
  82. package/src/schema/mutations.ts +8 -5
  83. package/src/schema/table-def.ts +0 -4
  84. package/src/schema-management/migrations.ts +104 -84
  85. package/src/util.ts +1 -1
  86. package/src/version.ts +3 -0
  87. package/dist/devtools/index copy.d.ts +0 -214
  88. package/dist/devtools/index copy.d.ts.map +0 -1
  89. package/dist/devtools/index copy.js +0 -137
  90. package/dist/devtools/index copy.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sql-query-builder.d.ts","sourceRoot":"","sources":["../../src/sql-queries/sql-query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,KAAK,WAAW,MAAM,YAAY,CAAA;AAE9C,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAEhF,eAAO,MAAM,mBAAmB,+CAAgD,OAAO;4FAKlF;QACD,SAAS,EAAE,UAAU,CAAA;QACrB,KAAK,EAAE,YAAY,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC3D,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,KAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;uBAyBX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FjC,CAAA"}
1
+ {"version":3,"file":"sql-query-builder.d.ts","sourceRoot":"","sources":["../../src/sql-queries/sql-query-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sql-queries/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sql-queries/types.ts"],"names":[],"mappings":"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"}
@@ -10,19 +10,19 @@ export type SyncImpl = {
10
10
  isConnected: SubscriptionRef.SubscriptionRef<boolean>;
11
11
  };
12
12
  declare const IsOfflineError_base: Schema.TaggedErrorClass<IsOfflineError, "IsOfflineError", {
13
- readonly _tag: Schema.PropertySignature<":", "IsOfflineError", never, ":", "IsOfflineError", true, never>;
13
+ readonly _tag: Schema.tag<"IsOfflineError">;
14
14
  }>;
15
15
  export declare class IsOfflineError extends IsOfflineError_base {
16
16
  }
17
17
  declare const InvalidPushError_base: Schema.TaggedErrorClass<InvalidPushError, "InvalidPushError", {
18
- readonly _tag: Schema.PropertySignature<":", "InvalidPushError", never, ":", "InvalidPushError", true, never>;
18
+ readonly _tag: Schema.tag<"InvalidPushError">;
19
19
  } & {
20
20
  message: typeof Schema.String;
21
21
  }>;
22
22
  export declare class InvalidPushError extends InvalidPushError_base {
23
23
  }
24
24
  declare const InvalidPullError_base: Schema.TaggedErrorClass<InvalidPullError, "InvalidPullError", {
25
- readonly _tag: Schema.PropertySignature<":", "InvalidPullError", never, ":", "InvalidPullError", true, never>;
25
+ readonly _tag: Schema.tag<"InvalidPullError">;
26
26
  } & {
27
27
  message: typeof Schema.String;
28
28
  }>;
package/dist/util.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference lib="es2022" />
2
1
  import type { Brand } from '@livestore/utils/effect';
3
2
  import { Schema } from '@livestore/utils/effect';
4
3
  export type ParamsObject = Record<string, SqlValue>;
@@ -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,qIAA6E,CAAA;AAExG,eAAO,MAAM,kBAAkB,mXAGW,CAAA;AAE1C,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,GAAG,aAAc,oBAAoB,WAAW,OAAO,EAAE,KAAG,MASxE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,WAAY,QAAQ,aAAa,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,GAAG,IAAI,CAAA;AAE1D,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;AAE7D,eAAO,MAAM,cAAc,qIAA6E,CAAA;AAExG,eAAO,MAAM,kBAAkB,mXAGW,CAAA;AAE1C,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,GAAG,aAAc,oBAAoB,WAAW,OAAO,EAAE,KAAG,MASxE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,WAAY,QAAQ,aAAa,MAAM,KAAG,kBAWvE,CAAA"}
package/dist/util.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference lib="es2022" />
2
2
  import { Schema } from '@livestore/utils/effect';
3
3
  export const SqlValueSchema = Schema.Union(Schema.String, Schema.Number, Schema.Uint8Array, Schema.Null);
4
- export const PreparedBindValues = Schema.Union(Schema.Array(SqlValueSchema), Schema.Record(Schema.String, SqlValueSchema)).pipe(Schema.brand('PreparedBindValues'));
4
+ export const PreparedBindValues = Schema.Union(Schema.Array(SqlValueSchema), Schema.Record({ key: Schema.String, value: SqlValueSchema })).pipe(Schema.brand('PreparedBindValues'));
5
5
  /**
6
6
  * This is a tag function for tagged literals.
7
7
  * it lets us get syntax highlighting on SQL queries in VSCode, but
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,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAC7C,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,6CAA6C;IAC7C,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED;;;;;GAKG;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,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,6CAA6C;IAC7C,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED;;;;;GAKG;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"}
@@ -0,0 +1,2 @@
1
+ export declare const liveStoreVersion: string;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,QAAsB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import packageJson from '../package.json' with { type: 'json' };
2
+ export const liveStoreVersion = packageJson.version;
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "@livestore/common",
3
- "version": "0.0.54-dev.4",
3
+ "version": "0.0.54",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
8
8
  "default": "./dist/index.js"
9
9
  },
10
- "./package.json": "./package.json",
11
10
  "./sql-queries": {
12
11
  "types": "./dist/sql-queries/index.d.ts",
13
12
  "default": "./dist/sql-queries/index.js"
@@ -20,9 +19,6 @@
20
19
  "types": "./dist/index.d.ts",
21
20
  "typesVersions": {
22
21
  "*": {
23
- "package.json": [
24
- "./package.json"
25
- ],
26
22
  "schema": [
27
23
  "./dist/schema/index.d.ts"
28
24
  ],
@@ -33,11 +29,11 @@
33
29
  },
34
30
  "dependencies": {
35
31
  "@opentelemetry/api": "^1.9.0",
36
- "@livestore/utils": "0.0.54-dev.4",
37
- "effect-db-schema": "0.0.54-dev.4"
32
+ "@livestore/utils": "0.0.54",
33
+ "effect-db-schema": "0.0.54"
38
34
  },
39
35
  "devDependencies": {
40
- "vitest": "^1.6.0"
36
+ "vitest": "^2.0.4"
41
37
  },
42
38
  "publishConfig": {
43
39
  "access": "public"
@@ -1,6 +1,5 @@
1
- import type { Stream, SubscriptionRef, TRef } from '@livestore/utils/effect'
1
+ import type { Cause, Effect, Queue, Scope, Stream, SubscriptionRef } from '@livestore/utils/effect'
2
2
  import { Schema } from '@livestore/utils/effect'
3
- import type * as otel from '@opentelemetry/api'
4
3
 
5
4
  import type { LiveStoreSchema, MutationEvent } from './schema/index.js'
6
5
  import type { PreparedBindValues } from './util.js'
@@ -22,7 +21,6 @@ export type InMemoryDatabase = {
22
21
  _tag: 'InMemoryDatabase'
23
22
  prepare(queryStr: string): PreparedStatement
24
23
  execute(queryStr: string, bindValues: PreparedBindValues | undefined): GetRowsChangedCount
25
- dangerouslyReset(): Promise<void>
26
24
  export(): Uint8Array
27
25
  }
28
26
 
@@ -38,27 +36,53 @@ export type NetworkStatus = {
38
36
  timestampMs: number
39
37
  }
40
38
 
39
+ export const BootStateProgress = Schema.Struct({
40
+ done: Schema.Number,
41
+ total: Schema.Number,
42
+ })
43
+
44
+ export const BootStatus = Schema.Union(
45
+ Schema.Struct({ stage: Schema.Literal('loading') }),
46
+ Schema.Struct({ stage: Schema.Literal('migrating'), progress: BootStateProgress }),
47
+ Schema.Struct({ stage: Schema.Literal('rehydrating'), progress: BootStateProgress }),
48
+ Schema.Struct({ stage: Schema.Literal('syncing'), progress: BootStateProgress }),
49
+ Schema.Struct({ stage: Schema.Literal('done') }),
50
+ )
51
+
52
+ export type BootStatus = typeof BootStatus.Type
53
+
41
54
  export type Coordinator = {
55
+ isShutdownRef: { current: boolean }
42
56
  devtools: {
57
+ enabled: boolean
43
58
  channelId: string
59
+ /**
60
+ * Returns a dedicated message port for the store which is established over the message port passed in
61
+ */
62
+ connect: (options: {
63
+ port: MessagePort
64
+ connectionId: string
65
+ }) => Effect.Effect<{ storeMessagePort: MessagePort }, UnexpectedError>
44
66
  }
45
- hasLock: TRef.TRef<boolean>
46
- syncMutations: Stream.Stream<MutationEvent.AnyEncoded>
47
- execute(queryStr: string, bindValues: PreparedBindValues | undefined, span: otel.Span | undefined): Promise<void>
48
- mutate(mutationEventEncoded: MutationEvent.Any, options: { span: otel.Span; persisted: boolean }): Promise<void>
49
- dangerouslyReset(mode: ResetMode): Promise<void>
50
- export(span: otel.Span | undefined): Promise<Uint8Array | undefined>
67
+ // TODO is exposing the lock status really needed (or only relevant for web adapter?)
68
+ lockStatus: SubscriptionRef.SubscriptionRef<LockStatus>
69
+ syncMutations: Stream.Stream<MutationEvent.AnyEncoded, UnexpectedError>
70
+ execute(queryStr: string, bindValues: PreparedBindValues | undefined): Effect.Effect<void, UnexpectedError>
71
+ mutate(mutationEventEncoded: MutationEvent.Any, options: { persisted: boolean }): Effect.Effect<void, UnexpectedError>
72
+ dangerouslyReset(mode: ResetMode): Effect.Effect<void, UnexpectedError>
73
+ export: Effect.Effect<Uint8Array | undefined, UnexpectedError>
51
74
  /**
52
75
  * This is different from `export` since in `getInitialSnapshot` is usually the place for migrations etc to happen
53
76
  */
54
- getInitialSnapshot(): Promise<Uint8Array>
55
- getMutationLogData(): Promise<Uint8Array>
56
- shutdown(): Promise<void>
77
+ getInitialSnapshot: Effect.Effect<Uint8Array, UnexpectedError>
78
+ getMutationLogData: Effect.Effect<Uint8Array, UnexpectedError>
57
79
  networkStatus: SubscriptionRef.SubscriptionRef<NetworkStatus>
58
80
  }
59
81
 
60
82
  export type GetRowsChangedCount = () => number
61
83
 
84
+ export type LockStatus = 'has-lock' | 'no-lock'
85
+
62
86
  export type BootDb = {
63
87
  _tag: 'BootDb'
64
88
  execute(queryStr: string, bindValues?: PreparedBindValues): void
@@ -67,6 +91,19 @@ export type BootDb = {
67
91
  txn(callback: () => void): void
68
92
  }
69
93
 
94
+ export class UnexpectedError extends Schema.TaggedError<UnexpectedError>()('LiveStore.UnexpectedError', {
95
+ cause: Schema.AnyError,
96
+ }) {}
97
+
98
+ export class SqliteError extends Schema.TaggedError<SqliteError>()('LiveStore.SqliteError', {
99
+ sql: Schema.String,
100
+ bindValues: Schema.Record({ key: Schema.String, value: Schema.Any }),
101
+ /** The SQLite result code */
102
+ code: Schema.Number,
103
+ /** The original SQLite3 error */
104
+ cause: Schema.AnyError,
105
+ }) {}
106
+
70
107
  // TODO possibly allow a combination of these options
71
108
  // TODO allow a way to stream the migration progress back to the app
72
109
  export type MigrationOptions<TSchema extends LiveStoreSchema = LiveStoreSchema> =
@@ -107,7 +144,8 @@ export type MigrationOptionsFromMutationLog<TSchema extends LiveStoreSchema = Li
107
144
  }
108
145
 
109
146
  export type StoreAdapterFactory = (opts: {
110
- otelTracer: otel.Tracer
111
- otelContext: otel.Context
112
147
  schema: LiveStoreSchema
113
- }) => StoreAdapter | Promise<StoreAdapter>
148
+ devtoolsEnabled: boolean
149
+ bootStatusQueue: Queue.Queue<BootStatus>
150
+ shutdown: (cause: Cause.Cause<any>) => Effect.Effect<void>
151
+ }) => Effect.Effect<StoreAdapter, UnexpectedError, Scope.Scope>
@@ -71,7 +71,7 @@ export class BoundArray<V> {
71
71
  this.sizeLimit = sizeLimit
72
72
  }
73
73
 
74
- static make = <V>(sizeLimit: number, initial: ReadonlyArray<V> = []): BoundArray<V> => {
74
+ static make = <V>(sizeLimit: number, initial: Iterable<V> = []): BoundArray<V> => {
75
75
  const b = new BoundArray<V>(sizeLimit)
76
76
  for (const v of initial) {
77
77
  b.push(v)
package/src/debug-info.ts CHANGED
@@ -21,15 +21,7 @@ export const SlowQueryInfo = Schema.Struct({
21
21
  startTimePerfNow: Schema.Number,
22
22
  })
23
23
 
24
- const BoundArraySchemaFromSelf = <ItemDecoded, ItemEncoded>(_elSchema: Schema.Schema<ItemDecoded, ItemEncoded>) =>
25
- Schema.declare((_): _ is BoundArray<ItemDecoded> => _ instanceof BoundArray, {
26
- identifier: `BoundArrayFromSelf`,
27
- pretty: () => (_) => `BoundArray(${_.length})`,
28
- arbitrary: () => (fc) => fc.anything() as any,
29
- equivalence: () => (a, b) => a === b,
30
- }) as any as Schema.Schema<BoundArray<ItemDecoded>, BoundArray<ItemEncoded>>
31
-
32
- const BoundArraySchemaFromSelf_ = <A, I, R>(
24
+ const BoundArraySchemaFromSelf = <A, I, R>(
33
25
  item: Schema.Schema<A, I, R>,
34
26
  ): Schema.Schema<BoundArray<A>, BoundArray<I>, R> =>
35
27
  Schema.declare(
@@ -52,16 +44,19 @@ const BoundArraySchemaFromSelf_ = <A, I, R>(
52
44
  },
53
45
  {
54
46
  description: `BoundArray<${Schema.format(item)}>`,
47
+ pretty: () => (_) => `BoundArray(${_.length})`,
48
+ arbitrary: () => (fc) => fc.anything() as any,
49
+ equivalence: () => (a, b) => a === b,
55
50
  },
56
51
  )
57
52
 
58
- const BoundArraySchema = <ItemDecoded, ItemEncoded>(elSchema: Schema.Schema<ItemDecoded, ItemEncoded>) =>
53
+ export const BoundArraySchema = <ItemDecoded, ItemEncoded>(elSchema: Schema.Schema<ItemDecoded, ItemEncoded>) =>
59
54
  Schema.transform(
60
55
  Schema.Struct({
61
56
  size: Schema.Number,
62
57
  items: Schema.Array(elSchema),
63
58
  }),
64
- BoundArraySchemaFromSelf(elSchema as any as Schema.Schema<ItemDecoded>),
59
+ BoundArraySchemaFromSelf(Schema.typeSchema(elSchema)),
65
60
  {
66
61
  encode: (_) => ({ size: _.sizeLimit, items: [..._] }),
67
62
  decode: (_) => BoundArray.make(_.size, _.items),
@@ -75,13 +70,6 @@ export const DebugInfo = Schema.Struct({
75
70
  events: BoundArraySchema(Schema.Tuple(Schema.String, Schema.Any)),
76
71
  })
77
72
 
78
- // export interface DebugInfo {
79
- // slowQueries: BoundArray<SlowQueryInfo>
80
- // queryFrameDuration: number
81
- // queryFrameCount: number
82
- // events: BoundArray<[queryStr: string, bindValues: Bindable | undefined]>
83
- // }
84
-
85
73
  export type DebugInfo = typeof DebugInfo.Type
86
74
 
87
75
  export const MutableDebugInfo = Schema.mutable(DebugInfo)