redis-smq 7.0.0-rc.7 → 7.0.0-rc.8
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/CHANGELOG.md +6 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -4
- package/dist/src/common/event-listeners/event-provider.d.ts +8 -0
- package/dist/src/common/event-listeners/event-provider.js +13 -0
- package/dist/src/config/configuration.js +2 -0
- package/dist/src/config/event-listeners/event-listeners.d.ts +2 -0
- package/dist/src/config/event-listeners/event-listeners.js +14 -0
- package/dist/src/lib/base.js +0 -2
- package/dist/src/lib/consumer/consumer-message-handler/message-handler.d.ts +4 -4
- package/dist/src/lib/consumer/consumer-message-handler/message-handler.js +11 -11
- package/dist/src/lib/consumer/consumer-message-handler/multiplexed-message-handler/multiplexed-message-handler.js +1 -1
- package/dist/src/lib/producer/producer.d.ts +3 -3
- package/dist/src/lib/producer/producer.js +7 -7
- package/dist/types/index.d.ts +15 -7
- package/package.json +1 -1
- package/dist/src/plugins/errors/plugin-registration-not-allowed-error.d.ts +0 -4
- package/dist/src/plugins/errors/plugin-registration-not-allowed-error.js +0 -11
- package/dist/src/plugins/plugins.d.ts +0 -6
- package/dist/src/plugins/plugins.js +0 -35
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 7.0.0-rc.8 (2022-06-09)
|
|
4
|
+
|
|
5
|
+
* Update docs (96a45e7)
|
|
6
|
+
* Test consumers/producers event listeners (856e12d)
|
|
7
|
+
* Implement consumers/producers event listeners (6f5d603)
|
|
8
|
+
|
|
3
9
|
## 7.0.0-rc.7 (2022-06-07)
|
|
4
10
|
|
|
5
11
|
* Update redis keys prefix (a6ca852)
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,3 @@ export { Producer } from './src/lib/producer/producer';
|
|
|
4
4
|
export { Message } from './src/lib/message/message';
|
|
5
5
|
export { MessageManager } from './src/lib/message-manager/message-manager';
|
|
6
6
|
export { QueueManager } from './src/lib/queue-manager/queue-manager';
|
|
7
|
-
export { registerProducerPlugin, registerConsumerPlugin, } from './src/plugins/plugins';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.QueueManager = exports.MessageManager = exports.Message = exports.Producer = exports.Consumer = exports.events = void 0;
|
|
4
4
|
var events_1 = require("./src/common/events/events");
|
|
5
5
|
Object.defineProperty(exports, "events", { enumerable: true, get: function () { return events_1.events; } });
|
|
6
6
|
var consumer_1 = require("./src/lib/consumer/consumer");
|
|
@@ -13,7 +13,4 @@ var message_manager_1 = require("./src/lib/message-manager/message-manager");
|
|
|
13
13
|
Object.defineProperty(exports, "MessageManager", { enumerable: true, get: function () { return message_manager_1.MessageManager; } });
|
|
14
14
|
var queue_manager_1 = require("./src/lib/queue-manager/queue-manager");
|
|
15
15
|
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return queue_manager_1.QueueManager; } });
|
|
16
|
-
var plugins_1 = require("./src/plugins/plugins");
|
|
17
|
-
Object.defineProperty(exports, "registerProducerPlugin", { enumerable: true, get: function () { return plugins_1.registerProducerPlugin; } });
|
|
18
|
-
Object.defineProperty(exports, "registerConsumerPlugin", { enumerable: true, get: function () { return plugins_1.registerConsumerPlugin; } });
|
|
19
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IEventProvider } from '../../../types';
|
|
3
|
+
import { EventEmitter } from 'events';
|
|
4
|
+
export declare class EventProvider implements IEventProvider {
|
|
5
|
+
protected eventEmitter: EventEmitter;
|
|
6
|
+
constructor(eventEmitter: EventEmitter);
|
|
7
|
+
on(event: string, listener: (...args: any[]) => void): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventProvider = void 0;
|
|
4
|
+
class EventProvider {
|
|
5
|
+
constructor(eventEmitter) {
|
|
6
|
+
this.eventEmitter = eventEmitter;
|
|
7
|
+
}
|
|
8
|
+
on(event, listener) {
|
|
9
|
+
this.eventEmitter.on(event, listener);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.EventProvider = EventProvider;
|
|
13
|
+
//# sourceMappingURL=event-provider.js.map
|
|
@@ -5,12 +5,14 @@ const namespace_1 = require("./namespace");
|
|
|
5
5
|
const redis_1 = require("./redis");
|
|
6
6
|
const logger_1 = require("./logger");
|
|
7
7
|
const messages_1 = require("./messages/messages");
|
|
8
|
+
const event_listeners_1 = require("./event-listeners/event-listeners");
|
|
8
9
|
function getConfiguration(config = {}) {
|
|
9
10
|
return {
|
|
10
11
|
namespace: (0, namespace_1.default)(config),
|
|
11
12
|
redis: (0, redis_1.default)(config),
|
|
12
13
|
logger: (0, logger_1.default)(config),
|
|
13
14
|
messages: (0, messages_1.default)(config),
|
|
15
|
+
eventListeners: (0, event_listeners_1.EventListeners)(config),
|
|
14
16
|
};
|
|
15
17
|
}
|
|
16
18
|
exports.getConfiguration = getConfiguration;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventListeners = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const defaultConfig = {
|
|
6
|
+
consumerEventListeners: [],
|
|
7
|
+
producerEventListeners: [],
|
|
8
|
+
};
|
|
9
|
+
function EventListeners(userConfig) {
|
|
10
|
+
const { eventListeners = {} } = userConfig;
|
|
11
|
+
return (0, lodash_1.merge)({}, defaultConfig, eventListeners);
|
|
12
|
+
}
|
|
13
|
+
exports.EventListeners = EventListeners;
|
|
14
|
+
//# sourceMappingURL=event-listeners.js.map
|
package/dist/src/lib/base.js
CHANGED
|
@@ -6,7 +6,6 @@ const events_1 = require("events");
|
|
|
6
6
|
const events_2 = require("../common/events/events");
|
|
7
7
|
const configuration_1 = require("../config/configuration");
|
|
8
8
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
9
|
-
const plugins_1 = require("../plugins/plugins");
|
|
10
9
|
class Base extends events_1.EventEmitter {
|
|
11
10
|
constructor(config) {
|
|
12
11
|
super();
|
|
@@ -38,7 +37,6 @@ class Base extends events_1.EventEmitter {
|
|
|
38
37
|
this.config = (0, configuration_1.getConfiguration)(config);
|
|
39
38
|
this.logger = redis_smq_common_1.logger.getNamespacedLogger(this.config.logger, `${this.constructor.name.toLowerCase()}:${this.id}`);
|
|
40
39
|
this.registerEventsHandlers();
|
|
41
|
-
(0, plugins_1.disablePluginRegistration)();
|
|
42
40
|
}
|
|
43
41
|
registerEventsHandlers() {
|
|
44
42
|
this.on(events_2.events.GOING_UP, () => this.logger.info(`Going up...`));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import {
|
|
2
|
+
import { IEventListener, IRequiredConfig, TConsumerMessageHandler, TQueueParams } from '../../../../types';
|
|
3
3
|
import { EventEmitter } from 'events';
|
|
4
4
|
import { TCleanUpStatus } from './processing-queue';
|
|
5
5
|
import { DequeueMessage } from './dequeue-message';
|
|
@@ -19,12 +19,12 @@ export declare class MessageHandler extends EventEmitter {
|
|
|
19
19
|
protected dequeueMessage: DequeueMessage;
|
|
20
20
|
protected consumeMessage: ConsumeMessage;
|
|
21
21
|
protected handler: TConsumerMessageHandler;
|
|
22
|
-
protected
|
|
22
|
+
protected eventListeners: IEventListener[];
|
|
23
23
|
constructor(consumer: Consumer, queue: TQueueParams, handler: TConsumerMessageHandler, dequeueRedisClient: RedisClient, sharedRedisClient: RedisClient, logger: ICompatibleLogger);
|
|
24
24
|
protected registerEventsHandlers(): void;
|
|
25
|
-
protected
|
|
25
|
+
protected initEventListeners(): void;
|
|
26
26
|
protected cleanUp(cb: ICallback<void>): void;
|
|
27
|
-
protected
|
|
27
|
+
protected tearDownEventListeners(cb: ICallback<void>): void;
|
|
28
28
|
handleError(err: Error): void;
|
|
29
29
|
dequeue(): void;
|
|
30
30
|
run(cb: ICallback<void>): void;
|
|
@@ -8,13 +8,13 @@ const consumer_queues_1 = require("../consumer-queues");
|
|
|
8
8
|
const processing_queue_1 = require("./processing-queue");
|
|
9
9
|
const dequeue_message_1 = require("./dequeue-message");
|
|
10
10
|
const consume_message_1 = require("./consume-message");
|
|
11
|
-
const plugins_1 = require("../../../plugins/plugins");
|
|
12
11
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
13
12
|
const retry_message_1 = require("./retry-message");
|
|
13
|
+
const event_provider_1 = require("../../../common/event-listeners/event-provider");
|
|
14
14
|
class MessageHandler extends events_2.EventEmitter {
|
|
15
15
|
constructor(consumer, queue, handler, dequeueRedisClient, sharedRedisClient, logger) {
|
|
16
16
|
super();
|
|
17
|
-
this.
|
|
17
|
+
this.eventListeners = [];
|
|
18
18
|
this.id = (0, uuid_1.v4)();
|
|
19
19
|
this.consumer = consumer;
|
|
20
20
|
this.consumerId = consumer.getId();
|
|
@@ -27,7 +27,7 @@ class MessageHandler extends events_2.EventEmitter {
|
|
|
27
27
|
this.dequeueMessage = new dequeue_message_1.DequeueMessage(this, dequeueRedisClient);
|
|
28
28
|
this.consumeMessage = new consume_message_1.ConsumeMessage(this, dequeueRedisClient, logger);
|
|
29
29
|
this.registerEventsHandlers();
|
|
30
|
-
this.
|
|
30
|
+
this.initEventListeners();
|
|
31
31
|
}
|
|
32
32
|
registerEventsHandlers() {
|
|
33
33
|
this.on(events_1.events.UP, () => {
|
|
@@ -58,10 +58,10 @@ class MessageHandler extends events_2.EventEmitter {
|
|
|
58
58
|
});
|
|
59
59
|
this.on(events_1.events.DOWN, () => this.logger.info('Down.'));
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const plugin = new ctor(this.sharedRedisClient, this.queue, this
|
|
64
|
-
this.
|
|
61
|
+
initEventListeners() {
|
|
62
|
+
this.getConfig().eventListeners.consumerEventListeners.forEach((ctor) => {
|
|
63
|
+
const plugin = new ctor(this.sharedRedisClient, this.consumerId, this.queue, new event_provider_1.EventProvider(this));
|
|
64
|
+
this.eventListeners.push(plugin);
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
cleanUp(cb) {
|
|
@@ -78,12 +78,12 @@ class MessageHandler extends events_2.EventEmitter {
|
|
|
78
78
|
cb();
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
|
-
|
|
82
|
-
redis_smq_common_1.async.each(this.
|
|
81
|
+
tearDownEventListeners(cb) {
|
|
82
|
+
redis_smq_common_1.async.each(this.eventListeners, (listener, index, done) => listener.quit(done), (err) => {
|
|
83
83
|
if (err)
|
|
84
84
|
cb(err);
|
|
85
85
|
else {
|
|
86
|
-
this.
|
|
86
|
+
this.eventListeners = [];
|
|
87
87
|
cb();
|
|
88
88
|
}
|
|
89
89
|
});
|
|
@@ -113,7 +113,7 @@ class MessageHandler extends events_2.EventEmitter {
|
|
|
113
113
|
this.powerManager.goingDown();
|
|
114
114
|
redis_smq_common_1.async.waterfall([
|
|
115
115
|
(cb) => this.dequeueMessage.quit(cb),
|
|
116
|
-
(cb) => this.
|
|
116
|
+
(cb) => this.tearDownEventListeners(cb),
|
|
117
117
|
(cb) => this.cleanUp(cb),
|
|
118
118
|
(cb) => this.dequeueRedisClient.halt(cb),
|
|
119
119
|
], (err) => {
|
|
@@ -23,7 +23,7 @@ class MultiplexedMessageHandler extends message_handler_1.MessageHandler {
|
|
|
23
23
|
this.powerManager.goingDown();
|
|
24
24
|
redis_smq_common_1.async.waterfall([
|
|
25
25
|
(cb) => this.dequeueMessage.quit(cb),
|
|
26
|
-
(cb) => this.
|
|
26
|
+
(cb) => this.tearDownEventListeners(cb),
|
|
27
27
|
(cb) => this.cleanUp(cb),
|
|
28
28
|
], (err) => {
|
|
29
29
|
if (err)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { IConfig,
|
|
1
|
+
import { IConfig, IEventListener } from '../../../types';
|
|
2
2
|
import { Message } from '../message/message';
|
|
3
3
|
import { Base } from '../base';
|
|
4
4
|
import { RedisClient } from 'redis-smq-common';
|
|
5
5
|
import { ICallback, TUnaryFunction } from 'redis-smq-common/dist/types';
|
|
6
6
|
export declare class Producer extends Base {
|
|
7
|
-
protected
|
|
7
|
+
protected eventListeners: IEventListener[];
|
|
8
8
|
constructor(config?: IConfig);
|
|
9
|
-
protected
|
|
9
|
+
protected initEventListeners: (cb: ICallback<void>) => void;
|
|
10
10
|
protected goingUp(): TUnaryFunction<ICallback<void>>[];
|
|
11
11
|
protected goingDown(): TUnaryFunction<ICallback<void>>[];
|
|
12
12
|
protected enqueue(redisClient: RedisClient, message: Message, cb: ICallback<void>): void;
|
|
@@ -6,33 +6,33 @@ const base_1 = require("../base");
|
|
|
6
6
|
const redis_smq_common_1 = require("redis-smq-common");
|
|
7
7
|
const redis_keys_1 = require("../../common/redis-keys/redis-keys");
|
|
8
8
|
const message_not_published_error_1 = require("./errors/message-not-published.error");
|
|
9
|
-
const plugins_1 = require("../../plugins/plugins");
|
|
10
9
|
const message_queue_required_error_1 = require("./errors/message-queue-required.error");
|
|
11
10
|
const message_already_published_error_1 = require("./errors/message-already-published.error");
|
|
12
11
|
const redis_client_1 = require("../../common/redis-client/redis-client");
|
|
13
12
|
const schedule_message_1 = require("./schedule-message");
|
|
14
13
|
const queue_1 = require("../queue-manager/queue");
|
|
14
|
+
const event_provider_1 = require("../../common/event-listeners/event-provider");
|
|
15
15
|
class Producer extends base_1.Base {
|
|
16
16
|
constructor(config = {}) {
|
|
17
17
|
super(config);
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
18
|
+
this.eventListeners = [];
|
|
19
|
+
this.initEventListeners = (cb) => {
|
|
20
20
|
const sharedRedisClient = this.getSharedRedisClient();
|
|
21
|
-
|
|
21
|
+
this.config.eventListeners.producerEventListeners.forEach((ctor) => this.eventListeners.push(new ctor(sharedRedisClient, this.id, new event_provider_1.EventProvider(this))));
|
|
22
22
|
cb();
|
|
23
23
|
};
|
|
24
24
|
this.run();
|
|
25
25
|
}
|
|
26
26
|
goingUp() {
|
|
27
|
-
return super.goingUp().concat([this.
|
|
27
|
+
return super.goingUp().concat([this.initEventListeners]);
|
|
28
28
|
}
|
|
29
29
|
goingDown() {
|
|
30
30
|
return [
|
|
31
|
-
(cb) => redis_smq_common_1.async.each(this.
|
|
31
|
+
(cb) => redis_smq_common_1.async.each(this.eventListeners, (listener, idx, done) => listener.quit(done), (err) => {
|
|
32
32
|
if (err)
|
|
33
33
|
cb(err);
|
|
34
34
|
else {
|
|
35
|
-
this.
|
|
35
|
+
this.eventListeners = [];
|
|
36
36
|
cb();
|
|
37
37
|
}
|
|
38
38
|
}),
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Message } from '../src/lib/message/message';
|
|
3
3
|
import { redisKeys } from '../src/common/redis-keys/redis-keys';
|
|
4
|
-
import { Consumer } from '../src/lib/consumer/consumer';
|
|
5
|
-
import { Producer } from '../src/lib/producer/producer';
|
|
6
4
|
import { ICallback, TLoggerConfig, TRedisConfig } from 'redis-smq-common/dist/types';
|
|
7
5
|
import { RedisClient } from 'redis-smq-common';
|
|
6
|
+
export interface IEventProvider {
|
|
7
|
+
on(event: string, listener: (...args: any[]) => void): void;
|
|
8
|
+
}
|
|
9
|
+
export interface IEventListener {
|
|
10
|
+
quit(cb: ICallback<void>): void;
|
|
11
|
+
}
|
|
12
|
+
export declare type TConsumerEventListenerConstructor = new (redisClient: RedisClient, consumerId: string, queue: TQueueParams, eventProvider: IEventProvider) => IEventListener;
|
|
13
|
+
export declare type TProducerEventListenerConstructor = new (redisClient: RedisClient, producerId: string, eventProvider: IEventProvider) => IEventListener;
|
|
8
14
|
export interface IMessagesConfig {
|
|
9
15
|
store?: boolean | IMessagesConfigStore;
|
|
10
16
|
}
|
|
@@ -16,11 +22,16 @@ export interface IMessagesConfigStore {
|
|
|
16
22
|
acknowledged?: boolean | IMessagesConfigStoreOptions;
|
|
17
23
|
deadLettered?: boolean | IMessagesConfigStoreOptions;
|
|
18
24
|
}
|
|
25
|
+
export interface IEventListenersConfig {
|
|
26
|
+
consumerEventListeners?: TConsumerEventListenerConstructor[];
|
|
27
|
+
producerEventListeners?: TProducerEventListenerConstructor[];
|
|
28
|
+
}
|
|
19
29
|
export interface IConfig {
|
|
20
30
|
redis?: TRedisConfig;
|
|
21
31
|
namespace?: string;
|
|
22
32
|
logger?: TLoggerConfig;
|
|
23
33
|
messages?: IMessagesConfig;
|
|
34
|
+
eventListeners?: IEventListenersConfig;
|
|
24
35
|
}
|
|
25
36
|
export interface IRequiredStoreMessagesParams extends Required<IMessagesConfigStoreOptions> {
|
|
26
37
|
store: boolean;
|
|
@@ -29,10 +40,12 @@ export interface IRequiredMessagesConfigStore {
|
|
|
29
40
|
acknowledged: IRequiredStoreMessagesParams;
|
|
30
41
|
deadLettered: IRequiredStoreMessagesParams;
|
|
31
42
|
}
|
|
43
|
+
export declare type TRequiredEventListenersConfig = Required<IEventListenersConfig>;
|
|
32
44
|
export interface IRequiredConfig extends Required<IConfig> {
|
|
33
45
|
messages: {
|
|
34
46
|
store: IRequiredMessagesConfigStore;
|
|
35
47
|
};
|
|
48
|
+
eventListeners: TRequiredEventListenersConfig;
|
|
36
49
|
}
|
|
37
50
|
export declare type TPaginatedResponse<T> = {
|
|
38
51
|
total: number;
|
|
@@ -126,11 +139,6 @@ export declare type TMessageMetadataJSON = {
|
|
|
126
139
|
nextScheduledDelay: number;
|
|
127
140
|
nextRetryDelay: number;
|
|
128
141
|
};
|
|
129
|
-
export interface IPlugin {
|
|
130
|
-
quit(cb: ICallback<void>): void;
|
|
131
|
-
}
|
|
132
|
-
export declare type TConsumerPluginConstructor = new (redisClient: RedisClient, queue: TQueueParams, consumer: Consumer) => IPlugin;
|
|
133
|
-
export declare type TProducerPluginConstructor = new (redisClient: RedisClient, producer: Producer) => IPlugin;
|
|
134
142
|
export declare type TMessageConsumeOptions = {
|
|
135
143
|
ttl: number;
|
|
136
144
|
retryThreshold: number;
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PluginRegistrationNotAllowedError = void 0;
|
|
4
|
-
const redis_smq_common_1 = require("redis-smq-common");
|
|
5
|
-
class PluginRegistrationNotAllowedError extends redis_smq_common_1.errors.RedisSMQError {
|
|
6
|
-
constructor(msg = 'Plugin registration is only allowed before starting a consumer or a producer') {
|
|
7
|
-
super(msg);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.PluginRegistrationNotAllowedError = PluginRegistrationNotAllowedError;
|
|
11
|
-
//# sourceMappingURL=plugin-registration-not-allowed-error.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { TConsumerPluginConstructor, TProducerPluginConstructor } from '../../types';
|
|
2
|
-
export declare function registerConsumerPlugin(PluginConstructor: TConsumerPluginConstructor): void;
|
|
3
|
-
export declare function registerProducerPlugin(PluginConstructor: TProducerPluginConstructor): void;
|
|
4
|
-
export declare function getConsumerPlugins(): TConsumerPluginConstructor[];
|
|
5
|
-
export declare function getProducerPlugins(): TProducerPluginConstructor[];
|
|
6
|
-
export declare function disablePluginRegistration(): void;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.disablePluginRegistration = exports.getProducerPlugins = exports.getConsumerPlugins = exports.registerProducerPlugin = exports.registerConsumerPlugin = void 0;
|
|
4
|
-
const plugin_registration_not_allowed_error_1 = require("./errors/plugin-registration-not-allowed-error");
|
|
5
|
-
let disabledPluginRegistration = false;
|
|
6
|
-
const consumerPlugins = new Set();
|
|
7
|
-
const producerPlugins = new Set();
|
|
8
|
-
function registerConsumerPlugin(PluginConstructor) {
|
|
9
|
-
if (disabledPluginRegistration) {
|
|
10
|
-
throw new plugin_registration_not_allowed_error_1.PluginRegistrationNotAllowedError();
|
|
11
|
-
}
|
|
12
|
-
consumerPlugins.add(PluginConstructor);
|
|
13
|
-
}
|
|
14
|
-
exports.registerConsumerPlugin = registerConsumerPlugin;
|
|
15
|
-
function registerProducerPlugin(PluginConstructor) {
|
|
16
|
-
if (disabledPluginRegistration) {
|
|
17
|
-
throw new plugin_registration_not_allowed_error_1.PluginRegistrationNotAllowedError();
|
|
18
|
-
}
|
|
19
|
-
producerPlugins.add(PluginConstructor);
|
|
20
|
-
}
|
|
21
|
-
exports.registerProducerPlugin = registerProducerPlugin;
|
|
22
|
-
function getConsumerPlugins() {
|
|
23
|
-
return [...consumerPlugins];
|
|
24
|
-
}
|
|
25
|
-
exports.getConsumerPlugins = getConsumerPlugins;
|
|
26
|
-
function getProducerPlugins() {
|
|
27
|
-
return [...producerPlugins];
|
|
28
|
-
}
|
|
29
|
-
exports.getProducerPlugins = getProducerPlugins;
|
|
30
|
-
function disablePluginRegistration() {
|
|
31
|
-
if (!disabledPluginRegistration)
|
|
32
|
-
disabledPluginRegistration = true;
|
|
33
|
-
}
|
|
34
|
-
exports.disablePluginRegistration = disablePluginRegistration;
|
|
35
|
-
//# sourceMappingURL=plugins.js.map
|