UNPKG

n8n-nodes-socketio-client

Version:
89 lines 3.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Websocket = void 0; const n8n_workflow_1 = require("n8n-workflow"); const MessageDescription_1 = require("./MessageDescription"); class Websocket { constructor() { this.description = { displayName: 'Websocket', name: 'websocket', icon: 'file:websocket.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ":" + $parameter["resource"]}}', description: 'Interact with ws stream', defaults: { name: 'Websocket', }, inputs: ['main'], outputs: ['main'], properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Message', value: 'message', }, { name: 'Connection', value: 'connection', }, ], default: 'message', }, ...MessageDescription_1.messageOperations, ...MessageDescription_1.messageFields, ...MessageDescription_1.closeOperations, ...MessageDescription_1.closeFields, ], }; } async execute() { var _a, _b; const items = this.getInputData(); const returnData = []; let resource; let operation; let websocketResource; for (let i = 0; i < items.length; i++) { try { resource = this.getNodeParameter('resource', 0); operation = this.getNodeParameter('operation', 0); websocketResource = this.getNodeParameter('websocketResource', 0); if (!items[i].json[websocketResource]) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Execution error: No websocket resource received`); } if (resource === 'message') { if (operation === 'send') { const message = this.getNodeParameter('message', 0); (_a = items[i].json[websocketResource]) === null || _a === void 0 ? void 0 : _a.send(message); } } else if (resource === 'connection') { if (operation === 'close') { (_b = items[i].json[websocketResource]) === null || _b === void 0 ? void 0 : _b.close(); } } const toPush = { success: true }; toPush[websocketResource] = items[i].json[websocketResource]; returnData.push({ json: toPush }); } catch (error) { if (this.continueOnFail()) { const executionErrorData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray({ error: error.message }), { itemData: { item: i } }); returnData.push(...executionErrorData); continue; } throw error; } } return [returnData]; } } exports.Websocket = Websocket; //# sourceMappingURL=Websocket.node.js.map