UNPKG

@message-in-the-middle/core

Version:

Framework-agnostic middleware pattern for message queue processing. Core package with all middlewares.

124 lines 5.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseJson = parseJson; exports.log = log; exports.validate = validate; exports.deduplicate = deduplicate; exports.retry = retry; exports.decrypt = decrypt; exports.transform = transform; exports.handleErrors = handleErrors; exports.collectMetrics = collectMetrics; exports.trace = trace; exports.correlationId = correlationId; exports.circuitBreaker = circuitBreaker; exports.batch = batch; exports.schemaRegistry = schemaRegistry; exports.stringifyJson = stringifyJson; exports.logOutbound = logOutbound; exports.validateOutbound = validateOutbound; exports.encrypt = encrypt; exports.transformOutbound = transformOutbound; exports.throttle = throttle; exports.collectMetricsOutbound = collectMetricsOutbound; exports.traceOutbound = traceOutbound; exports.correlationIdOutbound = correlationIdOutbound; exports.dispatch = dispatch; exports.createDispatcher = createDispatcher; const dispatcher_1 = require("./dispatcher"); const json_middleware_1 = require("./middlewares/json.middleware"); const logging_middleware_1 = require("./middlewares/logging.middleware"); const validation_middleware_1 = require("./middlewares/validation.middleware"); const deduplication_middleware_1 = require("./middlewares/deduplication.middleware"); const immediate_retry_middleware_1 = require("./middlewares/immediate-retry.middleware"); const encryption_middleware_1 = require("./middlewares/encryption.middleware"); const transformation_middleware_1 = require("./middlewares/transformation.middleware"); const error_handler_middleware_1 = require("./middlewares/error-handler.middleware"); const metrics_middleware_1 = require("./middlewares/metrics.middleware"); const tracing_middleware_1 = require("./middlewares/tracing.middleware"); const correlation_id_middleware_1 = require("./middlewares/correlation-id.middleware"); const circuit_breaker_middleware_1 = require("./middlewares/circuit-breaker.middleware"); const batching_middleware_1 = require("./middlewares/batching.middleware"); const schema_registry_middleware_1 = require("./middlewares/schema-registry.middleware"); const throttling_middleware_1 = require("./middlewares/throttling.middleware"); const dispatcher_2 = require("./dispatcher"); function parseJson(options) { return new json_middleware_1.ParseJsonInboundMiddleware(options); } function log(logger, options) { return new logging_middleware_1.LogInboundMiddleware(logger, options); } function validate(validator, options) { return new validation_middleware_1.ValidateInboundMiddleware(validator, options); } function deduplicate(store, options) { return new deduplication_middleware_1.DeduplicateInboundMiddleware(store, options); } function retry(options) { return new immediate_retry_middleware_1.ImmediateRetryInboundMiddleware(options); } function decrypt(encryptionService, fields, options) { return new encryption_middleware_1.DecryptInboundMiddleware(encryptionService, fields, options); } function transform(transformer) { return new transformation_middleware_1.TransformInboundMiddleware(transformer); } function handleErrors(errorHandler, maxRetries = 3) { return new error_handler_middleware_1.ErrorHandlerInboundMiddleware(errorHandler, maxRetries); } function collectMetrics(collector, options) { return new metrics_middleware_1.MetricsInboundMiddleware(collector, options); } function trace(tracer, options) { return new tracing_middleware_1.TracingInboundMiddleware(tracer, options); } function correlationId(options) { return new correlation_id_middleware_1.CorrelationIdInboundMiddleware(options); } function circuitBreaker(options) { return new circuit_breaker_middleware_1.CircuitBreakerInboundMiddleware(options); } function batch(options) { return new batching_middleware_1.BatchingInboundMiddleware(options); } function schemaRegistry(registry) { return new schema_registry_middleware_1.SchemaRegistryMiddleware(registry); } function stringifyJson(options) { return new json_middleware_1.StringifyJsonOutboundMiddleware(options); } function logOutbound(logger) { return new logging_middleware_1.LogOutboundMiddleware(logger); } function validateOutbound(validator) { return new validation_middleware_1.ValidateOutboundMiddleware(validator); } function encrypt(encryptionService, fields) { return new encryption_middleware_1.EncryptOutboundMiddleware(encryptionService, fields); } function transformOutbound(transformer) { return new transformation_middleware_1.TransformOutboundMiddleware(transformer); } function throttle(limiter, options) { return new throttling_middleware_1.ThrottlingOutboundMiddleware(limiter, options); } function collectMetricsOutbound(collector, options) { return new metrics_middleware_1.MetricsOutboundMiddleware(collector, options); } function traceOutbound(tracer, options) { return new tracing_middleware_1.TracingOutboundMiddleware(tracer, options); } function correlationIdOutbound(options) { return new correlation_id_middleware_1.CorrelationIdOutboundMiddleware(options); } function dispatch(dispatcher) { return new dispatcher_2.DispatcherMiddleware(dispatcher); } function createDispatcher(options = {}, handlers) { const dispatcher = new dispatcher_1.MessageDispatcher(options); if (handlers) { dispatcher.registerMany(handlers); } return dispatcher; } //# sourceMappingURL=factories.js.map