@nats-io/kv 3.1.0 → 3.2.0-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/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  [![License](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg)](./LICENSE)
2
- ![jetstream](https://github.com/nats-io/nats.js/actions/workflows/kv.yml/badge.svg)
2
+ ![kv](https://github.com/nats-io/nats.js/actions/workflows/test.yml/badge.svg)
3
3
  [![JSDoc](https://img.shields.io/badge/JSDoc-reference-blue)](https://nats-io.github.io/nats.js/kv/index.html)
4
4
 
5
5
  [![JSR](https://jsr.io/badges/@nats-io/kv)](https://jsr.io/@nats-io/kv)
@@ -128,7 +128,7 @@ const watch = await kv.watch();
128
128
  })().then();
129
129
 
130
130
  // update the entry
131
- await kv.put("hello.world", sc.encode("world"));
131
+ await kv.put("hello.world", "world");
132
132
  // retrieve the KvEntry storing the value
133
133
  // returns null if the value is not found
134
134
  const e = await kv.get("hello.world");
@@ -1,3 +1,3 @@
1
- export type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvLimits, KvOptions, KvPutOptions, KvStatus, KvWatchEntry, KvWatchOptions, RoKV, } from "./types";
1
+ export type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvKeyCodec, KvLimits, KvOptions, KvPayloadCodec, KvPurgeOptions, KvPutOptions, KvStatus, KvWatchEntry, KvWatchOptions, RoKV, } from "./types";
2
2
  export { kvPrefix, KvWatchInclude } from "./types";
3
3
  export { Base64KeyCodec, Bucket, defaultBucketOpts, Kvm, NoopKvCodecs, validateBucket, validateKey, } from "./kv";
@@ -1 +1 @@
1
- {"version":3,"file":"internal_mod.js","sourceRoot":"","sources":["../build/src/internal_mod.ts"],"names":[],"mappings":";;;AAeA,iCAAmD;AAA1C,iGAAA,QAAQ,OAAA;AAAE,uGAAA,cAAc,OAAA;AAEjC,2BAQc;AAPZ,oGAAA,cAAc,OAAA;AACd,4FAAA,MAAM,OAAA;AACN,uGAAA,iBAAiB,OAAA;AACjB,yFAAA,GAAG,OAAA;AACH,kGAAA,YAAY,OAAA;AACZ,oGAAA,cAAc,OAAA;AACd,iGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"internal_mod.js","sourceRoot":"","sources":["../build/src/internal_mod.ts"],"names":[],"mappings":";;;AAkBA,iCAAmD;AAA1C,iGAAA,QAAQ,OAAA;AAAE,uGAAA,cAAc,OAAA;AAEjC,2BAQc;AAPZ,oGAAA,cAAc,OAAA;AACd,4FAAA,MAAM,OAAA;AACN,uGAAA,iBAAiB,OAAA;AACjB,yFAAA,GAAG,OAAA;AACH,kGAAA,YAAY,OAAA;AACZ,oGAAA,cAAc,OAAA;AACd,iGAAA,WAAW,OAAA"}
package/lib/kv.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { MsgHdrs, NatsConnection, Payload, QueuedIterator } from "@nats-io/nats-core/internal";
2
2
  import { StorageType } from "@nats-io/jetstream/internal";
3
3
  import type { ConsumerConfig, JetStreamClient, JetStreamClientImpl, JetStreamManager, JsMsg, Lister, Placement, PurgeOpts, PurgeResponse, Republish, StoredMsg, StreamInfo } from "@nats-io/jetstream/internal";
4
- import type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvOptions, KvPutOptions, KvStatus, KvWatchEntry, KvWatchOptions } from "./types";
4
+ import type { KV, KvCodecs, KvDeleteOptions, KvEntry, KvKeyCodec, KvOptions, KvPutOptions, KvStatus, KvWatchEntry, KvWatchOptions } from "./types";
5
5
  import { KvWatchInclude } from "./types";
6
- export declare function Base64KeyCodec(): KvCodec<string>;
6
+ export declare function Base64KeyCodec(): KvKeyCodec;
7
7
  export declare function NoopKvCodecs(): KvCodecs;
8
8
  export declare function defaultBucketOpts(): Partial<KvOptions>;
9
9
  export declare const kvOperationHdr = "KV-Operation";
@@ -74,6 +74,7 @@ export declare class Bucket implements KV {
74
74
  jmToWatchEntry(jm: JsMsg, isUpdate: boolean): KvWatchEntry;
75
75
  create(k: string, data: Payload, markerTTL?: string): Promise<number>;
76
76
  update(k: string, data: Payload, version: number, timeout?: number): Promise<number>;
77
+ _put(k: string, data: Payload, opts?: Partial<KvPutOptions>, markerTTL?: string): Promise<number>;
77
78
  put(k: string, data: Payload, opts?: Partial<KvPutOptions>): Promise<number>;
78
79
  get(k: string, opts?: {
79
80
  revision: number;
package/lib/kv.js CHANGED
@@ -26,12 +26,27 @@ const internal_1 = require("@nats-io/nats-core/internal");
26
26
  const internal_2 = require("@nats-io/jetstream/internal");
27
27
  const types_1 = require("./types");
28
28
  function Base64KeyCodec() {
29
+ const fn = (key, codec) => {
30
+ const chunks = [];
31
+ for (const t of key.split(".")) {
32
+ switch (t) {
33
+ case ">":
34
+ case "*":
35
+ chunks.push(t);
36
+ break;
37
+ default:
38
+ chunks.push(codec(t));
39
+ break;
40
+ }
41
+ }
42
+ return chunks.join(".");
43
+ };
29
44
  return {
30
45
  encode(key) {
31
- return btoa(key);
46
+ return fn(key, btoa);
32
47
  },
33
48
  decode(bkey) {
34
- return atob(bkey);
49
+ return fn(bkey, atob);
35
50
  },
36
51
  };
37
52
  }
@@ -47,7 +62,7 @@ function NoopKvCodecs() {
47
62
  },
48
63
  value: {
49
64
  encode(v) {
50
- return v;
65
+ return typeof v === "string" ? new TextEncoder().encode(v) : v;
51
66
  },
52
67
  decode(v) {
53
68
  return v;
@@ -437,20 +452,16 @@ class Bucket {
437
452
  return data.length;
438
453
  }
439
454
  smToEntry(sm) {
440
- return new KvStoredEntryImpl(this.bucket, this.prefixLen, sm);
455
+ return new KvStoredEntryImpl(this.bucket, this.prefixLen, sm, this.codec);
441
456
  }
442
457
  jmToWatchEntry(jm, isUpdate) {
443
- const key = this.decodeKey(jm.subject.substring(this.prefixLen));
444
- return new KvJsMsgEntryImpl(this.bucket, key, jm, isUpdate);
458
+ return new KvJsMsgEntryImpl(this.bucket, this.prefixLen, jm, isUpdate, this.codec);
445
459
  }
446
460
  async create(k, data, markerTTL) {
447
461
  let firstErr;
448
462
  try {
449
463
  const opts = { previousSeq: 0 };
450
- if (markerTTL) {
451
- opts.ttl = markerTTL;
452
- }
453
- const n = await this.put(k, data, opts);
464
+ const n = await this._put(k, data, opts, markerTTL);
454
465
  return Promise.resolve(n);
455
466
  }
456
467
  catch (err) {
@@ -483,18 +494,19 @@ class Bucket {
483
494
  }
484
495
  return this.put(k, data, { previousSeq: version, timeout });
485
496
  }
486
- async put(k, data, opts = {}) {
497
+ async _put(k, data, opts = {}, markerTTL) {
487
498
  const ek = this.encodeKey(k);
488
499
  this.validateKey(ek);
500
+ data = this.codec.value.encode(data);
489
501
  const o = { timeout: opts?.timeout };
490
502
  if (opts.previousSeq !== undefined) {
491
503
  const h = (0, internal_1.headers)();
492
504
  o.headers = h;
493
505
  h.set(internal_2.PubHeaders.ExpectedLastSubjectSequenceHdr, `${opts.previousSeq}`);
494
506
  }
495
- if (opts.ttl) {
507
+ if (markerTTL) {
496
508
  const h = o.headers || (0, internal_1.headers)();
497
- h.set(internal_2.PubHeaders.MessageTTL, opts.ttl);
509
+ h.set(internal_2.PubHeaders.MessageTTL, markerTTL);
498
510
  }
499
511
  try {
500
512
  const pa = await this.js.publish(this.subjectForKey(ek, true), data, o);
@@ -504,6 +516,9 @@ class Bucket {
504
516
  return Promise.reject(err);
505
517
  }
506
518
  }
519
+ put(k, data, opts = {}) {
520
+ return this._put(k, data, opts);
521
+ }
507
522
  async get(k, opts) {
508
523
  const ek = this.encodeKey(k);
509
524
  this.validateKey(ek);
@@ -524,7 +539,7 @@ class Bucket {
524
539
  return null;
525
540
  }
526
541
  const ke = this.smToEntry(sm);
527
- if (ke.key !== ek) {
542
+ if (ke.rawKey !== ek) {
528
543
  return null;
529
544
  }
530
545
  return ke;
@@ -878,16 +893,21 @@ class KvStoredEntryImpl {
878
893
  bucket;
879
894
  sm;
880
895
  prefixLen;
881
- constructor(bucket, prefixLen, sm) {
896
+ codec;
897
+ constructor(bucket, prefixLen, sm, codec) {
882
898
  this.bucket = bucket;
883
899
  this.prefixLen = prefixLen;
884
900
  this.sm = sm;
901
+ this.codec = codec;
885
902
  }
886
- get key() {
903
+ get rawKey() {
887
904
  return this.sm.subject.substring(this.prefixLen);
888
905
  }
906
+ get key() {
907
+ return this.codec.key.decode(this.rawKey);
908
+ }
889
909
  get value() {
890
- return this.sm.data;
910
+ return this.codec.value.decode(this.sm.data);
891
911
  }
892
912
  get delta() {
893
913
  return 0;
@@ -914,26 +934,34 @@ class KvStoredEntryImpl {
914
934
  }
915
935
  return this.sm.data.length;
916
936
  }
917
- json() {
918
- return this.sm.json();
937
+ json(reviver) {
938
+ return JSON.parse(internal_1.TD.decode(this.value), reviver);
919
939
  }
920
940
  string() {
921
- return this.sm.string();
941
+ return internal_1.TD.decode(this.value);
922
942
  }
923
943
  }
924
944
  class KvJsMsgEntryImpl {
925
945
  bucket;
926
- key;
927
946
  sm;
947
+ prefixLen;
928
948
  update;
929
- constructor(bucket, key, sm, isUpdate) {
949
+ codec;
950
+ constructor(bucket, prefixLen, sm, isUpdate, codec) {
930
951
  this.bucket = bucket;
931
- this.key = key;
952
+ this.prefixLen = prefixLen;
932
953
  this.sm = sm;
933
954
  this.update = isUpdate;
955
+ this.codec = codec;
956
+ }
957
+ get rawKey() {
958
+ return this.sm.subject.substring(this.prefixLen);
959
+ }
960
+ get key() {
961
+ return this.codec.key.decode(this.rawKey);
934
962
  }
935
963
  get value() {
936
- return this.sm.data;
964
+ return this.codec.value.decode(this.sm.data);
937
965
  }
938
966
  get created() {
939
967
  return new Date((0, internal_1.millis)(this.sm.info.timestampNanos));
@@ -963,11 +991,11 @@ class KvJsMsgEntryImpl {
963
991
  get isUpdate() {
964
992
  return this.update;
965
993
  }
966
- json() {
967
- return this.sm.json();
994
+ json(reviver) {
995
+ return JSON.parse(internal_1.TD.decode(this.value), reviver);
968
996
  }
969
997
  string() {
970
- return this.sm.string();
998
+ return internal_1.TD.decode(this.value);
971
999
  }
972
1000
  }
973
1001
  //# sourceMappingURL=kv.js.map
package/lib/kv.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"kv.js","sourceRoot":"","sources":["../build/src/kv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kv.js","sourceRoot":"","sources":["../build/src/kv.ts"],"names":[],"mappings":"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"}
package/lib/mod.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvLimits, KvOptions, KvPutOptions, KvStatus, KvWatchEntry, KvWatchOptions, RoKV, } from "./internal_mod";
1
+ export type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvKeyCodec, KvLimits, KvOptions, KvPayloadCodec, KvPurgeOptions, KvPutOptions, KvStatus, KvWatchEntry, KvWatchOptions, RoKV, } from "./internal_mod";
2
2
  export { KvWatchInclude } from "./internal_mod";
3
3
  export { Base64KeyCodec, Bucket, defaultBucketOpts, Kvm, NoopKvCodecs, } from "./internal_mod";
package/lib/mod.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../build/src/mod.ts"],"names":[],"mappings":";;;AAeA,+CAAgD;AAAvC,8GAAA,cAAc,OAAA;AAEvB,+CAMwB;AALtB,8GAAA,cAAc,OAAA;AACd,sGAAA,MAAM,OAAA;AACN,iHAAA,iBAAiB,OAAA;AACjB,mGAAA,GAAG,OAAA;AACH,4GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../build/src/mod.ts"],"names":[],"mappings":";;;AAkBA,+CAAgD;AAAvC,8GAAA,cAAc,OAAA;AAEvB,+CAMwB;AALtB,8GAAA,cAAc,OAAA;AACd,sGAAA,MAAM,OAAA;AACN,iHAAA,iBAAiB,OAAA;AACjB,mGAAA,GAAG,OAAA;AACH,4GAAA,YAAY,OAAA"}
package/lib/types.d.ts CHANGED
@@ -9,6 +9,7 @@ export type KvEntry = {
9
9
  delta?: number;
10
10
  operation: "PUT" | "DEL" | "PURGE";
11
11
  length: number;
12
+ rawKey: string;
12
13
  /**
13
14
  * Convenience method to parse the entry payload as JSON. This method
14
15
  * will throw an exception if there's a parsing error;
@@ -24,22 +25,116 @@ export type KvWatchEntry = KvEntry & {
24
25
  isUpdate: boolean;
25
26
  };
26
27
  /**
27
- * Generic type for encoding and decoding values
28
- * before they are stored or returned to the client.
28
+ * A key codec is used to encode and decode keys before they are stored
29
+ * or returned to the client in a Key-Value store.
30
+ *
31
+ * The codec transforms each token (part between dots) in a key string, allowing
32
+ * for custom encoding/decoding while preserving the hierarchical structure of NATS subjects.
33
+ *
34
+ * ## Purpose
35
+ * - Enables custom encoding of keys (e.g., base64, encryption, or custom mappings)
36
+ * - Preserves the ability to use NATS subject wildcards for filtering
37
+ * - Ensures proper storage and retrieval of keys with special characters
38
+ *
39
+ * ## Requirements
40
+ * 1. Must preserve the dot-delimited structure of NATS subjects
41
+ * 2. Must handle wildcard tokens (`*` and `>`) without modification
42
+ * 3. Must be able to properly encode/decode each token independently
43
+ * 4. Must be deterministic (same input always produces same output)
44
+ *
45
+ * ## Example
46
+ * ```
47
+ * // Original key: "users.john.profile"
48
+ * // Encoded key: "dXNlcnM=.am9obg==.cHJvZmlsZQ=="
49
+ *
50
+ * // With wildcards (these remain unchanged):
51
+ * // Original key: "users.*.profile"
52
+ * // Encoded key: "dXNlcnM=.*.cHJvZmlsZQ=="
53
+ * ```
54
+ *
55
+ * Note: This codec is specifically for subject-compatible transformations of keys,
56
+ * not for general data transformation or serialization. It operates at the token level
57
+ * to preserve NATS subject semantics, ensuring that filtering, watches, and other
58
+ * subject-based operations continue to work properly.
59
+ */
60
+ export type KvKeyCodec = {
61
+ /**
62
+ * Encodes a key or key token before storage
63
+ */
64
+ encode(k: string): string;
65
+ /**
66
+ * Decodes a key or key token after retrieval
67
+ */
68
+ decode(k: string): string;
69
+ };
70
+ /**
71
+ * @deprecated
29
72
  */
30
73
  export type KvCodec<T> = {
31
74
  encode(k: T): T;
32
75
  decode(k: T): T;
33
76
  };
77
+ /**
78
+ * A payload codec for transforming data before storage and after retrieval in a Key-Value store.
79
+ *
80
+ * ## Purpose
81
+ * The KvPayloadCodec handles the transformation of values between the application layer and
82
+ * the storage layer in the NATS Key-Value store. All values in NATS KV are ultimately stored
83
+ * as binary data (Uint8Array), and this codec provides a way to customize how data is
84
+ * encoded/decoded.
85
+ *
86
+ * ## Data Flow
87
+ * 1. When storing: Application data (string or Uint8Array) → encode() → Uint8Array (stored in NATS)
88
+ * 2. When retrieving: Uint8Array (from NATS) → decode() → Uint8Array (returned to application)
89
+ *
90
+ * ## Important Notes
91
+ * - The codec always returns Uint8Array, but KvEntry provides convenience methods (string(), json())
92
+ * for parsing the binary data into other formats
93
+ * - Even when the input is a string, the codec must convert it to and work with Uint8Array
94
+ * - The decode method must always return a Uint8Array, even if your application uses string values
95
+ * - Custom codecs can implement compression, encryption, or other transformations
96
+ *
97
+ * ## Example Use Cases
98
+ * - Compression: Reduce the size of stored data
99
+ * - Encryption: Secure sensitive data at rest
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * // Simple compression codec using a hypothetical compression library
104
+ * const CompressionCodec = (): KvPayloadCodec => {
105
+ * return {
106
+ * encode(v: Payload): Uint8Array {
107
+ * // Convert string to Uint8Array if needed
108
+ * const data = typeof v === "string" ? new TextEncoder().encode(v) : v;
109
+ * // Apply compression
110
+ * return compressData(data);
111
+ * },
112
+ * decode(d: Uint8Array): Uint8Array {
113
+ * // Decompress the data
114
+ * return decompressData(d);
115
+ * }
116
+ * };
117
+ * };
118
+ * ```
119
+ */
120
+ export type KvPayloadCodec = {
121
+ encode(v: Payload): Uint8Array;
122
+ decode(d: Uint8Array): Uint8Array;
123
+ };
124
+ /**
125
+ * A KvCodecs object contains two codecs: one for keys and one for values.
126
+ * These codecs are used to encode and decode keys and values before they are stored
127
+ * or retrieved from the KV.
128
+ */
34
129
  export type KvCodecs = {
35
130
  /**
36
131
  * Codec for Keys in the KV
37
132
  */
38
- key: KvCodec<string>;
133
+ key: KvKeyCodec;
39
134
  /**
40
135
  * Codec for Data in the KV
41
136
  */
42
- value: KvCodec<Uint8Array>;
137
+ value: KvPayloadCodec;
43
138
  };
44
139
  export type KvLimits = {
45
140
  /**
@@ -245,9 +340,13 @@ export type KV = RoKV & {
245
340
  * Creates a new entry ensuring that the entry does not exist (or
246
341
  * the current version is deleted or the key is purged)
247
342
  * If the entry already exists, this operation fails.
343
+ *
344
+ * markerTTL is specified as a [Go duration strings](https://pkg.go.dev/maze.io/x/duration#ParseDuration)
345
+ * ("10s", "1m", "1h"...)
346
+ *
248
347
  * @param k
249
348
  * @param data
250
- * @param markerTTL - in milliseconds
349
+ * @param markerTTL - duration is specified as a string
251
350
  */
252
351
  create(k: string, data: Payload, markerTTL?: string): Promise<number>;
253
352
  /**
@@ -298,12 +397,6 @@ export type KvPutOptions = {
298
397
  * put will fail.
299
398
  */
300
399
  previousSeq: number;
301
- /**
302
- * If set, the entry will notify when deleted after the specify number
303
- * of millis. Note that for this option to work, the KvBucket must have the
304
- * markerTTL option.
305
- */
306
- ttl: string;
307
400
  /**
308
401
  * Timeout value in milliseconds for the put, overrides Jetstream context's
309
402
  * default.
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../build/src/types.ts"],"names":[],"mappings":";;;AAwMa,QAAA,cAAc,GAAG;IAC5B;;OAEG;IACH,SAAS,EAAE,EAAE;IACb;;OAEG;IACH,UAAU,EAAE,SAAS;IACrB;;;OAGG;IACH,WAAW,EAAE,SAAS;CACd,CAAC;AAuLE,QAAA,QAAQ,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../build/src/types.ts"],"names":[],"mappings":";;;AAySa,QAAA,cAAc,GAAG;IAC5B;;OAEG;IACH,SAAS,EAAE,EAAE;IACb;;OAEG;IACH,UAAU,EAAE,SAAS;IACrB;;;OAGG;IACH,WAAW,EAAE,SAAS;CACd,CAAC;AAqLE,QAAA,QAAQ,GAAG,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nats-io/kv",
3
- "version": "3.1.0",
3
+ "version": "3.2.0-1",
4
4
  "files": [
5
5
  "lib/",
6
6
  "LICENSE",
@@ -33,12 +33,12 @@
33
33
  },
34
34
  "description": "kv library - this library implements all the base functionality for NATS KV javascript clients",
35
35
  "dependencies": {
36
- "@nats-io/jetstream": "3.1.0",
37
- "@nats-io/nats-core": "3.1.0"
36
+ "@nats-io/jetstream": "3.2.0-4",
37
+ "@nats-io/nats-core": "3.1.1-1"
38
38
  },
39
39
  "devDependencies": {
40
- "@types/node": "^24.0.11",
40
+ "@types/node": "^24.3.1",
41
41
  "shx": "^0.4.0",
42
- "typescript": "^5.8.3"
42
+ "typescript": "^5.9.2"
43
43
  }
44
44
  }