convex 1.26.0-alpha.2 → 1.26.0-alpha.3
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/browser.bundle.js +97 -22
- package/dist/browser.bundle.js.map +2 -2
- package/dist/cjs/browser/simple_client.js +25 -0
- package/dist/cjs/browser/simple_client.js.map +2 -2
- package/dist/cjs/browser/sync/client.js +41 -2
- package/dist/cjs/browser/sync/client.js.map +2 -2
- package/dist/cjs/browser/sync/request_manager.js +8 -1
- package/dist/cjs/browser/sync/request_manager.js.map +2 -2
- package/dist/cjs/browser/sync/web_socket_manager.js +5 -1
- package/dist/cjs/browser/sync/web_socket_manager.js.map +2 -2
- package/dist/cjs/bundler/context.js.map +1 -1
- package/dist/cjs/bundler/index.js +32 -8
- package/dist/cjs/bundler/index.js.map +3 -3
- package/dist/cjs/cli/codegen.js +1 -2
- package/dist/cjs/cli/codegen.js.map +2 -2
- package/dist/cjs/cli/deploy.js +0 -1
- package/dist/cjs/cli/deploy.js.map +2 -2
- package/dist/cjs/cli/dev.js +6 -1
- package/dist/cjs/cli/dev.js.map +2 -2
- package/dist/cjs/cli/lib/codegen.js.map +2 -2
- package/dist/cjs/cli/lib/command.js +0 -8
- package/dist/cjs/cli/lib/command.js.map +2 -2
- package/dist/cjs/cli/lib/components.js +1 -10
- package/dist/cjs/cli/lib/components.js.map +2 -2
- package/dist/cjs/cli/lib/config.js +0 -14
- package/dist/cjs/cli/lib/config.js.map +2 -2
- package/dist/cjs/cli/lib/deploy2.js +0 -1
- package/dist/cjs/cli/lib/deploy2.js.map +2 -2
- package/dist/cjs/cli/lib/deploymentSelection.js.map +2 -2
- package/dist/cjs/cli/lib/dev.js +0 -1
- package/dist/cjs/cli/lib/dev.js.map +2 -2
- package/dist/cjs/cli/lib/envvars.js +29 -0
- package/dist/cjs/cli/lib/envvars.js.map +2 -2
- package/dist/cjs/cli/lib/push.js +0 -8
- package/dist/cjs/cli/lib/push.js.map +2 -2
- package/dist/cjs/cli/lib/run.js +0 -1
- package/dist/cjs/cli/lib/run.js.map +2 -2
- package/dist/cjs/cli/lib/usage.js +4 -4
- package/dist/cjs/cli/lib/usage.js.map +1 -1
- package/dist/cjs/cli/lib/utils/prompts.js +4 -4
- package/dist/cjs/cli/lib/utils/prompts.js.map +2 -2
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react/client.js +37 -0
- package/dist/cjs/react/client.js.map +2 -2
- package/dist/cjs/react/index.js +1 -0
- package/dist/cjs/react/index.js.map +2 -2
- package/dist/cjs-types/browser/simple_client.d.ts +19 -0
- package/dist/cjs-types/browser/simple_client.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/client.d.ts +19 -0
- package/dist/cjs-types/browser/sync/client.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/request_manager.d.ts +2 -1
- package/dist/cjs-types/browser/sync/request_manager.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/web_socket_manager.d.ts +2 -1
- package/dist/cjs-types/browser/sync/web_socket_manager.d.ts.map +1 -1
- package/dist/cjs-types/bundler/index.d.ts.map +1 -1
- package/dist/cjs-types/cli/codegen.d.ts.map +1 -1
- package/dist/cjs-types/cli/dev.d.ts +0 -1
- package/dist/cjs-types/cli/dev.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/codegen.d.ts +0 -1
- package/dist/cjs-types/cli/lib/codegen.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/command.d.ts +0 -2
- package/dist/cjs-types/cli/lib/command.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/components.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/config.d.ts +0 -4
- package/dist/cjs-types/cli/lib/config.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/deploy2.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/deploymentSelection.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/dev.d.ts +0 -1
- package/dist/cjs-types/cli/lib/dev.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/envvars.d.ts +1 -0
- package/dist/cjs-types/cli/lib/envvars.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/push.d.ts +0 -1
- package/dist/cjs-types/cli/lib/push.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/run.d.ts.map +1 -1
- package/dist/cjs-types/index.d.ts +1 -1
- package/dist/cjs-types/react/client.d.ts +30 -0
- package/dist/cjs-types/react/client.d.ts.map +1 -1
- package/dist/cjs-types/react/index.d.ts +1 -1
- package/dist/cjs-types/react/index.d.ts.map +1 -1
- package/dist/cli.bundle.cjs +1172 -1352
- package/dist/cli.bundle.cjs.map +4 -4
- package/dist/esm/browser/simple_client.js +25 -0
- package/dist/esm/browser/simple_client.js.map +2 -2
- package/dist/esm/browser/sync/client.js +41 -2
- package/dist/esm/browser/sync/client.js.map +2 -2
- package/dist/esm/browser/sync/request_manager.js +8 -1
- package/dist/esm/browser/sync/request_manager.js.map +2 -2
- package/dist/esm/browser/sync/web_socket_manager.js +5 -1
- package/dist/esm/browser/sync/web_socket_manager.js.map +2 -2
- package/dist/esm/bundler/context.js.map +1 -1
- package/dist/esm/bundler/index.js +31 -7
- package/dist/esm/bundler/index.js.map +2 -2
- package/dist/esm/cli/codegen.js +1 -2
- package/dist/esm/cli/codegen.js.map +2 -2
- package/dist/esm/cli/deploy.js +0 -1
- package/dist/esm/cli/deploy.js.map +2 -2
- package/dist/esm/cli/dev.js +6 -1
- package/dist/esm/cli/dev.js.map +2 -2
- package/dist/esm/cli/lib/codegen.js.map +2 -2
- package/dist/esm/cli/lib/command.js +0 -8
- package/dist/esm/cli/lib/command.js.map +2 -2
- package/dist/esm/cli/lib/components.js +1 -11
- package/dist/esm/cli/lib/components.js.map +2 -2
- package/dist/esm/cli/lib/config.js +0 -13
- package/dist/esm/cli/lib/config.js.map +2 -2
- package/dist/esm/cli/lib/deploy2.js +0 -1
- package/dist/esm/cli/lib/deploy2.js.map +2 -2
- package/dist/esm/cli/lib/deploymentSelection.js.map +2 -2
- package/dist/esm/cli/lib/dev.js +0 -1
- package/dist/esm/cli/lib/dev.js.map +2 -2
- package/dist/esm/cli/lib/envvars.js +28 -0
- package/dist/esm/cli/lib/envvars.js.map +2 -2
- package/dist/esm/cli/lib/push.js +1 -14
- package/dist/esm/cli/lib/push.js.map +2 -2
- package/dist/esm/cli/lib/run.js +0 -1
- package/dist/esm/cli/lib/run.js.map +2 -2
- package/dist/esm/cli/lib/usage.js +4 -4
- package/dist/esm/cli/lib/usage.js.map +1 -1
- package/dist/esm/cli/lib/utils/prompts.js +4 -4
- package/dist/esm/cli/lib/utils/prompts.js.map +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react/client.js +37 -1
- package/dist/esm/react/client.js.map +2 -2
- package/dist/esm/react/index.js +2 -1
- package/dist/esm/react/index.js.map +2 -2
- package/dist/esm-types/browser/simple_client.d.ts +19 -0
- package/dist/esm-types/browser/simple_client.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/client.d.ts +19 -0
- package/dist/esm-types/browser/sync/client.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/request_manager.d.ts +2 -1
- package/dist/esm-types/browser/sync/request_manager.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/web_socket_manager.d.ts +2 -1
- package/dist/esm-types/browser/sync/web_socket_manager.d.ts.map +1 -1
- package/dist/esm-types/bundler/index.d.ts.map +1 -1
- package/dist/esm-types/cli/codegen.d.ts.map +1 -1
- package/dist/esm-types/cli/dev.d.ts +0 -1
- package/dist/esm-types/cli/dev.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/codegen.d.ts +0 -1
- package/dist/esm-types/cli/lib/codegen.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/command.d.ts +0 -2
- package/dist/esm-types/cli/lib/command.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/components.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/config.d.ts +0 -4
- package/dist/esm-types/cli/lib/config.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/deploy2.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/deploymentSelection.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/dev.d.ts +0 -1
- package/dist/esm-types/cli/lib/dev.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/envvars.d.ts +1 -0
- package/dist/esm-types/cli/lib/envvars.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/push.d.ts +0 -1
- package/dist/esm-types/cli/lib/push.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/run.d.ts.map +1 -1
- package/dist/esm-types/index.d.ts +1 -1
- package/dist/esm-types/react/client.d.ts +30 -0
- package/dist/esm-types/react/client.d.ts.map +1 -1
- package/dist/esm-types/react/index.d.ts +1 -1
- package/dist/esm-types/react/index.d.ts.map +1 -1
- package/dist/react.bundle.js +169 -81
- package/dist/react.bundle.js.map +4 -4
- package/package.json +1 -1
- package/src/browser/.claude/settings.local.json +1 -1
- package/src/browser/simple_client.ts +29 -0
- package/src/browser/sync/client.ts +52 -1
- package/src/browser/sync/request_manager.test.ts +59 -1
- package/src/browser/sync/request_manager.ts +10 -1
- package/src/browser/sync/web_socket_manager.ts +4 -0
- package/src/bundler/context.ts +1 -1
- package/src/bundler/index.ts +36 -9
- package/src/cli/codegen.ts +0 -1
- package/src/cli/deploy.ts +0 -1
- package/src/cli/dev.ts +6 -1
- package/src/cli/lib/codegen.ts +0 -1
- package/src/cli/lib/command.ts +0 -10
- package/src/cli/lib/components.ts +0 -12
- package/src/cli/lib/config.ts +4 -24
- package/src/cli/lib/deploy2.ts +0 -1
- package/src/cli/lib/deploymentSelection.ts +2 -0
- package/src/cli/lib/dev.ts +0 -2
- package/src/cli/lib/envvars.ts +42 -0
- package/src/cli/lib/push.ts +1 -17
- package/src/cli/lib/run.ts +0 -1
- package/src/cli/lib/usage.ts +4 -4
- package/src/cli/lib/utils/prompts.ts +4 -4
- package/src/index.ts +1 -1
- package/src/react/client.ts +62 -1
- package/src/react/index.ts +1 -0
- package/dist/cjs/bundler/debugBundle.js +0 -192
- package/dist/cjs/bundler/debugBundle.js.map +0 -7
- package/dist/cjs/bundler/depgraph.js +0 -119
- package/dist/cjs/bundler/depgraph.js.map +0 -7
- package/dist/cjs-types/bundler/debugBundle.d.ts +0 -46
- package/dist/cjs-types/bundler/debugBundle.d.ts.map +0 -1
- package/dist/cjs-types/bundler/depgraph.d.ts +0 -41
- package/dist/cjs-types/bundler/depgraph.d.ts.map +0 -1
- package/dist/esm/bundler/debugBundle.js +0 -163
- package/dist/esm/bundler/debugBundle.js.map +0 -7
- package/dist/esm/bundler/depgraph.js +0 -87
- package/dist/esm/bundler/depgraph.js.map +0 -7
- package/dist/esm-types/bundler/debugBundle.d.ts +0 -46
- package/dist/esm-types/bundler/debugBundle.d.ts.map +0 -1
- package/dist/esm-types/bundler/depgraph.d.ts +0 -41
- package/dist/esm-types/bundler/depgraph.d.ts.map +0 -1
- package/src/bundler/debugBundle.ts +0 -220
- package/src/bundler/depgraph.ts +0 -170
package/dist/browser.bundle.js
CHANGED
|
@@ -28,7 +28,7 @@ var convex = (() => {
|
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
// src/index.ts
|
|
31
|
-
var version = "1.26.0-alpha.
|
|
31
|
+
var version = "1.26.0-alpha.3";
|
|
32
32
|
|
|
33
33
|
// src/values/base64.ts
|
|
34
34
|
var base64_exports = {};
|
|
@@ -897,8 +897,9 @@ var convex = (() => {
|
|
|
897
897
|
|
|
898
898
|
// src/browser/sync/request_manager.ts
|
|
899
899
|
var RequestManager = class {
|
|
900
|
-
constructor(logger) {
|
|
900
|
+
constructor(logger, markConnectionStateDirty) {
|
|
901
901
|
this.logger = logger;
|
|
902
|
+
this.markConnectionStateDirty = markConnectionStateDirty;
|
|
902
903
|
this.inflightRequests = /* @__PURE__ */ new Map();
|
|
903
904
|
this.requestsOlderThanRestart = /* @__PURE__ */ new Set();
|
|
904
905
|
}
|
|
@@ -919,6 +920,7 @@ var convex = (() => {
|
|
|
919
920
|
this.inflightActionsCount++;
|
|
920
921
|
}
|
|
921
922
|
});
|
|
923
|
+
this.markConnectionStateDirty();
|
|
922
924
|
return result;
|
|
923
925
|
}
|
|
924
926
|
/**
|
|
@@ -971,6 +973,7 @@ var convex = (() => {
|
|
|
971
973
|
} else if (requestInfo.message.type === "Mutation") {
|
|
972
974
|
this.inflightMutationsCount--;
|
|
973
975
|
}
|
|
976
|
+
this.markConnectionStateDirty();
|
|
974
977
|
return { requestId: response.requestId, result };
|
|
975
978
|
}
|
|
976
979
|
requestInfo.status = {
|
|
@@ -998,6 +1001,9 @@ var convex = (() => {
|
|
|
998
1001
|
this.requestsOlderThanRestart.delete(requestId);
|
|
999
1002
|
}
|
|
1000
1003
|
}
|
|
1004
|
+
if (completeRequests.size > 0) {
|
|
1005
|
+
this.markConnectionStateDirty();
|
|
1006
|
+
}
|
|
1001
1007
|
return completeRequests;
|
|
1002
1008
|
}
|
|
1003
1009
|
restart() {
|
|
@@ -1025,6 +1031,7 @@ var convex = (() => {
|
|
|
1025
1031
|
});
|
|
1026
1032
|
}
|
|
1027
1033
|
}
|
|
1034
|
+
this.markConnectionStateDirty();
|
|
1028
1035
|
return allMessages;
|
|
1029
1036
|
}
|
|
1030
1037
|
resume() {
|
|
@@ -1576,6 +1583,25 @@ var convex = (() => {
|
|
|
1576
1583
|
return "Unknown";
|
|
1577
1584
|
}
|
|
1578
1585
|
var WebSocketManager = class {
|
|
1586
|
+
constructor(uri, callbacks, webSocketConstructor, logger, markConnectionStateDirty) {
|
|
1587
|
+
this.markConnectionStateDirty = markConnectionStateDirty;
|
|
1588
|
+
this.webSocketConstructor = webSocketConstructor;
|
|
1589
|
+
this.socket = { state: "disconnected" };
|
|
1590
|
+
this.connectionCount = 0;
|
|
1591
|
+
this.lastCloseReason = "InitialConnect";
|
|
1592
|
+
this.defaultInitialBackoff = 1e3;
|
|
1593
|
+
this.maxBackoff = 16e3;
|
|
1594
|
+
this.retries = 0;
|
|
1595
|
+
this.serverInactivityThreshold = 3e4;
|
|
1596
|
+
this.reconnectDueToServerInactivityTimeout = null;
|
|
1597
|
+
this.uri = uri;
|
|
1598
|
+
this.onOpen = callbacks.onOpen;
|
|
1599
|
+
this.onResume = callbacks.onResume;
|
|
1600
|
+
this.onMessage = callbacks.onMessage;
|
|
1601
|
+
this.onServerDisconnectError = callbacks.onServerDisconnectError;
|
|
1602
|
+
this.logger = logger;
|
|
1603
|
+
this.connect();
|
|
1604
|
+
}
|
|
1579
1605
|
socket;
|
|
1580
1606
|
connectionCount;
|
|
1581
1607
|
_hasEverConnected = false;
|
|
@@ -1597,29 +1623,12 @@ var convex = (() => {
|
|
|
1597
1623
|
webSocketConstructor;
|
|
1598
1624
|
logger;
|
|
1599
1625
|
onServerDisconnectError;
|
|
1600
|
-
constructor(uri, callbacks, webSocketConstructor, logger) {
|
|
1601
|
-
this.webSocketConstructor = webSocketConstructor;
|
|
1602
|
-
this.socket = { state: "disconnected" };
|
|
1603
|
-
this.connectionCount = 0;
|
|
1604
|
-
this.lastCloseReason = "InitialConnect";
|
|
1605
|
-
this.defaultInitialBackoff = 1e3;
|
|
1606
|
-
this.maxBackoff = 16e3;
|
|
1607
|
-
this.retries = 0;
|
|
1608
|
-
this.serverInactivityThreshold = 3e4;
|
|
1609
|
-
this.reconnectDueToServerInactivityTimeout = null;
|
|
1610
|
-
this.uri = uri;
|
|
1611
|
-
this.onOpen = callbacks.onOpen;
|
|
1612
|
-
this.onResume = callbacks.onResume;
|
|
1613
|
-
this.onMessage = callbacks.onMessage;
|
|
1614
|
-
this.onServerDisconnectError = callbacks.onServerDisconnectError;
|
|
1615
|
-
this.logger = logger;
|
|
1616
|
-
this.connect();
|
|
1617
|
-
}
|
|
1618
1626
|
setSocketState(state) {
|
|
1619
1627
|
this.socket = state;
|
|
1620
1628
|
this._logVerbose(
|
|
1621
1629
|
`socket state changed: ${this.socket.state}, paused: ${"paused" in this.socket ? this.socket.paused : void 0}`
|
|
1622
1630
|
);
|
|
1631
|
+
this.markConnectionStateDirty();
|
|
1623
1632
|
}
|
|
1624
1633
|
connect() {
|
|
1625
1634
|
if (this.socket.state === "terminated") {
|
|
@@ -1673,6 +1682,7 @@ var convex = (() => {
|
|
|
1673
1682
|
const response = this.onMessage(serverMessage);
|
|
1674
1683
|
if (response.hasSyncedPastLastReconnect) {
|
|
1675
1684
|
this.retries = 0;
|
|
1685
|
+
this.markConnectionStateDirty();
|
|
1676
1686
|
}
|
|
1677
1687
|
};
|
|
1678
1688
|
ws.onclose = (event) => {
|
|
@@ -1753,6 +1763,7 @@ var convex = (() => {
|
|
|
1753
1763
|
scheduleReconnect(reason) {
|
|
1754
1764
|
this.socket = { state: "disconnected" };
|
|
1755
1765
|
const backoff = this.nextBackoff(reason);
|
|
1766
|
+
this.markConnectionStateDirty();
|
|
1756
1767
|
this.logger.log(`Attempting reconnect in ${backoff}ms`);
|
|
1757
1768
|
setTimeout(() => this.connect(), backoff);
|
|
1758
1769
|
}
|
|
@@ -2388,6 +2399,9 @@ var convex = (() => {
|
|
|
2388
2399
|
debug;
|
|
2389
2400
|
logger;
|
|
2390
2401
|
maxObservedTimestamp;
|
|
2402
|
+
connectionStateSubscribers = /* @__PURE__ */ new Map();
|
|
2403
|
+
nextConnectionStateSubscriberId = 0;
|
|
2404
|
+
_lastPublishedConnectionState;
|
|
2391
2405
|
/**
|
|
2392
2406
|
* @param address - The url of your Convex deployment, often provided
|
|
2393
2407
|
* by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.
|
|
@@ -2437,7 +2451,10 @@ var convex = (() => {
|
|
|
2437
2451
|
(queryId) => this.state.queryPath(queryId),
|
|
2438
2452
|
this.logger
|
|
2439
2453
|
);
|
|
2440
|
-
this.requestManager = new RequestManager(
|
|
2454
|
+
this.requestManager = new RequestManager(
|
|
2455
|
+
this.logger,
|
|
2456
|
+
this.markConnectionStateDirty
|
|
2457
|
+
);
|
|
2441
2458
|
this.authenticationManager = new AuthenticationManager(
|
|
2442
2459
|
this.state,
|
|
2443
2460
|
{
|
|
@@ -2588,7 +2605,8 @@ var convex = (() => {
|
|
|
2588
2605
|
onServerDisconnectError: options.onServerDisconnectError
|
|
2589
2606
|
},
|
|
2590
2607
|
webSocketConstructor,
|
|
2591
|
-
this.logger
|
|
2608
|
+
this.logger,
|
|
2609
|
+
this.markConnectionStateDirty
|
|
2592
2610
|
);
|
|
2593
2611
|
this.mark("convexClientConstructed");
|
|
2594
2612
|
}
|
|
@@ -2805,6 +2823,38 @@ var convex = (() => {
|
|
|
2805
2823
|
inflightActions: this.requestManager.inflightActions()
|
|
2806
2824
|
};
|
|
2807
2825
|
}
|
|
2826
|
+
/**
|
|
2827
|
+
* Call this whenever the connection state may have changed in a way that could
|
|
2828
|
+
* require publishing it. Schedules a possibly update.
|
|
2829
|
+
*/
|
|
2830
|
+
markConnectionStateDirty = () => {
|
|
2831
|
+
void Promise.resolve().then(() => {
|
|
2832
|
+
const curConnectionState = this.connectionState();
|
|
2833
|
+
if (JSON.stringify(curConnectionState) !== JSON.stringify(this._lastPublishedConnectionState)) {
|
|
2834
|
+
this._lastPublishedConnectionState = curConnectionState;
|
|
2835
|
+
for (const cb of this.connectionStateSubscribers.values()) {
|
|
2836
|
+
cb(curConnectionState);
|
|
2837
|
+
}
|
|
2838
|
+
}
|
|
2839
|
+
});
|
|
2840
|
+
};
|
|
2841
|
+
/**
|
|
2842
|
+
* Subscribe to the {@link ConnectionState} between the client and the Convex
|
|
2843
|
+
* backend, calling a callback each time it changes.
|
|
2844
|
+
*
|
|
2845
|
+
* Subscribed callbacks will be called when any part of ConnectionState changes.
|
|
2846
|
+
* ConnectionState may grow in future versions (e.g. to provide a array of
|
|
2847
|
+
* inflight requests) in which case callbacks would be called more frequently.
|
|
2848
|
+
*
|
|
2849
|
+
* @returns An unsubscribe function to stop listening.
|
|
2850
|
+
*/
|
|
2851
|
+
subscribeToConnectionState(cb) {
|
|
2852
|
+
const id = this.nextConnectionStateSubscriberId++;
|
|
2853
|
+
this.connectionStateSubscribers.set(id, cb);
|
|
2854
|
+
return () => {
|
|
2855
|
+
this.connectionStateSubscribers.delete(id);
|
|
2856
|
+
};
|
|
2857
|
+
}
|
|
2808
2858
|
/**
|
|
2809
2859
|
* Execute a mutation function.
|
|
2810
2860
|
*
|
|
@@ -3275,6 +3325,31 @@ var convex = (() => {
|
|
|
3275
3325
|
);
|
|
3276
3326
|
});
|
|
3277
3327
|
}
|
|
3328
|
+
/**
|
|
3329
|
+
* Get the current {@link ConnectionState} between the client and the Convex
|
|
3330
|
+
* backend.
|
|
3331
|
+
*
|
|
3332
|
+
* @returns The {@link ConnectionState} with the Convex backend.
|
|
3333
|
+
*/
|
|
3334
|
+
connectionState() {
|
|
3335
|
+
if (this.disabled) throw new Error("ConvexClient is disabled");
|
|
3336
|
+
return this.client.connectionState();
|
|
3337
|
+
}
|
|
3338
|
+
/**
|
|
3339
|
+
* Subscribe to the {@link ConnectionState} between the client and the Convex
|
|
3340
|
+
* backend, calling a callback each time it changes.
|
|
3341
|
+
*
|
|
3342
|
+
* Subscribed callbacks will be called when any part of ConnectionState changes.
|
|
3343
|
+
* ConnectionState may grow in future versions (e.g. to provide a array of
|
|
3344
|
+
* inflight requests) in which case callbacks would be called more frequently.
|
|
3345
|
+
*
|
|
3346
|
+
* @returns An unsubscribe function to stop listening.
|
|
3347
|
+
*/
|
|
3348
|
+
subscribeToConnectionState(cb) {
|
|
3349
|
+
if (this.disabled) return () => {
|
|
3350
|
+
};
|
|
3351
|
+
return this.client.subscribeToConnectionState(cb);
|
|
3352
|
+
}
|
|
3278
3353
|
};
|
|
3279
3354
|
|
|
3280
3355
|
// src/browser/http_client.ts
|