spacetimedb 2.5.0 → 2.6.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/LICENSE.txt +759 -759
- package/README.md +211 -211
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.mjs.map +1 -1
- package/dist/browser/angular/index.mjs.map +1 -1
- package/dist/browser/react/index.mjs +129 -57
- package/dist/browser/react/index.mjs.map +1 -1
- package/dist/browser/solid/index.mjs +120 -50
- package/dist/browser/solid/index.mjs.map +1 -1
- package/dist/browser/svelte/index.mjs.map +1 -1
- package/dist/browser/vue/index.mjs.map +1 -1
- package/dist/index.browser.mjs +10 -2
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.cjs +10 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +10 -2
- package/dist/index.mjs.map +1 -1
- package/dist/min/index.browser.mjs +1 -1
- package/dist/min/index.browser.mjs.map +1 -1
- package/dist/min/react/index.mjs +1 -1
- package/dist/min/react/index.mjs.map +1 -1
- package/dist/min/sdk/index.browser.mjs +1 -1
- package/dist/min/sdk/index.browser.mjs.map +1 -1
- package/dist/react/index.cjs +129 -57
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.mjs +129 -57
- package/dist/react/index.mjs.map +1 -1
- package/dist/react/useTable.d.ts.map +1 -1
- package/dist/sdk/connection_manager.d.ts +8 -0
- package/dist/sdk/connection_manager.d.ts.map +1 -1
- package/dist/sdk/db_connection_impl.d.ts +7 -0
- package/dist/sdk/db_connection_impl.d.ts.map +1 -1
- package/dist/sdk/index.browser.mjs +10 -2
- package/dist/sdk/index.browser.mjs.map +1 -1
- package/dist/sdk/index.cjs +10 -2
- package/dist/sdk/index.cjs.map +1 -1
- package/dist/sdk/index.mjs +10 -2
- package/dist/sdk/index.mjs.map +1 -1
- package/dist/sdk/websocket_test_adapter.d.ts +2 -1
- package/dist/sdk/websocket_test_adapter.d.ts.map +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/runtime.d.ts.map +1 -1
- package/dist/solid/index.cjs +120 -50
- package/dist/solid/index.cjs.map +1 -1
- package/dist/solid/index.mjs +120 -50
- package/dist/solid/index.mjs.map +1 -1
- package/dist/svelte/index.cjs.map +1 -1
- package/dist/svelte/index.mjs.map +1 -1
- package/dist/tanstack/index.cjs +120 -50
- package/dist/tanstack/index.cjs.map +1 -1
- package/dist/tanstack/index.mjs +120 -50
- package/dist/tanstack/index.mjs.map +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/angular/connection_state.ts +19 -19
- package/src/angular/index.ts +3 -3
- package/src/angular/injectors/index.ts +4 -4
- package/src/angular/injectors/inject-reducer.ts +62 -62
- package/src/angular/injectors/inject-spacetimedb-connected.ts +13 -13
- package/src/angular/injectors/inject-spacetimedb.ts +10 -10
- package/src/angular/injectors/inject-table.ts +234 -234
- package/src/angular/providers/index.ts +1 -1
- package/src/angular/providers/provide-spacetimedb.ts +96 -96
- package/src/index.ts +16 -16
- package/src/lib/algebraic_type.ts +819 -819
- package/src/lib/algebraic_type_variants.ts +26 -26
- package/src/lib/algebraic_value.ts +10 -10
- package/src/lib/autogen/types.ts +746 -746
- package/src/lib/binary_reader.ts +188 -188
- package/src/lib/binary_writer.ts +213 -213
- package/src/lib/connection_id.ts +102 -102
- package/src/lib/constraints.ts +48 -48
- package/src/lib/errors.ts +26 -26
- package/src/lib/filter.ts +195 -195
- package/src/lib/identity.ts +83 -83
- package/src/lib/indexes.ts +251 -251
- package/src/lib/option.ts +34 -34
- package/src/lib/query.ts +1019 -1019
- package/src/lib/reducer_schema.ts +38 -38
- package/src/lib/reducers.ts +116 -116
- package/src/lib/result.ts +36 -36
- package/src/lib/schedule_at.ts +86 -86
- package/src/lib/schema.ts +420 -420
- package/src/lib/table.ts +548 -548
- package/src/lib/table_schema.ts +64 -64
- package/src/lib/time_duration.ts +77 -77
- package/src/lib/timestamp.ts +148 -148
- package/src/lib/type_builders.test-d.ts +128 -128
- package/src/lib/type_builders.ts +4014 -4014
- package/src/lib/type_util.ts +124 -124
- package/src/lib/util.ts +196 -196
- package/src/lib/uuid.ts +337 -337
- package/src/react/SpacetimeDBProvider.ts +84 -84
- package/src/react/connection_state.ts +6 -6
- package/src/react/index.ts +5 -5
- package/src/react/useProcedure.ts +60 -60
- package/src/react/useReducer.ts +53 -53
- package/src/react/useSpacetimeDB.ts +18 -18
- package/src/react/useTable.ts +256 -251
- package/src/sdk/client_api/index.ts +114 -114
- package/src/sdk/client_api/types/procedures.ts +8 -8
- package/src/sdk/client_api/types/reducers.ts +8 -8
- package/src/sdk/client_api/types.ts +288 -288
- package/src/sdk/client_cache.ts +129 -129
- package/src/sdk/client_table.ts +179 -179
- package/src/sdk/connection_manager.ts +352 -237
- package/src/sdk/db_connection_builder.ts +290 -290
- package/src/sdk/db_connection_impl.ts +1356 -1347
- package/src/sdk/db_context.ts +28 -28
- package/src/sdk/db_view.ts +12 -12
- package/src/sdk/decompress.ts +51 -51
- package/src/sdk/event.ts +18 -18
- package/src/sdk/event_context.ts +51 -51
- package/src/sdk/event_emitter.ts +32 -32
- package/src/sdk/index.ts +14 -14
- package/src/sdk/internal.ts +2 -2
- package/src/sdk/json_api.ts +46 -46
- package/src/sdk/logger.ts +134 -134
- package/src/sdk/message_types.ts +46 -46
- package/src/sdk/procedures.ts +83 -83
- package/src/sdk/reducer_event.ts +20 -20
- package/src/sdk/reducer_handle.ts +12 -12
- package/src/sdk/reducers.ts +159 -159
- package/src/sdk/schema.ts +45 -45
- package/src/sdk/spacetime_module.ts +28 -28
- package/src/sdk/subscription_builder_impl.ts +275 -275
- package/src/sdk/table_cache.ts +581 -581
- package/src/sdk/type_utils.ts +19 -19
- package/src/sdk/version.ts +133 -133
- package/src/sdk/websocket_decompress_adapter.ts +63 -63
- package/src/sdk/websocket_protocols.ts +25 -25
- package/src/sdk/websocket_test_adapter.ts +107 -100
- package/src/sdk/websocket_v3_frames.ts +126 -126
- package/src/sdk/ws.ts +105 -105
- package/src/server/console.ts +81 -81
- package/src/server/db_view.ts +21 -21
- package/src/server/errors.ts +138 -138
- package/src/server/http.test-d.ts +80 -80
- package/src/server/http.ts +14 -14
- package/src/server/http_handlers.ts +413 -413
- package/src/server/http_internal.ts +79 -79
- package/src/server/http_shared.ts +186 -186
- package/src/server/index.ts +37 -37
- package/src/server/polyfills.ts +4 -4
- package/src/server/procedures.ts +239 -239
- package/src/server/query.ts +1 -1
- package/src/server/range.ts +53 -53
- package/src/server/reducers.ts +113 -113
- package/src/server/rng.ts +113 -113
- package/src/server/runtime.ts +1102 -1102
- package/src/server/schema.test-d.ts +99 -99
- package/src/server/schema.ts +663 -663
- package/src/server/sys.d.ts +125 -125
- package/src/server/view.test-d.ts +194 -194
- package/src/server/views.ts +340 -340
- package/src/solid/SpacetimeDBProvider.ts +97 -97
- package/src/solid/connection_state.ts +6 -6
- package/src/solid/index.ts +5 -5
- package/src/solid/useProcedure.ts +57 -57
- package/src/solid/useReducer.ts +50 -50
- package/src/solid/useSpacetimeDB.ts +18 -18
- package/src/solid/useTable.ts +203 -203
- package/src/svelte/SpacetimeDBProvider.ts +101 -101
- package/src/svelte/connection_state.ts +16 -16
- package/src/svelte/index.ts +4 -4
- package/src/svelte/useReducer.ts +61 -61
- package/src/svelte/useSpacetimeDB.ts +22 -22
- package/src/svelte/useTable.ts +218 -218
- package/src/tanstack/SpacetimeDBQueryClient.ts +330 -330
- package/src/tanstack/hooks.ts +83 -83
- package/src/tanstack/index.ts +16 -16
- package/src/util-stub.ts +1 -1
- package/src/vue/SpacetimeDBProvider.ts +157 -157
- package/src/vue/connection_state.ts +19 -19
- package/src/vue/index.ts +5 -5
- package/src/vue/useProcedure.ts +62 -62
- package/src/vue/useReducer.ts +55 -55
- package/src/vue/useSpacetimeDB.ts +18 -18
- package/src/vue/useTable.ts +229 -229
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAY3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAuBnC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,eAAO,MAAM,GAAG;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAY3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAuBnC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,eAAO,MAAM,GAAG;oCAoDZ,GAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CApDkD,CAAC;AAsBxD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAexD;AAsHD,eAAO,MAAM,cAAc;SACzB,SAAS,SAAS,gBAAgB,UAaxB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI,UACzB,MAAM,CAAC,GAAG,CAAC;gCAbV,QAAQ,GAAG,SAAS;;;;;;mCAEjB;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;8BAClC,MAAM,GAAG,SAAS;gBACnB,QAAQ;mBACL,SAAS;sBACN,YAAY,GAAG,IAAI;YAC7B,MAAM,CAAC,SAAS,CAAC;;;;;;;;;QAgDrB;;WAEG;qBACU,IAAI;QAKjB;;;WAGG;qBACU,IAAI;;IA7CjB,8DAA8D;cAExD,YAAY,gBAAa,UACrB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI;CA6CpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,EACD,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAG,CAE3C,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAC9B,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,GAAG,EACtC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GACpB,CAAC,CA2BH;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,WAAW,KAAG,WACnB,CAAC"}
|
package/dist/solid/index.cjs
CHANGED
|
@@ -1489,6 +1489,14 @@ function useSpacetimeDB() {
|
|
|
1489
1489
|
}
|
|
1490
1490
|
|
|
1491
1491
|
// src/sdk/connection_manager.ts
|
|
1492
|
+
var CONNECTION_MANAGER_RECONNECT_BASE_DELAY_MS = 1e3;
|
|
1493
|
+
var CONNECTION_MANAGER_RECONNECT_MAX_DELAY_MS = 3e4;
|
|
1494
|
+
function connectionManagerReconnectDelayMs(attempt) {
|
|
1495
|
+
return Math.min(
|
|
1496
|
+
CONNECTION_MANAGER_RECONNECT_BASE_DELAY_MS * 2 ** attempt,
|
|
1497
|
+
CONNECTION_MANAGER_RECONNECT_MAX_DELAY_MS
|
|
1498
|
+
);
|
|
1499
|
+
}
|
|
1492
1500
|
function defaultState() {
|
|
1493
1501
|
return {
|
|
1494
1502
|
isActive: false,
|
|
@@ -1515,10 +1523,13 @@ var ConnectionManagerImpl = class _ConnectionManagerImpl {
|
|
|
1515
1523
|
}
|
|
1516
1524
|
const managed = {
|
|
1517
1525
|
connection: void 0,
|
|
1526
|
+
builder: void 0,
|
|
1518
1527
|
refCount: 0,
|
|
1519
1528
|
state: defaultState(),
|
|
1520
1529
|
listeners: /* @__PURE__ */ new Set(),
|
|
1521
|
-
pendingRelease: null
|
|
1530
|
+
pendingRelease: null,
|
|
1531
|
+
reconnectTimer: null,
|
|
1532
|
+
reconnectAttempt: 0
|
|
1522
1533
|
};
|
|
1523
1534
|
this.#connections.set(key, managed);
|
|
1524
1535
|
return managed;
|
|
@@ -1528,40 +1539,20 @@ var ConnectionManagerImpl = class _ConnectionManagerImpl {
|
|
|
1528
1539
|
listener();
|
|
1529
1540
|
}
|
|
1530
1541
|
}
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
* @returns The managed connection instance
|
|
1539
|
-
*/
|
|
1540
|
-
retain(key, builder) {
|
|
1541
|
-
const managed = this.#ensureEntry(key);
|
|
1542
|
-
if (managed.pendingRelease) {
|
|
1543
|
-
clearTimeout(managed.pendingRelease);
|
|
1544
|
-
managed.pendingRelease = null;
|
|
1545
|
-
}
|
|
1546
|
-
managed.refCount += 1;
|
|
1547
|
-
if (managed.connection) {
|
|
1548
|
-
return managed.connection;
|
|
1542
|
+
#updateState(managed, updates) {
|
|
1543
|
+
managed.state = { ...managed.state, ...updates };
|
|
1544
|
+
this.#notify(managed);
|
|
1545
|
+
}
|
|
1546
|
+
#ensureCallbacks(managed) {
|
|
1547
|
+
if (managed.onConnect) {
|
|
1548
|
+
return;
|
|
1549
1549
|
}
|
|
1550
|
-
const connection = builder.build();
|
|
1551
|
-
managed.connection = connection;
|
|
1552
|
-
const updateState = (updates) => {
|
|
1553
|
-
managed.state = { ...managed.state, ...updates };
|
|
1554
|
-
this.#notify(managed);
|
|
1555
|
-
};
|
|
1556
|
-
updateState({
|
|
1557
|
-
isActive: connection.isActive,
|
|
1558
|
-
identity: connection.identity,
|
|
1559
|
-
token: connection.token,
|
|
1560
|
-
connectionId: connection.connectionId,
|
|
1561
|
-
connectionError: void 0
|
|
1562
|
-
});
|
|
1563
1550
|
managed.onConnect = (conn) => {
|
|
1564
|
-
|
|
1551
|
+
if (conn !== managed.connection) {
|
|
1552
|
+
return;
|
|
1553
|
+
}
|
|
1554
|
+
managed.reconnectAttempt = 0;
|
|
1555
|
+
this.#updateState(managed, {
|
|
1565
1556
|
isActive: conn.isActive,
|
|
1566
1557
|
identity: conn.identity,
|
|
1567
1558
|
token: conn.token,
|
|
@@ -1570,22 +1561,105 @@ var ConnectionManagerImpl = class _ConnectionManagerImpl {
|
|
|
1570
1561
|
});
|
|
1571
1562
|
};
|
|
1572
1563
|
managed.onDisconnect = (ctx, error) => {
|
|
1573
|
-
|
|
1574
|
-
|
|
1564
|
+
if (ctx !== managed.connection) {
|
|
1565
|
+
return;
|
|
1566
|
+
}
|
|
1567
|
+
this.#updateState(managed, {
|
|
1568
|
+
isActive: false,
|
|
1575
1569
|
connectionError: error ?? void 0
|
|
1576
1570
|
});
|
|
1571
|
+
this.#scheduleReconnect(managed);
|
|
1577
1572
|
};
|
|
1578
1573
|
managed.onConnectError = (ctx, error) => {
|
|
1579
|
-
|
|
1580
|
-
|
|
1574
|
+
if (ctx !== managed.connection) {
|
|
1575
|
+
return;
|
|
1576
|
+
}
|
|
1577
|
+
this.#updateState(managed, {
|
|
1578
|
+
isActive: false,
|
|
1581
1579
|
connectionError: error
|
|
1582
1580
|
});
|
|
1581
|
+
this.#scheduleReconnect(managed);
|
|
1583
1582
|
};
|
|
1583
|
+
}
|
|
1584
|
+
#attachCallbacks(managed, builder) {
|
|
1585
|
+
this.#ensureCallbacks(managed);
|
|
1584
1586
|
builder.onConnect(managed.onConnect);
|
|
1585
1587
|
builder.onDisconnect(managed.onDisconnect);
|
|
1586
1588
|
builder.onConnectError(managed.onConnectError);
|
|
1589
|
+
}
|
|
1590
|
+
#detachCallbacks(managed, connection) {
|
|
1591
|
+
if (managed.onConnect) {
|
|
1592
|
+
connection.removeOnConnect(managed.onConnect);
|
|
1593
|
+
}
|
|
1594
|
+
if (managed.onDisconnect) {
|
|
1595
|
+
connection.removeOnDisconnect(managed.onDisconnect);
|
|
1596
|
+
}
|
|
1597
|
+
if (managed.onConnectError) {
|
|
1598
|
+
connection.removeOnConnectError(managed.onConnectError);
|
|
1599
|
+
}
|
|
1600
|
+
}
|
|
1601
|
+
#buildManagedConnection(managed, builder) {
|
|
1602
|
+
managed.builder = builder;
|
|
1603
|
+
const connection = builder.build();
|
|
1604
|
+
managed.connection = connection;
|
|
1605
|
+
this.#attachCallbacks(managed, builder);
|
|
1606
|
+
this.#updateState(managed, {
|
|
1607
|
+
isActive: connection.isActive,
|
|
1608
|
+
identity: connection.identity,
|
|
1609
|
+
token: connection.token,
|
|
1610
|
+
connectionId: connection.connectionId,
|
|
1611
|
+
connectionError: void 0
|
|
1612
|
+
});
|
|
1587
1613
|
return connection;
|
|
1588
1614
|
}
|
|
1615
|
+
#scheduleReconnect(managed) {
|
|
1616
|
+
if (managed.refCount <= 0 || managed.pendingRelease || managed.reconnectTimer || !managed.builder) {
|
|
1617
|
+
return;
|
|
1618
|
+
}
|
|
1619
|
+
const connection = managed.connection;
|
|
1620
|
+
if (connection) {
|
|
1621
|
+
this.#detachCallbacks(managed, connection);
|
|
1622
|
+
}
|
|
1623
|
+
managed.connection = void 0;
|
|
1624
|
+
if (connection?.isDisconnectRequested) {
|
|
1625
|
+
return;
|
|
1626
|
+
}
|
|
1627
|
+
const delay = connectionManagerReconnectDelayMs(managed.reconnectAttempt);
|
|
1628
|
+
managed.reconnectAttempt += 1;
|
|
1629
|
+
managed.reconnectTimer = setTimeout(() => {
|
|
1630
|
+
managed.reconnectTimer = null;
|
|
1631
|
+
if (managed.refCount <= 0 || managed.pendingRelease || managed.connection || !managed.builder) {
|
|
1632
|
+
return;
|
|
1633
|
+
}
|
|
1634
|
+
this.#buildManagedConnection(managed, managed.builder);
|
|
1635
|
+
}, delay);
|
|
1636
|
+
}
|
|
1637
|
+
/**
|
|
1638
|
+
* Retains a connection, incrementing its reference count.
|
|
1639
|
+
* Creates the connection on first call; returns existing connection on subsequent calls.
|
|
1640
|
+
* Cancels any pending release if the connection was about to be cleaned up.
|
|
1641
|
+
*
|
|
1642
|
+
* @param key - Unique identifier for the connection (use getKey to generate)
|
|
1643
|
+
* @param builder - Connection builder to create the connection if needed
|
|
1644
|
+
* @returns The managed connection instance
|
|
1645
|
+
*/
|
|
1646
|
+
retain(key, builder) {
|
|
1647
|
+
const managed = this.#ensureEntry(key);
|
|
1648
|
+
if (managed.pendingRelease) {
|
|
1649
|
+
clearTimeout(managed.pendingRelease);
|
|
1650
|
+
managed.pendingRelease = null;
|
|
1651
|
+
}
|
|
1652
|
+
if (managed.reconnectTimer) {
|
|
1653
|
+
clearTimeout(managed.reconnectTimer);
|
|
1654
|
+
managed.reconnectTimer = null;
|
|
1655
|
+
}
|
|
1656
|
+
managed.refCount += 1;
|
|
1657
|
+
managed.builder = builder;
|
|
1658
|
+
if (managed.connection) {
|
|
1659
|
+
return managed.connection;
|
|
1660
|
+
}
|
|
1661
|
+
return this.#buildManagedConnection(managed, builder);
|
|
1662
|
+
}
|
|
1589
1663
|
release(key) {
|
|
1590
1664
|
const managed = this.#connections.get(key);
|
|
1591
1665
|
if (!managed) {
|
|
@@ -1595,24 +1669,20 @@ var ConnectionManagerImpl = class _ConnectionManagerImpl {
|
|
|
1595
1669
|
if (managed.refCount > 0 || managed.pendingRelease) {
|
|
1596
1670
|
return;
|
|
1597
1671
|
}
|
|
1672
|
+
if (managed.reconnectTimer) {
|
|
1673
|
+
clearTimeout(managed.reconnectTimer);
|
|
1674
|
+
managed.reconnectTimer = null;
|
|
1675
|
+
}
|
|
1598
1676
|
managed.pendingRelease = setTimeout(() => {
|
|
1599
1677
|
managed.pendingRelease = null;
|
|
1600
1678
|
if (managed.refCount > 0) {
|
|
1601
1679
|
return;
|
|
1602
1680
|
}
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
managed.connection.removeOnDisconnect(managed.onDisconnect);
|
|
1609
|
-
}
|
|
1610
|
-
if (managed.onConnectError) {
|
|
1611
|
-
managed.connection.removeOnConnectError(
|
|
1612
|
-
managed.onConnectError
|
|
1613
|
-
);
|
|
1614
|
-
}
|
|
1615
|
-
managed.connection.disconnect();
|
|
1681
|
+
const connection = managed.connection;
|
|
1682
|
+
managed.connection = void 0;
|
|
1683
|
+
if (connection) {
|
|
1684
|
+
this.#detachCallbacks(managed, connection);
|
|
1685
|
+
connection.disconnect();
|
|
1616
1686
|
}
|
|
1617
1687
|
this.#connections.delete(key);
|
|
1618
1688
|
}, 0);
|