@orkow/common 0.0.41 → 0.0.43

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,18 +1,19 @@
1
- import { NatsConnection } from '@nats-io/transport-node';
2
- import { JsMsg } from '@nats-io/jetstream';
1
+ import { NatsConnection, JsMsg } from 'nats';
3
2
  import { Subjects } from './subjects';
3
+ import { Streams } from './streams';
4
4
  interface Event {
5
5
  subject: Subjects;
6
+ streamName: Streams;
6
7
  data: any;
7
8
  }
8
9
  export declare abstract class Listener<T extends Event> {
10
+ private client;
9
11
  abstract subject: T['subject'];
12
+ abstract streamName: T['streamName'];
10
13
  abstract queueGroupName: string;
11
14
  abstract onMessage(data: T['data'], msg: JsMsg): void;
12
- private client;
13
- private str_name;
14
15
  protected ackWait: number;
15
- constructor(client: NatsConnection, str_name: string);
16
+ constructor(client: NatsConnection);
16
17
  listen(): Promise<void>;
17
18
  parseMessage(msg: JsMsg): any;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-listener.d.ts","sourceRoot":"","sources":["../../src/events/base-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAIL,KAAK,EACN,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,UAAU,KAAK;IACb,OAAO,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,GAAG,CAAA;CACV;AAED,8BAAsB,QAAQ,CAAC,CAAC,SAAS,KAAK;IAC5C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IACrD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAQ;IACxB,SAAS,CAAC,OAAO,SAAW;gBAEhB,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAK9C,MAAM;IAyBZ,YAAY,CAAC,GAAG,EAAE,KAAK;CAMxB"}
1
+ {"version":3,"file":"base-listener.d.ts","sourceRoot":"","sources":["../../src/events/base-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAa,KAAK,EAAE,MAAM,MAAM,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,UAAU,KAAK;IACb,OAAO,EAAE,QAAQ,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,GAAG,CAAA;CACV;AAED,8BAAsB,QAAQ,CAAC,CAAC,SAAS,KAAK;IAOhC,OAAO,CAAC,MAAM;IAN1B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,CAAA;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IACrD,SAAS,CAAC,OAAO,SAAW;gBAER,MAAM,EAAE,cAAc;IAEpC,MAAM;IAyBZ,YAAY,CAAC,GAAG,EAAE,KAAK;CAMxB"}
@@ -1,31 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Listener = void 0;
4
- const jetstream_1 = require("@nats-io/jetstream");
4
+ const nats_1 = require("nats");
5
5
  class Listener {
6
6
  client;
7
- str_name;
8
7
  ackWait = 5 * 1000;
9
- constructor(client, str_name) {
8
+ constructor(client) {
10
9
  this.client = client;
11
- this.str_name = str_name;
12
10
  }
13
11
  async listen() {
14
- const jsm = await (0, jetstream_1.jetstreamManager)(this.client);
15
- await jsm.consumers.add(this.str_name, {
16
- ack_policy: jetstream_1.AckPolicy.Explicit,
12
+ const js = this.client.jetstream();
13
+ const jsm = await js.jetstreamManager();
14
+ await jsm.consumers.add(this.streamName, {
15
+ ack_policy: nats_1.AckPolicy.Explicit,
17
16
  durable_name: this.queueGroupName,
18
17
  ack_wait: this.ackWait,
19
18
  });
20
- const js = (0, jetstream_1.jetstream)(this.client);
21
- const c2 = await js.consumers.get(this.str_name, this.queueGroupName);
22
- console.log('c2: ', c2);
23
- const iter = await c2.fetch({ max_messages: 3 });
19
+ console.log(`Durable consumer add to ${this.streamName} stream`);
20
+ const c2 = await js.consumers.get(this.streamName, this.queueGroupName);
21
+ const iter = await c2.consume();
24
22
  for await (const m of iter) {
25
23
  console.log(`Message received: ${m.subject} / ${this.queueGroupName}`);
26
24
  const parsedData = this.parseMessage(m);
27
25
  this.onMessage(parsedData, m);
28
- m.ack();
29
26
  }
30
27
  }
31
28
  parseMessage(msg) {
@@ -1,14 +1,16 @@
1
- import { NatsConnection } from '@nats-io/transport-node';
1
+ import { NatsConnection } from 'nats';
2
2
  import { Subjects } from './subjects';
3
3
  interface Event {
4
+ subjectRoot: Subjects;
4
5
  subject: Subjects;
5
6
  data: any;
6
7
  }
7
8
  export declare abstract class Publisher<T extends Event> {
8
- abstract subject: T['subject'];
9
9
  private client;
10
+ abstract subjectRoot: T['subjectRoot'];
11
+ abstract subject: T['subject'];
10
12
  constructor(client: NatsConnection);
11
- publish(data: T['data']): Promise<import("@nats-io/jetstream").PubAck>;
13
+ publish(data: T['data']): Promise<import("nats").PubAck>;
12
14
  }
13
15
  export {};
14
16
  //# sourceMappingURL=base-publisher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-publisher.d.ts","sourceRoot":"","sources":["../../src/events/base-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,UAAU,KAAK;IACb,OAAO,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,GAAG,CAAA;CACV;AAED,8BAAsB,SAAS,CAAC,CAAC,SAAS,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;IAC9B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,cAAc;IAIlC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;CAMxB"}
1
+ {"version":3,"file":"base-publisher.d.ts","sourceRoot":"","sources":["../../src/events/base-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,UAAU,KAAK;IACb,WAAW,EAAE,QAAQ,CAAA;IACrB,OAAO,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,GAAG,CAAA;CACV;AAED,8BAAsB,SAAS,CAAC,CAAC,SAAS,KAAK;IAIjC,OAAO,CAAC,MAAM;IAH1B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;gBAEV,MAAM,EAAE,cAAc;IAE1C,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;CAWxB"}
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Publisher = void 0;
4
- const jetstream_1 = require("@nats-io/jetstream");
5
4
  class Publisher {
6
5
  client;
7
6
  constructor(client) {
8
7
  this.client = client;
9
8
  }
10
9
  publish(data) {
11
- console.log('Publish to subjects: ' + this.subject, data);
12
- const js = (0, jetstream_1.jetstream)(this.client);
13
- return js.publish(this.subject, JSON.stringify(data));
10
+ console.log(`Event published to subject: ${this.subject}`, data);
11
+ const js = this.client.jetstream();
12
+ return js.publish(`${this.subjectRoot}.${this.subject}`, JSON.stringify(data));
14
13
  }
15
14
  }
16
15
  exports.Publisher = Publisher;
@@ -1,9 +1,9 @@
1
+ import { Streams } from './streams';
1
2
  import { Subjects } from './subjects';
2
- export interface UserCreatedEvent {
3
+ export interface UserCreatedEvent<T> {
4
+ subjectRoot: Subjects.UsersSrv;
3
5
  subject: Subjects.UserCreated;
4
- data: {
5
- id: string;
6
- firstName: string;
7
- };
6
+ streamName: Streams.UsersStream;
7
+ data: T;
8
8
  }
9
9
  //# sourceMappingURL=user-created-event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-created-event.d.ts","sourceRoot":"","sources":["../../src/events/user-created-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAA;IAC7B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF"}
1
+ {"version":3,"file":"user-created-event.d.ts","sourceRoot":"","sources":["../../src/events/user-created-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC9B,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAA;IAC7B,UAAU,EAAE,OAAO,CAAC,WAAW,CAAA;IAC/B,IAAI,EAAE,CAAC,CAAA;CACR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orkow/common",
3
- "version": "0.0.41",
3
+ "version": "0.0.43",
4
4
  "description": "Common utils.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -9,17 +9,16 @@
9
9
  "dist/**"
10
10
  ],
11
11
  "keywords": [],
12
- "author": "ConCat7 Sky Limited <ikramhasib007@gmail.com> (https://github.com/ikramhasib007)",
12
+ "author": "ConCat7 Sky Limited, <ikramhasib007@gmail.com> (https://github.com/ikramhasib007)",
13
13
  "scripts": {
14
14
  "dev": "tsc -w",
15
15
  "clean": "del-cli ./dist/*",
16
16
  "build": "pnpm run clean && tsc -p tsconfig.build.json",
17
17
  "lint": "eslint --max-warnings 0",
18
- "pub": "git add . && git commit -m \"Updates\" && git push origin main && npm version patch && npm run build && npm publish"
18
+ "lint:fix": "eslint --fix",
19
+ "pub": "pnpm run lint:fix && git add . && git commit -m \"Updates\" && git push origin main && npm version patch && npm run build && npm publish"
19
20
  },
20
21
  "dependencies": {
21
- "@nats-io/jetstream": "^3.2.0",
22
- "@nats-io/transport-node": "^3.2.0",
23
22
  "bcryptjs": "^3.0.3",
24
23
  "graphql": "^16.12.0",
25
24
  "jsonwebtoken": "^9.0.3",