@instantdb/core 0.22.86-experimental.split-store.20249702529.1 → 0.22.86-experimental.split-store.20250097559.1
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/dist/commonjs/Reactor.d.ts +8 -8
- package/dist/commonjs/Reactor.d.ts.map +1 -1
- package/dist/commonjs/Reactor.js +15 -16
- package/dist/commonjs/Reactor.js.map +1 -1
- package/dist/esm/Reactor.d.ts +8 -8
- package/dist/esm/Reactor.d.ts.map +1 -1
- package/dist/esm/Reactor.js +15 -16
- package/dist/esm/Reactor.js.map +1 -1
- package/dist/standalone/index.js +5 -5
- package/dist/standalone/index.umd.cjs +1 -1
- package/package.json +2 -2
- package/src/Reactor.js +16 -17
package/dist/esm/Reactor.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export default class Reactor<RoomSchema extends import("./presence.ts").RoomSchemaShape = {}> {
|
|
5
5
|
constructor(config: any, Storage: typeof IndexedDBStorage | undefined, NetworkListener: typeof WindowNetworkListener | undefined, versions: any, EventSourceConstructor: any);
|
|
6
|
-
/** @type {
|
|
7
|
-
attrs:
|
|
6
|
+
/** @type {s.AttrsStore | undefined} */
|
|
7
|
+
attrs: s.AttrsStore | undefined;
|
|
8
8
|
_isOnline: boolean;
|
|
9
9
|
_isShutdown: boolean;
|
|
10
10
|
status: string;
|
|
@@ -79,7 +79,7 @@ export default class Reactor<RoomSchema extends import("./presence.ts").RoomSche
|
|
|
79
79
|
queryCacheLimit: any;
|
|
80
80
|
versions: any;
|
|
81
81
|
_beforeUnload(): void;
|
|
82
|
-
ensureAttrs():
|
|
82
|
+
ensureAttrs(): s.AttrsStore;
|
|
83
83
|
updateSchema(schema: any): void;
|
|
84
84
|
_reactorStats(): {
|
|
85
85
|
inFlightMutationCount: number;
|
|
@@ -143,16 +143,16 @@ export default class Reactor<RoomSchema extends import("./presence.ts").RoomSche
|
|
|
143
143
|
_cleanupQuery(q: any, hash: any): void;
|
|
144
144
|
/**
|
|
145
145
|
*
|
|
146
|
-
* @param {
|
|
146
|
+
* @param {s.AttrsStore} attrs
|
|
147
147
|
* @param {any} muts
|
|
148
148
|
* @param {number} [processedTxId]
|
|
149
149
|
*/
|
|
150
|
-
_rewriteMutations(attrs:
|
|
150
|
+
_rewriteMutations(attrs: s.AttrsStore, muts: any, processedTxId?: number): any;
|
|
151
151
|
_rewriteMutationsSorted(attrs: any, muts: any): any[];
|
|
152
152
|
/**
|
|
153
|
-
* @returns {
|
|
153
|
+
* @returns {s.AttrsStore}
|
|
154
154
|
*/
|
|
155
|
-
optimisticAttrs():
|
|
155
|
+
optimisticAttrs(): s.AttrsStore;
|
|
156
156
|
/** Runs instaql on a query and a store */
|
|
157
157
|
dataForQuery(hash: any): any;
|
|
158
158
|
_applyOptimisticUpdates(store: any, attrsStore: any, mutations: any, processedTxId: any): {
|
|
@@ -354,7 +354,7 @@ export type TransportType = import("./Connection.ts").TransportType;
|
|
|
354
354
|
export type EventSourceConstructor = import("./Connection.ts").EventSourceConstructor;
|
|
355
355
|
export type QuerySub = import("./reactorTypes.ts").QuerySub;
|
|
356
356
|
export type QuerySubInStorage = import("./reactorTypes.ts").QuerySubInStorage;
|
|
357
|
-
import * as
|
|
357
|
+
import * as s from './store.ts';
|
|
358
358
|
import { PersistedObject } from './utils/PersistedObject.ts';
|
|
359
359
|
import { SyncTable } from './SyncTable.ts';
|
|
360
360
|
import { Deferred } from './utils/Deferred.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reactor.d.ts","sourceRoot":"","sources":["../../src/Reactor.js"],"names":[],"mappings":"AAyMA;;GAEG;AACH,6BAFwD,UAAU,SAArD,OAAQ,eAAe,EAAE,eAAgB;IAmEpD,8KAiHC;IAjLD,
|
|
1
|
+
{"version":3,"file":"Reactor.d.ts","sourceRoot":"","sources":["../../src/Reactor.js"],"names":[],"mappings":"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"}
|
package/dist/esm/Reactor.js
CHANGED
|
@@ -22,7 +22,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
22
22
|
import weakHash from "./utils/weakHash.js";
|
|
23
23
|
import instaql from "./instaql.js";
|
|
24
24
|
import * as instaml from "./instaml.js";
|
|
25
|
-
import * as
|
|
25
|
+
import * as s from "./store.js";
|
|
26
26
|
import uuid from "./utils/uuid.js";
|
|
27
27
|
import IndexedDBStorage from "./IndexedDBStorage.js";
|
|
28
28
|
import WindowNetworkListener from './WindowNetworkListener.js';
|
|
@@ -112,10 +112,10 @@ function querySubFromStorage(x, useDateObjects) {
|
|
|
112
112
|
var _a;
|
|
113
113
|
const v = typeof x === 'string' ? JSON.parse(x) : x;
|
|
114
114
|
if ((_a = v === null || v === void 0 ? void 0 : v.result) === null || _a === void 0 ? void 0 : _a.store) {
|
|
115
|
-
const attrsStore =
|
|
115
|
+
const attrsStore = s.attrsStoreFromJSON(v.result.attrsStore, v.result.store);
|
|
116
116
|
if (attrsStore) {
|
|
117
117
|
const storeJSON = v.result.store;
|
|
118
|
-
v.result.store =
|
|
118
|
+
v.result.store = s.fromJSON(attrsStore, Object.assign(Object.assign({}, storeJSON), { useDateObjects: useDateObjects }));
|
|
119
119
|
v.result.attrsStore = attrsStore;
|
|
120
120
|
}
|
|
121
121
|
}
|
|
@@ -132,7 +132,7 @@ function querySubToStorage(_key, sub) {
|
|
|
132
132
|
const jsonSub = /** @type {import('./reactorTypes.ts').QuerySubInStorage} */ (rest);
|
|
133
133
|
if (result) {
|
|
134
134
|
/** @type {import('./reactorTypes.ts').QuerySubResultInStorage} */
|
|
135
|
-
const jsonResult = Object.assign(Object.assign({}, result), { store:
|
|
135
|
+
const jsonResult = Object.assign(Object.assign({}, result), { store: s.toJSON(result.store), attrsStore: result.attrsStore.toJSON() });
|
|
136
136
|
jsonSub.result = jsonResult;
|
|
137
137
|
}
|
|
138
138
|
return jsonSub;
|
|
@@ -445,7 +445,7 @@ export default class Reactor {
|
|
|
445
445
|
this._syncTable = new SyncTable(this._trySendAuthed.bind(this), new Storage(this.config.appId, 'syncSubs'), {
|
|
446
446
|
useDateObjects: this.config.useDateObjects,
|
|
447
447
|
}, this._log, (triples) => {
|
|
448
|
-
return
|
|
448
|
+
return s.createStore(this.ensureAttrs(), triples, this.config.enableCardinalityInference, this.config.useDateObjects);
|
|
449
449
|
}, () => this.ensureAttrs());
|
|
450
450
|
this._oauthCallbackResponse = this._oauthLoginInit();
|
|
451
451
|
// kick off a request to cache it
|
|
@@ -640,7 +640,7 @@ export default class Reactor {
|
|
|
640
640
|
const aggregate = (_f = (_e = result === null || result === void 0 ? void 0 : result[0]) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f['aggregate'];
|
|
641
641
|
const triples = extractTriples(result);
|
|
642
642
|
const attrsStore = this.ensureAttrs();
|
|
643
|
-
const store =
|
|
643
|
+
const store = s.createStore(attrsStore, triples, enableCardinalityInference, this.config.useDateObjects);
|
|
644
644
|
this.querySubs.updateInPlace((prev) => {
|
|
645
645
|
if (!prev[hash]) {
|
|
646
646
|
this._log.info('Missing value in querySubs', { hash, q });
|
|
@@ -700,7 +700,7 @@ export default class Reactor {
|
|
|
700
700
|
const hash = weakHash(q);
|
|
701
701
|
const triples = extractTriples(result);
|
|
702
702
|
const attrsStore = this.ensureAttrs();
|
|
703
|
-
const store =
|
|
703
|
+
const store = s.createStore(attrsStore, triples, enableCardinalityInference, this.config.useDateObjects);
|
|
704
704
|
const { store: newStore, attrsStore: newAttrsStore } = this._applyOptimisticUpdates(store, attrsStore, mutations, processedTxId);
|
|
705
705
|
const pageInfo = (_b = (_a = result === null || result === void 0 ? void 0 : result[0]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b['page-info'];
|
|
706
706
|
const aggregate = (_d = (_c = result === null || result === void 0 ? void 0 : result[0]) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d['aggregate'];
|
|
@@ -756,7 +756,6 @@ export default class Reactor {
|
|
|
756
756
|
if (newAttrs.length) {
|
|
757
757
|
const existingAttrs = Object.values(this.ensureAttrs().attrs);
|
|
758
758
|
this._setAttrs([...existingAttrs, ...newAttrs]);
|
|
759
|
-
this._setAttrs(newAttrs);
|
|
760
759
|
}
|
|
761
760
|
this._finishTransaction('synced', eventId);
|
|
762
761
|
this._cleanupPendingMutationsTimeout();
|
|
@@ -918,7 +917,7 @@ export default class Reactor {
|
|
|
918
917
|
this._completeQueryOnce(q, hash, r.dfd);
|
|
919
918
|
}
|
|
920
919
|
_setAttrs(attrs) {
|
|
921
|
-
this.attrs = new
|
|
920
|
+
this.attrs = new s.AttrsStoreClass(attrs.reduce((acc, attr) => {
|
|
922
921
|
acc[attr.id] = attr;
|
|
923
922
|
return acc;
|
|
924
923
|
}, {}), this._linkIndex);
|
|
@@ -1029,7 +1028,7 @@ export default class Reactor {
|
|
|
1029
1028
|
// server attr-ids.
|
|
1030
1029
|
/**
|
|
1031
1030
|
*
|
|
1032
|
-
* @param {
|
|
1031
|
+
* @param {s.AttrsStore} attrs
|
|
1033
1032
|
* @param {any} muts
|
|
1034
1033
|
* @param {number} [processedTxId]
|
|
1035
1034
|
*/
|
|
@@ -1040,12 +1039,12 @@ export default class Reactor {
|
|
|
1040
1039
|
return new Map();
|
|
1041
1040
|
const findExistingAttr = (attr) => {
|
|
1042
1041
|
const [_, etype, label] = attr['forward-identity'];
|
|
1043
|
-
const existing =
|
|
1042
|
+
const existing = s.getAttrByFwdIdentName(attrs, etype, label);
|
|
1044
1043
|
return existing;
|
|
1045
1044
|
};
|
|
1046
1045
|
const findReverseAttr = (attr) => {
|
|
1047
1046
|
const [_, etype, label] = attr['forward-identity'];
|
|
1048
|
-
const revAttr =
|
|
1047
|
+
const revAttr = s.getAttrByReverseIdentName(attrs, etype, label);
|
|
1049
1048
|
return revAttr;
|
|
1050
1049
|
};
|
|
1051
1050
|
const mapping = { attrIdMap: {}, refSwapAttrIds: new Set() };
|
|
@@ -1109,7 +1108,7 @@ export default class Reactor {
|
|
|
1109
1108
|
// ---------------------------
|
|
1110
1109
|
// Transact
|
|
1111
1110
|
/**
|
|
1112
|
-
* @returns {
|
|
1111
|
+
* @returns {s.AttrsStore}
|
|
1113
1112
|
*/
|
|
1114
1113
|
optimisticAttrs() {
|
|
1115
1114
|
var _a, _b;
|
|
@@ -1131,7 +1130,7 @@ export default class Reactor {
|
|
|
1131
1130
|
}
|
|
1132
1131
|
}
|
|
1133
1132
|
if (!deletedAttrIds.size && !pendingAttrs.length) {
|
|
1134
|
-
return this.attrs || new
|
|
1133
|
+
return this.attrs || new s.AttrsStoreClass({}, this._linkIndex);
|
|
1135
1134
|
}
|
|
1136
1135
|
const attrs = Object.assign({}, (((_b = this.attrs) === null || _b === void 0 ? void 0 : _b.attrs) || {}));
|
|
1137
1136
|
for (const attr of pendingAttrs) {
|
|
@@ -1140,7 +1139,7 @@ export default class Reactor {
|
|
|
1140
1139
|
for (const id of deletedAttrIds) {
|
|
1141
1140
|
delete attrs[id];
|
|
1142
1141
|
}
|
|
1143
|
-
return new
|
|
1142
|
+
return new s.AttrsStoreClass(attrs, this._linkIndex);
|
|
1144
1143
|
}
|
|
1145
1144
|
/** Runs instaql on a query and a store */
|
|
1146
1145
|
dataForQuery(hash) {
|
|
@@ -1174,7 +1173,7 @@ export default class Reactor {
|
|
|
1174
1173
|
_applyOptimisticUpdates(store, attrsStore, mutations, processedTxId) {
|
|
1175
1174
|
for (const [_, mut] of mutations) {
|
|
1176
1175
|
if (!mut['tx-id'] || (processedTxId && mut['tx-id'] > processedTxId)) {
|
|
1177
|
-
const result =
|
|
1176
|
+
const result = s.transact(store, attrsStore, mut['tx-steps']);
|
|
1178
1177
|
store = result.store;
|
|
1179
1178
|
attrsStore = result.attrsStore;
|
|
1180
1179
|
}
|