@evolu/common 8.9.0 → 8.11.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/Bytes.d.ts +647 -0
- package/dist/src/Bytes.d.ts.map +1 -0
- package/dist/src/{Binary.js → Bytes.js} +266 -16
- package/dist/src/Config.d.ts +142 -0
- package/dist/src/Config.d.ts.map +1 -0
- package/dist/src/Config.js +181 -0
- package/dist/src/Console.d.ts +62 -7
- package/dist/src/Console.d.ts.map +1 -1
- package/dist/src/Console.js +20 -4
- package/dist/src/Crypto.d.ts +76 -4
- package/dist/src/Crypto.d.ts.map +1 -1
- package/dist/src/Crypto.js +55 -4
- package/dist/src/Error.d.ts +45 -0
- package/dist/src/Error.d.ts.map +1 -1
- package/dist/src/Error.js +69 -0
- package/dist/src/Fs.d.ts +376 -0
- package/dist/src/Fs.d.ts.map +1 -0
- package/dist/src/Fs.js +113 -0
- package/dist/src/Identicon.d.ts +2 -2
- package/dist/src/Identicon.js +2 -2
- package/dist/src/LeakDetector.d.ts +22 -3
- package/dist/src/LeakDetector.d.ts.map +1 -1
- package/dist/src/LeakDetector.js +12 -2
- package/dist/src/LockManager.d.ts +8 -0
- package/dist/src/LockManager.d.ts.map +1 -1
- package/dist/src/LockManager.js +6 -0
- package/dist/src/Number.d.ts +50 -7
- package/dist/src/Number.d.ts.map +1 -1
- package/dist/src/Number.js +47 -8
- package/dist/src/Object.d.ts +32 -0
- package/dist/src/Object.d.ts.map +1 -1
- package/dist/src/Object.js +46 -0
- package/dist/src/Platform.d.ts +47 -7
- package/dist/src/Platform.d.ts.map +1 -1
- package/dist/src/Platform.js +24 -5
- package/dist/src/Random.d.ts +25 -2
- package/dist/src/Random.d.ts.map +1 -1
- package/dist/src/Random.js +14 -2
- package/dist/src/Resource.d.ts +156 -1
- package/dist/src/Resource.d.ts.map +1 -1
- package/dist/src/Resource.js +201 -72
- package/dist/src/Schedule.d.ts +11 -10
- package/dist/src/Schedule.d.ts.map +1 -1
- package/dist/src/Schedule.js +1 -1
- package/dist/src/Sqlite.d.ts +132 -16
- package/dist/src/Sqlite.d.ts.map +1 -1
- package/dist/src/Sqlite.js +64 -10
- package/dist/src/Task.d.ts +15 -4
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +41 -15
- package/dist/src/Test.d.ts +9 -0
- package/dist/src/Test.d.ts.map +1 -1
- package/dist/src/Test.js +4 -0
- package/dist/src/Time.d.ts +179 -20
- package/dist/src/Time.d.ts.map +1 -1
- package/dist/src/Time.js +95 -6
- package/dist/src/Type.d.ts +3056 -1539
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +2548 -584
- package/dist/src/WebSocket.d.ts +164 -13
- package/dist/src/WebSocket.d.ts.map +1 -1
- package/dist/src/WebSocket.js +133 -24
- package/dist/src/Worker.d.ts +90 -8
- package/dist/src/Worker.d.ts.map +1 -1
- package/dist/src/Worker.js +28 -2
- package/dist/src/index.d.ts +9 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -4
- package/dist/src/intl/_en.d.ts +24 -1
- package/dist/src/intl/_en.d.ts.map +1 -1
- package/dist/src/intl/_en.js +20 -0
- package/dist/src/intl/ar.d.ts +24 -1
- package/dist/src/intl/ar.d.ts.map +1 -1
- package/dist/src/intl/ar.js +20 -0
- package/dist/src/intl/bn.d.ts +24 -1
- package/dist/src/intl/bn.d.ts.map +1 -1
- package/dist/src/intl/bn.js +20 -0
- package/dist/src/intl/ca.d.ts +24 -1
- package/dist/src/intl/ca.d.ts.map +1 -1
- package/dist/src/intl/ca.js +20 -0
- package/dist/src/intl/cs.d.ts +24 -1
- package/dist/src/intl/cs.d.ts.map +1 -1
- package/dist/src/intl/cs.js +20 -0
- package/dist/src/intl/da.d.ts +24 -1
- package/dist/src/intl/da.d.ts.map +1 -1
- package/dist/src/intl/da.js +20 -0
- package/dist/src/intl/de.d.ts +24 -1
- package/dist/src/intl/de.d.ts.map +1 -1
- package/dist/src/intl/de.js +20 -0
- package/dist/src/intl/el.d.ts +24 -1
- package/dist/src/intl/el.d.ts.map +1 -1
- package/dist/src/intl/el.js +20 -0
- package/dist/src/intl/es.d.ts +24 -1
- package/dist/src/intl/es.d.ts.map +1 -1
- package/dist/src/intl/es.js +20 -0
- package/dist/src/intl/fa.d.ts +24 -1
- package/dist/src/intl/fa.d.ts.map +1 -1
- package/dist/src/intl/fa.js +20 -0
- package/dist/src/intl/fi.d.ts +24 -1
- package/dist/src/intl/fi.d.ts.map +1 -1
- package/dist/src/intl/fi.js +20 -0
- package/dist/src/intl/fil.d.ts +24 -1
- package/dist/src/intl/fil.d.ts.map +1 -1
- package/dist/src/intl/fil.js +20 -0
- package/dist/src/intl/fr.d.ts +24 -1
- package/dist/src/intl/fr.d.ts.map +1 -1
- package/dist/src/intl/fr.js +20 -0
- package/dist/src/intl/he.d.ts +24 -1
- package/dist/src/intl/he.d.ts.map +1 -1
- package/dist/src/intl/he.js +20 -0
- package/dist/src/intl/hi.d.ts +24 -1
- package/dist/src/intl/hi.d.ts.map +1 -1
- package/dist/src/intl/hi.js +20 -0
- package/dist/src/intl/hr.d.ts +24 -1
- package/dist/src/intl/hr.d.ts.map +1 -1
- package/dist/src/intl/hr.js +20 -0
- package/dist/src/intl/hu.d.ts +22 -1
- package/dist/src/intl/hu.d.ts.map +1 -1
- package/dist/src/intl/hu.js +18 -0
- package/dist/src/intl/id.d.ts +24 -1
- package/dist/src/intl/id.d.ts.map +1 -1
- package/dist/src/intl/id.js +20 -0
- package/dist/src/intl/it.d.ts +24 -1
- package/dist/src/intl/it.d.ts.map +1 -1
- package/dist/src/intl/it.js +20 -0
- package/dist/src/intl/ja.d.ts +24 -1
- package/dist/src/intl/ja.d.ts.map +1 -1
- package/dist/src/intl/ja.js +20 -0
- package/dist/src/intl/ko.d.ts +24 -1
- package/dist/src/intl/ko.d.ts.map +1 -1
- package/dist/src/intl/ko.js +20 -0
- package/dist/src/intl/ml.d.ts +24 -1
- package/dist/src/intl/ml.d.ts.map +1 -1
- package/dist/src/intl/ml.js +20 -0
- package/dist/src/intl/mr.d.ts +24 -1
- package/dist/src/intl/mr.d.ts.map +1 -1
- package/dist/src/intl/mr.js +20 -0
- package/dist/src/intl/ms.d.ts +24 -1
- package/dist/src/intl/ms.d.ts.map +1 -1
- package/dist/src/intl/ms.js +20 -0
- package/dist/src/intl/nb.d.ts +22 -1
- package/dist/src/intl/nb.d.ts.map +1 -1
- package/dist/src/intl/nb.js +18 -0
- package/dist/src/intl/nl.d.ts +24 -1
- package/dist/src/intl/nl.d.ts.map +1 -1
- package/dist/src/intl/nl.js +20 -0
- package/dist/src/intl/pa.d.ts +24 -1
- package/dist/src/intl/pa.d.ts.map +1 -1
- package/dist/src/intl/pa.js +20 -0
- package/dist/src/intl/pl.d.ts +23 -0
- package/dist/src/intl/pl.d.ts.map +1 -1
- package/dist/src/intl/pl.js +20 -0
- package/dist/src/intl/pt-BR.d.ts +24 -1
- package/dist/src/intl/pt-BR.d.ts.map +1 -1
- package/dist/src/intl/pt-BR.js +20 -0
- package/dist/src/intl/pt.d.ts +24 -1
- package/dist/src/intl/pt.d.ts.map +1 -1
- package/dist/src/intl/pt.js +20 -0
- package/dist/src/intl/ro.d.ts +24 -1
- package/dist/src/intl/ro.d.ts.map +1 -1
- package/dist/src/intl/ro.js +20 -0
- package/dist/src/intl/sk.d.ts +24 -1
- package/dist/src/intl/sk.d.ts.map +1 -1
- package/dist/src/intl/sk.js +20 -0
- package/dist/src/intl/sl.d.ts +24 -1
- package/dist/src/intl/sl.d.ts.map +1 -1
- package/dist/src/intl/sl.js +20 -0
- package/dist/src/intl/sv.d.ts +24 -1
- package/dist/src/intl/sv.d.ts.map +1 -1
- package/dist/src/intl/sv.js +20 -0
- package/dist/src/intl/sw.d.ts +21 -0
- package/dist/src/intl/sw.d.ts.map +1 -1
- package/dist/src/intl/sw.js +18 -0
- package/dist/src/intl/ta.d.ts +24 -1
- package/dist/src/intl/ta.d.ts.map +1 -1
- package/dist/src/intl/ta.js +20 -0
- package/dist/src/intl/te.d.ts +24 -1
- package/dist/src/intl/te.d.ts.map +1 -1
- package/dist/src/intl/te.js +20 -0
- package/dist/src/intl/th.d.ts +24 -1
- package/dist/src/intl/th.d.ts.map +1 -1
- package/dist/src/intl/th.js +20 -0
- package/dist/src/intl/tr.d.ts +24 -1
- package/dist/src/intl/tr.d.ts.map +1 -1
- package/dist/src/intl/tr.js +20 -0
- package/dist/src/intl/uk.d.ts +80 -57
- package/dist/src/intl/uk.d.ts.map +1 -1
- package/dist/src/intl/uk.js +174 -149
- package/dist/src/intl/ur.d.ts +24 -1
- package/dist/src/intl/ur.d.ts.map +1 -1
- package/dist/src/intl/ur.js +20 -0
- package/dist/src/intl/vi.d.ts +24 -1
- package/dist/src/intl/vi.d.ts.map +1 -1
- package/dist/src/intl/vi.js +20 -0
- package/dist/src/intl/zh-CN.d.ts +24 -1
- package/dist/src/intl/zh-CN.d.ts.map +1 -1
- package/dist/src/intl/zh-CN.js +20 -0
- package/dist/src/intl/zh-TW.d.ts +24 -1
- package/dist/src/intl/zh-TW.d.ts.map +1 -1
- package/dist/src/intl/zh-TW.js +20 -0
- package/dist/src/local-first/Db.d.ts +52 -3
- package/dist/src/local-first/Db.d.ts.map +1 -1
- package/dist/src/local-first/Db.js +412 -137
- package/dist/src/local-first/Evolu.d.ts +336 -211
- package/dist/src/local-first/Evolu.d.ts.map +1 -1
- package/dist/src/local-first/Evolu.js +102 -15
- package/dist/src/local-first/Owner.d.ts +13 -30
- package/dist/src/local-first/Owner.d.ts.map +1 -1
- package/dist/src/local-first/Owner.js +13 -30
- package/dist/src/local-first/Protocol.d.ts +95 -17
- package/dist/src/local-first/Protocol.d.ts.map +1 -1
- package/dist/src/local-first/Protocol.js +119 -39
- package/dist/src/local-first/Query.d.ts +8 -15
- package/dist/src/local-first/Query.d.ts.map +1 -1
- package/dist/src/local-first/Schema.d.ts +345 -21
- package/dist/src/local-first/Schema.d.ts.map +1 -1
- package/dist/src/local-first/Schema.js +214 -17
- package/dist/src/local-first/Shared.d.ts +537 -22
- package/dist/src/local-first/Shared.d.ts.map +1 -1
- package/dist/src/local-first/Shared.js +1437 -234
- package/dist/src/local-first/Storage.d.ts +192 -14
- package/dist/src/local-first/Storage.d.ts.map +1 -1
- package/dist/src/local-first/Storage.js +82 -21
- package/dist/src/local-first/Timestamp.d.ts +392 -41
- package/dist/src/local-first/Timestamp.d.ts.map +1 -1
- package/dist/src/local-first/Timestamp.js +404 -82
- package/dist/src/local-first/index.d.ts +0 -1
- package/dist/src/local-first/index.d.ts.map +1 -1
- package/dist/src/local-first/index.js +0 -1
- package/package.json +1 -1
- package/src/Assert.test.ts +2 -5
- package/src/{Binary.test.ts → Bytes.test.ts} +286 -1
- package/src/{Binary.ts → Bytes.ts} +652 -21
- package/src/Config.test.ts +668 -0
- package/src/Config.ts +410 -0
- package/src/Console.ts +62 -7
- package/src/Crypto.ts +76 -4
- package/src/Eq.test.ts +2 -3
- package/src/Error.test.ts +76 -3
- package/src/Error.ts +71 -0
- package/src/Fs.test.ts +105 -0
- package/src/Fs.ts +488 -0
- package/src/Identicon.ts +2 -2
- package/src/LeakDetector.ts +22 -3
- package/src/LockManager.ts +8 -0
- package/src/Number.test.ts +82 -18
- package/src/Number.ts +76 -8
- package/src/Object.test.ts +139 -10
- package/src/Object.ts +49 -0
- package/src/Platform.ts +50 -8
- package/src/Random.ts +25 -2
- package/src/Resource.test.ts +837 -0
- package/src/Resource.ts +235 -15
- package/src/Schedule.test.ts +50 -12
- package/src/Schedule.ts +24 -14
- package/src/Sqlite.ts +138 -18
- package/src/Task.test.ts +189 -8
- package/src/Task.ts +56 -17
- package/src/Test.ts +9 -0
- package/src/Time.test.ts +82 -11
- package/src/Time.ts +246 -24
- package/src/Type.test.ts +3994 -1119
- package/src/Type.ts +7258 -3842
- package/src/Types.test.ts +4 -14
- package/src/WebSocket.ts +313 -40
- package/src/Worker.ts +90 -8
- package/src/index.ts +18 -7
- package/src/intl/_en.ts +70 -0
- package/src/intl/ar.ts +71 -0
- package/src/intl/bn.ts +70 -0
- package/src/intl/ca.ts +70 -0
- package/src/intl/cs.ts +70 -0
- package/src/intl/da.ts +70 -0
- package/src/intl/de.ts +70 -0
- package/src/intl/el.ts +70 -0
- package/src/intl/es.ts +70 -0
- package/src/intl/fa.ts +70 -0
- package/src/intl/fi.ts +70 -0
- package/src/intl/fil.ts +70 -0
- package/src/intl/fr.ts +70 -0
- package/src/intl/he.ts +70 -0
- package/src/intl/hi.ts +70 -0
- package/src/intl/hr.ts +70 -0
- package/src/intl/hu.ts +69 -0
- package/src/intl/id.ts +70 -0
- package/src/intl/intl.test.ts +819 -1
- package/src/intl/it.ts +70 -0
- package/src/intl/ja.ts +70 -0
- package/src/intl/ko.ts +68 -0
- package/src/intl/ml.ts +70 -0
- package/src/intl/mr.ts +70 -0
- package/src/intl/ms.ts +71 -0
- package/src/intl/nb.ts +69 -0
- package/src/intl/nl.ts +70 -0
- package/src/intl/pa.ts +70 -0
- package/src/intl/pl.ts +63 -0
- package/src/intl/pt-BR.ts +70 -0
- package/src/intl/pt.ts +71 -0
- package/src/intl/ro.ts +70 -0
- package/src/intl/sk.ts +71 -0
- package/src/intl/sl.ts +70 -0
- package/src/intl/sv.ts +70 -0
- package/src/intl/sw.ts +62 -0
- package/src/intl/ta.ts +70 -0
- package/src/intl/te.ts +70 -0
- package/src/intl/th.ts +68 -0
- package/src/intl/tr.ts +70 -0
- package/src/intl/uk.ts +228 -155
- package/src/intl/ur.ts +70 -0
- package/src/intl/vi.ts +70 -0
- package/src/intl/zh-CN.ts +68 -0
- package/src/intl/zh-TW.ts +68 -0
- package/src/local-first/Db.ts +644 -339
- package/src/local-first/Evolu.test.ts +686 -21
- package/src/local-first/Evolu.ts +450 -228
- package/src/local-first/Owner.ts +13 -30
- package/src/local-first/Protocol.test.ts +618 -11
- package/src/local-first/Protocol.ts +197 -73
- package/src/local-first/Query.ts +8 -15
- package/src/local-first/Schema.test.ts +143 -0
- package/src/local-first/Schema.ts +374 -24
- package/src/local-first/Shared.test.ts +7731 -559
- package/src/local-first/Shared.ts +2036 -267
- package/src/local-first/Storage.ts +219 -33
- package/src/local-first/Timestamp.test.ts +344 -70
- package/src/local-first/Timestamp.ts +435 -119
- package/src/local-first/index.ts +0 -1
- package/dist/src/Binary.d.ts +0 -254
- package/dist/src/Binary.d.ts.map +0 -1
- package/dist/src/local-first/Error.d.ts +0 -12
- package/dist/src/local-first/Error.d.ts.map +0 -1
- package/dist/src/local-first/Error.js +0 -6
- package/dist/src/local-first/LocalAuth.d.ts +0 -150
- package/dist/src/local-first/LocalAuth.d.ts.map +0 -1
- package/dist/src/local-first/LocalAuth.js +0 -179
- package/src/local-first/Error.ts +0 -17
- package/src/local-first/LocalAuth.ts +0 -457
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Evolu.d.ts","sourceRoot":"","sources":["../../../src/local-first/Evolu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Evolu.d.ts","sourceRoot":"","sources":["../../../src/local-first/Evolu.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,10 +83,17 @@ import { DbChange } from "./Storage.js";
|
|
|
83
83
|
*
|
|
84
84
|
* Uses the same safe alphabet as {@link UrlSafeString} (letters, digits, `-`,
|
|
85
85
|
* `_`) and must be between 1 and 41 characters.
|
|
86
|
+
*
|
|
87
|
+
* @group Configuration
|
|
86
88
|
*/
|
|
87
89
|
export const AppName = /*#__PURE__*/ brand("AppName", UrlSafeString, (value) => value.length >= 1 && value.length <= 41
|
|
88
90
|
? ok()
|
|
89
91
|
: err({ type: "AppName", value }), (error) => `The value ${JSON.stringify(error.value)} is not between 1 and 41 characters.`);
|
|
92
|
+
/**
|
|
93
|
+
* Stable valid {@link AppName} for tests and examples.
|
|
94
|
+
*
|
|
95
|
+
* @group Testing
|
|
96
|
+
*/
|
|
90
97
|
export const testAppName = /*#__PURE__*/ AppName.orThrow("AppName");
|
|
91
98
|
/**
|
|
92
99
|
* Creates shared dependencies used by all {@link createEvolu} instances on a
|
|
@@ -94,31 +101,45 @@ export const testAppName = /*#__PURE__*/ AppName.orThrow("AppName");
|
|
|
94
101
|
*
|
|
95
102
|
* Call this once per platform and reuse the returned deps when creating
|
|
96
103
|
* multiple Evolu instances. The returned deps object owns long-lived resources
|
|
97
|
-
* such as worker channels and the shared {@link EvoluErrorDep.evoluError}
|
|
98
|
-
*
|
|
104
|
+
* such as worker channels and the shared {@link EvoluErrorDep.evoluError} and
|
|
105
|
+
* {@link SyncStateDep.syncState} stores.
|
|
99
106
|
*
|
|
100
107
|
* Dispose it only during app shutdown.
|
|
108
|
+
*
|
|
109
|
+
* @group Construction
|
|
101
110
|
*/
|
|
102
111
|
export const createEvoluDeps = (deps) => {
|
|
103
112
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
104
113
|
try {
|
|
105
114
|
const { createBroadcastChannel, sharedWorker } = deps;
|
|
106
115
|
const console = deps.console ?? createConsole();
|
|
116
|
+
// Opened when the worker connects.
|
|
117
|
+
let syncStateBroadcastChannel = null;
|
|
118
|
+
let tabLeaderElection = null;
|
|
107
119
|
const disposer = __addDisposableResource(env_1, new DisposableStack(), false);
|
|
108
120
|
disposer.use(sharedWorker);
|
|
109
121
|
const evoluError = disposer.use(createStore(null));
|
|
122
|
+
const syncState = disposer.use(createStore(null));
|
|
123
|
+
disposer.defer(() => {
|
|
124
|
+
syncStateBroadcastChannel?.[Symbol.dispose]();
|
|
125
|
+
});
|
|
110
126
|
const consoleEntryOrErrorBroadcastChannel = disposer.use(createBroadcastChannel(consoleEntryOrErrorBroadcastChannelName));
|
|
127
|
+
const setEvoluError = (error) => {
|
|
128
|
+
if (evoluError.get()?.type === "UnsupportedDbVersionError")
|
|
129
|
+
return;
|
|
130
|
+
evoluError.set(error);
|
|
131
|
+
};
|
|
111
132
|
consoleEntryOrErrorBroadcastChannel.onMessage = (message) => {
|
|
112
133
|
switch (message.type) {
|
|
113
134
|
case "ConsoleEntry":
|
|
114
135
|
console.write(message.entry);
|
|
115
136
|
// Fallback channel for unexpected errors without EvoluError typing.
|
|
116
137
|
if (message.entry.method === "error") {
|
|
117
|
-
|
|
138
|
+
setEvoluError(createUnknownError(message.entry.args));
|
|
118
139
|
}
|
|
119
140
|
break;
|
|
120
141
|
case "Error":
|
|
121
|
-
|
|
142
|
+
setEvoluError(message.error);
|
|
122
143
|
// Keep typed errors visible in logs as operational failures.
|
|
123
144
|
console.error(message.error);
|
|
124
145
|
break;
|
|
@@ -127,18 +148,57 @@ export const createEvoluDeps = (deps) => {
|
|
|
127
148
|
}
|
|
128
149
|
};
|
|
129
150
|
sharedWorker.port.onMessage = (message) => {
|
|
130
|
-
|
|
151
|
+
switch (message.type) {
|
|
152
|
+
case "DbWorkerInit":
|
|
153
|
+
deps.createDbWorker().postMessage(message, [message.port]);
|
|
154
|
+
break;
|
|
155
|
+
case "Error":
|
|
156
|
+
// Sent to this tab only: its database refused startup, or its worker
|
|
157
|
+
// still waits for another build.
|
|
158
|
+
setEvoluError(message.error);
|
|
159
|
+
console.error(message.error);
|
|
160
|
+
break;
|
|
161
|
+
case "Waiting":
|
|
162
|
+
case "StorageUnavailable":
|
|
163
|
+
// Platform adapters act on these; see Builds and Storage in the Shared
|
|
164
|
+
// module.
|
|
165
|
+
break;
|
|
166
|
+
case "Connected": {
|
|
167
|
+
assert(!syncStateBroadcastChannel, "The shared worker connects once.");
|
|
168
|
+
// The wait the error reported is over.
|
|
169
|
+
if (evoluError.get()?.type === "OtherBuildRunningError") {
|
|
170
|
+
evoluError.set(null);
|
|
171
|
+
}
|
|
172
|
+
// The worker is the channel's only sender, and one sender's messages
|
|
173
|
+
// arrive in order, so the last one is current.
|
|
174
|
+
syncStateBroadcastChannel = createBroadcastChannel(message.syncStateChannelName);
|
|
175
|
+
syncStateBroadcastChannel.onMessage = (state) => {
|
|
176
|
+
syncState.set(state);
|
|
177
|
+
};
|
|
178
|
+
// Asking only after listening misses no snapshot.
|
|
179
|
+
sharedWorker.port.postMessage({ type: "RequestSyncState" });
|
|
180
|
+
// Only this worker's tabs compete, so a tab of another worker never
|
|
181
|
+
// hosts its DbWorkers.
|
|
182
|
+
tabLeaderElection = acquireLeaderLockCallback(deps)(`tab-${message.workerId}`, () => {
|
|
183
|
+
sharedWorker.port.postMessage({
|
|
184
|
+
type: "AnnounceTabLeader",
|
|
185
|
+
consoleLevel: console.getLevel(),
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
default:
|
|
191
|
+
exhaustiveCheck(message);
|
|
192
|
+
}
|
|
131
193
|
};
|
|
132
|
-
disposer.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
consoleLevel: console.getLevel(),
|
|
136
|
-
});
|
|
137
|
-
}));
|
|
194
|
+
disposer.defer(() => {
|
|
195
|
+
tabLeaderElection?.[Symbol.dispose]();
|
|
196
|
+
});
|
|
138
197
|
return disposable({
|
|
139
198
|
...deps,
|
|
140
199
|
console,
|
|
141
200
|
evoluError,
|
|
201
|
+
syncState,
|
|
142
202
|
}, disposer);
|
|
143
203
|
}
|
|
144
204
|
catch (e_1) {
|
|
@@ -152,6 +212,8 @@ export const createEvoluDeps = (deps) => {
|
|
|
152
212
|
/**
|
|
153
213
|
* Creates an {@link Evolu} instance from {@link EvoluSchema} and
|
|
154
214
|
* {@link EvoluConfig}.
|
|
215
|
+
*
|
|
216
|
+
* @group Construction
|
|
155
217
|
*/
|
|
156
218
|
export const createEvolu = (schema, config) => async (run) => {
|
|
157
219
|
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
@@ -269,10 +331,7 @@ export const createEvolu = (schema, config) => async (run) => {
|
|
|
269
331
|
}
|
|
270
332
|
case "RefreshQueries": {
|
|
271
333
|
releaseUnsubscribedLoadingPromises();
|
|
272
|
-
const queries = new Set(
|
|
273
|
-
...loadingPromisesByQuery.keys(),
|
|
274
|
-
...subscribedQueriesRefCount.keys(),
|
|
275
|
-
]);
|
|
334
|
+
const queries = new Set(subscribedQueriesRefCount.keys());
|
|
276
335
|
if (isNonEmptySet(queries))
|
|
277
336
|
postMessage({ type: "Query", queries });
|
|
278
337
|
break;
|
|
@@ -412,6 +471,27 @@ export const createEvolu = (schema, config) => async (run) => {
|
|
|
412
471
|
previousRows = rows;
|
|
413
472
|
listener();
|
|
414
473
|
});
|
|
474
|
+
// Invalidation can happen after loading but before a framework
|
|
475
|
+
// subscribes. Register first so subsequent invalidations also
|
|
476
|
+
// refresh this query.
|
|
477
|
+
const loadingPromise = loadingPromisesByQuery.get(query);
|
|
478
|
+
if (loadingPromise?.releaseOnResolve) {
|
|
479
|
+
// Retain the pending promise for its awaiters, but queue a read
|
|
480
|
+
// after the mutation or sync that invalidated its result.
|
|
481
|
+
loadingPromise.releaseOnResolve = false;
|
|
482
|
+
queryBatch.push(query);
|
|
483
|
+
}
|
|
484
|
+
else if (!loadingPromise) {
|
|
485
|
+
const rows = rowsByQueryMapStore.get().get(query);
|
|
486
|
+
if (rows) {
|
|
487
|
+
// Queue a read, but keep cached rows available to React use()
|
|
488
|
+
// so a render before the worker responds does not suspend.
|
|
489
|
+
void loadQuery(query);
|
|
490
|
+
const entry = loadingPromisesByQuery.get(query);
|
|
491
|
+
assertNotUndefined(entry);
|
|
492
|
+
fulfillLoadingPromise(entry, rows);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
415
495
|
return () => {
|
|
416
496
|
assert(isSubscribed, "subscribeQuery unsubscribe can be called only once.");
|
|
417
497
|
isSubscribed = false;
|
|
@@ -439,6 +519,13 @@ export const createEvolu = (schema, config) => async (run) => {
|
|
|
439
519
|
todo();
|
|
440
520
|
},
|
|
441
521
|
useOwner,
|
|
522
|
+
requestSync: (ownerId) => {
|
|
523
|
+
// Do not let the forced mutation flush overtake pending owner actions.
|
|
524
|
+
useOwnerBatch.flushNow();
|
|
525
|
+
// Queue preceding mutations before the reconciliation request.
|
|
526
|
+
mutateBatch.flushNow();
|
|
527
|
+
useOwnerBatch.push({ action: "sync", ownerId });
|
|
528
|
+
},
|
|
442
529
|
}, disposer));
|
|
443
530
|
}
|
|
444
531
|
catch (e_2) {
|
|
@@ -337,38 +337,27 @@ export interface OwnerWebSocketTransport extends Typed<"WebSocket"> {
|
|
|
337
337
|
*
|
|
338
338
|
* ```ts
|
|
339
339
|
* import {
|
|
340
|
-
* AppName,
|
|
341
340
|
* assertEqual,
|
|
342
|
-
* assertTrue,
|
|
343
|
-
* createAppOwner,
|
|
344
341
|
* createEvolu,
|
|
345
342
|
* createOwnerWebSocketTransport,
|
|
346
|
-
*
|
|
347
|
-
*
|
|
348
|
-
*
|
|
343
|
+
* testAppName,
|
|
344
|
+
* testAppOwner,
|
|
345
|
+
* testEvoluSchema,
|
|
349
346
|
* } from "@evolu/common";
|
|
350
347
|
*
|
|
351
|
-
* // Create once, persist the mnemonic securely, and restore it on later runs.
|
|
352
|
-
* const appOwner = createAppOwner(
|
|
353
|
-
* createOwnerSecret({ randomBytes: createRandomBytes() }),
|
|
354
|
-
* );
|
|
355
348
|
* const transport = createOwnerWebSocketTransport({
|
|
356
349
|
* url: "wss://relay.evolu.dev",
|
|
357
|
-
* ownerId:
|
|
350
|
+
* ownerId: testAppOwner.id,
|
|
351
|
+
* });
|
|
352
|
+
* const _createTodoEvolu = createEvolu(testEvoluSchema, {
|
|
353
|
+
* appName: testAppName,
|
|
354
|
+
* appOwner: testAppOwner,
|
|
355
|
+
* transports: [transport],
|
|
358
356
|
* });
|
|
359
|
-
* const createTodoEvolu = createEvolu(
|
|
360
|
-
* { todo: { id: id("Todo") } },
|
|
361
|
-
* {
|
|
362
|
-
* appName: AppName.orThrow("OwnerTransportExample"),
|
|
363
|
-
* appOwner,
|
|
364
|
-
* transports: [transport],
|
|
365
|
-
* },
|
|
366
|
-
* );
|
|
367
357
|
*
|
|
368
|
-
* assertTrue(typeof createTodoEvolu === "function");
|
|
369
358
|
* assertEqual(transport, {
|
|
370
359
|
* type: "WebSocket",
|
|
371
|
-
* url: `wss://relay.evolu.dev?ownerId=${
|
|
360
|
+
* url: `wss://relay.evolu.dev?ownerId=${testAppOwner.id}`,
|
|
372
361
|
* });
|
|
373
362
|
* ```
|
|
374
363
|
*
|
|
@@ -390,21 +379,15 @@ export declare const createOwnerWebSocketTransport: (config: {
|
|
|
390
379
|
* ```ts
|
|
391
380
|
* import {
|
|
392
381
|
* assertEqual,
|
|
393
|
-
* createAppOwner,
|
|
394
|
-
* createOwnerSecret,
|
|
395
|
-
* createRandomBytes,
|
|
396
382
|
* parseOwnerIdFromOwnerWebSocketTransportUrl,
|
|
383
|
+
* testAppOwner,
|
|
397
384
|
* } from "@evolu/common";
|
|
398
385
|
*
|
|
399
|
-
*
|
|
400
|
-
* const appOwner = createAppOwner(
|
|
401
|
-
* createOwnerSecret({ randomBytes: createRandomBytes() }),
|
|
402
|
-
* );
|
|
403
|
-
* const url = `/sync?ownerId=${appOwner.id}`;
|
|
386
|
+
* const url = `/sync?ownerId=${testAppOwner.id}`;
|
|
404
387
|
*
|
|
405
388
|
* assertEqual(
|
|
406
389
|
* parseOwnerIdFromOwnerWebSocketTransportUrl(url),
|
|
407
|
-
*
|
|
390
|
+
* testAppOwner.id,
|
|
408
391
|
* );
|
|
409
392
|
* assertEqual(
|
|
410
393
|
* parseOwnerIdFromOwnerWebSocketTransportUrl("/sync?ownerId=invalid"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Owner.d.ts","sourceRoot":"","sources":["../../../src/local-first/Owner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Owner.d.ts","sourceRoot":"","sources":["../../../src/local-first/Owner.ts"],"names":[],"mappings":"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"}
|
|
@@ -222,38 +222,27 @@ export const createSharedReadonlyOwner = (sharedOwner) => ({
|
|
|
222
222
|
*
|
|
223
223
|
* ```ts
|
|
224
224
|
* import {
|
|
225
|
-
* AppName,
|
|
226
225
|
* assertEqual,
|
|
227
|
-
* assertTrue,
|
|
228
|
-
* createAppOwner,
|
|
229
226
|
* createEvolu,
|
|
230
227
|
* createOwnerWebSocketTransport,
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
228
|
+
* testAppName,
|
|
229
|
+
* testAppOwner,
|
|
230
|
+
* testEvoluSchema,
|
|
234
231
|
* } from "@evolu/common";
|
|
235
232
|
*
|
|
236
|
-
* // Create once, persist the mnemonic securely, and restore it on later runs.
|
|
237
|
-
* const appOwner = createAppOwner(
|
|
238
|
-
* createOwnerSecret({ randomBytes: createRandomBytes() }),
|
|
239
|
-
* );
|
|
240
233
|
* const transport = createOwnerWebSocketTransport({
|
|
241
234
|
* url: "wss://relay.evolu.dev",
|
|
242
|
-
* ownerId:
|
|
235
|
+
* ownerId: testAppOwner.id,
|
|
236
|
+
* });
|
|
237
|
+
* const _createTodoEvolu = createEvolu(testEvoluSchema, {
|
|
238
|
+
* appName: testAppName,
|
|
239
|
+
* appOwner: testAppOwner,
|
|
240
|
+
* transports: [transport],
|
|
243
241
|
* });
|
|
244
|
-
* const createTodoEvolu = createEvolu(
|
|
245
|
-
* { todo: { id: id("Todo") } },
|
|
246
|
-
* {
|
|
247
|
-
* appName: AppName.orThrow("OwnerTransportExample"),
|
|
248
|
-
* appOwner,
|
|
249
|
-
* transports: [transport],
|
|
250
|
-
* },
|
|
251
|
-
* );
|
|
252
242
|
*
|
|
253
|
-
* assertTrue(typeof createTodoEvolu === "function");
|
|
254
243
|
* assertEqual(transport, {
|
|
255
244
|
* type: "WebSocket",
|
|
256
|
-
* url: `wss://relay.evolu.dev?ownerId=${
|
|
245
|
+
* url: `wss://relay.evolu.dev?ownerId=${testAppOwner.id}`,
|
|
257
246
|
* });
|
|
258
247
|
* ```
|
|
259
248
|
*
|
|
@@ -275,21 +264,15 @@ export const createOwnerWebSocketTransport = (config) => ({
|
|
|
275
264
|
* ```ts
|
|
276
265
|
* import {
|
|
277
266
|
* assertEqual,
|
|
278
|
-
* createAppOwner,
|
|
279
|
-
* createOwnerSecret,
|
|
280
|
-
* createRandomBytes,
|
|
281
267
|
* parseOwnerIdFromOwnerWebSocketTransportUrl,
|
|
268
|
+
* testAppOwner,
|
|
282
269
|
* } from "@evolu/common";
|
|
283
270
|
*
|
|
284
|
-
*
|
|
285
|
-
* const appOwner = createAppOwner(
|
|
286
|
-
* createOwnerSecret({ randomBytes: createRandomBytes() }),
|
|
287
|
-
* );
|
|
288
|
-
* const url = `/sync?ownerId=${appOwner.id}`;
|
|
271
|
+
* const url = `/sync?ownerId=${testAppOwner.id}`;
|
|
289
272
|
*
|
|
290
273
|
* assertEqual(
|
|
291
274
|
* parseOwnerIdFromOwnerWebSocketTransportUrl(url),
|
|
292
|
-
*
|
|
275
|
+
* testAppOwner.id,
|
|
293
276
|
* );
|
|
294
277
|
* assertEqual(
|
|
295
278
|
* parseOwnerIdFromOwnerWebSocketTransportUrl("/sync?ownerId=invalid"),
|
|
@@ -175,15 +175,14 @@
|
|
|
175
175
|
*/
|
|
176
176
|
import { type NonEmptyReadonlyArray } from "../Array.ts";
|
|
177
177
|
import type { Brand } from "../Brand.ts";
|
|
178
|
-
import { type Buffer } from "../
|
|
179
|
-
import type { ConsoleDep } from "../Console.ts";
|
|
178
|
+
import { type Buffer } from "../Bytes.ts";
|
|
180
179
|
import { type DecryptWithXChaCha20Poly1305Error, EncryptionKey, type RandomBytesDep } from "../Crypto.ts";
|
|
181
180
|
import { type Result } from "../Result.ts";
|
|
182
181
|
import type { SqliteValue } from "../Sqlite.ts";
|
|
183
182
|
import { type Task } from "../Task.ts";
|
|
184
183
|
import { NonNegativeInt, PositiveInt, type Typed } from "../Type.ts";
|
|
185
184
|
import { type Owner, type OwnerError, OwnerId, OwnerWriteKey } from "./Owner.ts";
|
|
186
|
-
import { type BaseRange, type CrdtMessage, DbChange, type EncryptedCrdtMessage, type EncryptedDbChange, type FingerprintRange, RangeType, type SkipRange, type StorageDep } from "./Storage.ts";
|
|
185
|
+
import { type BaseRange, type CrdtMessage, DbChange, type EncryptedCrdtMessage, type EncryptedDbChange, type FingerprintRange, RangeType, type SkipRange, type StorageDep, type StorageWriteMessagesError } from "./Storage.ts";
|
|
187
186
|
import { Timestamp } from "./Timestamp.ts";
|
|
188
187
|
/**
|
|
189
188
|
* Protocol message maximum size.
|
|
@@ -243,17 +242,26 @@ export declare const MessageType: {
|
|
|
243
242
|
readonly Broadcast: 2;
|
|
244
243
|
};
|
|
245
244
|
export type MessageType = (typeof MessageType)[keyof typeof MessageType];
|
|
246
|
-
/**
|
|
245
|
+
/**
|
|
246
|
+
* The routing prefix of a {@link ProtocolMessage}.
|
|
247
|
+
*
|
|
248
|
+
* The version and the {@link OwnerId} begin every message of every protocol
|
|
249
|
+
* version. The message type follows them only in messages of this peer's
|
|
250
|
+
* version; the layout after the prefix is unknown for any other version.
|
|
251
|
+
*/
|
|
247
252
|
export interface ProtocolHeader extends Typed<"ProtocolHeader"> {
|
|
248
|
-
readonly version:
|
|
253
|
+
readonly version: NonNegativeInt;
|
|
249
254
|
readonly ownerId: OwnerId;
|
|
250
|
-
|
|
255
|
+
/** Absent when `version` differs from {@link protocolVersion}. */
|
|
256
|
+
readonly messageType?: MessageType;
|
|
251
257
|
}
|
|
252
258
|
/**
|
|
253
|
-
* Parses the
|
|
259
|
+
* Parses the {@link ProtocolHeader} a transport needs to route a message.
|
|
254
260
|
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
261
|
+
* Parsing succeeds for versions this peer cannot process, because a
|
|
262
|
+
* non-initiator answers a version mismatch with only its version and the owner
|
|
263
|
+
* ID. Rejecting that reply here would drop it before
|
|
264
|
+
* {@link applyProtocolMessageAsClient} can report {@link ProtocolVersionError}.
|
|
257
265
|
*/
|
|
258
266
|
export declare const parseProtocolHeader: (inputMessage: Uint8Array) => Result<ProtocolHeader, ProtocolInvalidDataError>;
|
|
259
267
|
export declare const SubscriptionFlags: {
|
|
@@ -311,8 +319,9 @@ export interface ProtocolWriteError extends OwnerError, Typed<"ProtocolWriteErro
|
|
|
311
319
|
* still sync normally.
|
|
312
320
|
*
|
|
313
321
|
* Clients should prompt the user to contact the relay provider or upgrade their
|
|
314
|
-
* plan. Quota monitoring and management is the relay provider's
|
|
315
|
-
*
|
|
322
|
+
* plan. Quota monitoring and management is the relay provider's responsibility.
|
|
323
|
+
* After additional quota is available, call {@link Evolu.requestSync} with the
|
|
324
|
+
* affected owner's ID to retry locally stored changes.
|
|
316
325
|
*/
|
|
317
326
|
export interface ProtocolQuotaError extends OwnerError, Typed<"ProtocolQuotaError"> {
|
|
318
327
|
}
|
|
@@ -339,8 +348,48 @@ export interface ProtocolTimestampMismatchError extends Typed<"ProtocolTimestamp
|
|
|
339
348
|
* unidirectional and stateless transports.
|
|
340
349
|
*/
|
|
341
350
|
export declare const createProtocolMessageFromCrdtMessages: (deps: RandomBytesDep) => (owner: Owner, messages: NonEmptyReadonlyArray<CrdtMessage>, maxSize?: ProtocolMessageMaxSize) => ProtocolMessage;
|
|
351
|
+
/**
|
|
352
|
+
* Creates size-limited broadcast {@link ProtocolMessage}s containing every
|
|
353
|
+
* supplied {@link CrdtMessage}.
|
|
354
|
+
*
|
|
355
|
+
* Broadcasts contain no synchronization ranges or write key. Unlike
|
|
356
|
+
* {@link createProtocolMessageFromCrdtMessages}, this function splits all
|
|
357
|
+
* messages into complete frames rather than relying on later synchronization
|
|
358
|
+
* rounds to deliver messages that do not fit. Each individual message must fit
|
|
359
|
+
* the configured size limit.
|
|
360
|
+
*
|
|
361
|
+
* ### Example
|
|
362
|
+
*
|
|
363
|
+
* ```ts
|
|
364
|
+
* import {
|
|
365
|
+
* assertSame,
|
|
366
|
+
* createId,
|
|
367
|
+
* getOrThrow,
|
|
368
|
+
* testCreateDeps,
|
|
369
|
+
* } from "@evolu/common";
|
|
370
|
+
* import {
|
|
371
|
+
* createProtocolBroadcastMessagesFromCrdtMessages,
|
|
372
|
+
* MessageType,
|
|
373
|
+
* parseProtocolHeader,
|
|
374
|
+
* testAppOwner,
|
|
375
|
+
* testCreateCrdtMessage,
|
|
376
|
+
* } from "@evolu/common/local-first";
|
|
377
|
+
*
|
|
378
|
+
* const deps = testCreateDeps();
|
|
379
|
+
* const broadcasts = createProtocolBroadcastMessagesFromCrdtMessages(deps)(
|
|
380
|
+
* testAppOwner,
|
|
381
|
+
* [testCreateCrdtMessage(createId(deps), 1, "Ada")],
|
|
382
|
+
* );
|
|
383
|
+
* assertSame(broadcasts.length, 1);
|
|
384
|
+
* assertSame(
|
|
385
|
+
* getOrThrow(parseProtocolHeader(broadcasts[0])).messageType,
|
|
386
|
+
* MessageType.Broadcast,
|
|
387
|
+
* );
|
|
388
|
+
* ```
|
|
389
|
+
*/
|
|
390
|
+
export declare const createProtocolBroadcastMessagesFromCrdtMessages: (deps: RandomBytesDep) => (owner: Owner, messages: NonEmptyReadonlyArray<CrdtMessage>, maxSize?: ProtocolMessageMaxSize) => NonEmptyReadonlyArray<ProtocolMessage>;
|
|
342
391
|
/** Creates a {@link ProtocolMessage} for sync. */
|
|
343
|
-
export declare const createProtocolMessageForSync: (deps: StorageDep
|
|
392
|
+
export declare const createProtocolMessageForSync: (deps: StorageDep) => (ownerId: OwnerId, subscriptionFlag?: SubscriptionFlag) => ProtocolMessage;
|
|
344
393
|
export declare const createProtocolMessageForUnsubscribe: (ownerId: OwnerId) => ProtocolMessage;
|
|
345
394
|
/**
|
|
346
395
|
* Mutable builder for constructing {@link ProtocolMessage} respecting size
|
|
@@ -388,18 +437,47 @@ export interface ApplyProtocolMessageAsClientOptions {
|
|
|
388
437
|
version?: NonNegativeInt;
|
|
389
438
|
}
|
|
390
439
|
/**
|
|
391
|
-
* Result
|
|
392
|
-
*
|
|
440
|
+
* Result of {@link applyProtocolMessageAsClient}: a continuation for the
|
|
441
|
+
* non-initiator.
|
|
393
442
|
*/
|
|
394
443
|
export interface ApplyProtocolMessageAsClientResponse extends Typed<"Response"> {
|
|
395
444
|
readonly message: ProtocolMessage;
|
|
445
|
+
/** The uploaded messages, if any, for delivery to other local databases. */
|
|
446
|
+
readonly broadcast?: ProtocolMessage;
|
|
396
447
|
}
|
|
397
|
-
|
|
448
|
+
/**
|
|
449
|
+
* Result of {@link applyProtocolMessageAsClient}: the response needed nothing
|
|
450
|
+
* more, because its ranges all matched or it carried none.
|
|
451
|
+
*/
|
|
452
|
+
export interface ApplyProtocolMessageAsClientConverged extends Typed<"Converged"> {
|
|
398
453
|
}
|
|
454
|
+
/**
|
|
455
|
+
* Result of {@link applyProtocolMessageAsClient}: a Broadcast message whose
|
|
456
|
+
* messages were written.
|
|
457
|
+
*/
|
|
399
458
|
export interface ApplyProtocolMessageAsClientBroadcast extends Typed<"Broadcast"> {
|
|
400
459
|
}
|
|
401
|
-
|
|
402
|
-
|
|
460
|
+
/**
|
|
461
|
+
* Result of {@link applyProtocolMessageAsClient}: the messages were written, but
|
|
462
|
+
* without a write key no ranges are reconciled.
|
|
463
|
+
*/
|
|
464
|
+
export interface ApplyProtocolMessageAsClientReadonly extends Typed<"Readonly"> {
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Result of {@link applyProtocolMessageAsClient}: the protocol logged an
|
|
468
|
+
* exception thrown by calling the storage's `writeMessages` (`Write`) or a
|
|
469
|
+
* failed range reconciliation (`Sync`) to the console. An exception while the
|
|
470
|
+
* returned Task runs, as the built-in storages throw, is a defect that aborts
|
|
471
|
+
* the Run instead. Expected write rejections return the original
|
|
472
|
+
* {@link StorageWriteMessagesError} through {@link Result}. Reconciliation can
|
|
473
|
+
* fail after messages have been committed; that failure does not roll back the
|
|
474
|
+
* write.
|
|
475
|
+
*/
|
|
476
|
+
export interface ApplyProtocolMessageAsClientFailed extends Typed<"Failed"> {
|
|
477
|
+
readonly cause: "Write" | "Sync";
|
|
478
|
+
}
|
|
479
|
+
export type ApplyProtocolMessageAsClientResult = ApplyProtocolMessageAsClientResponse | ApplyProtocolMessageAsClientConverged | ApplyProtocolMessageAsClientBroadcast | ApplyProtocolMessageAsClientReadonly | ApplyProtocolMessageAsClientFailed;
|
|
480
|
+
export declare const applyProtocolMessageAsClient: (inputMessage: Uint8Array, options?: ApplyProtocolMessageAsClientOptions) => Task<ApplyProtocolMessageAsClientResult, ProtocolError | StorageWriteMessagesError, StorageDep>;
|
|
403
481
|
export interface ApplyProtocolMessageAsRelayOptions {
|
|
404
482
|
/** To subscribe an owner for broadcasting. */
|
|
405
483
|
subscribe?: (ownerId: OwnerId) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Protocol.d.ts","sourceRoot":"","sources":["../../../src/local-first/Protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgKG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Protocol.d.ts","sourceRoot":"","sources":["../../../src/local-first/Protocol.ts"],"names":[],"mappings":"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"}
|