spacetimedb 2.2.0 → 2.4.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 (83) hide show
  1. package/LICENSE.txt +2 -2
  2. package/dist/browser/vue/index.mjs +36 -1
  3. package/dist/browser/vue/index.mjs.map +1 -1
  4. package/dist/index.browser.mjs +50 -4
  5. package/dist/index.browser.mjs.map +1 -1
  6. package/dist/index.cjs +50 -4
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.mjs +50 -4
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/lib/autogen/types.d.ts +674 -18
  11. package/dist/lib/autogen/types.d.ts.map +1 -1
  12. package/dist/lib/reducers.d.ts +2 -0
  13. package/dist/lib/reducers.d.ts.map +1 -1
  14. package/dist/lib/schema.d.ts.map +1 -1
  15. package/dist/min/index.browser.mjs +1 -1
  16. package/dist/min/index.browser.mjs.map +1 -1
  17. package/dist/min/sdk/index.browser.mjs +1 -1
  18. package/dist/min/sdk/index.browser.mjs.map +1 -1
  19. package/dist/sdk/decompress.d.ts.map +1 -1
  20. package/dist/sdk/index.browser.mjs +50 -4
  21. package/dist/sdk/index.browser.mjs.map +1 -1
  22. package/dist/sdk/index.cjs +50 -4
  23. package/dist/sdk/index.cjs.map +1 -1
  24. package/dist/sdk/index.mjs +50 -4
  25. package/dist/sdk/index.mjs.map +1 -1
  26. package/dist/server/http.d.ts +1 -2
  27. package/dist/server/http.d.ts.map +1 -1
  28. package/dist/server/http.test-d.d.ts +2 -0
  29. package/dist/server/http.test-d.d.ts.map +1 -0
  30. package/dist/server/http_handlers.d.ts +82 -0
  31. package/dist/server/http_handlers.d.ts.map +1 -0
  32. package/dist/server/http_internal.d.ts +1 -32
  33. package/dist/server/http_internal.d.ts.map +1 -1
  34. package/dist/server/http_shared.d.ts +44 -0
  35. package/dist/server/http_shared.d.ts.map +1 -0
  36. package/dist/server/index.d.ts +2 -0
  37. package/dist/server/index.d.ts.map +1 -1
  38. package/dist/server/index.mjs +590 -136
  39. package/dist/server/index.mjs.map +1 -1
  40. package/dist/server/procedures.d.ts +2 -0
  41. package/dist/server/procedures.d.ts.map +1 -1
  42. package/dist/server/runtime.d.ts +2 -0
  43. package/dist/server/runtime.d.ts.map +1 -1
  44. package/dist/server/schema.d.ts +16 -1
  45. package/dist/server/schema.d.ts.map +1 -1
  46. package/dist/server/views.d.ts.map +1 -1
  47. package/dist/tanstack/index.cjs +34 -0
  48. package/dist/tanstack/index.cjs.map +1 -1
  49. package/dist/tanstack/index.d.ts +1 -0
  50. package/dist/tanstack/index.d.ts.map +1 -1
  51. package/dist/tanstack/index.mjs +34 -1
  52. package/dist/tanstack/index.mjs.map +1 -1
  53. package/dist/vue/index.cjs +36 -0
  54. package/dist/vue/index.cjs.map +1 -1
  55. package/dist/vue/index.d.ts +1 -0
  56. package/dist/vue/index.d.ts.map +1 -1
  57. package/dist/vue/index.mjs +36 -1
  58. package/dist/vue/index.mjs.map +1 -1
  59. package/dist/vue/useProcedure.d.ts +4 -0
  60. package/dist/vue/useProcedure.d.ts.map +1 -0
  61. package/package.json +1 -1
  62. package/src/lib/autogen/types.ts +29 -0
  63. package/src/lib/reducers.ts +2 -0
  64. package/src/lib/schema.ts +14 -0
  65. package/src/sdk/decompress.ts +19 -4
  66. package/src/sdk/logger.ts +1 -1
  67. package/src/server/http.test-d.ts +80 -0
  68. package/src/server/http.ts +14 -2
  69. package/src/server/http_handlers.ts +413 -0
  70. package/src/server/http_internal.ts +15 -142
  71. package/src/server/http_shared.ts +186 -0
  72. package/src/server/index.ts +11 -0
  73. package/src/server/procedures.ts +15 -31
  74. package/src/server/runtime.ts +142 -2
  75. package/src/server/schema.ts +71 -2
  76. package/src/server/sys.d.ts +7 -0
  77. package/src/server/views.ts +1 -0
  78. package/src/tanstack/index.ts +1 -0
  79. package/src/vue/index.ts +1 -0
  80. package/src/vue/useProcedure.ts +62 -0
  81. package/dist/lib/http_types.d.ts +0 -2
  82. package/dist/lib/http_types.d.ts.map +0 -1
  83. package/src/lib/http_types.ts +0 -8
@@ -3,4 +3,5 @@ export { useSpacetimeDBQuery, useSpacetimeDBSuspenseQuery, type UseSpacetimeDBQu
3
3
  export * from '../react/SpacetimeDBProvider';
4
4
  export { useSpacetimeDB } from '../react/useSpacetimeDB';
5
5
  export { useReducer } from '../react/useReducer';
6
+ export { useProcedure } from '../react/useProcedure';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tanstack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,GACvC,MAAM,SAAS,CAAC;AACjB,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tanstack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,GACvC,MAAM,SAAS,CAAC;AACjB,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1944,7 +1944,40 @@ function useReducer(reducerDef) {
1944
1944
  [getConnection, reducerName]
1945
1945
  );
1946
1946
  }
1947
+ function useProcedure(procedureDef) {
1948
+ const { getConnection, isActive } = useSpacetimeDB();
1949
+ const procedureName = procedureDef.accessorName;
1950
+ const queueRef = useRef([]);
1951
+ useEffect(() => {
1952
+ const conn = getConnection();
1953
+ if (!conn) {
1954
+ return;
1955
+ }
1956
+ const fn = conn.procedures[procedureName];
1957
+ if (queueRef.current.length) {
1958
+ const pending = queueRef.current.splice(0);
1959
+ for (const item of pending) {
1960
+ fn(...item.params).then(item.resolve, item.reject);
1961
+ }
1962
+ }
1963
+ }, [getConnection, procedureName, isActive]);
1964
+ return useCallback(
1965
+ (...params) => {
1966
+ const conn = getConnection();
1967
+ if (!conn) {
1968
+ return new Promise(
1969
+ (resolve, reject) => {
1970
+ queueRef.current.push({ params, resolve, reject });
1971
+ }
1972
+ );
1973
+ }
1974
+ const fn = conn.procedures[procedureName];
1975
+ return fn(...params);
1976
+ },
1977
+ [getConnection, procedureName]
1978
+ );
1979
+ }
1947
1980
 
1948
- export { SpacetimeDBProvider, SpacetimeDBQueryClient, spacetimeDBQuery, useReducer, useSpacetimeDB, useSpacetimeDBQuery, useSpacetimeDBSuspenseQuery };
1981
+ export { SpacetimeDBProvider, SpacetimeDBQueryClient, spacetimeDBQuery, useProcedure, useReducer, useSpacetimeDB, useSpacetimeDBQuery, useSpacetimeDBSuspenseQuery };
1949
1982
  //# sourceMappingURL=index.mjs.map
1950
1983
  //# sourceMappingURL=index.mjs.map