New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@node-ts/bus-core

Package Overview
Dependencies
Maintainers
1
Versions
96
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@node-ts/bus-core - npm Package Compare versions

Comparing version 1.0.8 to 1.0.9

3

dist/index.d.ts

@@ -1,3 +0,1 @@

export * from './service-bus/bus';
export * from './service-bus/bus-instance';
export { Transport, TransportMessage, TransportConfiguration, DEFAULT_DEAD_LETTER_QUEUE_NAME } from './transport';

@@ -11,1 +9,2 @@ export * from './handler';

export * from './logger';
export * from './service-bus';

@@ -5,4 +5,2 @@ "use strict";

const tslib_1 = require("tslib");
(0, tslib_1.__exportStar)(require("./service-bus/bus"), exports);
(0, tslib_1.__exportStar)(require("./service-bus/bus-instance"), exports);
var transport_1 = require("./transport");

@@ -17,2 +15,3 @@ Object.defineProperty(exports, "DEFAULT_DEAD_LETTER_QUEUE_NAME", { enumerable: true, get: function () { return transport_1.DEFAULT_DEAD_LETTER_QUEUE_NAME; } });

(0, tslib_1.__exportStar)(require("./logger"), exports);
(0, tslib_1.__exportStar)(require("./service-bus"), exports);
//# sourceMappingURL=index.js.map

@@ -34,3 +34,3 @@ import { Transport } from './transport';

private queuePushed;
private deadLetterQueue;
private _deadLetterQueue;
private messagesWithHandlers;

@@ -54,2 +54,7 @@ private logger;

/**
* Returns all messages sitting in the dead letter queue. This is a copy of the queue
* so mutative actions on this array will have no consequence.
*/
get deadLetterQueue(): TransportMessage<InMemoryMessage>[];
/**
* Gets the number of messages in the queue, excluding those in flight

@@ -56,0 +61,0 @@ */

@@ -21,3 +21,3 @@ "use strict";

this.queuePushed = new stream_1.EventEmitter();
this.deadLetterQueue = [];
this._deadLetterQueue = [];
}

@@ -84,2 +84,7 @@ prepare(coreDependencies) {

const messageIndex = this.queue.indexOf(message);
if (messageIndex < 0) {
// actions like .fail() will cause the message to already be deleted
this.logger.debug('Message already deleted', { message, messageIndex });
return;
}
this.logger.debug('Deleting message', { queueDepth: this.depth, messageIndex });

@@ -107,5 +112,12 @@ this.queue.splice(messageIndex, 1);

get deadLetterQueueDepth() {
return this.deadLetterQueue.length;
return this._deadLetterQueue.length;
}
/**
* Returns all messages sitting in the dead letter queue. This is a copy of the queue
* so mutative actions on this array will have no consequence.
*/
get deadLetterQueue() {
return [...this._deadLetterQueue];
}
/**
* Gets the number of messages in the queue, excluding those in flight

@@ -117,3 +129,3 @@ */

async sendToDeadLetterQueue(message) {
this.deadLetterQueue.push(message);
this._deadLetterQueue.push(message);
await this.deleteMessage(message);

@@ -120,0 +132,0 @@ }

{
"name": "@node-ts/bus-core",
"version": "1.0.8",
"version": "1.0.9",
"description": "A service bus for message-based, distributed node applications",

@@ -48,3 +48,3 @@ "main": "./dist/index.js",

],
"gitHead": "0aad4040a7521b404384a2a8210633da1ac0b701"
"gitHead": "18c461690e686eee3a5e68e373e14ef9a6c692dc"
}

@@ -1,3 +0,1 @@

export * from './service-bus/bus'
export * from './service-bus/bus-instance'
export {

@@ -16,1 +14,2 @@ Transport,

export * from './logger'
export * from './service-bus'

@@ -8,4 +8,6 @@ import { MemoryQueue, InMemoryMessage, RETRY_LIMIT } from './memory-queue'

import { Logger, LoggerFactory } from '../logger'
import { DefaultHandlerRegistry, HandlerRegistry } from '../handler'
import { DefaultHandlerRegistry, handlerFor, HandlerRegistry } from '../handler'
import { JsonSerializer, MessageSerializer } from '../serialization'
import EventEmitter from 'events'
import { Bus } from '../service-bus/bus'

@@ -167,3 +169,22 @@ const event = new TestEvent()

})
it('should only fail the handled message', async () => {
const emitter = new EventEmitter()
const bus = await Bus.configure()
.withConcurrency(1)
.withHandler(handlerFor(TestEvent, async () => {
await bus.send(new TestCommand())
await bus.fail()
}))
.withHandler(handlerFor(TestCommand, () => { emitter.emit('done') }))
.initialize()
await bus.start()
const completion = new Promise<void>(resolve => emitter.once('done', resolve))
await bus.publish(new TestEvent())
await completion
await bus.dispose()
})
})
})

@@ -43,3 +43,3 @@ import { Transport } from './transport'

private queuePushed: EventEmitter = new EventEmitter()
private deadLetterQueue: TransportMessage<InMemoryMessage>[] = []
private _deadLetterQueue: TransportMessage<InMemoryMessage>[] = []
private messagesWithHandlers: { [key: string]: {} }

@@ -120,2 +120,7 @@ private logger: Logger

const messageIndex = this.queue.indexOf(message)
if (messageIndex < 0) {
// actions like .fail() will cause the message to already be deleted
this.logger.debug('Message already deleted', { message, messageIndex })
return
}
this.logger.debug('Deleting message', { queueDepth: this.depth, messageIndex })

@@ -146,6 +151,14 @@ this.queue.splice(messageIndex, 1)

get deadLetterQueueDepth (): number {
return this.deadLetterQueue.length
return this._deadLetterQueue.length
}
/**
* Returns all messages sitting in the dead letter queue. This is a copy of the queue
* so mutative actions on this array will have no consequence.
*/
get deadLetterQueue (): TransportMessage<InMemoryMessage>[] {
return [...this._deadLetterQueue]
}
/**
* Gets the number of messages in the queue, excluding those in flight

@@ -159,3 +172,3 @@ */

private async sendToDeadLetterQueue (message: TransportMessage<InMemoryMessage>): Promise<void> {
this.deadLetterQueue.push(message)
this._deadLetterQueue.push(message)
await this.deleteMessage(message)

@@ -162,0 +175,0 @@ }

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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