@fireproof/core-test 0.23.6 → 0.23.7-dev-preview1

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,255 @@
1
+ import { AppContext, BuildURI } from "@adviser/cement";
2
+ import { fireproof, PARAM } from "@fireproof/core";
3
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
4
+ import { ensureSuperThis, sleep } from "@fireproof/core-runtime";
5
+ const ROWS = 3;
6
+ class AJoinable {
7
+ name;
8
+ db;
9
+ constructor(name, db) {
10
+ this.name = name;
11
+ this.db = db;
12
+ }
13
+ async configHash() {
14
+ return `joinable-${this.name}`;
15
+ }
16
+ prepare() {
17
+ return Promise.resolve({
18
+ car: {
19
+ url: BuildURI.from(`memory://car/${this.name}`)
20
+ .setParam(PARAM.STORE_KEY, this.db.ledger.opts.storeUrls.data.car.getParam(PARAM.STORE_KEY, "@fireproof:attach@"))
21
+ .setParam(PARAM.SELF_REFLECT, "x"),
22
+ },
23
+ meta: {
24
+ url: BuildURI.from(`memory://meta/${this.name}`)
25
+ .setParam(PARAM.STORE_KEY, this.db.ledger.opts.storeUrls.data.meta.getParam(PARAM.STORE_KEY, "@fireproof:attach@"))
26
+ .setParam(PARAM.SELF_REFLECT, "x"),
27
+ },
28
+ file: {
29
+ url: BuildURI.from(`memory://file/${this.name}`)
30
+ .setParam(PARAM.STORE_KEY, this.db.ledger.opts.storeUrls.data.file.getParam(PARAM.STORE_KEY, "@fireproof:attach@"))
31
+ .setParam(PARAM.SELF_REFLECT, "x"),
32
+ },
33
+ });
34
+ }
35
+ }
36
+ function aJoinable(name, db) {
37
+ return new AJoinable(name, db);
38
+ }
39
+ function attachableStoreUrls(name, db) {
40
+ return {
41
+ data: {
42
+ car: BuildURI.from(`memory://car/${name}?`)
43
+ .setParam(PARAM.STORE_KEY, db.ledger.opts.storeUrls.data.car.getParam(PARAM.STORE_KEY, ""))
44
+ .URI(),
45
+ meta: BuildURI.from(`memory://meta/${name}`)
46
+ .setParam(PARAM.STORE_KEY, db.ledger.opts.storeUrls.data.meta.getParam(PARAM.STORE_KEY, ""))
47
+ .URI(),
48
+ file: BuildURI.from(`memory://file/${name}`)
49
+ .setParam(PARAM.STORE_KEY, db.ledger.opts.storeUrls.data.file.getParam(PARAM.STORE_KEY, ""))
50
+ .URI(),
51
+ wal: BuildURI.from(`memory://wal/${name}`)
52
+ .setParam(PARAM.STORE_KEY, db.ledger.opts.storeUrls.data.wal.getParam(PARAM.STORE_KEY, ""))
53
+ .URI(),
54
+ },
55
+ };
56
+ }
57
+ async function syncDb(name, base) {
58
+ const db = fireproof(name, {
59
+ storeUrls: {
60
+ base: BuildURI.from(base).setParam(PARAM.STORE_KEY, "@fireproof:attach@"),
61
+ },
62
+ ctx: AppContext.merge({ base }),
63
+ });
64
+ await db.ready();
65
+ return db;
66
+ }
67
+ async function prepareDb(name, base) {
68
+ {
69
+ const db = await syncDb(name, base);
70
+ await db.ready();
71
+ const dbId = await db.ledger.crdt.blockstore.loader.attachedStores.local().active.car.id();
72
+ const ret = { db, dbId };
73
+ await writeRow(ret, `initial`);
74
+ await db.close();
75
+ }
76
+ const db = await syncDb(name, base);
77
+ await db.ready();
78
+ const dbId = await db.ledger.crdt.blockstore.loader.attachedStores.local().active.car.id();
79
+ return { db, dbId };
80
+ }
81
+ async function readDb(name, base) {
82
+ const db = await syncDb(name, base);
83
+ const rows = await db.allDocs();
84
+ await db.close();
85
+ return rows.rows.sort((a, b) => a.key.localeCompare(b.key));
86
+ }
87
+ async function writeRow(pdb, style) {
88
+ return await Promise.all(Array(ROWS)
89
+ .fill(0)
90
+ .map(async (_, i) => {
91
+ const key = `${pdb.dbId}-${pdb.db.name}-${style}-${i}`;
92
+ await pdb.db.put({
93
+ _id: key,
94
+ value: key,
95
+ type: "test-document",
96
+ description: `Test document for ${style}`,
97
+ });
98
+ return key;
99
+ }));
100
+ }
101
+ describe("Remote Sync Subscription Tests", () => {
102
+ const sthis = ensureSuperThis();
103
+ let subscriptionCallbacks = [];
104
+ const subscriptionCounts = new Map();
105
+ const receivedDocs = new Map();
106
+ function setupSubscription(db, dbName) {
107
+ return new Promise((resolve) => {
108
+ subscriptionCounts.set(dbName, 0);
109
+ receivedDocs.set(dbName, []);
110
+ const unsubscribe = db.subscribe((docs) => {
111
+ const currentCount = subscriptionCounts.get(dbName) || 0;
112
+ const currentDocs = receivedDocs.get(dbName) || [];
113
+ subscriptionCounts.set(dbName, currentCount + 1);
114
+ receivedDocs.set(dbName, [...currentDocs, ...docs]);
115
+ resolve();
116
+ }, true);
117
+ subscriptionCallbacks.push(unsubscribe);
118
+ });
119
+ }
120
+ afterEach(async () => {
121
+ subscriptionCallbacks.forEach((unsub) => unsub());
122
+ subscriptionCallbacks = [];
123
+ subscriptionCounts.clear();
124
+ receivedDocs.clear();
125
+ });
126
+ describe("join function", () => {
127
+ let db;
128
+ let joinableDBs = [];
129
+ beforeEach(async () => {
130
+ const set = sthis.nextId().str;
131
+ db = fireproof(`db-${set}`, {
132
+ storeUrls: {
133
+ base: `memory://db-${set}`,
134
+ },
135
+ });
136
+ for (let j = 0; j < ROWS; j++) {
137
+ await db.put({ _id: `db-${j}`, value: `db-${set}` });
138
+ }
139
+ joinableDBs = await Promise.all(new Array(1).fill(1).map(async (_, i) => {
140
+ const name = `remote-db-${i}-${set}`;
141
+ const jdb = fireproof(name, {
142
+ storeUrls: attachableStoreUrls(name, db),
143
+ });
144
+ for (let j = 0; j < ROWS; j++) {
145
+ await jdb.put({ _id: `${i}-${j}`, value: `${i}-${j}` });
146
+ }
147
+ expect(await jdb.get(PARAM.GENESIS_CID)).toEqual({ _id: PARAM.GENESIS_CID });
148
+ await jdb.close();
149
+ return name;
150
+ }));
151
+ expect(await db.get(PARAM.GENESIS_CID)).toEqual({ _id: PARAM.GENESIS_CID });
152
+ });
153
+ afterEach(async () => {
154
+ await db.close();
155
+ });
156
+ it("should trigger subscriptions on inbound syncing", async () => {
157
+ const subscriptionPromise = setupSubscription(db, "main-db");
158
+ await Promise.all(joinableDBs.map(async (name) => {
159
+ const attached = await db.attach(aJoinable(name, db));
160
+ expect(attached).toBeDefined();
161
+ }));
162
+ await sleep(100);
163
+ await Promise.race([
164
+ subscriptionPromise,
165
+ new Promise((_, reject) => setTimeout(() => reject(new Error("Subscription timeout")), 5000)),
166
+ ]);
167
+ expect(subscriptionCounts.get("main-db")).toBeGreaterThan(0);
168
+ expect(subscriptionCounts.get("main-db")).toBe(1);
169
+ expect(db.ledger.crdt.blockstore.loader.attachedStores.remotes().length).toBe(joinableDBs.length);
170
+ const res = await db.allDocs();
171
+ expect(res.rows.length).toBe(ROWS + ROWS * joinableDBs.length);
172
+ const docs = receivedDocs.get("main-db") || [];
173
+ expect(docs.length).toBeGreaterThan(0);
174
+ expect(docs.length).toBeGreaterThanOrEqual(ROWS * joinableDBs.length);
175
+ });
176
+ });
177
+ describe("sync", () => {
178
+ beforeEach(async () => {
179
+ subscriptionCallbacks.forEach((unsub) => unsub());
180
+ subscriptionCallbacks = [];
181
+ subscriptionCounts.clear();
182
+ receivedDocs.clear();
183
+ });
184
+ it("should trigger subscriptions during offline sync reconnection", async () => {
185
+ const id = sthis.nextId().str;
186
+ const poutbound = await prepareDb(`outbound-db-${id}`, "memory://sync-outbound");
187
+ await poutbound.db.attach(aJoinable(`sync-${id}`, poutbound.db));
188
+ await poutbound.db.close();
189
+ const outRows = await readDb(`outbound-db-${id}`, "memory://sync-outbound");
190
+ expect(outRows.length).toBe(ROWS);
191
+ const pinbound = await prepareDb(`inbound-db-${id}`, `memory://sync-inbound`);
192
+ await pinbound.db.close();
193
+ const inRows = await readDb(`inbound-db-${id}`, "memory://sync-inbound");
194
+ expect(inRows.length).toBe(ROWS);
195
+ const inbound = await syncDb(`inbound-db-${id}`, `memory://sync-inbound`);
196
+ const subscriptionPromise = setupSubscription(inbound, "inbound-db");
197
+ await inbound.attach(aJoinable(`sync-${id}`, inbound));
198
+ await Promise.race([
199
+ subscriptionPromise,
200
+ new Promise((_, reject) => setTimeout(() => reject(new Error("Subscription timeout")), 5000)),
201
+ ]);
202
+ expect(subscriptionCounts.get("inbound-db")).toBeGreaterThan(0);
203
+ expect(subscriptionCounts.get("inbound-db")).toBe(1);
204
+ const docs = receivedDocs.get("inbound-db") || [];
205
+ expect(docs.length).toBeGreaterThan(0);
206
+ expect(docs.length).toBe(ROWS * 2);
207
+ await inbound.close();
208
+ const resultRows = await readDb(`inbound-db-${id}`, "memory://sync-inbound");
209
+ expect(resultRows.length).toBe(ROWS * 2);
210
+ }, 100_000);
211
+ it("should trigger subscriptions during online multi-database sync", async () => {
212
+ const id = sthis.nextId().str;
213
+ const dbs = await Promise.all(Array(3)
214
+ .fill(0)
215
+ .map(async (_, i) => {
216
+ const tdb = await prepareDb(`online-db-${id}-${i}`, `memory://local-${id}-${i}`);
217
+ const subscriptionPromise = setupSubscription(tdb.db, `online-db-${i}`);
218
+ await tdb.db.attach(aJoinable(`sync-${id}`, tdb.db));
219
+ return { ...tdb, subscriptionPromise };
220
+ }));
221
+ await sleep(1000);
222
+ const keys = (await Promise.all(dbs.map(async (db, _index) => {
223
+ await sleep(100 * Math.random());
224
+ return writeRow(db, "add-online");
225
+ }))).flat();
226
+ await sleep(1000);
227
+ await Promise.all(dbs.map(async (db, i) => {
228
+ try {
229
+ await Promise.race([
230
+ db.subscriptionPromise,
231
+ new Promise((_, reject) => setTimeout(() => reject(new Error(`Subscription timeout for db ${i}`)), 5000)),
232
+ ]);
233
+ }
234
+ catch (error) {
235
+ // Subscription timeout - this is expected if subscriptions don't work for this database
236
+ }
237
+ }));
238
+ let totalSubscriptionFires = 0;
239
+ dbs.forEach((_, i) => {
240
+ const count = subscriptionCounts.get(`online-db-${i}`) || 0;
241
+ totalSubscriptionFires += count;
242
+ expect(count).toBeGreaterThan(0);
243
+ });
244
+ expect(totalSubscriptionFires).toBeGreaterThan(0);
245
+ expect(totalSubscriptionFires).toBeGreaterThanOrEqual(dbs.length);
246
+ await sleep(2000);
247
+ await Promise.all(dbs.map(async (db) => {
248
+ const allDocs = await db.db.allDocs();
249
+ expect(allDocs.rows.length).toBe(keys.length * 2);
250
+ }));
251
+ await Promise.all(dbs.map((tdb) => tdb.db.close()));
252
+ }, 100_000);
253
+ });
254
+ });
255
+ //# sourceMappingURL=attachable-subscription.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachable-subscription.test.js","sourceRoot":"","sources":["../../jsr/fireproof/attachable-subscription.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAwB,SAAS,EAAoB,KAAK,EAAW,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,IAAI,GAAG,CAAC,CAAC;AAEf,MAAM,SAAS;IACJ,IAAI,CAAS;IACb,EAAE,CAAW;IAEtB,YAAY,IAAY,EAAE,EAAY,EAAE;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAAA,CACd;IAED,KAAK,CAAC,UAAU,GAAG;QACjB,OAAO,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IAAA,CAChC;IAED,OAAO,GAA8B;QACnC,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,GAAG,EAAE;gBACH,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC5C,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;qBACjH,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC;aACrC;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC7C,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;qBAClH,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC;aACrC;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC7C,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;qBAClH,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC;aACrC;SACF,CAAC,CAAC;IAAA,CACJ;CACF;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,EAAY,EAAc;IACzD,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAA,CAChC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,EAAY,EAAE;IACvD,OAAO;QACL,IAAI,EAAE;YACJ,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC;iBACxC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC1F,GAAG,EAAE;YACR,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;iBACzC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC3F,GAAG,EAAE;YACR,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;iBACzC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC3F,GAAG,EAAE;YACR,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;iBACvC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC1F,GAAG,EAAE;SACT;KACF,CAAC;AAAA,CACH;AAED,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY,EAAE;IAChD,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE;QACzB,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC;SAC1E;QACD,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;KAChC,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,OAAO,EAAE,CAAC;AAAA,CACX;AAED,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE;IACnD,CAAC;QACC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC3F,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC3F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAAA,CACrB;AAED,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY,EAAE;IAChD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAAA,CAC7D;AAED,KAAK,UAAU,QAAQ,CAAC,GAAiD,EAAE,KAAa,EAAE;IACxF,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,KAAK,CAAC,IAAI,CAAC;SACR,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;YACf,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,qBAAqB,KAAK,EAAE;SAC1C,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IAAA,CACZ,CAAC,CACL,CAAC;AAAA,CACH;AAqCD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAGhC,IAAI,qBAAqB,GAAmB,EAAE,CAAC;IAC/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAqB,CAAC;IAElD,SAAS,iBAAiB,CAAC,EAAY,EAAE,MAAc,EAAiB;QACtE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACpC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAE7B,MAAM,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEnD,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;gBACjD,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBAGpD,OAAO,EAAE,CAAC;YAAA,CACX,EAAE,IAAI,CAAC,CAAC;YAET,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAAA,CACzC,CAAC,CAAC;IAAA,CACJ;IAED,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QAEpB,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,qBAAqB,GAAG,EAAE,CAAC;QAC3B,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC3B,YAAY,CAAC,KAAK,EAAE,CAAC;IAAA,CACtB,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC;QAC9B,IAAI,EAAY,CAAC;QACjB,IAAI,WAAW,GAAa,EAAE,CAAC;QAE/B,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;YAE/B,EAAE,GAAG,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE;gBAC1B,SAAS,EAAE;oBACT,IAAI,EAAE,eAAe,GAAG,EAAE;iBAC3B;aACF,CAAC,CAAC;YAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE;oBAC1B,SAAS,EAAE,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;iBACzC,CAAC,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9B,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7E,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YAAA,CACb,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAAA,CAC7E,CAAC,CAAC;QAEH,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAAA,CAClB,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE,CAAC;YA+BhE,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAG7D,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAAA,CAChC,CAAC,CACH,CAAC;YAGF,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAIjB,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,mBAAmB;gBACnB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAC9F,CAAC,CAAC;YAGH,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAGlD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClG,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAG/D,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAGvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAAA,CACvE,CAAC,CAAC;IAAA,CACJ,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;QACrB,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;YAErB,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,qBAAqB,GAAG,EAAE,CAAC;YAC3B,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,YAAY,CAAC,KAAK,EAAE,CAAC;QAAA,CACtB,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE,CAAC;YA2C9E,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;YAG9B,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,EAAE,EAAE,wBAAwB,CAAC,CAAC;YACjF,MAAM,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,MAAM,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,wBAAwB,CAAC,CAAC;YAC5E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAGlC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,cAAc,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;YAC9E,MAAM,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACzE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAGjC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;YAG1E,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAIrE,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAIvD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,mBAAmB;gBACnB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAC9F,CAAC,CAAC;YAGH,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAGrD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAGnC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAGtB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;YAC7E,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAAA,CAC1C,EAAE,OAAO,CAAC,CAAC;QAEZ,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE,CAAC;YA+B/E,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;YAG9B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3B,KAAK,CAAC,CAAC,CAAC;iBACL,IAAI,CAAC,CAAC,CAAC;iBACP,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAGjF,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;gBAGxE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAErD,OAAO,EAAE,GAAG,GAAG,EAAE,mBAAmB,EAAE,CAAC;YAAA,CACxC,CAAC,CACL,CAAC;YAGF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAIlB,MAAM,IAAI,GAAG,CACX,MAAM,OAAO,CAAC,GAAG,CACf,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjC,OAAO,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAAA,CACnC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CAAC;YAGT,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAGlB,MAAM,OAAO,CAAC,GAAG,CACf,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,IAAI,CAAC;wBACjB,EAAE,CAAC,mBAAmB;wBACtB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBAC1G,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,wFAAwF;gBAC1F,CAAC;YAAA,CACF,CAAC,CACH,CAAC;YAGF,IAAI,sBAAsB,GAAG,CAAC,CAAC;YAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC5D,sBAAsB,IAAI,KAAK,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAAA,CAClC,CAAC,CAAC;YAEH,MAAM,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAGlD,MAAM,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAIlE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,OAAO,CAAC,GAAG,CACf,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBAEtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAAA,CAWnD,CAAC,CACH,CAAC;YAGF,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAAA,CACrD,EAAE,OAAO,CAAC,CAAC;IAAA,CACb,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fireproof/core-test",
3
- "version": "0.23.6",
3
+ "version": "0.23.7-dev-preview1",
4
4
  "description": "Live ledger for the web.",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -35,32 +35,32 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@adviser/cement": "^0.4.25",
38
- "@fireproof/core": "0.23.6",
39
- "@fireproof/core-base": "0.23.6",
40
- "@fireproof/core-blockstore": "0.23.6",
41
- "@fireproof/core-gateways-base": "0.23.6",
42
- "@fireproof/core-gateways-file": "0.23.6",
43
- "@fireproof/core-gateways-indexeddb": "0.23.6",
44
- "@fireproof/core-gateways-memory": "0.23.6",
45
- "@fireproof/core-keybag": "0.23.6",
46
- "@fireproof/core-protocols-cloud": "0.23.6",
47
- "@fireproof/core-runtime": "0.23.6",
48
- "@fireproof/core-types-base": "0.23.6",
49
- "@fireproof/core-types-blockstore": "0.23.6",
50
- "@fireproof/core-types-protocols-cloud": "0.23.6",
51
- "@fireproof/core-types-runtime": "0.23.6",
52
- "@fireproof/vendor": "0.23.6",
38
+ "@fireproof/core": "0.23.7-dev-preview1",
39
+ "@fireproof/core-base": "0.23.7-dev-preview1",
40
+ "@fireproof/core-blockstore": "0.23.7-dev-preview1",
41
+ "@fireproof/core-gateways-base": "0.23.7-dev-preview1",
42
+ "@fireproof/core-gateways-file": "0.23.7-dev-preview1",
43
+ "@fireproof/core-gateways-indexeddb": "0.23.7-dev-preview1",
44
+ "@fireproof/core-gateways-memory": "0.23.7-dev-preview1",
45
+ "@fireproof/core-keybag": "0.23.7-dev-preview1",
46
+ "@fireproof/core-protocols-cloud": "0.23.7-dev-preview1",
47
+ "@fireproof/core-runtime": "0.23.7-dev-preview1",
48
+ "@fireproof/core-types-base": "0.23.7-dev-preview1",
49
+ "@fireproof/core-types-blockstore": "0.23.7-dev-preview1",
50
+ "@fireproof/core-types-protocols-cloud": "0.23.7-dev-preview1",
51
+ "@fireproof/core-types-runtime": "0.23.7-dev-preview1",
52
+ "@fireproof/vendor": "0.23.7-dev-preview1",
53
53
  "@ipld/car": "^5.4.2",
54
54
  "@ipld/dag-cbor": "^9.2.4",
55
55
  "@ipld/dag-json": "^10.2.5",
56
56
  "@types/node": "^24.3.0",
57
57
  "cborg": "^4.2.12",
58
58
  "charwise": "^3.0.1",
59
- "use-fireproof": "0.23.6",
59
+ "use-fireproof": "0.23.7-dev-preview1",
60
60
  "uuidv7": "^1.0.2"
61
61
  },
62
62
  "devDependencies": {
63
- "@fireproof/core-cli": "0.23.6",
63
+ "@fireproof/core-cli": "0.23.7-dev-preview1",
64
64
  "@vitest/browser": "^3.2.4",
65
65
  "playwright": "^1.54.1",
66
66
  "playwright-chromium": "^1.54.1",