@fireproof/core 0.19.101 → 0.19.103

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. package/{chunk-3EB3ENHT.js → chunk-OFGPKRCM.js} +25 -54
  2. package/chunk-OFGPKRCM.js.map +1 -0
  3. package/chunk-WS3YRPIA.js +75 -0
  4. package/chunk-WS3YRPIA.js.map +1 -0
  5. package/{gateway-GK5QZ6KP.js → gateway-5FCWPX5W.js} +12 -13
  6. package/gateway-5FCWPX5W.js.map +1 -0
  7. package/{gateway-TQTGDRCN.js → gateway-H7UD6TNB.js} +8 -9
  8. package/gateway-H7UD6TNB.js.map +1 -0
  9. package/index.cjs +1571 -1992
  10. package/index.cjs.map +1 -1
  11. package/index.d.cts +117 -257
  12. package/index.d.ts +117 -257
  13. package/index.global.js +12280 -12741
  14. package/index.global.js.map +1 -1
  15. package/index.js +1463 -1790
  16. package/index.js.map +1 -1
  17. package/{key-bag-file-VOSSK46F.js → key-bag-file-WADZBHYG.js} +3 -4
  18. package/{key-bag-file-VOSSK46F.js.map → key-bag-file-WADZBHYG.js.map} +1 -1
  19. package/{key-bag-indexdb-AXTQOSMC.js → key-bag-indexdb-PGVAI3FJ.js} +3 -4
  20. package/{key-bag-indexdb-AXTQOSMC.js.map → key-bag-indexdb-PGVAI3FJ.js.map} +1 -1
  21. package/mem-filesystem-YPPJV7Q2.js +41 -0
  22. package/mem-filesystem-YPPJV7Q2.js.map +1 -0
  23. package/metafile-cjs.json +1 -1
  24. package/metafile-esm.json +1 -1
  25. package/metafile-iife.json +1 -1
  26. package/{node-filesystem-CFRXFSO7.js → node-filesystem-INX4ZTHE.js} +9 -6
  27. package/node-filesystem-INX4ZTHE.js.map +1 -0
  28. package/package.json +1 -1
  29. package/tests/blockstore/keyed-crypto.test.ts +227 -63
  30. package/tests/blockstore/loader.test.ts +11 -19
  31. package/tests/blockstore/store.test.ts +19 -23
  32. package/tests/blockstore/transaction.test.ts +12 -12
  33. package/tests/fireproof/all-gateway.test.ts +193 -201
  34. package/tests/fireproof/cars/bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i.ts +316 -324
  35. package/tests/fireproof/config.test.ts +172 -0
  36. package/tests/fireproof/crdt.test.ts +16 -67
  37. package/tests/fireproof/database.test.ts +21 -183
  38. package/tests/fireproof/fireproof.test.ts +74 -83
  39. package/tests/fireproof/hello.test.ts +14 -18
  40. package/tests/fireproof/indexer.test.ts +43 -53
  41. package/tests/fireproof/utils.test.ts +6 -18
  42. package/tests/helpers.ts +9 -27
  43. package/tests/react/useFireproof.test.tsx +1 -1
  44. package/{utils-STA2C35G.js → utils-QO2HIWGI.js} +3 -4
  45. package/chunk-3EB3ENHT.js.map +0 -1
  46. package/chunk-HQ7D3PEU.js +0 -61
  47. package/chunk-HQ7D3PEU.js.map +0 -1
  48. package/chunk-PZ5AY32C.js +0 -10
  49. package/deno-filesystem-Q2IJ7YDR.js +0 -57
  50. package/deno-filesystem-Q2IJ7YDR.js.map +0 -1
  51. package/gateway-GK5QZ6KP.js.map +0 -1
  52. package/gateway-TQTGDRCN.js.map +0 -1
  53. package/key-bag-memory-LWE6ARPX.js +0 -29
  54. package/key-bag-memory-LWE6ARPX.js.map +0 -1
  55. package/node-filesystem-CFRXFSO7.js.map +0 -1
  56. package/tests/blockstore/keyed-crypto-indexdb-file.test.ts +0 -129
  57. package/tests/gateway/file/loader-config.test.ts +0 -303
  58. package/tests/gateway/indexdb/loader-config.test.ts +0 -75
  59. package/utils-STA2C35G.js.map +0 -1
  60. /package/tests/fireproof/{fireproof.fixture.ts → fireproof.test.fixture.ts} +0 -0
  61. /package/{chunk-PZ5AY32C.js.map → utils-QO2HIWGI.js.map} +0 -0
@@ -1,21 +1,8 @@
1
- import { mockSuperThis, sleep, storageURL } from "../helpers.js";
2
- import { docs } from "./fireproof.fixture.js";
1
+ import { mockSuperThis, sleep } from "../helpers.js";
2
+ import { docs } from "./fireproof.test.fixture.js";
3
3
  import { CID } from "multiformats/cid";
4
4
 
5
- import {
6
- ConfigOpts,
7
- Database,
8
- DatabaseFactory,
9
- DocResponse,
10
- DocWithId,
11
- Index,
12
- IndexRows,
13
- MapFn,
14
- bs,
15
- fireproof,
16
- index,
17
- isDatabase,
18
- } from "@fireproof/core";
5
+ import { Database, DocResponse, DocWithId, Index, IndexRows, MapFn, bs, fireproof, index } from "@fireproof/core";
19
6
 
20
7
  export function carLogIncludesGroup(list: bs.AnyLink[], cid: CID) {
21
8
  return list.some((c) => c.equals(cid));
@@ -97,7 +84,7 @@ describe("public API", function () {
97
84
  });
98
85
  it("should be a database instance", function () {
99
86
  expect(db).toBeTruthy();
100
- expect(isDatabase(db)).toBeTruthy();
87
+ expect(db instanceof Database).toBeTruthy();
101
88
  });
102
89
  it("should put", function () {
103
90
  expect(ok).toBeTruthy();
@@ -126,7 +113,7 @@ describe("basic database", function () {
126
113
  });
127
114
  beforeEach(async function () {
128
115
  await sthis.start();
129
- db = DatabaseFactory("test-basic");
116
+ db = new Database("test-basic");
130
117
  });
131
118
  it("can put with id", async function () {
132
119
  const ok = await db.put({ _id: "test", foo: "bar" });
@@ -142,7 +129,7 @@ describe("basic database", function () {
142
129
  it("can define an index", async function () {
143
130
  const ok = await db.put({ _id: "test", foo: "bar" });
144
131
  expect(ok).toBeTruthy();
145
- const idx = index<string, { foo: string }>(db, "test-index", (doc) => doc.foo);
132
+ const idx = index<string, { foo: string }>(sthis, db, "test-index", (doc) => doc.foo);
146
133
  const result = await idx.query();
147
134
  expect(result).toBeTruthy();
148
135
  expect(result.rows).toBeTruthy();
@@ -152,7 +139,7 @@ describe("basic database", function () {
152
139
  it("can define an index with a default function", async function () {
153
140
  const ok = await db.put({ _id: "test", foo: "bar" });
154
141
  expect(ok).toBeTruthy();
155
- const idx = index(db, "foo");
142
+ const idx = index(sthis, db, "foo");
156
143
  const result = await idx.query();
157
144
  expect(result).toBeTruthy();
158
145
  expect(result.rows).toBeTruthy();
@@ -191,14 +178,14 @@ describe("benchmarking with compaction", function () {
191
178
  beforeEach(async function () {
192
179
  // erase the existing test data
193
180
  await sthis.start();
194
- db = DatabaseFactory("test-benchmark-compaction", { autoCompact: 3 });
181
+ db = new Database("test-benchmark-compaction", { autoCompact: 3 });
195
182
  });
196
- it.skip("insert during compaction", async function () {
183
+ it("insert during compaction", async function () {
197
184
  const ok = await db.put({ _id: "test", foo: "fast" });
198
185
  expect(ok).toBeTruthy();
199
186
  expect(ok.id).toBe("test");
200
- expect(db.crdt.clock.head).toBeTruthy();
201
- expect(db.crdt.clock.head.length).toBe(1);
187
+ expect(db._crdt.clock.head).toBeTruthy();
188
+ expect(db._crdt.clock.head.length).toBe(1);
202
189
 
203
190
  const numDocs = 20;
204
191
  const batchSize = 5;
@@ -219,7 +206,7 @@ describe("benchmarking with compaction", function () {
219
206
  }),
220
207
  );
221
208
  }
222
- const blocks = db.crdt.blockstore as bs.EncryptedBlockstore;
209
+ const blocks = db._crdt.blockstore as bs.EncryptedBlockstore;
223
210
  const loader = blocks.loader;
224
211
  expect(loader).toBeTruthy();
225
212
 
@@ -246,8 +233,8 @@ describe("benchmarking a database", function () {
246
233
  beforeEach(async function () {
247
234
  await sthis.start();
248
235
  // erase the existing test data
249
- db = DatabaseFactory("test-benchmark", { autoCompact: 100000, public: true });
250
- // db = DatabaseFactory(null, {autoCompact: 100000})
236
+ db = new Database("test-benchmark", { autoCompact: 100000, public: true });
237
+ // db = new Database(null, {autoCompact: 100000})
251
238
  });
252
239
 
253
240
  // run benchmarking tests
@@ -260,8 +247,8 @@ describe("benchmarking a database", function () {
260
247
  expect(ok).toBeTruthy();
261
248
  expect(ok.id).toBe("test");
262
249
 
263
- expect(db.crdt.clock.head).toBeTruthy();
264
- expect(db.crdt.clock.head.length).toBe(1);
250
+ expect(db._crdt.clock.head).toBeTruthy();
251
+ expect(db._crdt.clock.head.length).toBe(1);
265
252
 
266
253
  const numDocs = 2500;
267
254
  const batchSize = 500;
@@ -297,7 +284,7 @@ describe("benchmarking a database", function () {
297
284
  // equals(allDocsResult2.rows.length, numDocs+1)
298
285
 
299
286
  // console.time("open new DB");
300
- const newDb = DatabaseFactory("test-benchmark", { autoCompact: 100000, public: true });
287
+ const newDb = new Database("test-benchmark", { autoCompact: 100000, public: true });
301
288
  const doc = await newDb.get<{ foo: string }>("test");
302
289
  expect(doc.foo).toBe("fast");
303
290
  // console.timeEnd("open new DB");
@@ -327,7 +314,7 @@ describe("benchmarking a database", function () {
327
314
  await db.put({ _id: "compacted-test", foo: "bar" });
328
315
 
329
316
  // console.log('car log length', db._crdt.blockstore.loader.carLog.length)
330
- const blocks = db.crdt.blockstore as bs.EncryptedBlockstore;
317
+ const blocks = db._crdt.blockstore as bs.EncryptedBlockstore;
331
318
  const loader = blocks.loader;
332
319
  expect(loader).toBeTruthy();
333
320
  expect(loader.carLog.length).toBe(2);
@@ -339,10 +326,10 @@ describe("benchmarking a database", function () {
339
326
  await sleep(100);
340
327
 
341
328
  // console.time("compacted reopen again");
342
- const newDb2 = DatabaseFactory("test-benchmark", { autoCompact: 100000, public: true });
329
+ const newDb2 = new Database("test-benchmark", { autoCompact: 100000, public: true });
343
330
  const doc21 = await newDb2.get<FooType>("test");
344
331
  expect(doc21.foo).toBe("fast");
345
- const blocks2 = newDb2.crdt.blockstore as bs.EncryptedBlockstore;
332
+ const blocks2 = newDb2._crdt.blockstore as bs.EncryptedBlockstore;
346
333
  const loader2 = blocks2.loader;
347
334
  expect(loader2).toBeTruthy();
348
335
 
@@ -405,13 +392,13 @@ describe("Reopening a database", function () {
405
392
  // erase the existing test data
406
393
  await sthis.start();
407
394
 
408
- db = DatabaseFactory("test-reopen", { autoCompact: 100000 });
395
+ db = new Database("test-reopen", { autoCompact: 100000 });
409
396
  const ok = await db.put({ _id: "test", foo: "bar" });
410
397
  expect(ok).toBeTruthy();
411
398
  expect(ok.id).toBe("test");
412
399
 
413
- expect(db.crdt.clock.head).toBeDefined();
414
- expect(db.crdt.clock.head.length).toBe(1);
400
+ expect(db._crdt.clock.head).toBeDefined();
401
+ expect(db._crdt.clock.head.length).toBe(1);
415
402
  });
416
403
 
417
404
  it("should persist data", async function () {
@@ -420,18 +407,18 @@ describe("Reopening a database", function () {
420
407
  });
421
408
 
422
409
  it("should have the same data on reopen", async function () {
423
- const db2 = DatabaseFactory("test-reopen");
410
+ const db2 = new Database("test-reopen");
424
411
  const doc = await db2.get<FooType>("test");
425
412
  expect(doc.foo).toBe("bar");
426
- expect(db2.crdt.clock.head).toBeDefined();
427
- expect(db2.crdt.clock.head.length).toBe(1);
428
- expect(db2.crdt.clock.head).toEqual(db.crdt.clock.head);
413
+ expect(db2._crdt.clock.head).toBeDefined();
414
+ expect(db2._crdt.clock.head.length).toBe(1);
415
+ expect(db2._crdt.clock.head).toEqual(db._crdt.clock.head);
429
416
  await db2.close();
430
417
  });
431
418
 
432
419
  it("should have a car in the car log", async function () {
433
- await db.crdt.ready();
434
- const blocks = db.crdt.blockstore as bs.EncryptedBlockstore;
420
+ await db._crdt.ready();
421
+ const blocks = db._crdt.blockstore as bs.EncryptedBlockstore;
435
422
  const loader = blocks.loader;
436
423
  expect(loader).toBeDefined();
437
424
  expect(loader.carLog).toBeDefined();
@@ -439,9 +426,9 @@ describe("Reopening a database", function () {
439
426
  });
440
427
 
441
428
  it("should have carlog after reopen", async function () {
442
- const db2 = DatabaseFactory("test-reopen");
443
- await db2.crdt.ready();
444
- const blocks = db2.crdt.blockstore as bs.EncryptedBlockstore;
429
+ const db2 = new Database("test-reopen");
430
+ await db2._crdt.ready();
431
+ const blocks = db2._crdt.blockstore as bs.EncryptedBlockstore;
445
432
  const loader = blocks.loader;
446
433
  expect(loader).toBeDefined();
447
434
  expect(loader.carLog).toBeDefined();
@@ -452,10 +439,10 @@ describe("Reopening a database", function () {
452
439
  it("faster, should have the same data on reopen after reopen and update", async function () {
453
440
  for (let i = 0; i < 4; i++) {
454
441
  // console.log('iteration', i)
455
- const db = DatabaseFactory("test-reopen");
442
+ const db = new Database("test-reopen");
456
443
  // assert(db._crdt.xready());
457
- await db.crdt.ready();
458
- const blocks = db.crdt.blockstore as bs.EncryptedBlockstore;
444
+ await db._crdt.ready();
445
+ const blocks = db._crdt.blockstore as bs.EncryptedBlockstore;
459
446
  const loader = blocks.loader;
460
447
  expect(loader.carLog.length).toBe(i + 1);
461
448
  const ok = await db.put({ _id: `test${i}`, fire: "proof".repeat(50 * 1024) });
@@ -471,11 +458,11 @@ describe("Reopening a database", function () {
471
458
  for (let i = 0; i < 200; i++) {
472
459
  // console.log("iteration", i);
473
460
  // console.time("db open");
474
- const db = DatabaseFactory("test-reopen", { autoCompact: 1000 }); // try with 10
461
+ const db = new Database("test-reopen", { autoCompact: 1000 }); // try with 10
475
462
  // assert(db._crdt.ready);
476
- await db.crdt.ready();
463
+ await db._crdt.ready();
477
464
  // console.timeEnd("db open");
478
- const blocks = db.crdt.blockstore as bs.EncryptedBlockstore;
465
+ const blocks = db._crdt.blockstore as bs.EncryptedBlockstore;
479
466
  const loader = blocks.loader;
480
467
  expect(loader).toBeDefined();
481
468
  expect(loader.carLog.length).toBe(i + 1);
@@ -518,13 +505,13 @@ describe("Reopening a database with indexes", function () {
518
505
  didMap = true;
519
506
  return doc.foo;
520
507
  };
521
- idx = index<string, Doc>(db, "foo", mapFn);
508
+ idx = index<string, Doc>(sthis, db, "foo", mapFn);
522
509
  });
523
510
 
524
511
  it("should persist data", async function () {
525
512
  const doc = await db.get<Doc>("test");
526
513
  expect(doc.foo).toBe("bar");
527
- const idx2 = index<string, Doc>(db, "foo");
514
+ const idx2 = index<string, Doc>(sthis, db, "foo");
528
515
  expect(idx2).toBe(idx);
529
516
  const result = await idx2.query();
530
517
  expect(result).toBeTruthy();
@@ -535,7 +522,7 @@ describe("Reopening a database with indexes", function () {
535
522
  });
536
523
 
537
524
  it("should reuse the index", async function () {
538
- const idx2 = index(db, "foo", mapFn);
525
+ const idx2 = index(sthis, db, "foo", mapFn);
539
526
  expect(idx2).toBe(idx);
540
527
  const result = await idx2.query();
541
528
  expect(result).toBeTruthy();
@@ -556,9 +543,9 @@ describe("Reopening a database with indexes", function () {
556
543
  const db2 = fireproof("test-reopen-idx");
557
544
  const doc = await db2.get<FooType>("test");
558
545
  expect(doc.foo).toBe("bar");
559
- expect(db2.crdt.clock.head).toBeTruthy();
560
- expect(db2.crdt.clock.head.length).toBe(1);
561
- expect(db2.crdt.clock.head).toEqual(db.crdt.clock.head);
546
+ expect(db2._crdt.clock.head).toBeTruthy();
547
+ expect(db2._crdt.clock.head.length).toBe(1);
548
+ expect(db2._crdt.clock.head).toEqual(db._crdt.clock.head);
562
549
  });
563
550
 
564
551
  it("should have the same data on reopen after a query", async function () {
@@ -571,9 +558,9 @@ describe("Reopening a database with indexes", function () {
571
558
  const db2 = fireproof("test-reopen-idx");
572
559
  const doc = await db2.get<FooType>("test");
573
560
  expect(doc.foo).toBe("bar");
574
- expect(db2.crdt.clock.head).toBeTruthy();
575
- expect(db2.crdt.clock.head.length).toBe(1);
576
- expect(db2.crdt.clock.head).toEqual(db.crdt.clock.head);
561
+ expect(db2._crdt.clock.head).toBeTruthy();
562
+ expect(db2._crdt.clock.head.length).toBe(1);
563
+ expect(db2._crdt.clock.head).toEqual(db._crdt.clock.head);
577
564
  });
578
565
 
579
566
  // it('should query the same data on reopen', async function () {
@@ -608,11 +595,11 @@ describe("basic js verify", function () {
608
595
  expect(ok.id).toBe("test");
609
596
  const ok2 = await db.put({ _id: "test2", foo: ["bar", "bam"] });
610
597
  expect(ok2.id).toBe("test2");
611
- const blocks = db.crdt.blockstore as bs.EncryptedBlockstore;
598
+ const blocks = db._crdt.blockstore as bs.EncryptedBlockstore;
612
599
  const loader = blocks.loader;
613
600
  expect(loader).toBeTruthy();
614
601
  const cid = loader.carLog[0][0];
615
- const cid2 = db.crdt.clock.head[0];
602
+ const cid2 = db._crdt.clock.head[0];
616
603
  expect(cid).not.toBe(cid2);
617
604
  expect(cid).not.toBe(cid2);
618
605
  const cidList = [cid, cid2];
@@ -634,17 +621,21 @@ describe("same workload twice, same CID", function () {
634
621
  // let configA: any;
635
622
  // let configB: any;
636
623
 
637
- const configA: ConfigOpts = {
638
- storeUrls: {
639
- base: storageURL(sthis).build().setParam("storekey", "@test@"),
640
- },
641
- };
642
-
643
- const configB: ConfigOpts = {
644
- storeUrls: {
645
- base: storageURL(sthis).build().setParam("storekey", "@test@"),
646
- },
647
- };
624
+ // const configA = {
625
+ // store: {
626
+ // stores: {
627
+ // base: storageURL(sthis).build().setParam("storekey", "@test@"),
628
+ // },
629
+ // },
630
+ // };
631
+
632
+ // const configB = {
633
+ // store: {
634
+ // stores: {
635
+ // base: storageURL(sthis).build().setParam("storekey", "@test@"),
636
+ // },
637
+ // },
638
+ // };
648
639
 
649
640
  afterEach(async function () {
650
641
  await dbA.close();
@@ -656,22 +647,22 @@ describe("same workload twice, same CID", function () {
656
647
  let ok: DocResponse;
657
648
  await sthis.start();
658
649
  // todo this fails because the test setup doesn't properly configure both databases to use the same key
659
- dbA = fireproof("test-dual-workload-a", configA);
650
+ dbA = fireproof("test-dual-workload-a");
660
651
  for (const doc of docs) {
661
652
  ok = await dbA.put(doc);
662
653
  expect(ok).toBeTruthy();
663
654
  expect(ok.id).toBeTruthy();
664
655
  }
665
- headA = dbA.crdt.clock.head.toString();
656
+ headA = dbA._crdt.clock.head.toString();
666
657
 
667
658
  // todo this fails because the test setup doesn't properly configure both databases to use the same key
668
- dbB = fireproof("test-dual-workload-b", configB);
659
+ dbB = fireproof("test-dual-workload-b");
669
660
  for (const doc of docs) {
670
661
  ok = await dbB.put(doc);
671
662
  expect(ok).toBeTruthy();
672
663
  expect(ok.id).toBeTruthy();
673
664
  }
674
- headB = dbB.crdt.clock.head.toString();
665
+ headB = dbB._crdt.clock.head.toString();
675
666
  });
676
667
  it("should have head A and B", async function () {
677
668
  expect(headA).toBeTruthy();
@@ -680,15 +671,15 @@ describe("same workload twice, same CID", function () {
680
671
  expect(headA.length).toBeGreaterThan(10);
681
672
  });
682
673
  it("should have same car log", async function () {
683
- const logA = dbA.crdt.blockstore.loader?.carLog;
674
+ const logA = dbA._crdt.blockstore.loader?.carLog;
684
675
  expect(logA).toBeTruthy();
685
676
  assert(logA);
686
- expect(logA.length).toBe(docs.length);
677
+ expect(logA.length).toBe(38);
687
678
 
688
- const logB = dbB.crdt.blockstore.loader?.carLog;
679
+ const logB = dbB._crdt.blockstore.loader?.carLog;
689
680
  expect(logB).toBeTruthy();
690
681
  assert(logB);
691
- expect(logB.length).toBe(docs.length);
682
+ expect(logB.length).toBe(38);
692
683
 
693
684
  const logA2 = logA.map((c) => c.toString());
694
685
  const logB2 = logB.map((c) => c.toString());
@@ -702,12 +693,12 @@ describe("same workload twice, same CID", function () {
702
693
  await dbA.compact();
703
694
  await dbB.compact();
704
695
 
705
- const cmpLogA = dbA.crdt.blockstore.loader?.carLog;
696
+ const cmpLogA = dbA._crdt.blockstore.loader?.carLog;
706
697
  expect(cmpLogA).toBeTruthy();
707
698
  assert(cmpLogA);
708
699
  expect(cmpLogA.length).toBe(1);
709
700
 
710
- const cmpLogB = dbB.crdt.blockstore.loader?.carLog;
701
+ const cmpLogB = dbB._crdt.blockstore.loader?.carLog;
711
702
  expect(cmpLogB).toBeTruthy();
712
703
  assert(cmpLogB);
713
704
  expect(cmpLogB.length).toBe(1);
@@ -1,36 +1,31 @@
1
- import { fireproof, Database, DocResponse, DocWithId, index, isDatabase } from "@fireproof/core";
2
- import { mockSuperThis } from "../helpers";
1
+ import { fireproof as database, Database, DocResponse, DocWithId } from "@fireproof/core";
3
2
 
4
3
  describe("Hello World Test", function () {
5
4
  it("should pass the hello world test", function () {
6
- const result = fireproof("hello"); // call to your library function
7
- expect(result.name()).toBe("hello");
5
+ const result = database("hello"); // call to your library function
6
+ expect(result.name).toBe("hello");
8
7
  });
9
8
  });
10
9
 
11
- describe("hello public API", () => {
10
+ describe("hello public API", function () {
12
11
  interface TestDoc {
13
12
  foo: string;
14
13
  }
15
14
  let db: Database;
16
15
  let ok: DocResponse;
17
16
  let doc: DocWithId<TestDoc>;
18
- // let idx: Index<string, TestDoc>;
19
- const sthis = mockSuperThis();
20
- afterEach(async () => {
17
+ afterEach(async function () {
21
18
  await db.close();
22
19
  await db.destroy();
23
20
  });
24
- beforeEach(async () => {
25
- await sthis.start();
26
- db = fireproof("test-public-api");
27
- index<string, TestDoc>(db, "test-index", (doc) => doc.foo);
21
+ beforeEach(async function () {
22
+ db = database("test-public-api");
28
23
  ok = await db.put({ _id: "test", foo: "bar" });
29
24
  doc = await db.get("test");
30
25
  });
31
26
  it("should have a database", function () {
32
27
  expect(db).toBeTruthy();
33
- expect(isDatabase(db)).toBeTruthy();
28
+ expect(db instanceof Database).toBeTruthy();
34
29
  });
35
30
  it("should put", function () {
36
31
  expect(ok).toBeTruthy();
@@ -39,10 +34,11 @@ describe("hello public API", () => {
39
34
  it("should get", function () {
40
35
  expect(doc.foo).toBe("bar");
41
36
  });
42
- it("should get when you open it again", async () => {
37
+ it("should get when you open it again", async function () {
43
38
  await db.close();
44
- db = fireproof("test-public-api");
45
- doc = await db.get("test");
39
+ await db.destroy();
40
+ const db2 = database("test-public-api");
41
+ doc = await db2.get("test");
46
42
  expect(doc.foo).toBe("bar");
47
43
  });
48
44
  });
@@ -54,7 +50,7 @@ describe("Simplified Reopening a database", function () {
54
50
  await db.destroy();
55
51
  });
56
52
  beforeEach(async function () {
57
- db = fireproof("test-reopen-simple");
53
+ db = new Database("test-reopen-simple");
58
54
  const ok = await db.put({ _id: "test", foo: "bar" });
59
55
  expect(ok).toBeTruthy();
60
56
  expect(ok.id).toBe("test");
@@ -66,7 +62,7 @@ describe("Simplified Reopening a database", function () {
66
62
  });
67
63
 
68
64
  it("should have the same data on reopen", async function () {
69
- const db2 = fireproof("test-reopen-simple");
65
+ const db2 = new Database("test-reopen-simple");
70
66
  const doc = await db2.get<{ foo: string }>("test");
71
67
  expect(doc.foo).toBe("bar");
72
68
  await db2.close();