@vercel/kv2 0.0.12 → 0.0.14

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.
@@ -23,6 +23,7 @@ import "../chaos/concurrency.chaos.test.js";
23
23
  import "../chaos/streams.chaos.test.js";
24
24
  import "../chaos/malformed.chaos.test.js";
25
25
  import "../indexed-kv.test.js";
26
+ import "../index-orphans.test.js";
26
27
  import "../cli.test.js";
27
28
  import "./fake-blob-store.test.js";
28
29
  import "../readme.test.js";
@@ -1 +1 @@
1
- {"version":3,"file":"test-index.d.ts","sourceRoot":"","sources":["../../src/testing/test-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,2BAA2B,CAAC;AACnC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,+BAA+B,CAAC;AAGvC,OAAO,0BAA0B,CAAC;AAGlC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AACrC,OAAO,sBAAsB,CAAC;AAG9B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,8BAA8B,CAAC;AACtC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,gCAAgC,CAAC;AACxC,OAAO,kCAAkC,CAAC;AAG1C,OAAO,uBAAuB,CAAC;AAG/B,OAAO,gBAAgB,CAAC;AAGxB,OAAO,2BAA2B,CAAC;AAGnC,OAAO,mBAAmB,CAAC"}
1
+ {"version":3,"file":"test-index.d.ts","sourceRoot":"","sources":["../../src/testing/test-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,2BAA2B,CAAC;AACnC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,+BAA+B,CAAC;AAGvC,OAAO,0BAA0B,CAAC;AAGlC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AACrC,OAAO,sBAAsB,CAAC;AAG9B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,8BAA8B,CAAC;AACtC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,gCAAgC,CAAC;AACxC,OAAO,kCAAkC,CAAC;AAG1C,OAAO,uBAAuB,CAAC;AAC/B,OAAO,0BAA0B,CAAC;AAGlC,OAAO,gBAAgB,CAAC;AAGxB,OAAO,2BAA2B,CAAC;AAGnC,OAAO,mBAAmB,CAAC"}
@@ -28,6 +28,7 @@ import "../chaos/streams.chaos.test.js";
28
28
  import "../chaos/malformed.chaos.test.js";
29
29
  // TypedKV index tests
30
30
  import "../indexed-kv.test.js";
31
+ import "../index-orphans.test.js";
31
32
  // CLI tests
32
33
  import "../cli.test.js";
33
34
  // Testing infrastructure tests
@@ -1 +1 @@
1
- {"version":3,"file":"test-index.js","sourceRoot":"","sources":["../../src/testing/test-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,2BAA2B,CAAC;AACnC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,+BAA+B,CAAC;AAEvC,eAAe;AACf,OAAO,0BAA0B,CAAC;AAElC,gCAAgC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AACrC,OAAO,sBAAsB,CAAC;AAE9B,cAAc;AACd,OAAO,mCAAmC,CAAC;AAC3C,OAAO,8BAA8B,CAAC;AACtC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,gCAAgC,CAAC;AACxC,OAAO,kCAAkC,CAAC;AAE1C,sBAAsB;AACtB,OAAO,uBAAuB,CAAC;AAE/B,YAAY;AACZ,OAAO,gBAAgB,CAAC;AAExB,+BAA+B;AAC/B,OAAO,2BAA2B,CAAC;AAEnC,sBAAsB;AACtB,OAAO,mBAAmB,CAAC"}
1
+ {"version":3,"file":"test-index.js","sourceRoot":"","sources":["../../src/testing/test-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,2BAA2B,CAAC;AACnC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,+BAA+B,CAAC;AAEvC,eAAe;AACf,OAAO,0BAA0B,CAAC;AAElC,gCAAgC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AACrC,OAAO,sBAAsB,CAAC;AAE9B,cAAc;AACd,OAAO,mCAAmC,CAAC;AAC3C,OAAO,8BAA8B,CAAC;AACtC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,gCAAgC,CAAC;AACxC,OAAO,kCAAkC,CAAC;AAE1C,sBAAsB;AACtB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,gBAAgB,CAAC;AAExB,+BAA+B;AAC/B,OAAO,2BAA2B,CAAC;AAEnC,sBAAsB;AACtB,OAAO,mBAAmB,CAAC"}
@@ -51,6 +51,11 @@ export declare class TypedKV<V, M = undefined, I extends string = never> impleme
51
51
  private indexStores?;
52
52
  constructor(parent: KVLike<M>, prefix: string, indexes?: Record<string, IndexDef<V>>);
53
53
  private prefixKey;
54
+ /**
55
+ * Wrap a parent entry so that `update()` routes through TypedKV.set(),
56
+ * ensuring indexes are maintained on optimistic-locking updates.
57
+ */
58
+ private wrapEntry;
54
59
  /**
55
60
  * Get by primary key or by unique index.
56
61
  *
@@ -1 +1 @@
1
- {"version":3,"file":"typed-kv.d.ts","sourceRoot":"","sources":["../src/typed-kv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-kv.d.ts","sourceRoot":"","sources":["../src/typed-kv.ts"],"names":[],"mappings":"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"}
package/dist/typed-kv.js CHANGED
@@ -76,6 +76,21 @@ export class TypedKV {
76
76
  prefixKey(key) {
77
77
  return `${this.prefix}${key}`;
78
78
  }
79
+ /**
80
+ * Wrap a parent entry so that `update()` routes through TypedKV.set(),
81
+ * ensuring indexes are maintained on optimistic-locking updates.
82
+ */
83
+ wrapEntry(primaryKey, entry) {
84
+ if (!this.indexes)
85
+ return entry;
86
+ return {
87
+ ...entry,
88
+ update: async (value, metadata) => {
89
+ const meta = (metadata ?? entry.metadata);
90
+ return this.set(primaryKey, value, ...[meta, { expectedVersion: entry.version }]);
91
+ },
92
+ };
93
+ }
79
94
  /**
80
95
  * Get by primary key or by unique index.
81
96
  *
@@ -92,7 +107,11 @@ export class TypedKV {
92
107
  if (isIndexQuery(keyOrFilter)) {
93
108
  return this.getByIndex(keyOrFilter);
94
109
  }
95
- return this.parent.get(this.prefixKey(keyOrFilter));
110
+ const key = keyOrFilter;
111
+ const result = await this.parent.get(this.prefixKey(key));
112
+ if (!result.exists)
113
+ return result;
114
+ return this.wrapEntry(key, result);
96
115
  }
97
116
  async set(key, value, ...[metadata, options]) {
98
117
  if (!this.indexes) {
@@ -124,10 +143,10 @@ export class TypedKV {
124
143
  }
125
144
  }
126
145
  }
127
- // 3. Write all index entries concurrently (throw on failure before
128
- // main entry is written, so a failed index write means clean state).
129
- // If main write later fails, orphan indexes self-heal on read.
130
- const indexOps = [];
146
+ // 3. Create new index entries before main write. If the main write
147
+ // later fails, these become orphans that self-heal on read.
148
+ const createOps = [];
149
+ const deleteOps = [];
131
150
  for (const [name, def] of Object.entries(this.indexes)) {
132
151
  const newKeys = normalizeIndexKeys(def.key(v, key));
133
152
  const oldKeys = oldValue
@@ -137,30 +156,35 @@ export class TypedKV {
137
156
  const oldSet = new Set(oldKeys);
138
157
  const indexStore = this.indexStores[name];
139
158
  const isUnique = def.unique ?? false;
159
+ // Collect old index deletions — deferred until after main write
140
160
  for (const oldKey of oldKeys) {
141
161
  if (!newSet.has(oldKey)) {
142
162
  if (isUnique) {
143
- indexOps.push(indexStore.delete(oldKey));
163
+ deleteOps.push(() => indexStore.delete(oldKey));
144
164
  }
145
165
  else {
146
- indexOps.push(indexStore.delete(`${oldKey}/${key}`));
166
+ deleteOps.push(() => indexStore.delete(`${oldKey}/${key}`));
147
167
  }
148
168
  }
149
169
  }
150
170
  for (const newKey of newKeys) {
151
171
  if (!oldSet.has(newKey)) {
152
172
  if (isUnique) {
153
- indexOps.push(indexStore.set(newKey, key));
173
+ createOps.push(indexStore.set(newKey, key));
154
174
  }
155
175
  else {
156
- indexOps.push(indexStore.set(`${newKey}/${key}`, key));
176
+ createOps.push(indexStore.set(`${newKey}/${key}`, key));
157
177
  }
158
178
  }
159
179
  }
160
180
  }
161
- await Promise.all(indexOps);
162
- // 4. Write main entry last
163
- return this.parent.set(this.prefixKey(key), value, metadata, options);
181
+ await Promise.all(createOps);
182
+ // 4. Write main entry
183
+ const result = await this.parent.set(this.prefixKey(key), value, metadata, options);
184
+ // 5. Delete old index entries after main write succeeds.
185
+ // If these fail, stale entries self-heal on read.
186
+ await Promise.all(deleteOps.map((fn) => fn().catch(() => { })));
187
+ return result;
164
188
  }
165
189
  async delete(key) {
166
190
  if (!this.indexes) {
@@ -377,14 +401,14 @@ export class TypedKV {
377
401
  indexStore.delete(indexKey).catch(() => { });
378
402
  return NOT_FOUND;
379
403
  }
380
- return {
404
+ return this.wrapEntry(primaryKey, {
381
405
  exists: true,
382
406
  metadata: entry.metadata,
383
407
  value: Promise.resolve(value),
384
408
  stream: entry.stream,
385
409
  version: entry.version,
386
410
  update: entry.update,
387
- };
411
+ });
388
412
  }
389
413
  keysByIndex(filter) {
390
414
  const { indexName, mode, value } = parseIndexQuery(filter);
@@ -587,14 +611,14 @@ export class TypedKV {
587
611
  if (currentKeys.includes(indexKey)) {
588
612
  yield [
589
613
  primaryKey,
590
- {
614
+ self.wrapEntry(primaryKey, {
591
615
  exists: true,
592
616
  metadata: mainEntry.metadata,
593
617
  value: Promise.resolve(val),
594
618
  stream: mainEntry.stream,
595
619
  version: mainEntry.version,
596
620
  update: mainEntry.update,
597
- },
621
+ }),
598
622
  ];
599
623
  }
600
624
  else {
@@ -622,14 +646,14 @@ export class TypedKV {
622
646
  if (currentKeys.includes(indexKey)) {
623
647
  entries.push([
624
648
  primaryKey,
625
- {
649
+ self.wrapEntry(primaryKey, {
626
650
  exists: true,
627
651
  metadata: mainEntry.metadata,
628
652
  value: Promise.resolve(val),
629
653
  stream: mainEntry.stream,
630
654
  version: mainEntry.version,
631
655
  update: mainEntry.update,
632
- },
656
+ }),
633
657
  ]);
634
658
  }
635
659
  else {
@@ -664,14 +688,14 @@ export class TypedKV {
664
688
  if (currentKeys.includes(indexValue)) {
665
689
  yield [
666
690
  primaryKey,
667
- {
691
+ self.wrapEntry(primaryKey, {
668
692
  exists: true,
669
693
  metadata: mainEntry.metadata,
670
694
  value: Promise.resolve(val),
671
695
  stream: mainEntry.stream,
672
696
  version: mainEntry.version,
673
697
  update: mainEntry.update,
674
- },
698
+ }),
675
699
  ];
676
700
  }
677
701
  else {
@@ -698,14 +722,14 @@ export class TypedKV {
698
722
  if (currentKeys.includes(indexValue)) {
699
723
  entries.push([
700
724
  primaryKey,
701
- {
725
+ self.wrapEntry(primaryKey, {
702
726
  exists: true,
703
727
  metadata: mainEntry.metadata,
704
728
  value: Promise.resolve(val),
705
729
  stream: mainEntry.stream,
706
730
  version: mainEntry.version,
707
731
  update: mainEntry.update,
708
- },
732
+ }),
709
733
  ]);
710
734
  }
711
735
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"typed-kv.js","sourceRoot":"","sources":["../src/typed-kv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-kv.js","sourceRoot":"","sources":["../src/typed-kv.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,21 @@ for (const [key, entry] of results) {
49
49
  }
50
50
  ```
51
51
 
52
+ ## Deleting During Iteration
53
+
54
+ It is safe to delete keys while iterating. Iteration uses cursor-based pagination internally, so deleting an already-yielded key does not corrupt the cursor or cause errors.
55
+
56
+ ```typescript
57
+ // Delete all entries matching a condition
58
+ for await (const key of users.keys()) {
59
+ if (key.startsWith("inactive/")) {
60
+ await users.delete(key);
61
+ }
62
+ }
63
+ ```
64
+
65
+ **Note:** Keys that haven't been yielded yet may or may not be skipped if deleted — this depends on whether they were part of an already-fetched page. If you need a guarantee that every key is visited exactly once, collect keys first and then delete in a separate loop.
66
+
52
67
  ## Cursor-Based Pagination
53
68
 
54
69
  Both `keys()` and `entries()` support cursor-based pagination for HTTP APIs.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/kv2",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "description": "KV2 - A type-safe KV store backed by Vercel private blobs with regional caching",
5
5
  "type": "module",
6
6
  "files": [