@evolu/common 3.1.4 → 3.1.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.
package/dist/src/Db.d.ts CHANGED
@@ -13,8 +13,8 @@ import { Id } from "./Model.js";
13
13
  import { Owner } from "./Owner.js";
14
14
  import { Sqlite, SqliteQuery, Value } from "./Sqlite.js";
15
15
  import { Store } from "./Store.js";
16
- export type DatabaseSchema = ReadonlyRecord.ReadonlyRecord<TableSchema>;
17
- type TableSchema = ReadonlyRecord.ReadonlyRecord<Value> & {
16
+ export type DatabaseSchema = ReadonlyRecord.ReadonlyRecord<string, TableSchema>;
17
+ type TableSchema = ReadonlyRecord.ReadonlyRecord<string, Value> & {
18
18
  readonly id: Id;
19
19
  };
20
20
  /**
@@ -86,7 +86,9 @@ export type Query<R extends Row = Row> = string & Brand.Brand<"Query"> & {
86
86
  export type Queries<R extends Row = Row> = ReadonlyArray<Query<R>>;
87
87
  export declare const serializeQuery: <R extends Row>({ sql, parameters, }: SqliteQuery) => Query<R>;
88
88
  export declare const deserializeQuery: <R extends Row>(query: Query<R>) => SqliteQuery;
89
- export type Row = ReadonlyRecord.ReadonlyRecord<Value | Row | ReadonlyArray<Row>>;
89
+ export type Row = {
90
+ [key: string]: Value | Row | ReadonlyArray<Row>;
91
+ };
90
92
  /**
91
93
  * Extract {@link Row} from {@link Query} instance.
92
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAG3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,EAAE,EAA6B,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAa,MAAM,YAAY,CAAC;AAO9C,OAAO,EAEL,MAAM,EACN,WAAW,EACX,KAAK,EAEN,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAa,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAExE,KAAK,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IACxD,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK;;;;;;;;2ZAiByC,CAAC;AAE5D,QAAA,MAAM,eAAe;;;;;;;;SAInB,CAAC;AAEH,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjD,KAAK,mBAAmB,CAAC,MAAM,SAAS,WAAW,IACjD,MAAM,MAAM,SAAS,MAAM,CAAC,GACxB,CAAC,SAAS,MAAM,MAAM,GACpB,MAAM,CAAC,CAAC,CAAC,SAAS,WAAW,GAC3B,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAE9B,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAC3C,CAAC,SAAS,KAAK,GACb,IAAI,GACJ,KAAK,GACP,KAAK,GACT,KAAK,GACP,KAAK,CAAC;AAEZ,KAAK,mBAAmB,CAAC,MAAM,SAAS,WAAW,IACjD,MAAM,MAAM,SAAS,MAAM,CAAC,GACxB,CAAC,SAAS,MAAM,MAAM,GACpB,CAAC,SAAS,WAAW,GAAG,WAAW,GAAG,WAAW,GAC/C,KAAK,GACL,IAAI,GACN,KAAK,GACP,KAAK,CAAC;AAEZ,KAAK,mBAAmB,CAAC,MAAM,SAAS,WAAW,IAAI,IAAI,SAAS,MAAM,MAAM,GAC5E,IAAI,GACJ,KAAK,CAAC;AAEV;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,+KAAW,CAAC;AAGjC,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,MAAM,GAC7C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAExD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAcnE,eAAO,MAAM,cAAc,wCAGxB,WAAW,aAYb,CAAC;AAEF,eAAO,MAAM,gBAAgB,sCAE1B,WAYF,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,cAAc,CAAC,cAAc,CAC3C,KAAK,GACL,GAAG,GACH,aAAa,CAAC,GAAG,CAAC,CACrB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAI/E,eAAO,MAAM,SAAS,mCACU,CAAC;AAEjC,8CAA8C;AAC9C,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG;IAC9C,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,OAAO,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK;CACrE,CAAC;AAEF,MAAM,MAAM,+BAA+B,CAAC,CAAC,SAAS,OAAO,IAAI;KAC9D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC9E,CAAC;AAIF,eAAO,MAAM,mBAAmB,uDAS/B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAE1C,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzC;AAgBD,eAAO,MAAM,cAAc,WAAY,EAAE,MAAM,CAAC,GAAG,CAAC,WAUjD,CAAC;AAEJ,eAAO,MAAM,WAAW,8EAUrB,CAAC;AAEJ,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;CAC3C;AAED,eAAO,MAAM,8BAA8B;;;;SAMzC,CAAC;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CACtD,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,oCAAoC,8FAShD,CAAC;AAEF,eAAO,MAAM,QAAQ,cACR,QAAQ,KAClB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CA4BlD,CAAC;AA6DL,eAAO,MAAM,YAAY,sBAEtB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAUjC,CAAC;AAEJ,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAC9C,eAAO,MAAM,SAAS,mCAAuD,CAAC;AAE9E,KAAK,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAE7D,eAAO,MAAM,aAAa,sCAGzB,CAAC"}
1
+ {"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ interface DbWorkerOutputOnSyncState {
71
71
  export interface Mutation {
72
72
  readonly table: string;
73
73
  readonly id: Id;
74
- readonly values: ReadonlyRecord.ReadonlyRecord<Value | Date | boolean | undefined>;
74
+ readonly values: ReadonlyRecord.ReadonlyRecord<string, Value | Date | boolean | undefined>;
75
75
  readonly isInsert: boolean;
76
76
  readonly now: SqliteDate;
77
77
  readonly onCompleteId: OnCompleteId | null;
@@ -1 +1 @@
1
- {"version":3,"file":"DbWorker.d.ts","sourceRoot":"","sources":["../../src/DbWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DbWorker.d.ts","sourceRoot":"","sources":["../../src/DbWorker.ts"],"names":[],"mappings":"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"}
@@ -329,6 +329,16 @@ type Castable<T> = {
329
329
  };
330
330
  /** EvoluCommonLive has only platform independent side-effects. */
331
331
  export declare const EvoluCommonLive: Layer.Layer<Evolu<DatabaseSchema>, never, Config | FlushSync | AppState | DbWorker>;
332
+ /**
333
+ * The recipe for creating Evolu for a platform and UI library:
334
+ *
335
+ * 1. Export everything from "@evolu/common/public"
336
+ * 2. Export platform-specific parseMnemonic. If the platform supports lazy import,
337
+ * use it because dictionaries have a few hundred KBs.
338
+ * 3. Export `createEvolu` for a platform. The TS docs must be copy-pasted, and
339
+ * remember to update the import.
340
+ * 4. Export UI library API code.
341
+ */
332
342
  export declare const makeCreateEvolu: (EvoluLive: Layer.Layer<Evolu, never, Config>) => <From, To extends DatabaseSchema>(schema: S.Schema<To, From, never>, config?: Partial<Config>) => Evolu<To>;
333
343
  export {};
334
344
  //# sourceMappingURL=Evolu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Evolu.d.ts","sourceRoot":"","sources":["../../src/Evolu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Evolu.d.ts","sourceRoot":"","sources":["../../src/Evolu.ts"],"names":[],"mappings":"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"}
package/dist/src/Evolu.js CHANGED
@@ -254,6 +254,16 @@ const EvoluCommon = Layer.effect(Evolu, Effect.gen(function* (_) {
254
254
  })).pipe(Layer.provide(Layer.mergeAll(LoadQueryLive, OnQueryLive, MutateLive)), Layer.provide(LoadingPromiseLive), Layer.provide(SubscribedQueriesLive), Layer.provide(Layer.merge(RowsStoreLive, OnCompletesLive)));
255
255
  /** EvoluCommonLive has only platform independent side-effects. */
256
256
  export const EvoluCommonLive = EvoluCommon.pipe(Layer.provide(Layer.merge(TimeLive, NanoIdLive)));
257
+ /**
258
+ * The recipe for creating Evolu for a platform and UI library:
259
+ *
260
+ * 1. Export everything from "@evolu/common/public"
261
+ * 2. Export platform-specific parseMnemonic. If the platform supports lazy import,
262
+ * use it because dictionaries have a few hundred KBs.
263
+ * 3. Export `createEvolu` for a platform. The TS docs must be copy-pasted, and
264
+ * remember to update the import.
265
+ * 4. Export UI library API code.
266
+ */
257
267
  export const makeCreateEvolu = (EvoluLive) => (schema, config) => {
258
268
  // For https://nextjs.org/docs/architecture/fast-refresh etc.
259
269
  const evolu = GlobalValue.globalValue("@evolu/common", () => Evolu.pipe(Effect.provide(EvoluLive), Effect.provide(ConfigLive(config)), Effect.runSync));
@@ -3,8 +3,16 @@ import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  export type PlatformName = "server" | "web-with-opfs" | "web-without-opfs" | "react-native";
5
5
  export declare const PlatformName: Context.Tag<PlatformName, PlatformName>;
6
+ /**
7
+ * FlushSync lets you force React to flush any updates inside the provided
8
+ * callback synchronously. This ensures that the DOM is updated immediately.
9
+ *
10
+ * It's required only for React DOM. The other UI libraries probably don't need
11
+ * that, so it should be a no-op.
12
+ */
6
13
  export type FlushSync = (callback: () => void) => void;
7
14
  export declare const FlushSync: Context.Tag<FlushSync, FlushSync>;
15
+ export declare const FlushSyncDefaultLive: Layer.Layer<FlushSync, never, never>;
8
16
  export interface SyncLock {
9
17
  /**
10
18
  * Try to acquire a sync lock. The caller must not call sync if a sync lock
@@ -1 +1 @@
1
- {"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,eAAe,GACf,kBAAkB,GAClB,cAAc,CAAC;AAEnB,eAAO,MAAM,YAAY,yCAExB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AAEvD,eAAO,MAAM,SAAS,mCAAuD,CAAC;AAE9E,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,QAAQ,iCAAqD,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG,CAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,KACb,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEzC,eAAO,MAAM,KAAK,2BAA+C,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAED,eAAO,MAAM,SAAS,kCAgBrB,CAAC;AAEF,UAAU,cAAc;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,QAAQ,iCAAqD,CAAC;AAE3E,yCAAyC;AACzC,eAAO,MAAM,SAAS,SAYlB,CAAC"}
1
+ {"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,eAAe,GACf,kBAAkB,GAClB,cAAc,CAAC;AAEnB,eAAO,MAAM,YAAY,yCAExB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AAEvD,eAAO,MAAM,SAAS,mCAAuD,CAAC;AAE9E,eAAO,MAAM,oBAAoB,sCAEhC,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,QAAQ,iCAAqD,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG,CAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,KACb,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEzC,eAAO,MAAM,KAAK,2BAA+C,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAED,eAAO,MAAM,SAAS,kCAgBrB,CAAC;AAEF,UAAU,cAAc;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,QAAQ,iCAAqD,CAAC;AAE3E,yCAAyC;AACzC,eAAO,MAAM,SAAS,SAYlB,CAAC"}
@@ -3,6 +3,7 @@ import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  export const PlatformName = Context.GenericTag("@services/PlatformName");
5
5
  export const FlushSync = Context.GenericTag("@services/FlushSync");
6
+ export const FlushSyncDefaultLive = Layer.succeed(FlushSync, (callback) => callback());
6
7
  export const SyncLock = Context.GenericTag("@services/SyncLock");
7
8
  export const Fetch = Context.GenericTag("@services/Fetch");
8
9
  export const FetchLive = Layer.succeed(Fetch, Fetch.of((url, body) => Effect.tryPromise({
@@ -1,7 +1,6 @@
1
1
  import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Predicate from "effect/Predicate";
4
- import * as ReadonlyRecord from "effect/ReadonlyRecord";
5
4
  export interface Sqlite {
6
5
  readonly exec: (arg: string | SqliteQuery) => Effect.Effect<ExecResult>;
7
6
  }
@@ -13,9 +12,12 @@ export interface SqliteQuery {
13
12
  export type Value = SqliteValue | JsonObjectOrArray;
14
13
  export type SqliteValue = null | string | number | Uint8Array;
15
14
  export type JsonObjectOrArray = JsonObject | JsonArray;
16
- type JsonObject = ReadonlyRecord.ReadonlyRecord<Json>;
15
+ type JsonObject = {
16
+ [key: string]: Json;
17
+ };
17
18
  type JsonArray = ReadonlyArray<Json>;
18
- type Json = string | number | boolean | null | JsonObject | JsonArray;
19
+ type JsonPrimitive = string | number | boolean | null;
20
+ type Json = JsonPrimitive | JsonObject | JsonArray;
19
21
  interface ExecResult {
20
22
  readonly rows: SqliteRow[];
21
23
  readonly changes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Sqlite.d.ts","sourceRoot":"","sources":["../../src/Sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CACzE;AAED,eAAO,MAAM,MAAM,6BAAiD,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,iBAAiB,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAC;AACvD,KAAK,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACtD,KAAK,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,CAAC;AAEtE,UAAU,UAAU;IAClB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,UAAU,CACpD,KAAK,EACL,iBAAiB,CAE4D,CAAC;AAEhF,eAAO,MAAM,oBAAoB,WACvB,cAAc,KAAK,CAAC,KAC3B,WAAW,EAGX,CAAC;AAEJ,eAAO,MAAM,iBAAiB,QAAS,MAAM,GAAG,WAAW,KAAG,WAG7D,CAAC;AAEF,eAAO,MAAM,cAAc,SAAU,SAAS,EAAE,KAAG,SAAS,EAC1C,CAAC;AA0BnB,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CACpB,CAAC"}
1
+ {"version":3,"file":"Sqlite.d.ts","sourceRoot":"","sources":["../../src/Sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CACzE;AAED,eAAO,MAAM,MAAM,6BAAiD,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,iBAAiB,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAC;AACvD,KAAK,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAC1C,KAAK,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AACtD,KAAK,IAAI,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAEnD,UAAU,UAAU;IAClB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,UAAU,CACpD,KAAK,EACL,iBAAiB,CAE4D,CAAC;AAEhF,eAAO,MAAM,oBAAoB,WACvB,cAAc,KAAK,CAAC,KAC3B,WAAW,EAGX,CAAC;AAEJ,eAAO,MAAM,iBAAiB,QAAS,MAAM,GAAG,WAAW,KAAG,WAG7D,CAAC;AAEF,eAAO,MAAM,cAAc,SAAU,SAAS,EAAE,KAAG,SAAS,EAC1C,CAAC;AA0BnB,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evolu/common",
3
- "version": "3.1.4",
3
+ "version": "3.1.6",
4
4
  "description": "Local-first platform designed for privacy, ease of use, and no vendor lock-in to sync and backup people's lifetime data",
5
5
  "keywords": [
6
6
  "evolu",
@@ -49,23 +49,23 @@
49
49
  "@protobuf-ts/runtime": "^2.9.3",
50
50
  "@scure/bip39": "^1.2.2",
51
51
  "kysely": "^0.27.0",
52
- "nanoid": "^5.0.5"
52
+ "nanoid": "^5.0.6"
53
53
  },
54
54
  "devDependencies": {
55
- "@effect/schema": "^0.62.7",
55
+ "@effect/schema": "^0.63.0",
56
56
  "@protobuf-ts/plugin": "^2.9.3",
57
57
  "@protobuf-ts/protoc": "^2.9.3",
58
58
  "array-shuffle": "^3.0.0",
59
- "effect": "2.3.6",
60
- "eslint": "^8.56.0",
59
+ "effect": "2.4.0",
60
+ "eslint": "^8.57.0",
61
61
  "typescript": "^5.3.3",
62
- "vitest": "^1.2.2",
62
+ "vitest": "^1.3.1",
63
63
  "@evolu/tsconfig": "0.0.2",
64
64
  "eslint-config-evolu": "1.0.0"
65
65
  },
66
66
  "peerDependencies": {
67
- "@effect/schema": "^0.62.7",
68
- "effect": "2.3.6"
67
+ "@effect/schema": "^0.63.0",
68
+ "effect": "2.4.0"
69
69
  },
70
70
  "publishConfig": {
71
71
  "access": "public"
package/src/Crdt.ts CHANGED
@@ -174,7 +174,7 @@ const getNextMillis = (
174
174
 
175
175
  const incrementCounter = (
176
176
  counter: Counter,
177
- ): Either.Either<TimestampCounterOverflowError, Counter> =>
177
+ ): Either.Either<Counter, TimestampCounterOverflowError> =>
178
178
  pipe(
179
179
  Number.increment(counter),
180
180
  S.decodeEither(Counter),
package/src/Db.ts CHANGED
@@ -40,9 +40,9 @@ import {
40
40
  } from "./Sqlite.js";
41
41
  import { Store, makeStore } from "./Store.js";
42
42
 
43
- export type DatabaseSchema = ReadonlyRecord.ReadonlyRecord<TableSchema>;
43
+ export type DatabaseSchema = ReadonlyRecord.ReadonlyRecord<string, TableSchema>;
44
44
 
45
- type TableSchema = ReadonlyRecord.ReadonlyRecord<Value> & {
45
+ type TableSchema = ReadonlyRecord.ReadonlyRecord<string, Value> & {
46
46
  readonly id: Id;
47
47
  };
48
48
 
@@ -194,11 +194,12 @@ export const deserializeQuery = <R extends Row>(
194
194
  };
195
195
  };
196
196
 
197
- export type Row = ReadonlyRecord.ReadonlyRecord<
198
- | Value
199
- | Row // for jsonObjectFrom from kysely/helpers/sqlite
200
- | ReadonlyArray<Row> // for jsonArrayFrom from kysely/helpers/sqlite
201
- >;
197
+ export type Row = {
198
+ [key: string]:
199
+ | Value
200
+ | Row // for jsonObjectFrom from kysely/helpers/sqlite
201
+ | ReadonlyArray<Row>; // for jsonArrayFrom from kysely/helpers/sqlite
202
+ };
202
203
 
203
204
  /**
204
205
  * Extract {@link Row} from {@link Query} instance.
package/src/DbWorker.ts CHANGED
@@ -153,6 +153,7 @@ export interface Mutation {
153
153
  readonly table: string;
154
154
  readonly id: Id;
155
155
  readonly values: ReadonlyRecord.ReadonlyRecord<
156
+ string,
156
157
  Value | Date | boolean | undefined
157
158
  >;
158
159
  readonly isInsert: boolean;
package/src/Evolu.ts CHANGED
@@ -785,6 +785,17 @@ export const EvoluCommonLive = EvoluCommon.pipe(
785
785
  Layer.provide(Layer.merge(TimeLive, NanoIdLive)),
786
786
  );
787
787
 
788
+ /**
789
+ * The recipe for creating Evolu for a platform and UI library:
790
+ *
791
+ * 1. Export everything from "@evolu/common/public"
792
+ * 2. Export platform-specific parseMnemonic. If the platform supports lazy import,
793
+ * use it because dictionaries have a few hundred KBs.
794
+ * 3. Export `createEvolu` for a platform. The TS docs must be copy-pasted, and
795
+ * remember to update the import.
796
+ * 4. Export UI library API code.
797
+ */
798
+
788
799
  export const makeCreateEvolu =
789
800
  (EvoluLive: Layer.Layer<Evolu, never, Config>) =>
790
801
  <From, To extends DatabaseSchema>(
package/src/Platform.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
+ import * as Function from "effect/Function";
3
4
  import * as Layer from "effect/Layer";
4
5
 
5
6
  export type PlatformName =
@@ -12,10 +13,21 @@ export const PlatformName = Context.GenericTag<PlatformName>(
12
13
  "@services/PlatformName",
13
14
  );
14
15
 
16
+ /**
17
+ * FlushSync lets you force React to flush any updates inside the provided
18
+ * callback synchronously. This ensures that the DOM is updated immediately.
19
+ *
20
+ * It's required only for React DOM. The other UI libraries probably don't need
21
+ * that, so it should be a no-op.
22
+ */
15
23
  export type FlushSync = (callback: () => void) => void;
16
24
 
17
25
  export const FlushSync = Context.GenericTag<FlushSync>("@services/FlushSync");
18
26
 
27
+ export const FlushSyncDefaultLive = Layer.succeed(FlushSync, (callback) =>
28
+ callback(),
29
+ );
30
+
19
31
  export interface SyncLock {
20
32
  /**
21
33
  * Try to acquire a sync lock. The caller must not call sync if a sync lock
package/src/Sqlite.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Predicate from "effect/Predicate";
4
- import * as ReadonlyRecord from "effect/ReadonlyRecord";
5
4
 
6
5
  export interface Sqlite {
7
6
  readonly exec: (arg: string | SqliteQuery) => Effect.Effect<ExecResult>;
@@ -17,9 +16,10 @@ export interface SqliteQuery {
17
16
  export type Value = SqliteValue | JsonObjectOrArray;
18
17
  export type SqliteValue = null | string | number | Uint8Array;
19
18
  export type JsonObjectOrArray = JsonObject | JsonArray;
20
- type JsonObject = ReadonlyRecord.ReadonlyRecord<Json>;
19
+ type JsonObject = { [key: string]: Json };
21
20
  type JsonArray = ReadonlyArray<Json>;
22
- type Json = string | number | boolean | null | JsonObject | JsonArray;
21
+ type JsonPrimitive = string | number | boolean | null;
22
+ type Json = JsonPrimitive | JsonObject | JsonArray;
23
23
 
24
24
  interface ExecResult {
25
25
  readonly rows: SqliteRow[];