spacetimedb 2.5.0 → 2.6.1
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/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/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/lib/type_builders.d.ts +18 -3
- package/dist/lib/type_builders.d.ts.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/event_context.d.ts +3 -3
- package/dist/sdk/event_context.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/procedures.d.ts +2 -2
- package/dist/sdk/procedures.d.ts.map +1 -1
- package/dist/sdk/reducers.d.ts +3 -4
- package/dist/sdk/reducers.d.ts.map +1 -1
- package/dist/sdk/table_cache.d.ts.map +1 -1
- package/dist/sdk/type_utils.d.ts +3 -3
- package/dist/sdk/type_utils.d.ts.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/views.d.ts +4 -2
- package/dist/server/views.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/svelte/useReducer.d.ts +2 -2
- package/dist/svelte/useReducer.d.ts.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/package.json +22 -21
- package/src/lib/type_builders.test-d.ts +2 -0
- package/src/lib/type_builders.ts +39 -3
- package/src/react/useTable.ts +16 -11
- package/src/sdk/connection_manager.ts +173 -58
- package/src/sdk/db_connection_impl.ts +22 -6
- package/src/sdk/event_context.ts +3 -3
- package/src/sdk/procedures.ts +6 -2
- package/src/sdk/reducers.ts +3 -4
- package/src/sdk/table_cache.ts +2 -1
- package/src/sdk/type_utils.ts +3 -3
- package/src/sdk/websocket_test_adapter.ts +8 -1
- package/src/server/views.ts +5 -2
- package/src/svelte/useReducer.ts +2 -2
- package/LICENSE.txt +0 -759
package/dist/server/views.d.ts
CHANGED
|
@@ -53,8 +53,10 @@ type ViewInfo<F> = {
|
|
|
53
53
|
serializeReturn: Serializer<any>;
|
|
54
54
|
returnTypeBaseSize: number;
|
|
55
55
|
};
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
type AnyViewFn = (ctx: ViewCtx<any>, params: any) => any;
|
|
57
|
+
type AnyAnonymousViewFn = (ctx: AnonymousViewCtx<any>, params: any) => any;
|
|
58
|
+
export type Views = ViewInfo<AnyViewFn>[];
|
|
59
|
+
export type AnonViews = ViewInfo<AnyAnonymousViewFn>[];
|
|
58
60
|
type ExtractArrayProduct<T extends TypeBuilder<any, any>> = InferSpacetimeTypeOfTypeBuilder<T> extends {
|
|
59
61
|
tag: 'Array';
|
|
60
62
|
value: infer V;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/server/views.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/server/views.ts"],"names":[],"mappings":"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"}
|
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);
|