spacetimedb 2.0.2 → 2.0.4
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 +2 -2
- package/dist/angular/index.cjs +3 -0
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.mjs +3 -0
- package/dist/angular/index.mjs.map +1 -1
- package/dist/browser/angular/index.mjs +3 -0
- package/dist/browser/angular/index.mjs.map +1 -1
- package/dist/browser/react/index.mjs +6 -0
- package/dist/browser/react/index.mjs.map +1 -1
- package/dist/browser/svelte/index.mjs +3 -0
- package/dist/browser/svelte/index.mjs.map +1 -1
- package/dist/browser/vue/index.mjs +3 -0
- package/dist/browser/vue/index.mjs.map +1 -1
- package/dist/index.browser.mjs +133 -100
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.cjs +133 -100
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +133 -100
- package/dist/index.mjs.map +1 -1
- package/dist/lib/binary_writer.d.ts +1 -0
- package/dist/lib/binary_writer.d.ts.map +1 -1
- package/dist/lib/indexes.d.ts +1 -1
- package/dist/lib/indexes.d.ts.map +1 -1
- package/dist/lib/query.d.ts +4 -2
- package/dist/lib/query.d.ts.map +1 -1
- package/dist/lib/schema.d.ts +2 -0
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/table.d.ts +19 -1
- package/dist/lib/table.d.ts.map +1 -1
- package/dist/lib/util.d.ts +11 -11
- package/dist/lib/util.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 +6 -0
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.mjs +6 -0
- package/dist/react/index.mjs.map +1 -1
- package/dist/react/useTable.d.ts.map +1 -1
- package/dist/sdk/db_connection_impl.d.ts.map +1 -1
- package/dist/sdk/index.browser.mjs +133 -100
- package/dist/sdk/index.browser.mjs.map +1 -1
- package/dist/sdk/index.cjs +133 -100
- package/dist/sdk/index.cjs.map +1 -1
- package/dist/sdk/index.mjs +133 -100
- package/dist/sdk/index.mjs.map +1 -1
- package/dist/sdk/procedures.d.ts +1 -1
- package/dist/sdk/procedures.d.ts.map +1 -1
- package/dist/sdk/reducers.d.ts +2 -3
- package/dist/sdk/reducers.d.ts.map +1 -1
- package/dist/sdk/table_cache.d.ts.map +1 -1
- package/dist/sdk/websocket_decompress_adapter.d.ts +17 -7
- package/dist/sdk/websocket_decompress_adapter.d.ts.map +1 -1
- package/dist/sdk/websocket_test_adapter.d.ts +3 -2
- package/dist/sdk/websocket_test_adapter.d.ts.map +1 -1
- package/dist/server/index.mjs +72 -29
- package/dist/server/index.mjs.map +1 -1
- package/dist/svelte/index.cjs +3 -0
- package/dist/svelte/index.cjs.map +1 -1
- package/dist/svelte/index.mjs +3 -0
- package/dist/svelte/index.mjs.map +1 -1
- package/dist/tanstack/SpacetimeDBQueryClient.d.ts +3 -3
- package/dist/tanstack/SpacetimeDBQueryClient.d.ts.map +1 -1
- package/dist/tanstack/hooks.d.ts +3 -6
- package/dist/tanstack/hooks.d.ts.map +1 -1
- package/dist/tanstack/index.cjs +28 -1
- package/dist/tanstack/index.cjs.map +1 -1
- package/dist/tanstack/index.mjs +28 -1
- package/dist/tanstack/index.mjs.map +1 -1
- package/dist/vue/index.cjs +3 -0
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.mjs +3 -0
- package/dist/vue/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/binary_writer.ts +4 -0
- package/src/lib/indexes.ts +1 -1
- package/src/lib/query.ts +30 -6
- package/src/lib/schema.ts +66 -24
- package/src/lib/table.ts +41 -9
- package/src/lib/util.ts +18 -21
- package/src/react/useTable.ts +7 -0
- package/src/sdk/db_connection_impl.ts +38 -43
- package/src/sdk/procedures.ts +1 -3
- package/src/sdk/reducers.ts +5 -7
- package/src/sdk/table_cache.ts +14 -11
- package/src/sdk/websocket_decompress_adapter.ts +42 -45
- package/src/sdk/websocket_test_adapter.ts +3 -2
- package/src/server/runtime.ts +7 -3
- package/src/server/schema.test-d.ts +37 -0
- package/src/server/view.test-d.ts +2 -0
- package/src/tanstack/SpacetimeDBQueryClient.ts +28 -2
- package/src/tanstack/hooks.ts +3 -2
package/dist/tanstack/index.mjs
CHANGED
|
@@ -583,6 +583,9 @@ var BinaryWriter = class {
|
|
|
583
583
|
constructor(init) {
|
|
584
584
|
this.buffer = typeof init === "number" ? new ResizableBuffer(init) : init;
|
|
585
585
|
}
|
|
586
|
+
clear() {
|
|
587
|
+
this.offset = 0;
|
|
588
|
+
}
|
|
586
589
|
reset(buffer) {
|
|
587
590
|
this.buffer = buffer;
|
|
588
591
|
this.offset = 0;
|
|
@@ -1400,6 +1403,9 @@ var ConnectionId = class _ConnectionId {
|
|
|
1400
1403
|
}
|
|
1401
1404
|
}
|
|
1402
1405
|
};
|
|
1406
|
+
function toSql(q) {
|
|
1407
|
+
return q.toSql();
|
|
1408
|
+
}
|
|
1403
1409
|
function isLiteralExpr(expr) {
|
|
1404
1410
|
return expr.type === "literal";
|
|
1405
1411
|
}
|
|
@@ -1476,7 +1482,7 @@ function spacetimeDBQuery(queryOrSkip) {
|
|
|
1476
1482
|
const query = queryOrSkip;
|
|
1477
1483
|
const accessorName = getQueryAccessorName(query);
|
|
1478
1484
|
const whereExpr = getQueryWhereClause(query);
|
|
1479
|
-
const querySql =
|
|
1485
|
+
const querySql = toSql(query);
|
|
1480
1486
|
queryRegistry.set(querySql, { accessorName, whereExpr });
|
|
1481
1487
|
return {
|
|
1482
1488
|
queryKey: ["spacetimedb", accessorName, querySql],
|
|
@@ -1493,6 +1499,7 @@ var SpacetimeDBQueryClient = class {
|
|
|
1493
1499
|
setConnection(connection) {
|
|
1494
1500
|
this.connection = connection;
|
|
1495
1501
|
this.processPendingQueries();
|
|
1502
|
+
this.hydrateSubscriptions();
|
|
1496
1503
|
}
|
|
1497
1504
|
connect(queryClient) {
|
|
1498
1505
|
this.queryClient = queryClient;
|
|
@@ -1634,6 +1641,26 @@ var SpacetimeDBQueryClient = class {
|
|
|
1634
1641
|
}
|
|
1635
1642
|
}
|
|
1636
1643
|
}
|
|
1644
|
+
// subscribe to queries with SSR cached data but no active subscription
|
|
1645
|
+
hydrateSubscriptions() {
|
|
1646
|
+
if (!this.connection || !this.queryClient) {
|
|
1647
|
+
return;
|
|
1648
|
+
}
|
|
1649
|
+
for (const [querySql, { accessorName, whereExpr }] of queryRegistry) {
|
|
1650
|
+
const queryKey = ["spacetimedb", accessorName, querySql];
|
|
1651
|
+
const keyStr = JSON.stringify(queryKey);
|
|
1652
|
+
if (this.subscriptions.has(keyStr)) {
|
|
1653
|
+
continue;
|
|
1654
|
+
}
|
|
1655
|
+
if (this.queryClient.getQueryData(queryKey) === void 0) {
|
|
1656
|
+
continue;
|
|
1657
|
+
}
|
|
1658
|
+
this.setupSubscription(queryKey, accessorName, querySql, whereExpr).catch(
|
|
1659
|
+
() => {
|
|
1660
|
+
}
|
|
1661
|
+
);
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1637
1664
|
// clean up all subscriptions and disconnect
|
|
1638
1665
|
disconnect() {
|
|
1639
1666
|
if (this.cacheUnsubscribe) {
|