@evolu/common 5.2.2 → 5.3.0
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/Config.d.ts +14 -0
- package/dist/src/Config.d.ts.map +1 -1
- package/dist/src/Crdt.d.ts.map +1 -1
- package/dist/src/Crypto.d.ts.map +1 -1
- package/dist/src/Db.d.ts.map +1 -1
- package/dist/src/Diff.d.ts.map +1 -1
- package/dist/src/Evolu.d.ts +2 -1
- package/dist/src/Evolu.d.ts.map +1 -1
- package/dist/src/Evolu.js +12 -0
- package/dist/src/Model.d.ts +2 -2
- package/dist/src/Model.d.ts.map +1 -1
- package/dist/src/Owner.d.ts.map +1 -1
- package/dist/src/Platform.d.ts.map +1 -1
- package/dist/src/Socket.d.ts +8 -0
- package/dist/src/Socket.d.ts.map +1 -0
- package/dist/src/Socket.js +51 -0
- package/dist/src/Sqlite.d.ts.map +1 -1
- package/dist/src/Store.d.ts.map +1 -1
- package/dist/src/Sync.d.ts.map +1 -1
- package/dist/src/Sync.js +2 -4
- package/package.json +4 -4
- package/src/Config.ts +16 -0
- package/src/Evolu.ts +13 -0
- package/src/Socket.ts +83 -0
- package/src/Sync.ts +8 -7
package/dist/src/Config.d.ts
CHANGED
|
@@ -34,6 +34,20 @@ export interface Config {
|
|
|
34
34
|
* events with values. For production, use `warning`.
|
|
35
35
|
*/
|
|
36
36
|
minimumLogLevel: "none" | "trace" | "debug" | "warning";
|
|
37
|
+
/**
|
|
38
|
+
* Enables websocket connection
|
|
39
|
+
*
|
|
40
|
+
* If set to true runs a websocket connection on the sync url
|
|
41
|
+
*/
|
|
42
|
+
enableWebsocketConnection?: true;
|
|
43
|
+
/**
|
|
44
|
+
* Allows to reuse websocket connections for multiple database setup
|
|
45
|
+
*
|
|
46
|
+
* Works INSTEAD of enableWebsocket and if set overrides enableWebsocket this
|
|
47
|
+
* attaches the database to a connection produced by a call back from another
|
|
48
|
+
* database that has enableWebsocketConnection
|
|
49
|
+
*/
|
|
50
|
+
externalWebsocketConnection?: WebSocket;
|
|
37
51
|
}
|
|
38
52
|
export declare const Config: Context.Tag<Config, Config>;
|
|
39
53
|
export declare const defaultConfig: Config;
|
package/dist/src/Config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAGxD,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAGxD,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAExD;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,IAAI,CAAC;IAEjC;;;;;;OAMG;IACH,2BAA2B,CAAC,EAAE,SAAS,CAAC;CACzC;AAED,eAAO,MAAM,MAAM,6BAAuC,CAAC;AAE3D,eAAO,MAAM,aAAa,EAAE,MAM3B,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,aAAa,mBACR,OAAO,CAAC,MAAM,CAAC,KAC9B,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAsB7C,CAAC"}
|
package/dist/src/Crdt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Crdt.d.ts","sourceRoot":"","sources":["../../src/Crdt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAE3C,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;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQtD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,8DAIlB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC;AAExC,eAAO,MAAM,aAAa,gCAEzB,CAAC;AAEF,eAAO,MAAM,OAAO,+DAAyD,CAAC;AAC9E,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAI1C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAEtE,eAAO,MAAM,iBAAiB,MAAO,SAAS,KAAG,eAKjB,CAAC;AAEjC,eAAO,MAAM,yBAAyB,MAAO,eAAe,KAAG,SAO9D,CAAC;AAEF,eAAO,MAAM,eAAe,MAAO,SAAS,KAAG,aACI,CAAC;AAIpD,eAAO,MAAM,iBAAiB,YACpB,MAAM,KACb,SAID,CAAC;AAEH,eAAO,MAAM,oBAAoB,kDAShC,CAAC;;kBAKgB,
|
|
1
|
+
{"version":3,"file":"Crdt.d.ts","sourceRoot":"","sources":["../../src/Crdt.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../src/Crypto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAQ3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,QAAO,QACiB,CAAC;AAEpD,0CAA0C;AAC1C,eAAO,MAAM,aAAa,aACd,MAAM,KACf,
|
|
1
|
+
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../src/Crypto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAQ3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,QAAO,QACiB,CAAC;AAEpD,0CAA0C;AAC1C,eAAO,MAAM,aAAa,aACd,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAO9C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,aAAc,QAAQ,KAAG,UAChB,CAAC;;qBAKhB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBACrB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;;AALrC,qBAAa,eAAgB,SAAQ,oBAOlC;CAAG;AAEN,eAAO,MAAM,yBAAyB,mBACpB,CACd,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,KAC7B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,UAClC,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,KAChC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAU3C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEpD,eAAO,MAAM,MAAM,8DAGlB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC;AAIxC,eAAO,MAAM,YAAY,SACjB,UAAU,QACV,aAAa,CAAC,MAAM,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,UAAU,CAWvB,CAAC;;mBAKc,CACb,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,UAAU,KAClB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;mBAEf,CACb,GAAG,EAAE,UAAU,EACf,UAAU,EAAE,UAAU,KACnB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;;AAXlC,qBAAa,SAAU,SAAQ,cAa5B;IACD,MAAM,CAAC,IAAI,uCAgBT;CACH"}
|
package/dist/src/Db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Diff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diff.d.ts","sourceRoot":"","sources":["../../src/Diff.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,KAAK,GAAG,eAAe,GAAG,cAAc,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,YACd,
|
|
1
|
+
{"version":3,"file":"Diff.d.ts","sourceRoot":"","sources":["../../src/Diff.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,KAAK,GAAG,eAAe,GAAG,cAAc,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,YACd,aAAa,CAAC,KAAK,CAAC,WACpB,aAAa,CAAC,GAAG,CAAC,KAC1B,aAAa,CAAC,GAAG,CASP,CAAC;AAEd;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,iBACR,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,YAClC,aAAa,CAAC,GAAG,CAAC,KAC3B,SAAS,KAAK,EA2BhB,CAAC;AAEF,eAAO,MAAM,QAAQ,MAChB,KAAK,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,KAChC,KAAK,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,KAClC,OAkCF,CAAC"}
|
package/dist/src/Evolu.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ import { SyncState } from "./Sync.js";
|
|
|
36
36
|
* - Ensuring the database schema's integrity with ensureSchema.
|
|
37
37
|
*/
|
|
38
38
|
export interface Evolu<T extends EvoluSchema = EvoluSchema> {
|
|
39
|
+
readonly socket: Promise<WebSocket | undefined>;
|
|
39
40
|
/**
|
|
40
41
|
* Subscribe to {@link EvoluError} changes.
|
|
41
42
|
*
|
|
@@ -403,7 +404,7 @@ interface EvoluForInitialData<T extends EvoluSchema = EvoluSchema> {
|
|
|
403
404
|
create: Mutate<T, "create">;
|
|
404
405
|
createOrUpdate: Mutate<T, "createOrUpdate">;
|
|
405
406
|
}
|
|
406
|
-
declare const createIndex: (indexName: string) => Kysely.CreateIndexBuilder
|
|
407
|
+
declare const createIndex: (indexName: string) => Kysely.CreateIndexBuilder;
|
|
407
408
|
type CreateIndex = typeof createIndex;
|
|
408
409
|
/**
|
|
409
410
|
* Create SQLite indexes.
|
package/dist/src/Evolu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Evolu.d.ts","sourceRoot":"","sources":["../../src/Evolu.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAG3C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,MAAM,EAAgC,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Evolu.d.ts","sourceRoot":"","sources":["../../src/Evolu.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Evolu.js
CHANGED
|
@@ -12,6 +12,7 @@ import * as Record from "effect/Record";
|
|
|
12
12
|
import * as Kysely from "kysely";
|
|
13
13
|
import { Config, createRuntime, defaultConfig } from "./Config.js";
|
|
14
14
|
import { NanoIdGenerator } from "./Crypto.js";
|
|
15
|
+
import { createSocket } from "./Socket.js";
|
|
15
16
|
import { DbFactory, deserializeQuery, emptyRows, queryResultFromRows, serializeQuery, } from "./Db.js";
|
|
16
17
|
import { applyPatches } from "./Diff.js";
|
|
17
18
|
import { makeUnexpectedError } from "./Error.js";
|
|
@@ -102,6 +103,16 @@ const createEvolu = (schema, runtime, initialData, mnemonic) => Effect.gen(funct
|
|
|
102
103
|
};
|
|
103
104
|
db.init(schema, initialDataAsMutations, handleDbError, handleSyncStateChange, handleDbReceive, mnemonic).pipe(Effect.tap(sync({ refreshQueries: false })), Effect.flatMap(ownerStore.setState), Effect.catchTag("NotSupportedPlatformError", () => Effect.void), // no-op
|
|
104
105
|
runFork);
|
|
106
|
+
let socketResolved = false;
|
|
107
|
+
const socket = new Promise((resolve) => {
|
|
108
|
+
ownerStore.subscribe(() => {
|
|
109
|
+
const owner = ownerStore.getState();
|
|
110
|
+
if (!socketResolved && typeof owner?.id === "string") {
|
|
111
|
+
socketResolved = true;
|
|
112
|
+
resolve(createSocket(sync, config, owner));
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
});
|
|
105
116
|
const appStateReset = yield* appState.init({
|
|
106
117
|
onRequestSync: sync({ refreshQueries: true }),
|
|
107
118
|
reloadUrl: config.reloadUrl,
|
|
@@ -193,6 +204,7 @@ const createEvolu = (schema, runtime, initialData, mnemonic) => Effect.gen(funct
|
|
|
193
204
|
};
|
|
194
205
|
})();
|
|
195
206
|
const evolu = {
|
|
207
|
+
socket,
|
|
196
208
|
subscribeError: errorStore.subscribe,
|
|
197
209
|
getError: errorStore.getState,
|
|
198
210
|
createQuery: (queryCallback, options) => pipe(queryCallback(kysely).compile(), (compiledQuery) => {
|
package/dist/src/Model.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export type SqliteDate = typeof SqliteDate.Type;
|
|
|
27
27
|
* Use the {@link cast} helper to cast SqliteBoolean from boolean and back.
|
|
28
28
|
* https://www.sqlite.org/quirks.html#no_separate_boolean_datatype
|
|
29
29
|
*/
|
|
30
|
-
export declare const SqliteBoolean: S.brand<S.
|
|
30
|
+
export declare const SqliteBoolean: S.brand<S.refine<0 | 1, S.Schema<number, number, never>>, "SqliteBoolean">;
|
|
31
31
|
export type SqliteBoolean = typeof SqliteBoolean.Type;
|
|
32
32
|
/**
|
|
33
33
|
* A helper for casting types not supported by SQLite. SQLite doesn't support
|
|
@@ -74,7 +74,7 @@ export declare const table: <Fields extends TableFields>(fields: Fields) => Vali
|
|
|
74
74
|
declare const ReservedColumns: S.Struct<{
|
|
75
75
|
createdAt: S.brand<S.filter<typeof S.String>, "SqliteDate">;
|
|
76
76
|
updatedAt: S.brand<S.filter<typeof S.String>, "SqliteDate">;
|
|
77
|
-
isDeleted: S.brand<S.
|
|
77
|
+
isDeleted: S.brand<S.refine<0 | 1, S.Schema<number, number, never>>, "SqliteBoolean">;
|
|
78
78
|
}>;
|
|
79
79
|
type TableFields = Record<string, S.Schema<any>>;
|
|
80
80
|
type ValidateFieldsTypes<Fields extends TableFields> = keyof Fields extends infer K ? K extends keyof Fields ? Fields[K] extends TableFields ? ValidateFieldsTypes<Fields[K]> : Fields[K] extends S.Schema<infer A, infer _I> ? A extends Value ? true : false : never : never : never;
|
package/dist/src/Model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/Model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,EAAa,MAAM,aAAa,CAAC;AAE/C,mFAAmF;AACnF,eAAO,MAAM,EAAE,0DAAyD,CAAC;AACzE,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC;AAEhC;;;;;;;;;GASG;AACH,eAAO,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/Model.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Owner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Owner.d.ts","sourceRoot":"","sources":["../../src/Owner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,QAAQ,EAIT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,KAAK;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAErB,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;CACpC;AAED,eAAO,MAAM,KAAK,2BAAqC,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAEhD,eAAO,MAAM,SAAS,cAAe,QAAQ,KAAG,
|
|
1
|
+
{"version":3,"file":"Owner.d.ts","sourceRoot":"","sources":["../../src/Owner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,QAAQ,EAIT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,KAAK;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAErB,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;CACpC;AAED,eAAO,MAAM,KAAK,2BAAqC,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAEhD,eAAO,MAAM,SAAS,cAAe,QAAQ,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAoB/D,CAAC"}
|
|
@@ -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;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AACvD,eAAO,MAAM,SAAS,mCAA6C,CAAC;;mBAKjD,CAAC,OAAO,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;KACpC,KAAK,
|
|
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;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AACvD,eAAO,MAAM,SAAS,mCAA6C,CAAC;;mBAKjD,CAAC,OAAO,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;KACpC,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;AANtC,qBAAa,QAAS,SAAQ,aAQ3B;CAAG;AAEN,UAAU,aAAa;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACrC;;yBAKwB,MAAM,CAAC,MAAM,CAChC,eAAe,EACf,2BAA2B,EAC3B,MAAM,GAAG,KAAK,CAAC,KAAK,CACrB;;AAPL,qBAAa,QAAS,SAAQ,aAS3B;CAAG;AAEN,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,qBAAa,2BAA2B;IACtC,QAAQ,CAAC,IAAI,iCAAiC;CAC/C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Config } from "./Config.js";
|
|
2
|
+
import { Owner } from "./Owner.js";
|
|
3
|
+
type ForceSyncMethod = ({ refreshQueries, }: {
|
|
4
|
+
refreshQueries: boolean;
|
|
5
|
+
}) => () => void;
|
|
6
|
+
export declare const createSocket: (sync: ForceSyncMethod, config: Config, owner: Owner) => WebSocket | undefined;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=Socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../src/Socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAWnC,KAAK,eAAe,GAAG,CAAC,EACtB,cAAc,GACf,EAAE;IACD,cAAc,EAAE,OAAO,CAAC;CACzB,KAAK,MAAM,IAAI,CAAC;AAoBjB,eAAO,MAAM,YAAY,SACjB,eAAe,UACb,MAAM,SACP,KAAK,KACX,SAAS,GAAG,SA0Cd,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
let syncTimeout;
|
|
2
|
+
let lockTimeout;
|
|
3
|
+
let socketTimeout;
|
|
4
|
+
let isLocked = false;
|
|
5
|
+
const SocketTimeout = 3000;
|
|
6
|
+
const SyncTimeout = 500;
|
|
7
|
+
const SyncLockTimeout = 500;
|
|
8
|
+
let socket;
|
|
9
|
+
const processWebsocketEvent = (sync, event) => {
|
|
10
|
+
if (typeof event.data === "string" || isLocked === true)
|
|
11
|
+
return;
|
|
12
|
+
clearTimeout(syncTimeout);
|
|
13
|
+
syncTimeout = undefined;
|
|
14
|
+
syncTimeout = setTimeout(() => {
|
|
15
|
+
isLocked = true;
|
|
16
|
+
sync({ refreshQueries: true })();
|
|
17
|
+
clearTimeout(syncTimeout);
|
|
18
|
+
clearTimeout(lockTimeout);
|
|
19
|
+
lockTimeout = setTimeout(() => {
|
|
20
|
+
isLocked = false;
|
|
21
|
+
}, SyncLockTimeout);
|
|
22
|
+
}, SyncTimeout);
|
|
23
|
+
};
|
|
24
|
+
export const createSocket = (sync, config, owner) => {
|
|
25
|
+
if (config.externalWebsocketConnection) {
|
|
26
|
+
// Hook up to an external WebSocket connection
|
|
27
|
+
config.externalWebsocketConnection.send(JSON.stringify({ message: "subscribe", channelId: owner.id }));
|
|
28
|
+
config.externalWebsocketConnection.addEventListener("message", (event) => processWebsocketEvent(sync, event));
|
|
29
|
+
return config.externalWebsocketConnection;
|
|
30
|
+
}
|
|
31
|
+
if (config.enableWebsocketConnection) {
|
|
32
|
+
// Create a WebSocket connection
|
|
33
|
+
socket = new WebSocket(config.syncUrl?.replace("http", "ws"));
|
|
34
|
+
// Handle incoming WebSocket messages
|
|
35
|
+
socket.addEventListener("message", (event) => processWebsocketEvent(sync, event));
|
|
36
|
+
// Handle WebSocket errors
|
|
37
|
+
socket.onerror = (error) => {
|
|
38
|
+
// eslint-disable-next-line no-console
|
|
39
|
+
console.error("WebSocket error:", error);
|
|
40
|
+
};
|
|
41
|
+
// Handle WebSocket closure
|
|
42
|
+
socket.onclose = () => {
|
|
43
|
+
socketTimeout = setTimeout(() => createSocket(sync, config, owner), SocketTimeout);
|
|
44
|
+
};
|
|
45
|
+
socket.onopen = () => {
|
|
46
|
+
socket.send(JSON.stringify({ message: "subscribe", channelId: owner.id }));
|
|
47
|
+
clearTimeout(socketTimeout);
|
|
48
|
+
};
|
|
49
|
+
return socket;
|
|
50
|
+
}
|
|
51
|
+
};
|
package/dist/src/Sqlite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sqlite.d.ts","sourceRoot":"","sources":["../../src/Sqlite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEvE,QAAQ,CAAC,WAAW,EAAE;IACpB;;;;;;;;;;;OAWG;IACH,IAAI,EAAE,qBAAqB,KACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,MAAM,6BAAuC,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;;2BAKzC,
|
|
1
|
+
{"version":3,"file":"Sqlite.d.ts","sourceRoot":"","sources":["../../src/Sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../src/Store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,MAAM,WAAW,KAAK,CAAC,CAAC;IAEtB,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,WAAW,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAG3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../src/Store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,MAAM,WAAW,KAAK,CAAC,CAAC;IAEtB,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,WAAW,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAG3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,gBAAgB,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CA0BjE,CAAC"}
|
package/dist/src/Sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sync.d.ts","sourceRoot":"","sources":["../../src/Sync.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,eAAe,EAGhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAqB,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,CACb,QAAQ,EAAE,QAAQ,KACf,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,IAAI,yBAAmC,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACzC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,CAAC;AAEzB,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAGD,eAAO,MAAM,gBAAgB,EAAE,gBAA+C,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,oBAAoB,CAAC;CACnE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;;yBAKwB,
|
|
1
|
+
{"version":3,"file":"Sync.d.ts","sourceRoot":"","sources":["../../src/Sync.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,eAAe,EAGhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAqB,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,CACb,QAAQ,EAAE,QAAQ,KACf,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,IAAI,yBAAmC,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACzC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,CAAC;AAEzB,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAGD,eAAO,MAAM,gBAAgB,EAAE,gBAA+C,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,oBAAoB,CAAC;CACnE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;;yBAKwB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;;AAH1D,qBAAa,WAAY,SAAQ,gBAK9B;CAAG;AAEN,eAAO,MAAM,UAAU,uCAqHrB,CAAC"}
|
package/dist/src/Sync.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Platform from "@effect/platform";
|
|
2
2
|
import * as S from "@effect/schema/Schema";
|
|
3
3
|
import { concatBytes } from "@noble/ciphers/utils";
|
|
4
4
|
import { BinaryReader, BinaryWriter } from "@protobuf-ts/runtime";
|
|
@@ -37,9 +37,7 @@ export const createSync = Effect.gen(function* () {
|
|
|
37
37
|
userId: owner.id,
|
|
38
38
|
nodeId: timestamp.node,
|
|
39
39
|
merkleTree: merkleTreeToString(merkleTree),
|
|
40
|
-
}, binaryWriteOptions)), Effect.flatMap((body) =>
|
|
41
|
-
.post(config.syncUrl)
|
|
42
|
-
.pipe(Http.request.uint8ArrayBody(body, "application/x-protobuf"), Http.client.fetchOk, Http.response.arrayBuffer)), Effect.map((buffer) => Protobuf.SyncResponse.fromBinary(new Uint8Array(buffer), binaryReadOptions)), Effect.flatMap((syncResponse) => Effect.forEach(syncResponse.messages, (encrypedMessage) => Effect.map(secretBox.open(owner.encryptionKey, encrypedMessage.content), (binary) => [binary, encrypedMessage.timestamp])).pipe(Effect.map(Arr.filterMap(([binary, timestamp]) => Option.map(newMessageFromBinary(binary), (newMessage) => ({ ...newMessage, timestamp })))), Effect.map((messages) => ({
|
|
40
|
+
}, binaryWriteOptions)), Effect.flatMap((body) => Platform.HttpClientRequest.post(config.syncUrl).pipe(Platform.HttpClientRequest.uint8ArrayBody(body, "application/x-protobuf"), Platform.HttpClient.fetchOk, Platform.HttpClientResponse.arrayBuffer)), Effect.map((buffer) => Protobuf.SyncResponse.fromBinary(new Uint8Array(buffer), binaryReadOptions)), Effect.flatMap((syncResponse) => Effect.forEach(syncResponse.messages, (encrypedMessage) => Effect.map(secretBox.open(owner.encryptionKey, encrypedMessage.content), (binary) => [binary, encrypedMessage.timestamp])).pipe(Effect.map(Arr.filterMap(([binary, timestamp]) => Option.map(newMessageFromBinary(binary), (newMessage) => ({ ...newMessage, timestamp })))), Effect.map((messages) => ({
|
|
43
41
|
messages,
|
|
44
42
|
merkleTree: unsafeMerkleTreeFromString(syncResponse.merkleTree),
|
|
45
43
|
})), Effect.tap((response) => Effect.logDebug(["Sync response", response])))), Effect.catchTag("RequestError", () => Effect.fail({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evolu/common",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0",
|
|
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",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"nanoid": "^5.0.7"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@effect/platform": "^0.
|
|
55
|
+
"@effect/platform": "^0.59.0",
|
|
56
56
|
"@effect/schema": "^0.68.0",
|
|
57
57
|
"@protobuf-ts/plugin": "^2.9.4",
|
|
58
58
|
"@protobuf-ts/protoc": "^2.9.4",
|
|
@@ -60,12 +60,12 @@
|
|
|
60
60
|
"effect": "^3.2.1",
|
|
61
61
|
"eslint": "^8.57.0",
|
|
62
62
|
"typescript": "^5.4.5",
|
|
63
|
-
"vitest": "^
|
|
63
|
+
"vitest": "^2.0.0",
|
|
64
64
|
"@evolu/tsconfig": "0.0.2",
|
|
65
65
|
"eslint-config-evolu": "1.0.0"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
|
-
"@effect/platform": "^0.
|
|
68
|
+
"@effect/platform": "^0.59.0",
|
|
69
69
|
"@effect/schema": "^0.68.0",
|
|
70
70
|
"effect": "^3.1.2"
|
|
71
71
|
},
|
package/src/Config.ts
CHANGED
|
@@ -43,6 +43,22 @@ export interface Config {
|
|
|
43
43
|
* events with values. For production, use `warning`.
|
|
44
44
|
*/
|
|
45
45
|
minimumLogLevel: "none" | "trace" | "debug" | "warning";
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Enables websocket connection
|
|
49
|
+
*
|
|
50
|
+
* If set to true runs a websocket connection on the sync url
|
|
51
|
+
*/
|
|
52
|
+
enableWebsocketConnection?: true;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Allows to reuse websocket connections for multiple database setup
|
|
56
|
+
*
|
|
57
|
+
* Works INSTEAD of enableWebsocket and if set overrides enableWebsocket this
|
|
58
|
+
* attaches the database to a connection produced by a call back from another
|
|
59
|
+
* database that has enableWebsocketConnection
|
|
60
|
+
*/
|
|
61
|
+
externalWebsocketConnection?: WebSocket;
|
|
46
62
|
}
|
|
47
63
|
|
|
48
64
|
export const Config = Context.GenericTag<Config>("Config");
|
package/src/Evolu.ts
CHANGED
|
@@ -15,6 +15,7 @@ import * as Kysely from "kysely";
|
|
|
15
15
|
import { Config, createRuntime, defaultConfig } from "./Config.js";
|
|
16
16
|
import { TimestampString } from "./Crdt.js";
|
|
17
17
|
import { Mnemonic, NanoIdGenerator } from "./Crypto.js";
|
|
18
|
+
import { createSocket } from "./Socket.js";
|
|
18
19
|
import {
|
|
19
20
|
DbFactory,
|
|
20
21
|
DbSchema,
|
|
@@ -67,6 +68,7 @@ import { SyncState, initialSyncState } from "./Sync.js";
|
|
|
67
68
|
* - Ensuring the database schema's integrity with ensureSchema.
|
|
68
69
|
*/
|
|
69
70
|
export interface Evolu<T extends EvoluSchema = EvoluSchema> {
|
|
71
|
+
readonly socket: Promise<WebSocket | undefined>;
|
|
70
72
|
/**
|
|
71
73
|
* Subscribe to {@link EvoluError} changes.
|
|
72
74
|
*
|
|
@@ -680,6 +682,16 @@ const createEvolu = (
|
|
|
680
682
|
Effect.catchTag("NotSupportedPlatformError", () => Effect.void), // no-op
|
|
681
683
|
runFork,
|
|
682
684
|
);
|
|
685
|
+
let socketResolved = false;
|
|
686
|
+
const socket: Promise<WebSocket | undefined> = new Promise((resolve) => {
|
|
687
|
+
ownerStore.subscribe(() => {
|
|
688
|
+
const owner = ownerStore.getState() as Owner;
|
|
689
|
+
if (!socketResolved && typeof owner?.id === "string") {
|
|
690
|
+
socketResolved = true;
|
|
691
|
+
resolve(createSocket(sync, config, owner));
|
|
692
|
+
}
|
|
693
|
+
});
|
|
694
|
+
});
|
|
683
695
|
|
|
684
696
|
const appStateReset = yield* appState.init({
|
|
685
697
|
onRequestSync: sync({ refreshQueries: true }),
|
|
@@ -804,6 +816,7 @@ const createEvolu = (
|
|
|
804
816
|
})();
|
|
805
817
|
|
|
806
818
|
const evolu: Evolu = {
|
|
819
|
+
socket,
|
|
807
820
|
subscribeError: errorStore.subscribe,
|
|
808
821
|
getError: errorStore.getState,
|
|
809
822
|
|
package/src/Socket.ts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Config } from "./Config.js";
|
|
2
|
+
import { Owner } from "./Owner.js";
|
|
3
|
+
|
|
4
|
+
let syncTimeout: number | NodeJS.Timeout | undefined;
|
|
5
|
+
let lockTimeout: number | NodeJS.Timeout | undefined;
|
|
6
|
+
let socketTimeout: number | NodeJS.Timeout | undefined;
|
|
7
|
+
let isLocked = false;
|
|
8
|
+
const SocketTimeout = 3000;
|
|
9
|
+
const SyncTimeout = 500;
|
|
10
|
+
const SyncLockTimeout = 500;
|
|
11
|
+
let socket: WebSocket;
|
|
12
|
+
|
|
13
|
+
type ForceSyncMethod = ({
|
|
14
|
+
refreshQueries,
|
|
15
|
+
}: {
|
|
16
|
+
refreshQueries: boolean;
|
|
17
|
+
}) => () => void;
|
|
18
|
+
|
|
19
|
+
const processWebsocketEvent = (
|
|
20
|
+
sync: ForceSyncMethod,
|
|
21
|
+
event: MessageEvent<any>,
|
|
22
|
+
) => {
|
|
23
|
+
if (typeof event.data === "string" || isLocked === true) return;
|
|
24
|
+
clearTimeout(syncTimeout);
|
|
25
|
+
syncTimeout = undefined;
|
|
26
|
+
syncTimeout = setTimeout(() => {
|
|
27
|
+
isLocked = true;
|
|
28
|
+
sync({ refreshQueries: true })();
|
|
29
|
+
clearTimeout(syncTimeout);
|
|
30
|
+
clearTimeout(lockTimeout);
|
|
31
|
+
lockTimeout = setTimeout(() => {
|
|
32
|
+
isLocked = false;
|
|
33
|
+
}, SyncLockTimeout);
|
|
34
|
+
}, SyncTimeout);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const createSocket = (
|
|
38
|
+
sync: ForceSyncMethod,
|
|
39
|
+
config: Config,
|
|
40
|
+
owner: Owner,
|
|
41
|
+
): WebSocket | undefined => {
|
|
42
|
+
if (config.externalWebsocketConnection) {
|
|
43
|
+
// Hook up to an external WebSocket connection
|
|
44
|
+
config.externalWebsocketConnection.send(
|
|
45
|
+
JSON.stringify({ message: "subscribe", channelId: owner.id }),
|
|
46
|
+
);
|
|
47
|
+
config.externalWebsocketConnection.addEventListener("message", (event) =>
|
|
48
|
+
processWebsocketEvent(sync, event),
|
|
49
|
+
);
|
|
50
|
+
return config.externalWebsocketConnection;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (config.enableWebsocketConnection) {
|
|
54
|
+
// Create a WebSocket connection
|
|
55
|
+
socket = new WebSocket(config.syncUrl?.replace("http", "ws"));
|
|
56
|
+
// Handle incoming WebSocket messages
|
|
57
|
+
socket.addEventListener("message", (event) =>
|
|
58
|
+
processWebsocketEvent(sync, event),
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
// Handle WebSocket errors
|
|
62
|
+
socket.onerror = (error) => {
|
|
63
|
+
// eslint-disable-next-line no-console
|
|
64
|
+
console.error("WebSocket error:", error);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// Handle WebSocket closure
|
|
68
|
+
socket.onclose = () => {
|
|
69
|
+
socketTimeout = setTimeout(
|
|
70
|
+
() => createSocket(sync, config, owner),
|
|
71
|
+
SocketTimeout,
|
|
72
|
+
);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
socket.onopen = () => {
|
|
76
|
+
socket.send(
|
|
77
|
+
JSON.stringify({ message: "subscribe", channelId: owner.id }),
|
|
78
|
+
);
|
|
79
|
+
clearTimeout(socketTimeout);
|
|
80
|
+
};
|
|
81
|
+
return socket;
|
|
82
|
+
}
|
|
83
|
+
};
|
package/src/Sync.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Platform from "@effect/platform";
|
|
2
2
|
import * as S from "@effect/schema/Schema";
|
|
3
3
|
import { concatBytes } from "@noble/ciphers/utils";
|
|
4
4
|
import { BinaryReader, BinaryWriter } from "@protobuf-ts/runtime";
|
|
@@ -158,13 +158,14 @@ export const createSync = Effect.gen(function* () {
|
|
|
158
158
|
),
|
|
159
159
|
),
|
|
160
160
|
Effect.flatMap((body) =>
|
|
161
|
-
|
|
162
|
-
.
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
Http.client.fetchOk,
|
|
166
|
-
Http.response.arrayBuffer,
|
|
161
|
+
Platform.HttpClientRequest.post(config.syncUrl).pipe(
|
|
162
|
+
Platform.HttpClientRequest.uint8ArrayBody(
|
|
163
|
+
body,
|
|
164
|
+
"application/x-protobuf",
|
|
167
165
|
),
|
|
166
|
+
Platform.HttpClient.fetchOk,
|
|
167
|
+
Platform.HttpClientResponse.arrayBuffer,
|
|
168
|
+
),
|
|
168
169
|
),
|
|
169
170
|
Effect.map((buffer) =>
|
|
170
171
|
Protobuf.SyncResponse.fromBinary(
|