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.
@@ -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":"AAAA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS,gBAAgB,EAC1B,MAAM,SAAS,SAAS,EACxB,GAAG,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,IAC/B,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC;AAE/C,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,gBAAgB,EAC1B,MAAM,SAAS,SAAS,EACxB,GAAG,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAEjC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,GAC9B,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAejC;AAED,MAAM,MAAM,WAAW,CACrB,CAAC,SAAS,gBAAgB,EAC1B,MAAM,SAAS,SAAS,EACxB,GAAG,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,IAC/B,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,gBAAgB;IACtD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,IAAI,IAAI,CAAC;CACnB;AAGD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,gBAAgB,CACxD,SAAQ,UAAU,CAAC,CAAC,CAAC;CAAG;AAyD1B,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC;IAC7B,EAAE,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC,CAAC;AAEH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,WAAW,EACtB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,QAAQ,EAChB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,GACxB,UAAU,CAgBZ"}
1
+ {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/server/procedures.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ export declare const ReducerCtxImpl: {
54
54
  timestamp: Timestamp;
55
55
  connectionId: ConnectionId | null;
56
56
  db: DbView<SchemaDef>;
57
+ get databaseIdentity(): Identity;
57
58
  get identity(): Identity;
58
59
  get senderAuth(): Readonly<{
59
60
  isInternal: boolean;
@@ -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;;;;;;;;QA4CrB;;WAEG;qBACU,IAAI;QAKjB;;;WAGG;qBACU,IAAI;;IAzCjB,8DAA8D;cAExD,YAAY,gBAAa,UACrB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI;CAyCpC,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"}
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"}
@@ -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;