@nats-io/kv 3.0.0-8 → 3.0.0-9

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.
@@ -1,3 +1,3 @@
1
- export type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvLimits, KvOptions, KvPutOptions, KvStatus, KvWatchOptions, RoKV, } from "./types";
1
+ export type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvLimits, KvOptions, 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":";;;AAcA,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":";;;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"}
package/lib/kv.d.ts CHANGED
@@ -1,7 +1,7 @@
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, KvRemove, KvStatus, KvWatchOptions } from "./types";
4
+ import type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvOptions, KvPutOptions, KvRemove, KvStatus, KvWatchEntry, KvWatchOptions } from "./types";
5
5
  import { KvWatchInclude } from "./types";
6
6
  export declare function Base64KeyCodec(): KvCodec<string>;
7
7
  export declare function NoopKvCodecs(): KvCodecs;
@@ -70,7 +70,7 @@ export declare class Bucket implements KV, KvRemove {
70
70
  close(): Promise<void>;
71
71
  dataLen(data: Uint8Array, h?: MsgHdrs): number;
72
72
  smToEntry(sm: StoredMsg): KvEntry;
73
- jmToEntry(jm: JsMsg): KvEntry;
73
+ jmToWatchEntry(jm: JsMsg, isUpdate: boolean): KvWatchEntry;
74
74
  create(k: string, data: Payload): Promise<number>;
75
75
  update(k: string, data: Payload, version: number): Promise<number>;
76
76
  put(k: string, data: Payload, opts?: Partial<KvPutOptions>): Promise<number>;
@@ -87,9 +87,9 @@ export declare class Bucket implements KV, KvRemove {
87
87
  history(opts?: {
88
88
  key?: string | string[];
89
89
  headers_only?: boolean;
90
- }): Promise<QueuedIterator<KvEntry>>;
90
+ }): Promise<QueuedIterator<KvWatchEntry>>;
91
91
  canSetWatcherName(): boolean;
92
- watch(opts?: KvWatchOptions): Promise<QueuedIterator<KvEntry>>;
92
+ watch(opts?: KvWatchOptions): Promise<QueuedIterator<KvWatchEntry>>;
93
93
  keys(k?: string | string[]): Promise<QueuedIterator<string>>;
94
94
  purgeBucket(opts?: PurgeOpts): Promise<PurgeResponse>;
95
95
  destroy(): Promise<boolean>;
package/lib/kv.js CHANGED
@@ -441,9 +441,9 @@ class Bucket {
441
441
  smToEntry(sm) {
442
442
  return new KvStoredEntryImpl(this.bucket, this.prefixLen, sm);
443
443
  }
444
- jmToEntry(jm) {
444
+ jmToWatchEntry(jm, isUpdate) {
445
445
  const key = this.decodeKey(jm.subject.substring(this.prefixLen));
446
- return new KvJsMsgEntryImpl(this.bucket, key, jm);
446
+ return new KvJsMsgEntryImpl(this.bucket, key, jm, isUpdate);
447
447
  }
448
448
  async create(k, data) {
449
449
  let firstErr;
@@ -537,22 +537,17 @@ class Bucket {
537
537
  return this._deleteOrPurge(k, "DEL", opts);
538
538
  }
539
539
  async purgeDeletes(olderMillis = 30 * 60 * 1000) {
540
- const done = (0, internal_1.deferred)();
541
540
  const buf = [];
542
- const i = await this.watch({
541
+ const i = await this.history({
543
542
  key: ">",
544
- initializedFn: () => {
545
- done.resolve();
546
- },
547
543
  });
548
- (async () => {
544
+ await (async () => {
549
545
  for await (const e of i) {
550
546
  if (e.operation === "DEL" || e.operation === "PURGE") {
551
547
  buf.push(e);
552
548
  }
553
549
  }
554
550
  })().then();
555
- await done;
556
551
  i.stop();
557
552
  const min = Date.now() - olderMillis;
558
553
  const proms = buf.map((e) => {
@@ -634,72 +629,36 @@ class Bucket {
634
629
  }
635
630
  async history(opts = {}) {
636
631
  const k = opts.key ?? ">";
637
- const qi = new internal_1.QueuedIteratorImpl();
638
632
  const co = {};
639
633
  co.headers_only = opts.headers_only || false;
640
- let fn;
641
- fn = () => {
634
+ const qi = new internal_1.QueuedIteratorImpl();
635
+ const fn = () => {
642
636
  qi.stop();
643
637
  };
644
- let count = 0;
645
638
  const cc = this._buildCC(k, types_1.KvWatchInclude.AllHistory, co);
646
- const subj = cc.filter_subject;
647
- const copts = (0, internal_2.consumerOpts)(cc);
648
- copts.bindStream(this.stream);
649
- copts.orderedConsumer();
650
- copts.callback((err, jm) => {
651
- if (err) {
652
- // sub done
653
- qi.stop(err);
654
- return;
655
- }
656
- if (jm) {
657
- const e = this.jmToEntry(jm);
639
+ const oc = await this.js.consumers.getPushConsumer(this.stream, cc);
640
+ qi._data = oc;
641
+ const info = await oc.info(true);
642
+ if (info.num_pending === 0) {
643
+ qi.push(fn);
644
+ return qi;
645
+ }
646
+ const iter = await oc.consume({
647
+ callback: (m) => {
648
+ const e = this.jmToWatchEntry(m, false);
658
649
  qi.push(e);
659
650
  qi.received++;
660
- //@ts-ignore - function will be removed
661
- if (fn && count > 0 && qi.received >= count || jm.info.pending === 0) {
662
- //@ts-ignore: we are injecting an unexpected type
651
+ if (m.info.pending === 0) {
663
652
  qi.push(fn);
664
- fn = undefined;
665
653
  }
666
- }
654
+ },
667
655
  });
668
- const sub = await this.js.subscribe(subj, copts);
669
- // by the time we are here, likely the subscription got messages
670
- if (fn) {
671
- const { info: { last } } = sub;
672
- // this doesn't sound correct - we should be looking for a seq number instead
673
- // then if we see a greater one, we are done.
674
- const expect = last.num_pending + last.delivered.consumer_seq;
675
- // if the iterator already queued - the only issue is other modifications
676
- // did happen like stream was pruned, and the ordered consumer reset, etc
677
- // we won't get what we are expecting - so the notification will never fire
678
- // the sentinel ought to be coming from the server
679
- if (expect === 0 || qi.received >= expect) {
680
- try {
681
- fn();
682
- }
683
- catch (err) {
684
- // fail it - there's something wrong in the user callback
685
- qi.stop(err);
686
- }
687
- finally {
688
- fn = undefined;
689
- }
690
- }
691
- else {
692
- count = expect;
693
- }
694
- }
695
- qi._data = sub;
696
- qi.iterClosed.then(() => {
697
- sub.unsubscribe();
656
+ iter.closed().then(() => {
657
+ qi.push(fn);
698
658
  });
699
- sub.closed.then(() => {
700
- qi.stop();
701
- }).catch((err) => {
702
- qi.stop(err);
659
+ // if they break from the iterator stop the consumer
660
+ qi.iterClosed.then(() => {
661
+ iter.stop();
703
662
  });
704
663
  return qi;
705
664
  }
@@ -722,75 +681,37 @@ class Bucket {
722
681
  content = types_1.KvWatchInclude.UpdatesOnly;
723
682
  }
724
683
  const ignoreDeletes = opts.ignoreDeletes === true;
725
- let fn = opts.initializedFn;
726
- let count = 0;
727
684
  const cc = this._buildCC(k, content, co);
728
- const subj = cc.filter_subject;
729
- const copts = (0, internal_2.consumerOpts)(cc);
730
- if (this.canSetWatcherName()) {
731
- copts.consumerName(internal_1.nuid.next());
732
- }
733
- copts.bindStream(this.stream);
685
+ cc.name = `KV_WATCHER_${internal_1.nuid.next()}`;
734
686
  if (opts.resumeFromRevision && opts.resumeFromRevision > 0) {
735
- copts.startSequence(opts.resumeFromRevision);
736
- }
737
- copts.orderedConsumer();
738
- copts.callback((err, jm) => {
739
- if (err) {
740
- // sub done
741
- qi.stop(err);
742
- return;
743
- }
744
- if (jm) {
745
- const e = this.jmToEntry(jm);
687
+ cc.deliver_policy = internal_2.DeliverPolicy.StartSequence;
688
+ cc.opt_start_seq = opts.resumeFromRevision;
689
+ }
690
+ const oc = await this.js.consumers.getPushConsumer(this.stream, cc);
691
+ const info = await oc.info(true);
692
+ const count = info.num_pending;
693
+ let isUpdate = content === types_1.KvWatchInclude.UpdatesOnly || count === 0;
694
+ qi._data = oc;
695
+ const iter = await oc.consume({
696
+ callback: (m) => {
697
+ if (!isUpdate) {
698
+ isUpdate = qi.received >= count;
699
+ }
700
+ const e = this.jmToWatchEntry(m, isUpdate);
746
701
  if (ignoreDeletes && e.operation === "DEL") {
747
702
  return;
748
703
  }
749
704
  qi.push(e);
750
705
  qi.received++;
751
- // count could have changed or has already been received
752
- if (fn && (count > 0 && qi.received >= count || jm.info.pending === 0)) {
753
- //@ts-ignore: we are injecting an unexpected type
754
- qi.push(fn);
755
- fn = undefined;
756
- }
757
- }
706
+ },
758
707
  });
759
- const sub = await this.js.subscribe(subj, copts);
760
- // by the time we are here, likely the subscription got messages
761
- if (fn) {
762
- const { info: { last } } = sub;
763
- // this doesn't sound correct - we should be looking for a seq number instead
764
- // then if we see a greater one, we are done.
765
- const expect = last.num_pending + last.delivered.consumer_seq;
766
- // if the iterator already queued - the only issue is other modifications
767
- // did happen like stream was pruned, and the ordered consumer reset, etc
768
- // we won't get what we are expecting - so the notification will never fire
769
- // the sentinel ought to be coming from the server
770
- if (expect === 0 || qi.received >= expect) {
771
- try {
772
- fn();
773
- }
774
- catch (err) {
775
- // fail it - there's something wrong in the user callback
776
- qi.stop(err);
777
- }
778
- finally {
779
- fn = undefined;
780
- }
781
- }
782
- else {
783
- count = expect;
784
- }
785
- }
786
- qi._data = sub;
787
708
  qi.iterClosed.then(() => {
788
- sub.unsubscribe();
709
+ iter.stop();
789
710
  });
790
- sub.closed.then(() => {
791
- qi.stop();
792
- }).catch((err) => {
793
- qi.stop(err);
711
+ iter.closed().then(() => {
712
+ qi.push(() => {
713
+ qi.stop();
714
+ });
794
715
  });
795
716
  return qi;
796
717
  }
@@ -799,33 +720,33 @@ class Bucket {
799
720
  const cc = this._buildCC(k, types_1.KvWatchInclude.LastValue, {
800
721
  headers_only: true,
801
722
  });
802
- const subj = Array.isArray(k) ? ">" : cc.filter_subject;
803
- const copts = (0, internal_2.consumerOpts)(cc);
804
- copts.bindStream(this.stream);
805
- copts.orderedConsumer();
806
- const sub = await this.js.subscribe(subj, copts);
807
- (async () => {
808
- for await (const jm of sub) {
809
- const op = jm.headers?.get(exports.kvOperationHdr);
723
+ const oc = await this.js.consumers.getPushConsumer(this.stream, cc);
724
+ const info = await oc.info();
725
+ if (info.num_pending === 0) {
726
+ keys.stop();
727
+ return keys;
728
+ }
729
+ keys._data = oc;
730
+ const iter = await oc.consume({
731
+ callback: (m) => {
732
+ const op = m.headers?.get(exports.kvOperationHdr);
810
733
  if (op !== "DEL" && op !== "PURGE") {
811
- const key = this.decodeKey(jm.subject.substring(this.prefixLen));
734
+ const key = this.decodeKey(m.subject.substring(this.prefixLen));
812
735
  keys.push(key);
813
736
  }
814
- if (jm.info.pending === 0) {
815
- sub.unsubscribe();
737
+ if (m.info.pending === 0) {
738
+ iter.stop();
816
739
  }
817
- }
818
- })()
819
- .then(() => {
820
- keys.stop();
821
- })
822
- .catch((err) => {
823
- keys.stop(err);
740
+ },
741
+ });
742
+ iter.closed().then(() => {
743
+ keys.push(() => {
744
+ keys.stop();
745
+ });
746
+ });
747
+ keys.iterClosed.then(() => {
748
+ iter.stop();
824
749
  });
825
- const si = sub;
826
- if (si.info.last.num_pending === 0) {
827
- sub.unsubscribe();
828
- }
829
750
  return keys;
830
751
  }
831
752
  purgeBucket(opts) {
@@ -959,10 +880,12 @@ class KvJsMsgEntryImpl {
959
880
  bucket;
960
881
  key;
961
882
  sm;
962
- constructor(bucket, key, sm) {
883
+ update;
884
+ constructor(bucket, key, sm, isUpdate) {
963
885
  this.bucket = bucket;
964
886
  this.key = key;
965
887
  this.sm = sm;
888
+ this.update = isUpdate;
966
889
  }
967
890
  get value() {
968
891
  return this.sm.data;
@@ -986,6 +909,9 @@ class KvJsMsgEntryImpl {
986
909
  }
987
910
  return this.sm.data.length;
988
911
  }
912
+ get isUpdate() {
913
+ return this.update;
914
+ }
989
915
  json() {
990
916
  return this.sm.json();
991
917
  }
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, KvWatchOptions, RoKV, } from "./internal_mod";
1
+ export type { KV, KvCodec, KvCodecs, KvDeleteOptions, KvEntry, KvLimits, KvOptions, 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":";;;AAcA,+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":";;;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"}
package/lib/types.d.ts CHANGED
@@ -20,6 +20,9 @@ export interface KvEntry {
20
20
  */
21
21
  string(): string;
22
22
  }
23
+ export interface KvWatchEntry extends KvEntry {
24
+ isUpdate: boolean;
25
+ }
23
26
  /**
24
27
  * An interface for encoding and decoding values
25
28
  * before they are stored or returned to the client.
@@ -195,11 +198,6 @@ export type KvWatchOptions = {
195
198
  * Notification should only include entry headers
196
199
  */
197
200
  headers_only?: boolean;
198
- /**
199
- * A callback that notifies when the watch has yielded all the initial values.
200
- * Subsequent notifications are updates since the initial watch was established.
201
- */
202
- initializedFn?: () => void;
203
201
  /**
204
202
  * Skips notifying deletes.
205
203
  * @default: false
@@ -235,12 +233,12 @@ export interface RoKV {
235
233
  */
236
234
  history(opts?: {
237
235
  key?: string | string[];
238
- }): Promise<QueuedIterator<KvEntry>>;
236
+ }): Promise<QueuedIterator<KvWatchEntry>>;
239
237
  /**
240
238
  * Returns an iterator that will yield KvEntry updates as they happen.
241
239
  * @param opts
242
240
  */
243
- watch(opts?: KvWatchOptions): Promise<QueuedIterator<KvEntry>>;
241
+ watch(opts?: KvWatchOptions): Promise<QueuedIterator<KvWatchEntry>>;
244
242
  /**
245
243
  * @deprecated - this api is removed.
246
244
  */
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../build/src/types.ts"],"names":[],"mappings":";;;AAgNA,IAAY,cAcX;AAdD,WAAY,cAAc;IACxB;;OAEG;IACH,gCAAc,CAAA;IACd;;OAEG;IACH,wCAAsB,CAAA;IACtB;;;OAGG;IACH,yCAAuB,CAAA;AACzB,CAAC,EAdW,cAAc,8BAAd,cAAc,QAczB;AA0JY,QAAA,QAAQ,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../build/src/types.ts"],"names":[],"mappings":";;;AAoNA,IAAY,cAcX;AAdD,WAAY,cAAc;IACxB;;OAEG;IACH,gCAAc,CAAA;IACd;;OAEG;IACH,wCAAsB,CAAA;IACtB;;;OAGG;IACH,yCAAuB,CAAA;AACzB,CAAC,EAdW,cAAc,8BAAd,cAAc,QAczB;AAuJY,QAAA,QAAQ,GAAG,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nats-io/kv",
3
- "version": "3.0.0-8",
3
+ "version": "3.0.0-9",
4
4
  "files": [
5
5
  "lib/",
6
6
  "LICENSE",
@@ -32,8 +32,8 @@
32
32
  },
33
33
  "description": "kv library - this library implements all the base functionality for NATS KV javascript clients",
34
34
  "dependencies": {
35
- "@nats-io/jetstream": "~3.0.0-10",
36
- "@nats-io/nats-core": "~3.0.0-26"
35
+ "@nats-io/jetstream": "~3.0.0-11",
36
+ "@nats-io/nats-core": "~3.0.0-27"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^22.0.0",