spacetimedb 2.2.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.
- package/LICENSE.txt +2 -2
- package/dist/browser/vue/index.mjs +36 -1
- package/dist/browser/vue/index.mjs.map +1 -1
- package/dist/lib/reducers.d.ts +2 -0
- package/dist/lib/reducers.d.ts.map +1 -1
- package/dist/server/index.mjs +8 -2
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/procedures.d.ts +2 -0
- package/dist/server/procedures.d.ts.map +1 -1
- package/dist/server/runtime.d.ts +1 -0
- package/dist/server/runtime.d.ts.map +1 -1
- package/dist/tanstack/index.cjs +34 -0
- package/dist/tanstack/index.cjs.map +1 -1
- package/dist/tanstack/index.d.ts +1 -0
- package/dist/tanstack/index.d.ts.map +1 -1
- package/dist/tanstack/index.mjs +34 -1
- package/dist/tanstack/index.mjs.map +1 -1
- package/dist/vue/index.cjs +36 -0
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.mjs +36 -1
- package/dist/vue/index.mjs.map +1 -1
- package/dist/vue/useProcedure.d.ts +4 -0
- package/dist/vue/useProcedure.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/lib/reducers.ts +2 -0
- package/src/server/procedures.ts +7 -1
- package/src/server/runtime.ts +5 -1
- package/src/tanstack/index.ts +1 -0
- package/src/vue/index.ts +1 -0
- package/src/vue/useProcedure.ts +62 -0
|
@@ -18,6 +18,8 @@ export interface ProcedureOpts {
|
|
|
18
18
|
}
|
|
19
19
|
export interface ProcedureCtx<S extends UntypedSchemaDef> {
|
|
20
20
|
readonly sender: Identity;
|
|
21
|
+
readonly databaseIdentity: Identity;
|
|
22
|
+
/** @deprecated Use `databaseIdentity` instead. */
|
|
21
23
|
readonly identity: Identity;
|
|
22
24
|
readonly timestamp: Timestamp;
|
|
23
25
|
readonly connectionId: ConnectionId | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/server/procedures.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/server/procedures.ts"],"names":[],"mappings":"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"}
|
package/dist/server/runtime.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAY3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAWnC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,eAAO,MAAM,GAAG;oCA0DmB,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA1DgB,CAAC;AAExD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAexD;AAsHD,eAAO,MAAM,cAAc;SACzB,SAAS,SAAS,gBAAgB,UAaxB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI,UACzB,MAAM,CAAC,GAAG,CAAC;gCAbV,QAAQ,GAAG,SAAS;;;;;;mCAEjB;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;8BAClC,MAAM,GAAG,SAAS;gBACnB,QAAQ;mBACL,SAAS;sBACN,YAAY,GAAG,IAAI;YAC7B,MAAM,CAAC,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAY3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAWnC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,eAAO,MAAM,GAAG;oCA0DmB,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA1DgB,CAAC;AAExD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAexD;AAsHD,eAAO,MAAM,cAAc;SACzB,SAAS,SAAS,gBAAgB,UAaxB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI,UACzB,MAAM,CAAC,GAAG,CAAC;gCAbV,QAAQ,GAAG,SAAS;;;;;;mCAEjB;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;8BAClC,MAAM,GAAG,SAAS;gBACnB,QAAQ;mBACL,SAAS;sBACN,YAAY,GAAG,IAAI;YAC7B,MAAM,CAAC,SAAS,CAAC;;;;;;;;;QAgDrB;;WAEG;qBACU,IAAI;QAKjB;;;WAGG;qBACU,IAAI;;IA7CjB,8DAA8D;cAExD,YAAY,gBAAa,UACrB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI;CA6CpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,EACD,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAG,CAE3C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,QAAQ,WAAW,KAAG,WACnB,CAAC"}
|
package/dist/tanstack/index.cjs
CHANGED
|
@@ -1965,10 +1965,44 @@ function useReducer(reducerDef) {
|
|
|
1965
1965
|
[getConnection, reducerName]
|
|
1966
1966
|
);
|
|
1967
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
|
+
}
|
|
1968
2001
|
|
|
1969
2002
|
exports.SpacetimeDBProvider = SpacetimeDBProvider;
|
|
1970
2003
|
exports.SpacetimeDBQueryClient = SpacetimeDBQueryClient;
|
|
1971
2004
|
exports.spacetimeDBQuery = spacetimeDBQuery;
|
|
2005
|
+
exports.useProcedure = useProcedure;
|
|
1972
2006
|
exports.useReducer = useReducer;
|
|
1973
2007
|
exports.useSpacetimeDB = useSpacetimeDB;
|
|
1974
2008
|
exports.useSpacetimeDBQuery = useSpacetimeDBQuery;
|