spacetimedb 2.0.3 → 2.1.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 +2 -2
- package/dist/angular/index.cjs +5 -1
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.mjs +5 -1
- package/dist/angular/index.mjs.map +1 -1
- package/dist/browser/angular/index.mjs +5 -1
- package/dist/browser/angular/index.mjs.map +1 -1
- package/dist/browser/react/index.mjs +8 -1
- package/dist/browser/react/index.mjs.map +1 -1
- package/dist/browser/svelte/index.mjs +5 -1
- package/dist/browser/svelte/index.mjs.map +1 -1
- package/dist/browser/vue/index.mjs +5 -1
- package/dist/browser/vue/index.mjs.map +1 -1
- package/dist/index.browser.mjs +148 -100
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.cjs +148 -100
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +148 -100
- package/dist/index.mjs.map +1 -1
- package/dist/lib/algebraic_type.d.ts.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 +14 -7
- 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 +25 -2
- package/dist/lib/table.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 +8 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.mjs +8 -1
- 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 +144 -98
- package/dist/sdk/index.browser.mjs.map +1 -1
- package/dist/sdk/index.cjs +144 -98
- package/dist/sdk/index.cjs.map +1 -1
- package/dist/sdk/index.mjs +144 -98
- package/dist/sdk/index.mjs.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.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.mjs +88 -30
- package/dist/server/index.mjs.map +1 -1
- package/dist/svelte/index.cjs +5 -1
- package/dist/svelte/index.cjs.map +1 -1
- package/dist/svelte/index.mjs +5 -1
- package/dist/svelte/index.mjs.map +1 -1
- package/dist/tanstack/SpacetimeDBQueryClient.d.ts +1 -0
- package/dist/tanstack/SpacetimeDBQueryClient.d.ts.map +1 -1
- package/dist/tanstack/index.cjs +26 -1
- package/dist/tanstack/index.cjs.map +1 -1
- package/dist/tanstack/index.mjs +26 -1
- package/dist/tanstack/index.mjs.map +1 -1
- package/dist/vue/index.cjs +5 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.mjs +5 -1
- package/dist/vue/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/algebraic_type.ts +5 -1
- package/src/lib/binary_writer.ts +4 -0
- package/src/lib/indexes.ts +1 -1
- package/src/lib/query.ts +90 -25
- package/src/lib/schema.ts +66 -24
- package/src/lib/table.ts +47 -10
- package/src/react/useTable.ts +5 -0
- package/src/sdk/db_connection_impl.ts +38 -43
- 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/index.ts +1 -0
- package/src/server/runtime.ts +7 -3
- package/src/server/schema.test-d.ts +37 -0
- package/src/server/view.test-d.ts +6 -0
- package/src/tanstack/SpacetimeDBQueryClient.ts +24 -0
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;
|
|
@@ -1145,7 +1148,8 @@ writer.offset += ${primitiveSizes[tag]};` : `writer.write${tag}(value.${name});`
|
|
|
1145
1148
|
const result = { ${ty.elements.map(getElementInitializer).join(", ")} };
|
|
1146
1149
|
const view = reader.view;
|
|
1147
1150
|
${ty.elements.map(
|
|
1148
|
-
({ name, algebraicType: { tag } }) => tag in primitiveJSName ? `result.${name} = view.
|
|
1151
|
+
({ name, algebraicType: { tag } }) => tag in primitiveJSName ? tag === "Bool" ? `result.${name} = view.getUint8(reader.offset) !== 0;
|
|
1152
|
+
reader.offset += 1;` : `result.${name} = view.get${primitiveJSName[tag]}(reader.offset, ${primitiveSizes[tag] > 1 ? "true" : ""});
|
|
1149
1153
|
reader.offset += ${primitiveSizes[tag]};` : `result.${name} = reader.read${tag}();`
|
|
1150
1154
|
).join("\n")}
|
|
1151
1155
|
return result;`;
|
|
@@ -1496,6 +1500,7 @@ var SpacetimeDBQueryClient = class {
|
|
|
1496
1500
|
setConnection(connection) {
|
|
1497
1501
|
this.connection = connection;
|
|
1498
1502
|
this.processPendingQueries();
|
|
1503
|
+
this.hydrateSubscriptions();
|
|
1499
1504
|
}
|
|
1500
1505
|
connect(queryClient) {
|
|
1501
1506
|
this.queryClient = queryClient;
|
|
@@ -1637,6 +1642,26 @@ var SpacetimeDBQueryClient = class {
|
|
|
1637
1642
|
}
|
|
1638
1643
|
}
|
|
1639
1644
|
}
|
|
1645
|
+
// subscribe to queries with SSR cached data but no active subscription
|
|
1646
|
+
hydrateSubscriptions() {
|
|
1647
|
+
if (!this.connection || !this.queryClient) {
|
|
1648
|
+
return;
|
|
1649
|
+
}
|
|
1650
|
+
for (const [querySql, { accessorName, whereExpr }] of queryRegistry) {
|
|
1651
|
+
const queryKey = ["spacetimedb", accessorName, querySql];
|
|
1652
|
+
const keyStr = JSON.stringify(queryKey);
|
|
1653
|
+
if (this.subscriptions.has(keyStr)) {
|
|
1654
|
+
continue;
|
|
1655
|
+
}
|
|
1656
|
+
if (this.queryClient.getQueryData(queryKey) === void 0) {
|
|
1657
|
+
continue;
|
|
1658
|
+
}
|
|
1659
|
+
this.setupSubscription(queryKey, accessorName, querySql, whereExpr).catch(
|
|
1660
|
+
() => {
|
|
1661
|
+
}
|
|
1662
|
+
);
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1640
1665
|
// clean up all subscriptions and disconnect
|
|
1641
1666
|
disconnect() {
|
|
1642
1667
|
if (this.cacheUnsubscribe) {
|