@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 +2 -2
- package/lib/internal_mod.d.ts +1 -1
- package/lib/internal_mod.js.map +1 -1
- package/lib/kv.d.ts +3 -2
- package/lib/kv.js +55 -27
- package/lib/kv.js.map +1 -1
- package/lib/mod.d.ts +1 -1
- package/lib/mod.js.map +1 -1
- package/lib/types.d.ts +104 -11
- package/lib/types.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[](./LICENSE)
|
|
2
|
-

|
|
3
3
|
[](https://nats-io.github.io/nats.js/kv/index.html)
|
|
4
4
|
|
|
5
5
|
[](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",
|
|
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");
|
package/lib/internal_mod.d.ts
CHANGED
|
@@ -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";
|
package/lib/internal_mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal_mod.js","sourceRoot":"","sources":["../build/src/internal_mod.ts"],"names":[],"mappings":";;;
|
|
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,
|
|
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():
|
|
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
|
|
46
|
+
return fn(key, btoa);
|
|
32
47
|
},
|
|
33
48
|
decode(bkey) {
|
|
34
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 (
|
|
507
|
+
if (markerTTL) {
|
|
496
508
|
const h = o.headers || (0, internal_1.headers)();
|
|
497
|
-
h.set(internal_2.PubHeaders.MessageTTL,
|
|
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.
|
|
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
|
-
|
|
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
|
|
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
|
|
937
|
+
json(reviver) {
|
|
938
|
+
return JSON.parse(internal_1.TD.decode(this.value), reviver);
|
|
919
939
|
}
|
|
920
940
|
string() {
|
|
921
|
-
return
|
|
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
|
-
|
|
949
|
+
codec;
|
|
950
|
+
constructor(bucket, prefixLen, sm, isUpdate, codec) {
|
|
930
951
|
this.bucket = bucket;
|
|
931
|
-
this.
|
|
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
|
|
994
|
+
json(reviver) {
|
|
995
|
+
return JSON.parse(internal_1.TD.decode(this.value), reviver);
|
|
968
996
|
}
|
|
969
997
|
string() {
|
|
970
|
-
return
|
|
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":";;;
|
|
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
|
-
*
|
|
28
|
-
*
|
|
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:
|
|
133
|
+
key: KvKeyCodec;
|
|
39
134
|
/**
|
|
40
135
|
* Codec for Data in the KV
|
|
41
136
|
*/
|
|
42
|
-
value:
|
|
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 -
|
|
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":";;;
|
|
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.
|
|
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.
|
|
37
|
-
"@nats-io/nats-core": "3.1.
|
|
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.
|
|
40
|
+
"@types/node": "^24.3.1",
|
|
41
41
|
"shx": "^0.4.0",
|
|
42
|
-
"typescript": "^5.
|
|
42
|
+
"typescript": "^5.9.2"
|
|
43
43
|
}
|
|
44
44
|
}
|