n8n
Version:
n8n Workflow Automation Tool
85 lines • 2.97 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.eventListToObjectTree = exports.eventListToObject = exports.eventGroupFromEventName = exports.getEventMessageObjectByType = void 0;
const EventMessageGeneric_1 = require("./EventMessageGeneric");
const EventMessageWorkflow_1 = require("./EventMessageWorkflow");
const EventMessageAudit_1 = require("./EventMessageAudit");
const EventMessageNode_1 = require("./EventMessageNode");
const getEventMessageObjectByType = (message) => {
switch (message.__type) {
case "$$EventMessage":
return new EventMessageGeneric_1.EventMessageGeneric(message);
case "$$EventMessageWorkflow":
return new EventMessageWorkflow_1.EventMessageWorkflow(message);
case "$$EventMessageAudit":
return new EventMessageAudit_1.EventMessageAudit(message);
case "$$EventMessageNode":
return new EventMessageNode_1.EventMessageNode(message);
default:
return null;
}
};
exports.getEventMessageObjectByType = getEventMessageObjectByType;
function eventGroupFromEventName(eventName) {
const matches = eventName.match(/^[\w\s]+\.[\w\s]+/);
if (matches && (matches === null || matches === void 0 ? void 0 : matches.length) > 0) {
return matches[0];
}
return;
}
exports.eventGroupFromEventName = eventGroupFromEventName;
function dotsToObject2(dottedString, o) {
const rootObject = o !== null && o !== void 0 ? o : {};
if (!dottedString)
return rootObject;
const parts = dottedString.split('.');
let part;
let obj = rootObject;
while ((part = parts.shift())) {
if (typeof obj[part] !== 'object') {
obj[part] = {
__name: part,
};
}
obj = obj[part];
}
return rootObject;
}
function eventListToObject(dottedList) {
const result = {};
dottedList.forEach((e) => {
dotsToObject2(e, result);
});
return result;
}
exports.eventListToObject = eventListToObject;
function eventListToObjectTree(dottedList) {
const x = {
name: 'eventTree',
children: [],
};
dottedList.forEach((dottedString) => {
const parts = dottedString.split('.');
let part;
let children = x.children;
while ((part = parts.shift())) {
if (part) {
const foundChild = children.find((e) => e.name === part);
if (foundChild) {
children = foundChild.children;
}
else {
const newChild = {
name: part,
children: [],
};
children.push(newChild);
children = newChild.children;
}
}
}
});
return x;
}
exports.eventListToObjectTree = eventListToObjectTree;
//# sourceMappingURL=Helpers.js.map
;