@instantdb/core 0.22.155 → 0.22.156
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/__tests__/src/utils/e2e.ts +42 -18
- package/dist/commonjs/InstantError.d.ts +2 -1
- package/dist/commonjs/InstantError.d.ts.map +1 -1
- package/dist/commonjs/InstantError.js +5 -1
- package/dist/commonjs/InstantError.js.map +1 -1
- package/dist/commonjs/Reactor.d.ts +6 -0
- package/dist/commonjs/Reactor.d.ts.map +1 -1
- package/dist/commonjs/Reactor.js +12 -0
- package/dist/commonjs/Reactor.js.map +1 -1
- package/dist/commonjs/framework.d.ts +4 -0
- package/dist/commonjs/framework.d.ts.map +1 -1
- package/dist/commonjs/framework.js +67 -1
- package/dist/commonjs/framework.js.map +1 -1
- package/dist/commonjs/utils/fetch.js +1 -1
- package/dist/commonjs/utils/fetch.js.map +1 -1
- package/dist/esm/InstantError.d.ts +2 -1
- package/dist/esm/InstantError.d.ts.map +1 -1
- package/dist/esm/InstantError.js +5 -1
- package/dist/esm/InstantError.js.map +1 -1
- package/dist/esm/Reactor.d.ts +6 -0
- package/dist/esm/Reactor.d.ts.map +1 -1
- package/dist/esm/Reactor.js +12 -0
- package/dist/esm/Reactor.js.map +1 -1
- package/dist/esm/framework.d.ts +4 -0
- package/dist/esm/framework.d.ts.map +1 -1
- package/dist/esm/framework.js +68 -2
- package/dist/esm/framework.js.map +1 -1
- package/dist/esm/utils/fetch.js +1 -1
- package/dist/esm/utils/fetch.js.map +1 -1
- package/dist/standalone/index.js +348 -308
- package/dist/standalone/index.umd.cjs +3 -3
- package/package.json +2 -2
- package/src/InstantError.ts +5 -1
- package/src/Reactor.js +15 -0
- package/src/framework.ts +79 -1
- package/src/utils/fetch.ts +1 -1
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { test as baseTest } from 'vitest';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
init,
|
|
4
|
+
InstantCoreDatabase,
|
|
5
|
+
InstantRules,
|
|
6
|
+
InstantSchemaDef,
|
|
7
|
+
} from '../../../src';
|
|
3
8
|
|
|
4
9
|
// @ts-ignore
|
|
5
10
|
const apiUrl = import.meta.env.VITE_INSTANT_DEV
|
|
@@ -14,20 +19,39 @@ const websocketURI = import.meta.env.VITE_INSTANT_DEV
|
|
|
14
19
|
import.meta.env.VITE_INSTANT_WEBSOCKET_URI ||
|
|
15
20
|
'wss://api.instantdb.com/runtime/session';
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
22
|
+
// Make a factory function that returns a typed test instance
|
|
23
|
+
export function makeE2ETest<Schema extends InstantSchemaDef<any, any, any>>({
|
|
24
|
+
schema,
|
|
25
|
+
rules,
|
|
26
|
+
}: {
|
|
27
|
+
schema?: Schema;
|
|
28
|
+
rules?: {
|
|
29
|
+
code: InstantRules;
|
|
30
|
+
};
|
|
31
|
+
}) {
|
|
32
|
+
return baseTest.extend<{
|
|
33
|
+
db: InstantCoreDatabase<Schema, false>;
|
|
34
|
+
}>({
|
|
35
|
+
db: async ({ task, signal }, use) => {
|
|
36
|
+
const response = await fetch(`${apiUrl}/dash/apps/ephemeral`, {
|
|
37
|
+
body: JSON.stringify({ title: `e2e-${task.id}`, schema, rules }),
|
|
38
|
+
headers: { 'Content-Type': 'application/json' },
|
|
39
|
+
method: 'POST',
|
|
40
|
+
signal,
|
|
41
|
+
});
|
|
42
|
+
if (!response.ok) {
|
|
43
|
+
throw new Error(await response.text());
|
|
44
|
+
}
|
|
45
|
+
const { app } = await response.json();
|
|
46
|
+
const db = init<Schema>({
|
|
47
|
+
appId: app.id,
|
|
48
|
+
apiURI: apiUrl,
|
|
49
|
+
websocketURI,
|
|
50
|
+
schema,
|
|
51
|
+
});
|
|
52
|
+
await use(db);
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const e2eTest = makeE2ETest({});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare class InstantError extends Error {
|
|
2
2
|
hint?: unknown;
|
|
3
|
-
|
|
3
|
+
traceId?: string;
|
|
4
|
+
constructor(message: string, hint?: unknown, traceId?: string);
|
|
4
5
|
get [Symbol.toStringTag](): string;
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=InstantError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstantError.d.ts","sourceRoot":"","sources":["../../src/InstantError.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"InstantError.d.ts","sourceRoot":"","sources":["../../src/InstantError.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;IAoB7D,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;CACF"}
|
|
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.InstantError = void 0;
|
|
4
4
|
class InstantError extends Error {
|
|
5
5
|
hint;
|
|
6
|
-
|
|
6
|
+
traceId;
|
|
7
|
+
constructor(message, hint, traceId) {
|
|
7
8
|
super(message);
|
|
8
9
|
this.hint = hint;
|
|
10
|
+
if (traceId) {
|
|
11
|
+
this.traceId = traceId;
|
|
12
|
+
}
|
|
9
13
|
const actualProto = new.target.prototype;
|
|
10
14
|
if (Object.setPrototypeOf) {
|
|
11
15
|
Object.setPrototypeOf(this, actualProto);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstantError.js","sourceRoot":"","sources":["../../src/InstantError.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,CAAW;
|
|
1
|
+
{"version":3,"file":"InstantError.js","sourceRoot":"","sources":["../../src/InstantError.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,CAAW;IACf,OAAO,CAAU;IAEjB,YAAY,OAAe,EAAE,IAAc,EAAE,OAAgB;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACzC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,cAAc,CAAC;IACxB,CAAC;CACF;AA3BD,oCA2BC","sourcesContent":["export class InstantError extends Error {\n hint?: unknown;\n traceId?: string;\n\n constructor(message: string, hint?: unknown, traceId?: string) {\n super(message);\n this.hint = hint;\n if (traceId) {\n this.traceId = traceId;\n }\n\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(this, actualProto);\n }\n\n // Maintain proper stack trace for where our error was thrown\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, InstantError);\n }\n\n this.name = 'InstantError';\n }\n\n get [Symbol.toStringTag]() {\n return 'InstantError';\n }\n}\n"]}
|
|
@@ -86,9 +86,14 @@ export default class Reactor<RoomSchema extends import("./presence.ts").RoomSche
|
|
|
86
86
|
_pendingTxCleanupTimeout: any;
|
|
87
87
|
_pendingMutationCleanupThreshold: any;
|
|
88
88
|
_inFlightMutationEventIds: Set<any>;
|
|
89
|
+
/** @type FrameworkClient | null */
|
|
90
|
+
_frameworkClient: FrameworkClient | null;
|
|
89
91
|
queryCacheLimit: any;
|
|
90
92
|
versions: any;
|
|
91
93
|
_beforeUnload(): void;
|
|
94
|
+
getFrameworkClient(): import("./framework.ts").FrameworkClient | null;
|
|
95
|
+
/** @param {FrameworkClient} client */
|
|
96
|
+
setFrameworkClient(client: FrameworkClient): void;
|
|
92
97
|
ensureAttrs(): s.AttrsStore;
|
|
93
98
|
updateSchema(schema: any): void;
|
|
94
99
|
_reactorStats(): {
|
|
@@ -379,6 +384,7 @@ export type QuerySub = import("./reactorTypes.ts").QuerySub;
|
|
|
379
384
|
export type QuerySubInStorage = import("./reactorTypes.ts").QuerySubInStorage;
|
|
380
385
|
export type User = import("./clientTypes.ts").User;
|
|
381
386
|
export type AuthState = import("./clientTypes.ts").AuthState;
|
|
387
|
+
export type FrameworkClient = import("./framework.ts").FrameworkClient;
|
|
382
388
|
import * as s from './store.ts';
|
|
383
389
|
import { PersistedObject } from './utils/PersistedObject.ts';
|
|
384
390
|
import { SyncTable } from './SyncTable.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reactor.d.ts","sourceRoot":"","sources":["../../src/Reactor.js"],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"Reactor.d.ts","sourceRoot":"","sources":["../../src/Reactor.js"],"names":[],"mappings":";;;;;;;AA8MA;;GAEG;AACH,6BAFwD,UAAU,SAArD,OAAQ,eAAe,EAAE,eAAgB;IAuEpD,8KAmIC;IAvMD,uCAAuC;IACvC,OADW,CAAC,CAAC,UAAU,GAAG,SAAS,CAC7B;IACN,mBAAiB;IACjB,qBAAoB;IACpB,eAA2B;IAE3B,mEAAmE;IACnE,WADW,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CACrD;IAEV,8BAA8B;IAC9B,mCAAG;IAEH,wBAAwB;IACxB,YADW,SAAS,CACT;IACX,4BAA4B;IAC5B,gBADW,aAAa,CACT;IAEf,wEAAwE;IACxE,UADW,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CAAC,CAAC,CACtD;IACd,gFAAgF;IAChF,eADW,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC,CACzD;IACnB,eAAa;IACb,gBAAc;IACd,wBAAsB;IACtB,2BAAyB;IACzB,YAAO;IACP,qCAAkC;IAClC,0BAA2B;IAC3B,4BAAwB;IACxB,yBAAyB;IACzB,YADW,UAAU,CACV;IACX,4BAA4B;IAC5B,gBADW,aAAa,CACF;IAEtB,qCAAqC;IACrC,cADW,sBAAsB,CACpB;IACb,6BAA6B;IAC7B,OADW,OAAO,GAAG,IAAI,CACZ;IACb,qBAAsB;IACtB,oBAAqB;IACrB,gEAAgE;IAChE,wBADW,OAAO,CAAC,IAAI,GAAG;QAAC,KAAK,EAAE;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,CAAC,GAAG,IAAI,CAC9B;IAE9B,+DAA+D;IAC/D,YADW,IAAI,GAAG,OAAO,sBAAsB,EAAE,SAAS,CACxC;IAElB,yCAAyC;IACzC,mBADU,gBAAgB,GAAG,SAAS,CACpB;IAElB,mFAAmF;IACnF,QADW,MAAM,CAAC,MAAM,EAAE;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC,CAAC,CACnE;IACZ,sCAAsC;IACtC,oBADW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACV;IACxB,cAAe;IACf,uBAAqB;IACrB,mBAAoB;IACpB,kFAAkF;IAClF,oBADW;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC;QAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CAAA;KAAC,CACF;IAC5E,wBAAsB;IACtB,uBAAwB;IACxB,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,8BAAyB;IACzB,sCAAiC;IACjC,oCAAsC;IACtC,mCAAmC;IACnC,kBADU,eAAe,GAAG,IAAI,CACR;IAYtB,qBAAwD;IAYxD,cAAmE;IAkMrE,sBAKC;IAxFD,sEAEC;IAED,uCAAuC;IACvC,2BADY,eAAe,QAG1B;IAED,4BAKC;IAED,gCAOC;IAED;;;;MAMC;IAED,mCAIC;IAED,iCA0CC;IASD;;;;OAIG;IACH,2BAJW,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAI,OAAO,WACxD,MAAM,aACN;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAC,QAoC5E;IAED,wCAKC;IAED,aAAc,QAAG,EAAE,aAAQ,EAAE,cAAS,SAmBpC;IAEF,0CAgBC;IAED;;;;;;OAMG;IACH,iBAJW,GAAG,UACH;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC;KAAE,8BAChC,OAAO,QA8BjB;IAED,4CAwRC;IAtQK,gBAAmC;IAwQzC,kFAEC;IAED,oDAEC;IAED,yBAEC;IAED,sCAMC;IAED;;;;OAIG;IACH,6BAJW,SAAS,GAAG,OAAO,WACnB,MAAM,YACN;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAC,QAoB5E;IAED,oCA6EC;IAED,oEAKC;IAED,4BAUC;IAKD,oBAAqB,MAAC,SAGpB;IAEF,0CASC;IAED;wBAvmBsB,CAAC;kCAymBtB;IAED;;;;;;;;;OASG;IACH,uDAuBC;IAED,2CAwCC;IAED,sDAQC;IAED,8CAMC;IAED,uCAEC;IAED,uCASC;IAaD;;;;;OAKG;IACH,yBAJW,CAAC,CAAC,UAAU,QACZ,GAAG,kBACH,MAAM,OAgFhB;IAED,sDAEC;IAKD;;OAEG;IACH,mBAFa,CAAC,CAAC,UAAU,CAuCxB;IAED,0CAA0C;IAC1C,wDAgDC;IAED;;;MASC;IAED,0DAA0D;IAC1D,YAAa,SAAI,UAUf;IAEF,qBAAsB,SAAI,UAQxB;IAEF,mBAAoB,SAAI,EAAE,UAAK,UAG7B;IAEF,mCAAmC;IACnC,kBAOC;IAED,wBAKC;IAED,wEAAwE;IACxE,SAAU,WAAM,kBAqBd;IAEF;;;;OAIG;IACH,UAAW,SAJA,GAIO,EAAE,QAHT,GAGc,kBAsBvB;IAEF,iBAIC;IAED;;;;;;OAMG;IACH,iDAqCC;IAKD,4DAA4D;IAC5D,8BAoCC;IAED;;OAEG;IACH,wCAeC;IAED;;;;OAIG;IACH,wCAiBC;IAED,qCAKC;IAED,kDAqBC;IAED,mBAAoB,MAAC,UA+BnB;IAEF,sBAAuB,MAAC,UAyBtB;IAEF,oBAAqB,MAAC,UAWpB;IAEF,+BAsBE;IAEF,oBAAqB,MAAC,UAgCpB;IAEF,qBAqDC;IAED;;;;;;;OAOG;IACH,oCAgBC;IAID,8BAoDC;IAED;;;OAGG;IACH;;;;cA+CC;IAED;eAhsDkC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC;cAksDlD;IAED,+CAMC;IAED,mCAgBC;IAED,2DAMC;IAED,+CAQC;IAED,oCAUC;IAED,gCAEC;IAED,0CAEC;IAED,wBAIC;IAED,8CAEC;IAED,yCAKC;IAED;mBArwDuB,OAAO;eAAS,GAAG,GAAG,SAAS;cAAQ,GAAG,GAAG,SAAS;MAuwD5E;IAED;;;OAGG;IACH,uBAHW;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAQrC;IAED;;;OAGG;IACH,sBAHW;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,OAAO,CAAC,SAAS,CAAC,CAwB9B;IAED,oCAGC;IAED,+CAuBC;IAED,6CAiBC;IAED,wCAmBC;IAED;;+CAMC;IAED;;;wCAYC;IAED,uEAQC;IAED,iDAOC;IAED,8DAoBC;IAED,kCAIC;IAED;;;;;;;OAOG;IACH,oDAJG;QAAuB,UAAU,EAAzB,MAAM;QACS,WAAW,EAA1B,MAAM;KACd,GAAU,MAAM,CAKlB;IAED;;;;OAIG;IACH,6CAHG;QAAuB,IAAI,EAAnB,MAAM;QACU,YAAY;KACtC,mCAaA;IAED,oBAGC;IAED;;;;;OAKG;IACH,kDAJG;QAAuB,UAAU,EAAzB,MAAM;QACS,OAAO,EAAtB,MAAM;QAC6B,KAAK,GAAxC,MAAM,GAAG,IAAI,GAAG,SAAS;KACnC,mCAeA;IAKD;;;;;OAKG;IACH,mBALW,MAAM,UACN,MAAM,oBACN,GAAG,GAAG,IAAI,GAAG,SAAS,cA6BhC;IAED,gCAiBC;IAMD;;;;;;;;;;;aAUC;IAGD,oEAsBC;IAED,8CAMC;IAED,0DAQC;IAED,iCAEC;IAED,0DAKC;IAGD,8EAwBC;IAED,uCAIC;IAED,oDAaC;IAED,mDAyBC;IAED,gDAWC;IAKD;;;;;aAeC;IAED,uEAQC;IAED,4EAoBC;IAED,4DAWC;IAKD,oFAWC;IAED,8DAWC;IAKD,+CAaC;IAED,wCAWC;CACF;qBAhjFa,OAAO,gBAAgB,EAAE,MAAM;;4BAE/B,OAAO,iBAAiB,EAAE,aAAa;qCACvC,OAAO,iBAAiB,EAAE,sBAAsB;uBAChD,OAAO,mBAAmB,EAAE,QAAQ;gCACpC,OAAO,mBAAmB,EAAE,iBAAiB;mBAC7C,OAAO,kBAAkB,EAAE,IAAI;wBAC/B,OAAO,kBAAkB,EAAE,SAAS;8BACpC,OAAO,gBAAgB,EAAE,eAAe;mBAvCnC,YAAY;gCASC,4BAA4B;0BAmBlC,gBAAgB;8BACZ,aAAa;yBArBlB,qBAAqB;yBAJrB,cAAc;4BACX,iBAAiB;6BAHhB,uBAAuB;kCAClB,4BAA4B"}
|
package/dist/commonjs/Reactor.js
CHANGED
|
@@ -73,6 +73,7 @@ const Stream_ts_1 = require("./Stream.js");
|
|
|
73
73
|
/** @typedef {import('./reactorTypes.ts').QuerySubInStorage} QuerySubInStorage */
|
|
74
74
|
/** @typedef {import('./clientTypes.ts').User} User */
|
|
75
75
|
/** @typedef {import('./clientTypes.ts').AuthState} AuthState */
|
|
76
|
+
/** @typedef {import('./framework.ts').FrameworkClient} FrameworkClient */
|
|
76
77
|
exports.STATUS = {
|
|
77
78
|
CONNECTING: 'connecting',
|
|
78
79
|
OPENED: 'opened',
|
|
@@ -263,6 +264,8 @@ class Reactor {
|
|
|
263
264
|
_pendingTxCleanupTimeout;
|
|
264
265
|
_pendingMutationCleanupThreshold;
|
|
265
266
|
_inFlightMutationEventIds = new Set();
|
|
267
|
+
/** @type FrameworkClient | null */
|
|
268
|
+
_frameworkClient = null;
|
|
266
269
|
constructor(config, Storage = IndexedDBStorage_ts_1.default, NetworkListener = WindowNetworkListener_js_1.default, versions, EventSourceConstructor) {
|
|
267
270
|
this._EventSource = EventSourceConstructor;
|
|
268
271
|
this.config = { ...defaultConfig, ...config };
|
|
@@ -353,6 +356,13 @@ class Reactor {
|
|
|
353
356
|
addEventListener('beforeunload', this._beforeUnload);
|
|
354
357
|
}
|
|
355
358
|
}
|
|
359
|
+
getFrameworkClient() {
|
|
360
|
+
return this._frameworkClient;
|
|
361
|
+
}
|
|
362
|
+
/** @param {FrameworkClient} client */
|
|
363
|
+
setFrameworkClient(client) {
|
|
364
|
+
this._frameworkClient = client;
|
|
365
|
+
}
|
|
356
366
|
ensureAttrs() {
|
|
357
367
|
if (!this.attrs) {
|
|
358
368
|
throw new Error('attrs have not loaded.');
|
|
@@ -1753,6 +1763,8 @@ class Reactor {
|
|
|
1753
1763
|
// bother updating
|
|
1754
1764
|
return;
|
|
1755
1765
|
}
|
|
1766
|
+
// Clear any data in the framework client
|
|
1767
|
+
this._frameworkClient = null;
|
|
1756
1768
|
await this.setCurrentUser(newUser);
|
|
1757
1769
|
// We need to remove all `result` from querySubs,
|
|
1758
1770
|
// as they are no longer valid for the new user
|