@bitloops/bl-boilerplate-core
Version:
TypeScript boilerplate code for Bitloops Language generated projects
56 lines (55 loc) • 2.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createUUIDv4 = exports.getProcessManagerTopic = exports.getIntegrationTopic = exports.getTopic = void 0;
/**
* Bitloops Language
* Copyright (C) 2022 Bitloops S.A.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* For further information you can contact legal(at)bitloops.com.
*/
const crypto_1 = require("crypto");
const config_1 = require("../config");
const getTopicString = ({ topicPrefix, name, contextId, topicDelimiter }) => {
return `${topicPrefix}${topicDelimiter}${contextId}${topicDelimiter}${name}`;
};
const getTopic = (topicPrefix, name, contextId) => {
return getTopicString({
topicPrefix,
name,
contextId,
topicDelimiter: config_1.config.TOPIC_DELIMITER,
});
};
exports.getTopic = getTopic;
const getIntegrationTopicString = (domainEventTopic, integrationEventTopicPrefix, topicDelimiter) => {
return `${integrationEventTopicPrefix}${topicDelimiter}${domainEventTopic}`;
};
const getIntegrationTopic = (domainEventTopic) => {
// return `${config.INTEGRATION_EVENT_TOPIC_PREFIX}${config.TOPIC_DELIMITER}${domainEventTopic}`;
return getIntegrationTopicString(domainEventTopic, config_1.config.INTEGRATION_EVENT_TOPIC_PREFIX, config_1.config.TOPIC_DELIMITER);
};
exports.getIntegrationTopic = getIntegrationTopic;
const getProcessManagerTopicString = (integrationEventTopic, processManagerEventTopicPrefix, topicDelimiter) => {
return `${processManagerEventTopicPrefix}${topicDelimiter}${integrationEventTopic}`;
};
const getProcessManagerTopic = (integrationEventTopic) => {
return getProcessManagerTopicString(integrationEventTopic, config_1.config.PROCESS_MANAGER_EVENT_TOPIC_PREFIX, config_1.config.TOPIC_DELIMITER);
};
exports.getProcessManagerTopic = getProcessManagerTopic;
const createUUIDv4 = () => {
return (0, crypto_1.randomUUID)();
};
exports.createUUIDv4 = createUUIDv4;