xitdb 0.4.0 → 0.5.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.
package/README.md CHANGED
@@ -320,13 +320,11 @@ All data structures support iteration. Here's an example of iterating over an `A
320
320
  const peopleCursor = await moment.getCursorByString('people');
321
321
  const people = new ReadArrayList(peopleCursor!);
322
322
 
323
- const peopleIter = people.iterator();
324
- await peopleIter.init();
323
+ const peopleIter = await people.iterator();
325
324
  while (await peopleIter.hasNext()) {
326
325
  const personCursor = await peopleIter.next();
327
326
  const person = await ReadHashMap.create(personCursor!);
328
- const personIter = person.iterator();
329
- await personIter.init();
327
+ const personIter = await person.iterator();
330
328
  while (await personIter.hasNext()) {
331
329
  const kvPairCursor = await personIter.next();
332
330
  const kvPair = await kvPairCursor!.readKeyValuePair();
package/dist/index.js CHANGED
@@ -332,14 +332,10 @@ class CursorIterator {
332
332
  index = 0;
333
333
  stack = [];
334
334
  nextCursorMaybe = null;
335
- initialized = false;
336
335
  constructor(cursor) {
337
336
  this.cursor = cursor;
338
337
  }
339
338
  async init() {
340
- if (this.initialized)
341
- return;
342
- this.initialized = true;
343
339
  switch (this.cursor.slotPtr.slot.tag) {
344
340
  case 0 /* NONE */:
345
341
  this.size = 0;
@@ -400,7 +396,6 @@ class CursorIterator {
400
396
  return [new IteratorLevel(position, indexBlock, 0)];
401
397
  }
402
398
  async hasNext() {
403
- await this.init();
404
399
  switch (this.cursor.slotPtr.slot.tag) {
405
400
  case 0 /* NONE */:
406
401
  return false;
@@ -421,7 +416,6 @@ class CursorIterator {
421
416
  }
422
417
  }
423
418
  async next() {
424
- await this.init();
425
419
  switch (this.cursor.slotPtr.slot.tag) {
426
420
  case 0 /* NONE */:
427
421
  return null;
@@ -695,8 +689,7 @@ var init_read_cursor = __esm(() => {
695
689
  }
696
690
  }
697
691
  async* [Symbol.asyncIterator]() {
698
- const iterator = new CursorIterator(this);
699
- await iterator.init();
692
+ const iterator = await this.iterator();
700
693
  while (await iterator.hasNext()) {
701
694
  const next = await iterator.next();
702
695
  if (next !== null) {
@@ -704,8 +697,10 @@ var init_read_cursor = __esm(() => {
704
697
  }
705
698
  }
706
699
  }
707
- iterator() {
708
- return new CursorIterator(this);
700
+ async iterator() {
701
+ const iterator = new CursorIterator(this);
702
+ await iterator.init();
703
+ return iterator;
709
704
  }
710
705
  };
711
706
  });
@@ -818,8 +813,7 @@ var init_write_cursor = __esm(() => {
818
813
  return new Writer(this, 0, new Slot(ptrPos, 6 /* BYTES */), startPosition, 0);
819
814
  }
820
815
  async* [Symbol.asyncIterator]() {
821
- const iterator = new WriteCursorIterator(this);
822
- await iterator.init();
816
+ const iterator = await this.iterator();
823
817
  while (await iterator.hasNext()) {
824
818
  const next = await iterator.next();
825
819
  if (next !== null) {
@@ -827,8 +821,10 @@ var init_write_cursor = __esm(() => {
827
821
  }
828
822
  }
829
823
  }
830
- iterator() {
831
- return new WriteCursorIterator(this);
824
+ async iterator() {
825
+ const iterator = new WriteCursorIterator(this);
826
+ await iterator.init();
827
+ return iterator;
832
828
  }
833
829
  };
834
830
  WriteCursorIterator = class WriteCursorIterator extends CursorIterator {
@@ -3197,7 +3193,7 @@ class ReadArrayList {
3197
3193
  async count() {
3198
3194
  return this.cursor.count();
3199
3195
  }
3200
- iterator() {
3196
+ async iterator() {
3201
3197
  return this.cursor.iterator();
3202
3198
  }
3203
3199
  async* [Symbol.asyncIterator]() {
@@ -3221,7 +3217,7 @@ class WriteArrayList extends ReadArrayList {
3221
3217
  const newCursor = await cursor.writePath([new ArrayListInit]);
3222
3218
  return new WriteArrayList(newCursor);
3223
3219
  }
3224
- iterator() {
3220
+ async iterator() {
3225
3221
  return this.cursor.iterator();
3226
3222
  }
3227
3223
  async* [Symbol.asyncIterator]() {
@@ -3280,7 +3276,7 @@ class ReadHashMap {
3280
3276
  slot() {
3281
3277
  return this.cursor.slot();
3282
3278
  }
3283
- iterator() {
3279
+ async iterator() {
3284
3280
  return this.cursor.iterator();
3285
3281
  }
3286
3282
  async* [Symbol.asyncIterator]() {
@@ -3362,7 +3358,7 @@ class WriteHashMap extends ReadHashMap {
3362
3358
  map.cursor = newCursor;
3363
3359
  return map;
3364
3360
  }
3365
- iterator() {
3361
+ async iterator() {
3366
3362
  return this.cursor.iterator();
3367
3363
  }
3368
3364
  async* [Symbol.asyncIterator]() {
@@ -3470,7 +3466,7 @@ class ReadHashSet {
3470
3466
  slot() {
3471
3467
  return this.cursor.slot();
3472
3468
  }
3473
- iterator() {
3469
+ async iterator() {
3474
3470
  return this.cursor.iterator();
3475
3471
  }
3476
3472
  async* [Symbol.asyncIterator]() {
@@ -3514,7 +3510,7 @@ class WriteHashSet extends ReadHashSet {
3514
3510
  set.cursor = newCursor;
3515
3511
  return set;
3516
3512
  }
3517
- iterator() {
3513
+ async iterator() {
3518
3514
  return this.cursor.iterator();
3519
3515
  }
3520
3516
  async* [Symbol.asyncIterator]() {
@@ -3591,7 +3587,7 @@ class ReadLinkedArrayList {
3591
3587
  async count() {
3592
3588
  return this.cursor.count();
3593
3589
  }
3594
- iterator() {
3590
+ async iterator() {
3595
3591
  return this.cursor.iterator();
3596
3592
  }
3597
3593
  async* [Symbol.asyncIterator]() {
@@ -3615,7 +3611,7 @@ class WriteLinkedArrayList extends ReadLinkedArrayList {
3615
3611
  const newCursor = await cursor.writePath([new LinkedArrayListInit]);
3616
3612
  return new WriteLinkedArrayList(newCursor);
3617
3613
  }
3618
- iterator() {
3614
+ async iterator() {
3619
3615
  return this.cursor.iterator();
3620
3616
  }
3621
3617
  async* [Symbol.asyncIterator]() {
@@ -6,7 +6,7 @@ export declare class ReadArrayList implements Slotted {
6
6
  constructor(cursor: ReadCursor);
7
7
  slot(): Slot;
8
8
  count(): Promise<number>;
9
- iterator(): CursorIterator;
9
+ iterator(): Promise<CursorIterator>;
10
10
  [Symbol.asyncIterator](): AsyncIterator<ReadCursor>;
11
11
  getCursor(index: number): Promise<ReadCursor | null>;
12
12
  getSlot(index: number): Promise<Slot | null>;
@@ -25,7 +25,7 @@ export declare class ReadCursor implements Slotted {
25
25
  reader(): Promise<Reader>;
26
26
  count(): Promise<number>;
27
27
  [Symbol.asyncIterator](): AsyncIterator<ReadCursor>;
28
- iterator(): CursorIterator;
28
+ iterator(): Promise<CursorIterator>;
29
29
  }
30
30
  export declare class Reader {
31
31
  parent: ReadCursor;
@@ -47,7 +47,6 @@ export declare class CursorIterator {
47
47
  index: number;
48
48
  private stack;
49
49
  private nextCursorMaybe;
50
- private initialized;
51
50
  constructor(cursor: ReadCursor);
52
51
  init(): Promise<void>;
53
52
  private initStack;
@@ -7,7 +7,7 @@ export declare class ReadHashMap implements Slotted {
7
7
  protected constructor();
8
8
  static create(cursor: ReadCursor): Promise<ReadHashMap>;
9
9
  slot(): Slot;
10
- iterator(): CursorIterator;
10
+ iterator(): Promise<CursorIterator>;
11
11
  [Symbol.asyncIterator](): AsyncIterator<ReadCursor>;
12
12
  getCursorByString(key: string): Promise<ReadCursor | null>;
13
13
  getSlotByString(key: string): Promise<Slot | null>;
@@ -7,7 +7,7 @@ export declare class ReadHashSet implements Slotted {
7
7
  protected constructor();
8
8
  static create(cursor: ReadCursor): Promise<ReadHashSet>;
9
9
  slot(): Slot;
10
- iterator(): CursorIterator;
10
+ iterator(): Promise<CursorIterator>;
11
11
  [Symbol.asyncIterator](): AsyncIterator<ReadCursor>;
12
12
  getCursorByString(key: string): Promise<ReadCursor | null>;
13
13
  getSlotByString(key: string): Promise<Slot | null>;
@@ -6,7 +6,7 @@ export declare class ReadLinkedArrayList implements Slotted {
6
6
  constructor(cursor: ReadCursor);
7
7
  slot(): Slot;
8
8
  count(): Promise<number>;
9
- iterator(): CursorIterator;
9
+ iterator(): Promise<CursorIterator>;
10
10
  [Symbol.asyncIterator](): AsyncIterator<ReadCursor>;
11
11
  getCursor(index: number): Promise<ReadCursor | null>;
12
12
  getSlot(index: number): Promise<Slot | null>;
@@ -5,7 +5,7 @@ import type { WriteableData } from './writeable-data';
5
5
  export declare class WriteArrayList extends ReadArrayList {
6
6
  constructor(cursor: WriteCursor);
7
7
  static create(cursor: WriteCursor): Promise<WriteArrayList>;
8
- iterator(): WriteCursorIterator;
8
+ iterator(): Promise<WriteCursorIterator>;
9
9
  [Symbol.asyncIterator](): AsyncIterator<WriteCursor>;
10
10
  put(index: number, data: WriteableData): Promise<void>;
11
11
  putCursor(index: number): Promise<WriteCursor>;
@@ -16,7 +16,7 @@ export declare class WriteCursor extends ReadCursor {
16
16
  readKeyValuePair(): Promise<WriteKeyValuePairCursor>;
17
17
  writer(): Promise<Writer>;
18
18
  [Symbol.asyncIterator](): AsyncIterator<WriteCursor>;
19
- iterator(): WriteCursorIterator;
19
+ iterator(): Promise<WriteCursorIterator>;
20
20
  }
21
21
  export declare class Writer {
22
22
  parent: WriteCursor;
@@ -5,7 +5,7 @@ import { Bytes } from './writeable-data';
5
5
  export declare class WriteHashMap extends ReadHashMap {
6
6
  protected constructor();
7
7
  static create(cursor: WriteCursor): Promise<WriteHashMap>;
8
- iterator(): WriteCursorIterator;
8
+ iterator(): Promise<WriteCursorIterator>;
9
9
  [Symbol.asyncIterator](): AsyncIterator<WriteCursor>;
10
10
  putByString(key: string, data: WriteableData): Promise<void>;
11
11
  putCursorByString(key: string): Promise<WriteCursor>;
@@ -5,7 +5,7 @@ import { Bytes } from './writeable-data';
5
5
  export declare class WriteHashSet extends ReadHashSet {
6
6
  protected constructor();
7
7
  static create(cursor: WriteCursor): Promise<WriteHashSet>;
8
- iterator(): WriteCursorIterator;
8
+ iterator(): Promise<WriteCursorIterator>;
9
9
  [Symbol.asyncIterator](): AsyncIterator<WriteCursor>;
10
10
  putByString(key: string): Promise<void>;
11
11
  putCursorByString(key: string): Promise<WriteCursor>;
@@ -5,7 +5,7 @@ import type { WriteableData } from './writeable-data';
5
5
  export declare class WriteLinkedArrayList extends ReadLinkedArrayList {
6
6
  constructor(cursor: WriteCursor);
7
7
  static create(cursor: WriteCursor): Promise<WriteLinkedArrayList>;
8
- iterator(): WriteCursorIterator;
8
+ iterator(): Promise<WriteCursorIterator>;
9
9
  [Symbol.asyncIterator](): AsyncIterator<WriteCursor>;
10
10
  put(index: number, data: WriteableData): Promise<void>;
11
11
  putCursor(index: number): Promise<WriteCursor>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xitdb",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "An immutable database",
5
5
  "license": "MIT",
6
6
  "repository": {