@rsdk/nats.kv 5.6.1-next.0 → 5.7.0-next.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/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { NatsKvService } from './nats-kv.service';
2
- export { WatchKv, type KvWatcher } from './watch-kv.decorator';
2
+ export { WatchKv, type KvWatcher, WatchConfig } from './watch-kv.decorator';
3
3
  export { NatsKvModule } from './nats-kv.module';
4
4
  export * from './inject-kv-service.decorator';
5
5
  export * from './nats-kv';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,2DAA+D;AAAtD,6GAAA,OAAO,OAAA;AAChB,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,gEAA8C;AAC9C,4CAA0B;AAC1B,8CAA4B;AAC5B,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAG9B,mDAAgD;AAAvC,8GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,2DAA4E;AAAnE,6GAAA,OAAO,OAAA;AAChB,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,gEAA8C;AAC9C,4CAA0B;AAC1B,8CAA4B;AAC5B,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAG9B,mDAAgD;AAAvC,8GAAA,YAAY,OAAA"}
@@ -5,6 +5,7 @@ export type WatchConfig = {
5
5
  connectionName?: string;
6
6
  domain?: string;
7
7
  include?: KvWatchInclude;
8
+ ignoreDeletes?: boolean;
8
9
  /**
9
10
  * Flag indicating whether the readiness probe for bucket is optional.
10
11
  * If set to `true`, an error in the probe will not affect the global system status.
@@ -1 +1 @@
1
- {"version":3,"file":"watch-kv.decorator.js","sourceRoot":"","sources":["../src/watch-kv.decorator.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AACzC,yCAA6C;AAC7C,6CAGwB;AACxB,mDAG2B;AAuB3B;;GAEG;AACU,QAAA,iBAAiB,GAAG,eAAe,CAAC;AAEpC,QAAA,eAAe,GAAG,gBAAS,CAAC,eAAe,CAAc;IACpE,GAAG,EAAE,yBAAiB;CACvB,CAAC,CAAC;AAEH;;;;;;GAMG;AACI,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAkB,EAAE;IAC7D,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,IAAA,uBAAe,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,gBAAgB,GACpB,gDAAkC,CAAC,4BAA4B,CAC7D,MAAM,EACN,IAAA,sBAAa,EAAC;YACZ,UAAU;YACV,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,mBAAmB;SACvC,CAAC,CACH,CAAC;QAEJ,uBAAY,CAAC,YAAY,CACvB,MAAM,EACN,6CAAkC,EAClC,IAAA,mCAAqB,EAAC,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EACvE,gBAAgB,EAChB,IAAI,CACL,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,OAAO,WAwBlB"}
1
+ {"version":3,"file":"watch-kv.decorator.js","sourceRoot":"","sources":["../src/watch-kv.decorator.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AACzC,yCAA6C;AAC7C,6CAGwB;AACxB,mDAG2B;AAwB3B;;GAEG;AACU,QAAA,iBAAiB,GAAG,eAAe,CAAC;AAEpC,QAAA,eAAe,GAAG,gBAAS,CAAC,eAAe,CAAc;IACpE,GAAG,EAAE,yBAAiB;CACvB,CAAC,CAAC;AAEH;;;;;;GAMG;AACI,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAkB,EAAE;IAC7D,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,IAAA,uBAAe,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,gBAAgB,GACpB,gDAAkC,CAAC,4BAA4B,CAC7D,MAAM,EACN,IAAA,sBAAa,EAAC;YACZ,UAAU;YACV,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,mBAAmB;SACvC,CAAC,CACH,CAAC;QAEJ,uBAAY,CAAC,YAAY,CACvB,MAAM,EACN,6CAAkC,EAClC,IAAA,mCAAqB,EAAC,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EACvE,gBAAgB,EAChB,IAAI,CACL,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,OAAO,WAwBlB"}
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.WatchKvService = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const core_1 = require("@nestjs/core");
18
+ const common_node_1 = require("@rsdk/common.node");
18
19
  const core_2 = require("@rsdk/core");
19
20
  const nats_1 = require("nats");
20
21
  const nats_kv_service_1 = require("./nats-kv.service");
@@ -69,7 +70,11 @@ let WatchKvService = class WatchKvService {
69
70
  const kv = await this.nats.bind({
70
71
  bucketName: config.bucket,
71
72
  });
72
- this.watch(kv.getRawStorage(), { include: config.include ?? nats_1.KvWatchInclude.LastValue }, async (event) => {
73
+ this.watch(kv.getRawStorage(), (0, common_node_1.omitUndefined)({
74
+ include: config.include ?? nats_1.KvWatchInclude.LastValue,
75
+ key: config.filter,
76
+ ignoreDeletes: config.ignoreDeletes,
77
+ }), async (event) => {
73
78
  switch (event.operation) {
74
79
  case 'PUT':
75
80
  await watcher.onPut(event);
@@ -1 +1 @@
1
- {"version":3,"file":"watch-kv.service.js","sourceRoot":"","sources":["../src/watch-kv.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch-kv.service.js","sourceRoot":"","sources":["../src/watch-kv.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/nats.kv",
3
- "version": "5.6.1-next.0",
3
+ "version": "5.7.0-next.0",
4
4
  "description": "Nats NestJS key-Value storage",
5
5
  "main": "dist/index.js",
6
6
  "license": "Apache License 2.0",
@@ -38,5 +38,5 @@
38
38
  "rxjs": "^7.8.1"
39
39
  },
40
40
  "nx": {},
41
- "gitHead": "25bcd4d3fd8b6be48b6cab88db6f7c5f3bedb51a"
41
+ "gitHead": "1f7660ae22d235f67cc712ae91cab7a70423ab6f"
42
42
  }
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { NatsKvService } from './nats-kv.service';
2
- export { WatchKv, type KvWatcher } from './watch-kv.decorator';
2
+ export { WatchKv, type KvWatcher, WatchConfig } from './watch-kv.decorator';
3
3
  export { NatsKvModule } from './nats-kv.module';
4
4
  export * from './inject-kv-service.decorator';
5
5
  export * from './nats-kv';
@@ -16,6 +16,7 @@ export type WatchConfig = {
16
16
  connectionName?: string;
17
17
  domain?: string;
18
18
  include?: KvWatchInclude;
19
+ ignoreDeletes?: boolean;
19
20
 
20
21
  /**
21
22
  * Flag indicating whether the readiness probe for bucket is optional.
@@ -1,5 +1,6 @@
1
1
  import { Inject } from '@nestjs/common';
2
2
  import { DiscoveryService } from '@nestjs/core';
3
+ import { omitUndefined } from '@rsdk/common.node';
3
4
  import { InjectLogger } from '@rsdk/core';
4
5
  import { ILogger } from '@rsdk/logging';
5
6
  import type { KV, KvEntry, KvWatchOptions } from 'nats';
@@ -74,7 +75,11 @@ export class WatchKvService {
74
75
 
75
76
  this.watch(
76
77
  kv.getRawStorage(),
77
- { include: config.include ?? KvWatchInclude.LastValue },
78
+ omitUndefined({
79
+ include: config.include ?? KvWatchInclude.LastValue,
80
+ key: config.filter,
81
+ ignoreDeletes: config.ignoreDeletes,
82
+ }),
78
83
  async (event) => {
79
84
  switch (event.operation) {
80
85
  case 'PUT':