UNPKG

@goparrot/pubsub-event-bus

Version:
42 lines 2.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.appInTestingMode = exports.getMessageExchange = exports.generateQueuePrefixFromPackageName = exports.calculateDelay = exports.toSnakeCase = exports.toEventClassName = exports.toEventName = void 0; const tslib_1 = require("tslib"); const snakeCase_1 = tslib_1.__importDefault(require("lodash/snakeCase")); const startCase_1 = tslib_1.__importDefault(require("lodash/startCase")); const last_1 = tslib_1.__importDefault(require("lodash/last")); const retry_constants_1 = require("./retry-constants"); function toEventName(className) { return (0, snakeCase_1.default)(className.replace(/Event$/, '')).replace(/_/gi, '.'); } exports.toEventName = toEventName; function toEventClassName(event) { return event.split('.').map(startCase_1.default).join(''); } exports.toEventClassName = toEventClassName; function toSnakeCase(className) { if (typeof className === 'object') { className = className.constructor.name; } return (0, snakeCase_1.default)(className.toString().replace(/Handler$/, '')); } exports.toSnakeCase = toSnakeCase; function calculateDelay(delay, retryCount) { return typeof delay === 'function' ? delay(retryCount) : delay; } exports.calculateDelay = calculateDelay; function generateQueuePrefixFromPackageName() { var _a, _b; return (_b = (0, last_1.default)((_a = process.env.npm_package_name) === null || _a === void 0 ? void 0 : _a.split('/'))) === null || _b === void 0 ? void 0 : _b.replace(/[_-]/gi, '.'); } exports.generateQueuePrefixFromPackageName = generateQueuePrefixFromPackageName; function getMessageExchange(message) { var _a, _b; return (_b = (_a = message.properties.headers) === null || _a === void 0 ? void 0 : _a[retry_constants_1.ORIGIN_EXCHANGE_HEADER]) !== null && _b !== void 0 ? _b : message.fields.exchange; } exports.getMessageExchange = getMessageExchange; function appInTestingMode() { return process.env.NODE_ENV === 'test'; } exports.appInTestingMode = appInTestingMode; //# sourceMappingURL=helpers.js.map