spacetimedb 2.1.0 → 2.2.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.
Files changed (110) hide show
  1. package/LICENSE.txt +2 -2
  2. package/dist/angular/index.cjs +7 -2
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.mjs +7 -2
  5. package/dist/angular/index.mjs.map +1 -1
  6. package/dist/browser/angular/index.mjs +7 -2
  7. package/dist/browser/angular/index.mjs.map +1 -1
  8. package/dist/browser/react/index.mjs +57 -6
  9. package/dist/browser/react/index.mjs.map +1 -1
  10. package/dist/browser/svelte/index.mjs +7 -2
  11. package/dist/browser/svelte/index.mjs.map +1 -1
  12. package/dist/browser/vue/index.mjs +7 -2
  13. package/dist/browser/vue/index.mjs.map +1 -1
  14. package/dist/index.browser.mjs +459 -138
  15. package/dist/index.browser.mjs.map +1 -1
  16. package/dist/index.cjs +459 -138
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.mjs +459 -138
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/lib/binary_reader.d.ts +1 -1
  21. package/dist/lib/binary_reader.d.ts.map +1 -1
  22. package/dist/lib/binary_writer.d.ts +2 -1
  23. package/dist/lib/binary_writer.d.ts.map +1 -1
  24. package/dist/lib/filter.d.ts +2 -1
  25. package/dist/lib/filter.d.ts.map +1 -1
  26. package/dist/lib/table.d.ts +6 -0
  27. package/dist/lib/table.d.ts.map +1 -1
  28. package/dist/min/index.browser.mjs +1 -1
  29. package/dist/min/index.browser.mjs.map +1 -1
  30. package/dist/min/react/index.mjs +1 -1
  31. package/dist/min/react/index.mjs.map +1 -1
  32. package/dist/min/sdk/index.browser.mjs +1 -1
  33. package/dist/min/sdk/index.browser.mjs.map +1 -1
  34. package/dist/react/index.cjs +57 -5
  35. package/dist/react/index.cjs.map +1 -1
  36. package/dist/react/index.d.ts +1 -0
  37. package/dist/react/index.d.ts.map +1 -1
  38. package/dist/react/index.mjs +57 -6
  39. package/dist/react/index.mjs.map +1 -1
  40. package/dist/react/useProcedure.d.ts +4 -0
  41. package/dist/react/useProcedure.d.ts.map +1 -0
  42. package/dist/react/useTable.d.ts +2 -0
  43. package/dist/react/useTable.d.ts.map +1 -1
  44. package/dist/sdk/db_connection_builder.d.ts +3 -3
  45. package/dist/sdk/db_connection_builder.d.ts.map +1 -1
  46. package/dist/sdk/db_connection_impl.d.ts +3 -3
  47. package/dist/sdk/db_connection_impl.d.ts.map +1 -1
  48. package/dist/sdk/decompress.d.ts +1 -1
  49. package/dist/sdk/decompress.d.ts.map +1 -1
  50. package/dist/sdk/index.browser.mjs +459 -138
  51. package/dist/sdk/index.browser.mjs.map +1 -1
  52. package/dist/sdk/index.cjs +459 -138
  53. package/dist/sdk/index.cjs.map +1 -1
  54. package/dist/sdk/index.mjs +459 -138
  55. package/dist/sdk/index.mjs.map +1 -1
  56. package/dist/sdk/table_cache.d.ts +1 -0
  57. package/dist/sdk/table_cache.d.ts.map +1 -1
  58. package/dist/sdk/type_utils.d.ts +4 -1
  59. package/dist/sdk/type_utils.d.ts.map +1 -1
  60. package/dist/sdk/websocket_decompress_adapter.d.ts +5 -21
  61. package/dist/sdk/websocket_decompress_adapter.d.ts.map +1 -1
  62. package/dist/sdk/websocket_protocols.d.ts +6 -0
  63. package/dist/sdk/websocket_protocols.d.ts.map +1 -0
  64. package/dist/sdk/websocket_test_adapter.d.ts +14 -18
  65. package/dist/sdk/websocket_test_adapter.d.ts.map +1 -1
  66. package/dist/sdk/websocket_v3_frames.d.ts +9 -0
  67. package/dist/sdk/websocket_v3_frames.d.ts.map +1 -0
  68. package/dist/sdk/ws.d.ts +26 -1
  69. package/dist/sdk/ws.d.ts.map +1 -1
  70. package/dist/server/http_internal.d.ts.map +1 -1
  71. package/dist/server/index.d.ts +1 -1
  72. package/dist/server/index.d.ts.map +1 -1
  73. package/dist/server/index.mjs +53 -6
  74. package/dist/server/index.mjs.map +1 -1
  75. package/dist/server/runtime.d.ts +29 -2
  76. package/dist/server/runtime.d.ts.map +1 -1
  77. package/dist/svelte/index.cjs +7 -2
  78. package/dist/svelte/index.cjs.map +1 -1
  79. package/dist/svelte/index.mjs +7 -2
  80. package/dist/svelte/index.mjs.map +1 -1
  81. package/dist/tanstack/index.cjs +7 -2
  82. package/dist/tanstack/index.cjs.map +1 -1
  83. package/dist/tanstack/index.mjs +7 -2
  84. package/dist/tanstack/index.mjs.map +1 -1
  85. package/dist/vue/index.cjs +7 -2
  86. package/dist/vue/index.cjs.map +1 -1
  87. package/dist/vue/index.mjs +7 -2
  88. package/dist/vue/index.mjs.map +1 -1
  89. package/package.json +2 -2
  90. package/src/lib/binary_reader.ts +5 -2
  91. package/src/lib/binary_writer.ts +7 -1
  92. package/src/lib/filter.ts +12 -1
  93. package/src/lib/table.ts +9 -1
  94. package/src/react/index.ts +1 -0
  95. package/src/react/useProcedure.ts +60 -0
  96. package/src/react/useTable.ts +17 -2
  97. package/src/sdk/db_connection_builder.ts +16 -7
  98. package/src/sdk/db_connection_impl.ts +404 -89
  99. package/src/sdk/decompress.ts +7 -23
  100. package/src/sdk/table_cache.ts +5 -5
  101. package/src/sdk/type_utils.ts +10 -1
  102. package/src/sdk/websocket_decompress_adapter.ts +15 -77
  103. package/src/sdk/websocket_protocols.ts +25 -0
  104. package/src/sdk/websocket_test_adapter.ts +65 -29
  105. package/src/sdk/websocket_v3_frames.ts +126 -0
  106. package/src/sdk/ws.ts +81 -3
  107. package/src/server/http_internal.ts +10 -1
  108. package/src/server/index.ts +1 -1
  109. package/src/server/runtime.ts +39 -1
  110. package/src/server/sys.d.ts +4 -0
@@ -1,4 +1,5 @@
1
1
  import * as _syscalls2_0 from 'spacetime:sys@2.0';
2
+ import * as _syscalls2_1 from 'spacetime:sys@2.1';
2
3
 
3
4
  import type { ModuleHooks, u128, u16, u256, u32 } from 'spacetime:sys@2.0';
4
5
  import {
@@ -45,7 +46,7 @@ import type { SchemaInner } from './schema';
45
46
 
46
47
  const { freeze } = Object;
47
48
 
48
- export const sys = _syscalls2_0;
49
+ export const sys = { ..._syscalls2_0, ..._syscalls2_1 };
49
50
 
50
51
  export function parseJsonObject(json: string): JsonObject {
51
52
  let value: unknown;
@@ -508,6 +509,7 @@ function makeTableView(
508
509
  );
509
510
  return count > 0;
510
511
  },
512
+ clear: () => sys.datastore_clear(table_id),
511
513
  };
512
514
 
513
515
  const tableView = Object.assign(
@@ -667,9 +669,37 @@ function makeTableView(
667
669
  index = base as UniqueIndex<any, any>;
668
670
  } else if (serializeSinglePoint) {
669
671
  // numColumns == 1
672
+
673
+ const serializeSingleRange = !isHashIndex
674
+ ? (buffer: ResizableBuffer, range: Range<any>): IndexScanArgs => {
675
+ BINARY_WRITER.reset(buffer);
676
+ const writer = BINARY_WRITER;
677
+ const writeBound = (bound: Bound<any>) => {
678
+ const tags = { included: 0, excluded: 1, unbounded: 2 };
679
+ writer.writeU8(tags[bound.tag]);
680
+ if (bound.tag !== 'unbounded')
681
+ serializeSingleElement!(writer, bound.value);
682
+ };
683
+ writeBound(range.from);
684
+ const rstartLen = writer.offset;
685
+ writeBound(range.to);
686
+ const rendLen = writer.offset - rstartLen;
687
+ return [0, 0, rstartLen, rendLen];
688
+ }
689
+ : null;
690
+
670
691
  const rawIndex = {
671
692
  filter: (range: any): IteratorObject<RowType<any>> => {
672
693
  const buf = LEAF_BUF;
694
+ if (serializeSingleRange && range instanceof Range) {
695
+ const args = serializeSingleRange(buf, range);
696
+ const iter_id = sys.datastore_index_scan_range_bsatn(
697
+ index_id,
698
+ buf.buffer,
699
+ ...args
700
+ );
701
+ return tableIterator(iter_id, deserializeRow);
702
+ }
673
703
  const point_len = serializeSinglePoint(buf, range);
674
704
  const iter_id = sys.datastore_index_scan_point_bsatn(
675
705
  index_id,
@@ -680,6 +710,14 @@ function makeTableView(
680
710
  },
681
711
  delete: (range: any): u32 => {
682
712
  const buf = LEAF_BUF;
713
+ if (serializeSingleRange && range instanceof Range) {
714
+ const args = serializeSingleRange(buf, range);
715
+ return sys.datastore_delete_by_index_scan_range_bsatn(
716
+ index_id,
717
+ buf.buffer,
718
+ ...args
719
+ );
720
+ }
683
721
  const point_len = serializeSinglePoint(buf, range);
684
722
  return sys.datastore_delete_by_index_scan_point_bsatn(
685
723
  index_id,
@@ -112,3 +112,7 @@ declare module 'spacetime:sys@2.0' {
112
112
  point_len: u32
113
113
  ): u32;
114
114
  }
115
+
116
+ declare module 'spacetime:sys@2.1' {
117
+ export function datastore_clear(table_id: u32): u64;
118
+ }