spacetimedb 2.0.3 → 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.
Files changed (81) hide show
  1. package/LICENSE.txt +2 -2
  2. package/dist/angular/index.cjs +3 -0
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.mjs +3 -0
  5. package/dist/angular/index.mjs.map +1 -1
  6. package/dist/browser/angular/index.mjs +3 -0
  7. package/dist/browser/angular/index.mjs.map +1 -1
  8. package/dist/browser/react/index.mjs +3 -0
  9. package/dist/browser/react/index.mjs.map +1 -1
  10. package/dist/browser/svelte/index.mjs +3 -0
  11. package/dist/browser/svelte/index.mjs.map +1 -1
  12. package/dist/browser/vue/index.mjs +3 -0
  13. package/dist/browser/vue/index.mjs.map +1 -1
  14. package/dist/index.browser.mjs +126 -92
  15. package/dist/index.browser.mjs.map +1 -1
  16. package/dist/index.cjs +126 -92
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.mjs +126 -92
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/lib/binary_writer.d.ts +1 -0
  21. package/dist/lib/binary_writer.d.ts.map +1 -1
  22. package/dist/lib/indexes.d.ts +1 -1
  23. package/dist/lib/indexes.d.ts.map +1 -1
  24. package/dist/lib/query.d.ts +4 -2
  25. package/dist/lib/query.d.ts.map +1 -1
  26. package/dist/lib/schema.d.ts +2 -0
  27. package/dist/lib/schema.d.ts.map +1 -1
  28. package/dist/lib/table.d.ts +19 -1
  29. package/dist/lib/table.d.ts.map +1 -1
  30. package/dist/min/index.browser.mjs +1 -1
  31. package/dist/min/index.browser.mjs.map +1 -1
  32. package/dist/min/react/index.mjs +1 -1
  33. package/dist/min/react/index.mjs.map +1 -1
  34. package/dist/min/sdk/index.browser.mjs +1 -1
  35. package/dist/min/sdk/index.browser.mjs.map +1 -1
  36. package/dist/react/index.cjs +3 -0
  37. package/dist/react/index.cjs.map +1 -1
  38. package/dist/react/index.mjs +3 -0
  39. package/dist/react/index.mjs.map +1 -1
  40. package/dist/sdk/db_connection_impl.d.ts.map +1 -1
  41. package/dist/sdk/index.browser.mjs +126 -92
  42. package/dist/sdk/index.browser.mjs.map +1 -1
  43. package/dist/sdk/index.cjs +126 -92
  44. package/dist/sdk/index.cjs.map +1 -1
  45. package/dist/sdk/index.mjs +126 -92
  46. package/dist/sdk/index.mjs.map +1 -1
  47. package/dist/sdk/table_cache.d.ts.map +1 -1
  48. package/dist/sdk/websocket_decompress_adapter.d.ts +17 -7
  49. package/dist/sdk/websocket_decompress_adapter.d.ts.map +1 -1
  50. package/dist/sdk/websocket_test_adapter.d.ts +3 -2
  51. package/dist/sdk/websocket_test_adapter.d.ts.map +1 -1
  52. package/dist/server/index.mjs +65 -21
  53. package/dist/server/index.mjs.map +1 -1
  54. package/dist/svelte/index.cjs +3 -0
  55. package/dist/svelte/index.cjs.map +1 -1
  56. package/dist/svelte/index.mjs +3 -0
  57. package/dist/svelte/index.mjs.map +1 -1
  58. package/dist/tanstack/SpacetimeDBQueryClient.d.ts +1 -0
  59. package/dist/tanstack/SpacetimeDBQueryClient.d.ts.map +1 -1
  60. package/dist/tanstack/index.cjs +24 -0
  61. package/dist/tanstack/index.cjs.map +1 -1
  62. package/dist/tanstack/index.mjs +24 -0
  63. package/dist/tanstack/index.mjs.map +1 -1
  64. package/dist/vue/index.cjs +3 -0
  65. package/dist/vue/index.cjs.map +1 -1
  66. package/dist/vue/index.mjs +3 -0
  67. package/dist/vue/index.mjs.map +1 -1
  68. package/package.json +1 -1
  69. package/src/lib/binary_writer.ts +4 -0
  70. package/src/lib/indexes.ts +1 -1
  71. package/src/lib/query.ts +30 -6
  72. package/src/lib/schema.ts +66 -24
  73. package/src/lib/table.ts +41 -9
  74. package/src/sdk/db_connection_impl.ts +38 -43
  75. package/src/sdk/table_cache.ts +14 -11
  76. package/src/sdk/websocket_decompress_adapter.ts +42 -45
  77. package/src/sdk/websocket_test_adapter.ts +3 -2
  78. package/src/server/runtime.ts +7 -3
  79. package/src/server/schema.test-d.ts +37 -0
  80. package/src/server/view.test-d.ts +2 -0
  81. package/src/tanstack/SpacetimeDBQueryClient.ts +24 -0
@@ -31,6 +31,7 @@ export declare class SpacetimeDBQueryClient {
31
31
  private getTableData;
32
32
  private setupSubscription;
33
33
  private processPendingQueries;
34
+ private hydrateSubscriptions;
34
35
  disconnect(): void;
35
36
  }
36
37
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SpacetimeDBQueryClient.d.ts","sourceRoot":"","sources":["../../src/tanstack/SpacetimeDBQueryClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,KAAK,EAMX,MAAM,cAAc,CAAC;AAEtB,KAAK,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAO7B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,8BACf,SAAQ,uBAAuB;IAC/B,OAAO,EAAE,KAAK,CAAC;CAChB;AAMD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,8BAA8B,CAAC;AAElC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,uBAAuB,CAAC;AA0B7E,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxB,mBAAmB,EAAE,MAAM;QACzB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,GAAG,CAAC;QACnC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;YAAE,WAAW,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;KAC3D,CAAC;CACH;AASD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,cAAc,CAOlB;IACJ,OAAO,CAAC,gBAAgB,CAA6B;IAGrD,aAAa,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAKpD,OAAO,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAoBvC,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAoCrC;IAEF,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAwFzB,OAAO,CAAC,qBAAqB;IAiC7B,UAAU,IAAI,IAAI;CAanB"}
1
+ {"version":3,"file":"SpacetimeDBQueryClient.d.ts","sourceRoot":"","sources":["../../src/tanstack/SpacetimeDBQueryClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,KAAK,EAMX,MAAM,cAAc,CAAC;AAEtB,KAAK,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAO7B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,8BACf,SAAQ,uBAAuB;IAC/B,OAAO,EAAE,KAAK,CAAC;CAChB;AAMD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,8BAA8B,CAAC;AAElC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,uBAAuB,CAAC;AA0B7E,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxB,mBAAmB,EAAE,MAAM;QACzB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,GAAG,CAAC;QACnC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;YAAE,WAAW,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;KAC3D,CAAC;CACH;AASD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,cAAc,CAOlB;IACJ,OAAO,CAAC,gBAAgB,CAA6B;IAGrD,aAAa,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAMpD,OAAO,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAoBvC,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAoCrC;IAEF,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAwFzB,OAAO,CAAC,qBAAqB;IAiC7B,OAAO,CAAC,oBAAoB;IAuB5B,UAAU,IAAI,IAAI;CAanB"}
@@ -604,6 +604,9 @@ var BinaryWriter = class {
604
604
  constructor(init) {
605
605
  this.buffer = typeof init === "number" ? new ResizableBuffer(init) : init;
606
606
  }
607
+ clear() {
608
+ this.offset = 0;
609
+ }
607
610
  reset(buffer) {
608
611
  this.buffer = buffer;
609
612
  this.offset = 0;
@@ -1517,6 +1520,7 @@ var SpacetimeDBQueryClient = class {
1517
1520
  setConnection(connection) {
1518
1521
  this.connection = connection;
1519
1522
  this.processPendingQueries();
1523
+ this.hydrateSubscriptions();
1520
1524
  }
1521
1525
  connect(queryClient) {
1522
1526
  this.queryClient = queryClient;
@@ -1658,6 +1662,26 @@ var SpacetimeDBQueryClient = class {
1658
1662
  }
1659
1663
  }
1660
1664
  }
1665
+ // subscribe to queries with SSR cached data but no active subscription
1666
+ hydrateSubscriptions() {
1667
+ if (!this.connection || !this.queryClient) {
1668
+ return;
1669
+ }
1670
+ for (const [querySql, { accessorName, whereExpr }] of queryRegistry) {
1671
+ const queryKey = ["spacetimedb", accessorName, querySql];
1672
+ const keyStr = JSON.stringify(queryKey);
1673
+ if (this.subscriptions.has(keyStr)) {
1674
+ continue;
1675
+ }
1676
+ if (this.queryClient.getQueryData(queryKey) === void 0) {
1677
+ continue;
1678
+ }
1679
+ this.setupSubscription(queryKey, accessorName, querySql, whereExpr).catch(
1680
+ () => {
1681
+ }
1682
+ );
1683
+ }
1684
+ }
1661
1685
  // clean up all subscriptions and disconnect
1662
1686
  disconnect() {
1663
1687
  if (this.cacheUnsubscribe) {