spacetimedb 2.1.0 → 2.3.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 (125) 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 +43 -3
  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/reducers.d.ts +2 -0
  27. package/dist/lib/reducers.d.ts.map +1 -1
  28. package/dist/lib/table.d.ts +6 -0
  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 +57 -5
  37. package/dist/react/index.cjs.map +1 -1
  38. package/dist/react/index.d.ts +1 -0
  39. package/dist/react/index.d.ts.map +1 -1
  40. package/dist/react/index.mjs +57 -6
  41. package/dist/react/index.mjs.map +1 -1
  42. package/dist/react/useProcedure.d.ts +4 -0
  43. package/dist/react/useProcedure.d.ts.map +1 -0
  44. package/dist/react/useTable.d.ts +2 -0
  45. package/dist/react/useTable.d.ts.map +1 -1
  46. package/dist/sdk/db_connection_builder.d.ts +3 -3
  47. package/dist/sdk/db_connection_builder.d.ts.map +1 -1
  48. package/dist/sdk/db_connection_impl.d.ts +3 -3
  49. package/dist/sdk/db_connection_impl.d.ts.map +1 -1
  50. package/dist/sdk/decompress.d.ts +1 -1
  51. package/dist/sdk/decompress.d.ts.map +1 -1
  52. package/dist/sdk/index.browser.mjs +459 -138
  53. package/dist/sdk/index.browser.mjs.map +1 -1
  54. package/dist/sdk/index.cjs +459 -138
  55. package/dist/sdk/index.cjs.map +1 -1
  56. package/dist/sdk/index.mjs +459 -138
  57. package/dist/sdk/index.mjs.map +1 -1
  58. package/dist/sdk/table_cache.d.ts +1 -0
  59. package/dist/sdk/table_cache.d.ts.map +1 -1
  60. package/dist/sdk/type_utils.d.ts +4 -1
  61. package/dist/sdk/type_utils.d.ts.map +1 -1
  62. package/dist/sdk/websocket_decompress_adapter.d.ts +5 -21
  63. package/dist/sdk/websocket_decompress_adapter.d.ts.map +1 -1
  64. package/dist/sdk/websocket_protocols.d.ts +6 -0
  65. package/dist/sdk/websocket_protocols.d.ts.map +1 -0
  66. package/dist/sdk/websocket_test_adapter.d.ts +14 -18
  67. package/dist/sdk/websocket_test_adapter.d.ts.map +1 -1
  68. package/dist/sdk/websocket_v3_frames.d.ts +9 -0
  69. package/dist/sdk/websocket_v3_frames.d.ts.map +1 -0
  70. package/dist/sdk/ws.d.ts +26 -1
  71. package/dist/sdk/ws.d.ts.map +1 -1
  72. package/dist/server/http_internal.d.ts.map +1 -1
  73. package/dist/server/index.d.ts +1 -1
  74. package/dist/server/index.d.ts.map +1 -1
  75. package/dist/server/index.mjs +61 -8
  76. package/dist/server/index.mjs.map +1 -1
  77. package/dist/server/procedures.d.ts +2 -0
  78. package/dist/server/procedures.d.ts.map +1 -1
  79. package/dist/server/runtime.d.ts +30 -2
  80. package/dist/server/runtime.d.ts.map +1 -1
  81. package/dist/svelte/index.cjs +7 -2
  82. package/dist/svelte/index.cjs.map +1 -1
  83. package/dist/svelte/index.mjs +7 -2
  84. package/dist/svelte/index.mjs.map +1 -1
  85. package/dist/tanstack/index.cjs +41 -2
  86. package/dist/tanstack/index.cjs.map +1 -1
  87. package/dist/tanstack/index.d.ts +1 -0
  88. package/dist/tanstack/index.d.ts.map +1 -1
  89. package/dist/tanstack/index.mjs +41 -3
  90. package/dist/tanstack/index.mjs.map +1 -1
  91. package/dist/vue/index.cjs +43 -2
  92. package/dist/vue/index.cjs.map +1 -1
  93. package/dist/vue/index.d.ts +1 -0
  94. package/dist/vue/index.d.ts.map +1 -1
  95. package/dist/vue/index.mjs +43 -3
  96. package/dist/vue/index.mjs.map +1 -1
  97. package/dist/vue/useProcedure.d.ts +4 -0
  98. package/dist/vue/useProcedure.d.ts.map +1 -0
  99. package/package.json +2 -2
  100. package/src/lib/binary_reader.ts +5 -2
  101. package/src/lib/binary_writer.ts +7 -1
  102. package/src/lib/filter.ts +12 -1
  103. package/src/lib/reducers.ts +2 -0
  104. package/src/lib/table.ts +9 -1
  105. package/src/react/index.ts +1 -0
  106. package/src/react/useProcedure.ts +60 -0
  107. package/src/react/useTable.ts +17 -2
  108. package/src/sdk/db_connection_builder.ts +16 -7
  109. package/src/sdk/db_connection_impl.ts +404 -89
  110. package/src/sdk/decompress.ts +7 -23
  111. package/src/sdk/table_cache.ts +5 -5
  112. package/src/sdk/type_utils.ts +10 -1
  113. package/src/sdk/websocket_decompress_adapter.ts +15 -77
  114. package/src/sdk/websocket_protocols.ts +25 -0
  115. package/src/sdk/websocket_test_adapter.ts +65 -29
  116. package/src/sdk/websocket_v3_frames.ts +126 -0
  117. package/src/sdk/ws.ts +81 -3
  118. package/src/server/http_internal.ts +10 -1
  119. package/src/server/index.ts +1 -1
  120. package/src/server/procedures.ts +7 -1
  121. package/src/server/runtime.ts +44 -2
  122. package/src/server/sys.d.ts +4 -0
  123. package/src/tanstack/index.ts +1 -0
  124. package/src/vue/index.ts +1 -0
  125. package/src/vue/useProcedure.ts +62 -0
@@ -451,8 +451,8 @@ var BinaryReader = class {
451
451
  this.view = input instanceof DataView ? input : new DataView(input.buffer, input.byteOffset, input.byteLength);
452
452
  this.offset = 0;
453
453
  }
454
- reset(view) {
455
- this.view = view;
454
+ reset(input) {
455
+ this.view = input instanceof DataView ? input : new DataView(input.buffer, input.byteOffset, input.byteLength);
456
456
  this.offset = 0;
457
457
  }
458
458
  get remaining() {
@@ -644,6 +644,11 @@ var BinaryWriter = class {
644
644
  this.view.setUint8(this.offset, value);
645
645
  this.offset += 1;
646
646
  }
647
+ writeBytes(value) {
648
+ this.expandBuffer(value.length);
649
+ new Uint8Array(this.buffer.buffer, this.offset, value.length).set(value);
650
+ this.offset += value.length;
651
+ }
647
652
  writeI8(value) {
648
653
  this.expandBuffer(1);
649
654
  this.view.setInt8(this.offset, value);
@@ -1960,10 +1965,44 @@ function useReducer(reducerDef) {
1960
1965
  [getConnection, reducerName]
1961
1966
  );
1962
1967
  }
1968
+ function useProcedure(procedureDef) {
1969
+ const { getConnection, isActive } = useSpacetimeDB();
1970
+ const procedureName = procedureDef.accessorName;
1971
+ const queueRef = React.useRef([]);
1972
+ React.useEffect(() => {
1973
+ const conn = getConnection();
1974
+ if (!conn) {
1975
+ return;
1976
+ }
1977
+ const fn = conn.procedures[procedureName];
1978
+ if (queueRef.current.length) {
1979
+ const pending = queueRef.current.splice(0);
1980
+ for (const item of pending) {
1981
+ fn(...item.params).then(item.resolve, item.reject);
1982
+ }
1983
+ }
1984
+ }, [getConnection, procedureName, isActive]);
1985
+ return React.useCallback(
1986
+ (...params) => {
1987
+ const conn = getConnection();
1988
+ if (!conn) {
1989
+ return new Promise(
1990
+ (resolve, reject) => {
1991
+ queueRef.current.push({ params, resolve, reject });
1992
+ }
1993
+ );
1994
+ }
1995
+ const fn = conn.procedures[procedureName];
1996
+ return fn(...params);
1997
+ },
1998
+ [getConnection, procedureName]
1999
+ );
2000
+ }
1963
2001
 
1964
2002
  exports.SpacetimeDBProvider = SpacetimeDBProvider;
1965
2003
  exports.SpacetimeDBQueryClient = SpacetimeDBQueryClient;
1966
2004
  exports.spacetimeDBQuery = spacetimeDBQuery;
2005
+ exports.useProcedure = useProcedure;
1967
2006
  exports.useReducer = useReducer;
1968
2007
  exports.useSpacetimeDB = useSpacetimeDB;
1969
2008
  exports.useSpacetimeDBQuery = useSpacetimeDBQuery;