Socket
Socket
Sign inDemoInstall

vendease-common

Package Overview
Dependencies
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vendease-common - npm Package Compare versions

Comparing version 2.0.3 to 2.1.1

9

build/events/jetstream/base-stream.d.ts

@@ -9,12 +9,11 @@ import { Msg, JsMsg } from "nats";

}
export declare abstract class BaseStream<T extends Event> extends Stream {
export declare abstract class BaseStream extends Stream {
protected readonly options: NatsJetStreamServerOptions;
abstract subject: T["subject"];
abstract queueGroupName: string;
protected abstract onMessage(data: T["data"], msg: Msg | JsMsg): Promise<void>;
protected abstract onMessage<T extends Event>(data: T["data"], msg: Msg | JsMsg): Promise<void>;
constructor(options: NatsJetStreamServerOptions);
protected handleMessage(data: T["data"], msg: Msg | JsMsg): Promise<void>;
protected handleMessage<T extends Event>(data: T["data"], msg: Msg | JsMsg): Promise<void>;
listen(): Promise<void>;
publish(data: T["data"]): Promise<void>;
publish<T extends Event>(subject: string, data: T["data"]): Promise<void>;
}
export {};

@@ -32,7 +32,7 @@ "use strict";

}
publish(data) {
publish(subject, data) {
return __awaiter(this, void 0, void 0, function* () {
try {
yield this.publishMessage(this.subject, data);
app_1.logger.info(`Event published to subject [${this.subject}]`);
yield this.publishMessage(subject, data);
app_1.logger.info(`Event published to subject [${subject}]`);
}

@@ -39,0 +39,0 @@ catch (error) {

@@ -34,6 +34,6 @@ "use strict";

};
class ExampleStream extends __1.BaseStream {
// Singleton
class SingleInstanceStream extends __1.BaseStream {
constructor() {
super(...arguments);
this.subject = v1_1.Subjects.CompanyCreated;
this.queueGroupName = "sample group";

@@ -44,2 +44,14 @@ }

console.log(data);
console.log(msg.subject);
/**
switch(msg.subject){
case "Subjects.UserCreated":
return this.handleUserCreated(data)
case Subjects.CompanyCreated:
return this.handleCompanyCreated(data)
default:
return "i probably don't understand this message"
}
**/
msg.ack();

@@ -51,7 +63,6 @@ });

return __awaiter(this, void 0, void 0, function* () {
const stream = new ExampleStream(config);
const stream = new SingleInstanceStream(config);
yield stream.connect();
yield stream.publish({ id: 10, name: "company" });
yield stream.publish({ id: 20, name: "company" });
yield stream.publish({ id: 30, name: "company" });
yield stream.publish(v1_1.Subjects.UserCreated, { id: 20, first_name: "bola", last_name: "tinubu" });
yield stream.publish(v1_1.Subjects.CompanyCreated, { id: 20, name: "dayo's company company created" });
yield stream.listen();

@@ -58,0 +69,0 @@ yield stream.close();

@@ -19,6 +19,5 @@ import { Msg, JsMsg } from "nats";

protected get subjects(): string[];
setStream(stream: string): void;
setConsumer(name: string): void;
set stream(stream: string);
protected publishMessage(subject: string, data: any): Promise<void>;
protected consume(callback: (data: any, msg: Msg | JsMsg) => Promise<void>): Promise<void>;
}

@@ -82,8 +82,5 @@ "use strict";

}
setStream(stream) {
set stream(stream) {
this.currentStream = stream;
}
setConsumer(name) {
this.consumer = name;
}
publishMessage(subject, data) {

@@ -90,0 +87,0 @@ return __awaiter(this, void 0, void 0, function* () {

{
"name": "vendease-common",
"version": "2.0.3",
"version": "2.1.1",
"description": "",

@@ -5,0 +5,0 @@ "main": "./build/index.js",

@@ -31,9 +31,24 @@ # vendease backend common

}
class ExampleStream extends BaseStream<ICreateCompany> {
subject: Subjects.CompanyCreated = Subjects.CompanyCreated;
interface IUserCreatedCompany {
subject: Subjects.UserCreated;
data: { id: number; first_name: string; last_name: string };
}
// Singleton
class SingleInstanceStream extends BaseStream {
queueGroupName: string = "sample group";
protected async onMessage(data: any, msg: JsMsg): Promise<void> {
// consume data
console.log(data);
console.log(msg.subject);
switch (msg.subject) {
case "Subjects.UserCreated":
return this.handleUserCreated(data);
case Subjects.CompanyCreated:
return this.handleCompanyCreated(data);
default:
return "i probably don't understand this message";
}
msg.ack();

@@ -44,8 +59,8 @@ }

export async function testConnection() {
const stream = new ExampleStream(CONFIG);
const stream = new SingleInstanceStream(config);
await stream.connect();
await stream.publish({ id: 10, name: "company" });
await stream.publish({ id: 20, name: "company" });
await stream.publish({ id: 30, name: "company" });
await stream.publish<IUserCreatedCompany>(Subjects.UserCreated, { id: 20, first_name: "bola", last_name: "tinubu" });
await stream.publish<ICreateCompany>(Subjects.CompanyCreated, { id: 20, name: "dayo's company company created" });

@@ -52,0 +67,0 @@ await stream.listen();

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc