n8n-nodes-hebing-parameter-input 2.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,7 +5,11 @@ A custom n8n node for inputting parameters with bilingual support. This node all
5
5
  ## Features
6
6
 
7
7
  - **Bilingual Support**: Define parameter names in both English and Chinese
8
- - **Multiple Data Types**: Supports String, Number, Boolean, Date, JSON, and Dropdown types
8
+ - **Multiple Data Types**: Supports String, Number, Boolean, Date, JSON, File, Audio, and Video types
9
+ - **File Support**: Support for document files (docx, xls, xlsx, csv, txt)
10
+ - **Audio Support**: Support for all audio formats (mp3, wav, flac, aac, ogg, m4a, wma, etc.)
11
+ - **Video Support**: Support for all video formats (mp4, avi, mkv, mov, wmv, flv, webm, etc.)
12
+ - **Binary Data**: Optional support for reading and including file content as binary data
9
13
  - **Default Values**: Set default values for each parameter
10
14
  - **Dynamic Parameters**: Add multiple parameters (up to 20)
11
15
  - **JSON Output**: All parameters are output as a JSON object for easy use in subsequent nodes
@@ -41,17 +45,46 @@ Then restart n8n.
41
45
 
42
46
  ## Parameter Types
43
47
 
44
- | Type | Description |
45
- |------|-------------|
46
- | String | A text string |
47
- | Number | A numeric value |
48
- | Boolean | True/false value |
49
- | Date | A date and time value |
50
- | JSON | A JSON object or array |
51
- | Dropdown | A dropdown selection (requires additional configuration) |
48
+ | Type | Description | Additional Fields |
49
+ |------|-------------|------------------|
50
+ | String | A text string | Value field |
51
+ | Number | A numeric value | Value field |
52
+ | Boolean | True/false value | Value field |
53
+ | Date | A date and time value | Value field |
54
+ | JSON | A JSON object or array | Value field |
55
+ | File | Document files | File Path, Include Binary Data |
56
+ | Audio | Audio files | Audio Path, Include Binary Data |
57
+ | Video | Video files | Video Path, Include Binary Data |
58
+
59
+ ### File Type Details
60
+
61
+ **File Type** - Supports document files:
62
+ - Word documents: .docx, .doc
63
+ - Excel spreadsheets: .xlsx, .xls
64
+ - CSV files: .csv
65
+ - Text files: .txt
66
+ - PDF files: .pdf
67
+
68
+ **Audio Type** - Supports all audio formats:
69
+ - Common: .mp3, .wav, .flac, .aac
70
+ - Other: .ogg, .m4a, .wma, .opus, .webm, .aiff, .alac
71
+
72
+ **Video Type** - Supports all video formats:
73
+ - Common: .mp4, .avi, .mkv, .mov
74
+ - Other: .wmv, .flv, .webm, .m4v, .mpg, .mpeg, .3gp, .ogv
75
+
76
+ ### Binary Data Option
77
+
78
+ For File, Audio, and Video types, you can enable "Include Binary Data" to:
79
+ - Read the file content automatically
80
+ - Convert it to base64 format
81
+ - Include it in the binary data output
82
+ - Make it available for downstream nodes that process binary data
52
83
 
53
84
  ## Example Output
54
85
 
86
+ ### Basic Parameters Example
87
+
55
88
  If you define two parameters:
56
89
  - English name: "apiKey", Chinese name: "API密钥", Type: String, Value: "1234567890"
57
90
  - English name: "userId", Chinese name: "用户ID", Type: Number, Value: 1234
@@ -65,6 +98,47 @@ The output will be:
65
98
  }
66
99
  ```
67
100
 
101
+ ### File/Audio/Video Parameters Example
102
+
103
+ If you define media parameters:
104
+ - Name: "document", Type: File, File Path: "/path/to/report.xlsx"
105
+ - Name: "audio", Type: Audio, Audio Path: "/path/to/recording.mp3", Include Binary: true
106
+ - Name: "video", Type: Video, Video Path: "/path/to/tutorial.mp4"
107
+
108
+ The JSON output will be:
109
+
110
+ ```json
111
+ {
112
+ "document": {
113
+ "filePath": "/path/to/report.xlsx",
114
+ "fileName": "report.xlsx",
115
+ "type": "file"
116
+ },
117
+ "audio": {
118
+ "audioPath": "/path/to/recording.mp3",
119
+ "fileName": "recording.mp3",
120
+ "type": "audio"
121
+ },
122
+ "video": {
123
+ "videoPath": "/path/to/tutorial.mp4",
124
+ "fileName": "tutorial.mp4",
125
+ "type": "video"
126
+ }
127
+ }
128
+ ```
129
+
130
+ And if "Include Binary Data" is enabled, the binary data will be available in the `binary` property:
131
+
132
+ ```json
133
+ {
134
+ "audio": {
135
+ "data": "base64_encoded_content...",
136
+ "mimeType": "audio/mpeg",
137
+ "fileName": "recording.mp3"
138
+ }
139
+ }
140
+ ```
141
+
68
142
  ## Configuration
69
143
 
70
144
  ### Parameter Count
@@ -93,4 +167,5 @@ The default value of the parameter. The format depends on the parameter type.
93
167
 
94
168
  ## Version History
95
169
 
170
+ - 2.1.0: Added support for File, Audio, and Video parameter types with binary data option
96
171
  - 2.0.0: Initial release
@@ -1,12 +1,48 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ParameterInput = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
4
39
  class ParameterInput {
5
40
  constructor() {
6
41
  this.description = {
7
42
  displayName: 'Parameter Input',
8
43
  name: 'parameterInput',
9
44
  group: ['transform'],
45
+ icon: 'file:parameter-input.svg',
10
46
  version: 1,
11
47
  description: 'A custom node for parameter input with bilingual support',
12
48
  defaults: {
@@ -65,6 +101,18 @@ class ParameterInput {
65
101
  name: 'JSON',
66
102
  value: 'json',
67
103
  },
104
+ {
105
+ name: 'File',
106
+ value: 'file',
107
+ },
108
+ {
109
+ name: 'Audio',
110
+ value: 'audio',
111
+ },
112
+ {
113
+ name: 'Video',
114
+ value: 'video',
115
+ },
68
116
  ],
69
117
  description: 'Type of the parameter',
70
118
  },
@@ -74,6 +122,62 @@ class ParameterInput {
74
122
  type: 'string',
75
123
  default: '',
76
124
  description: 'Value of the parameter',
125
+ displayOptions: {
126
+ show: {
127
+ type: ['string', 'number', 'boolean', 'date', 'json'],
128
+ },
129
+ },
130
+ },
131
+ {
132
+ displayName: 'File Path',
133
+ name: 'filePath',
134
+ type: 'string',
135
+ default: '',
136
+ description: 'Path to the file (supports: docx, xls, xlsx, csv, txt)',
137
+ placeholder: 'e.g., /path/to/file.xlsx',
138
+ displayOptions: {
139
+ show: {
140
+ type: ['file'],
141
+ },
142
+ },
143
+ },
144
+ {
145
+ displayName: 'Audio Path',
146
+ name: 'audioPath',
147
+ type: 'string',
148
+ default: '',
149
+ description: 'Path to the audio file (supports: mp3, wav, flac, aac, ogg, m4a, wma, etc.)',
150
+ placeholder: 'e.g., /path/to/audio.mp3',
151
+ displayOptions: {
152
+ show: {
153
+ type: ['audio'],
154
+ },
155
+ },
156
+ },
157
+ {
158
+ displayName: 'Video Path',
159
+ name: 'videoPath',
160
+ type: 'string',
161
+ default: '',
162
+ description: 'Path to the video file (supports: mp4, avi, mkv, mov, wmv, flv, webm, etc.)',
163
+ placeholder: 'e.g., /path/to/video.mp4',
164
+ displayOptions: {
165
+ show: {
166
+ type: ['video'],
167
+ },
168
+ },
169
+ },
170
+ {
171
+ displayName: 'Include Binary Data',
172
+ name: 'includeBinary',
173
+ type: 'boolean',
174
+ default: false,
175
+ description: 'Whether to read and include the file content as binary data',
176
+ displayOptions: {
177
+ show: {
178
+ type: ['file', 'audio', 'video'],
179
+ },
180
+ },
77
181
  },
78
182
  ],
79
183
  },
@@ -89,19 +193,134 @@ class ParameterInput {
89
193
  // Get parameters from the UI
90
194
  const parametersData = this.getNodeParameter('parameters.parameter', i, []);
91
195
  const parameters = {};
196
+ const binaryData = {};
92
197
  // Loop through all parameters
93
198
  for (const param of parametersData) {
94
- const { name, value } = param;
95
- // Use parameter name as the key
96
- parameters[name] = value;
199
+ const { name, type, value, filePath, audioPath, videoPath, includeBinary } = param;
200
+ // Handle different parameter types
201
+ if (type === 'file' && filePath) {
202
+ parameters[name] = {
203
+ filePath,
204
+ fileName: path.basename(filePath),
205
+ type: 'file',
206
+ };
207
+ if (includeBinary) {
208
+ try {
209
+ const fileBuffer = await fs.promises.readFile(filePath);
210
+ binaryData[name] = {
211
+ data: fileBuffer.toString('base64'),
212
+ mimeType: ParameterInput.getMimeType(filePath),
213
+ fileName: path.basename(filePath),
214
+ };
215
+ }
216
+ catch (error) {
217
+ parameters[name].error = `Failed to read file: ${error.message}`;
218
+ }
219
+ }
220
+ }
221
+ else if (type === 'audio' && audioPath) {
222
+ parameters[name] = {
223
+ audioPath,
224
+ fileName: path.basename(audioPath),
225
+ type: 'audio',
226
+ };
227
+ if (includeBinary) {
228
+ try {
229
+ const audioBuffer = await fs.promises.readFile(audioPath);
230
+ binaryData[name] = {
231
+ data: audioBuffer.toString('base64'),
232
+ mimeType: ParameterInput.getMimeType(audioPath),
233
+ fileName: path.basename(audioPath),
234
+ };
235
+ }
236
+ catch (error) {
237
+ parameters[name].error = `Failed to read audio: ${error.message}`;
238
+ }
239
+ }
240
+ }
241
+ else if (type === 'video' && videoPath) {
242
+ parameters[name] = {
243
+ videoPath,
244
+ fileName: path.basename(videoPath),
245
+ type: 'video',
246
+ };
247
+ if (includeBinary) {
248
+ try {
249
+ const videoBuffer = await fs.promises.readFile(videoPath);
250
+ binaryData[name] = {
251
+ data: videoBuffer.toString('base64'),
252
+ mimeType: ParameterInput.getMimeType(videoPath),
253
+ fileName: path.basename(videoPath),
254
+ };
255
+ }
256
+ catch (error) {
257
+ parameters[name].error = `Failed to read video: ${error.message}`;
258
+ }
259
+ }
260
+ }
261
+ else {
262
+ // For regular types (string, number, boolean, date, json)
263
+ parameters[name] = value;
264
+ }
97
265
  }
98
266
  // Add the parameters object to the return data
99
- returnData.push({
267
+ const resultData = {
100
268
  json: parameters,
101
- });
269
+ };
270
+ // Add binary data if available
271
+ if (Object.keys(binaryData).length > 0) {
272
+ resultData.binary = binaryData;
273
+ }
274
+ returnData.push(resultData);
102
275
  }
103
276
  return [returnData];
104
277
  }
278
+ /**
279
+ * Get MIME type based on file extension
280
+ */
281
+ static getMimeType(filePath) {
282
+ const ext = filePath.toLowerCase().split('.').pop() || '';
283
+ // Document types
284
+ const documentMimes = {
285
+ 'docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
286
+ 'doc': 'application/msword',
287
+ 'xls': 'application/vnd.ms-excel',
288
+ 'xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
289
+ 'csv': 'text/csv',
290
+ 'txt': 'text/plain',
291
+ 'pdf': 'application/pdf',
292
+ };
293
+ // Audio types
294
+ const audioMimes = {
295
+ 'mp3': 'audio/mpeg',
296
+ 'wav': 'audio/wav',
297
+ 'flac': 'audio/flac',
298
+ 'aac': 'audio/aac',
299
+ 'ogg': 'audio/ogg',
300
+ 'm4a': 'audio/mp4',
301
+ 'wma': 'audio/x-ms-wma',
302
+ 'opus': 'audio/opus',
303
+ 'webm': 'audio/webm',
304
+ 'aiff': 'audio/aiff',
305
+ 'alac': 'audio/alac',
306
+ };
307
+ // Video types
308
+ const videoMimes = {
309
+ 'mp4': 'video/mp4',
310
+ 'avi': 'video/x-msvideo',
311
+ 'mkv': 'video/x-matroska',
312
+ 'mov': 'video/quicktime',
313
+ 'wmv': 'video/x-ms-wmv',
314
+ 'flv': 'video/x-flv',
315
+ 'webm': 'video/webm',
316
+ 'm4v': 'video/x-m4v',
317
+ 'mpg': 'video/mpeg',
318
+ 'mpeg': 'video/mpeg',
319
+ '3gp': 'video/3gpp',
320
+ 'ogv': 'video/ogg',
321
+ };
322
+ return documentMimes[ext] || audioMimes[ext] || videoMimes[ext] || 'application/octet-stream';
323
+ }
105
324
  }
106
325
  exports.ParameterInput = ParameterInput;
107
326
  //# sourceMappingURL=ParameterInput.node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterInput.node.js","sourceRoot":"","sources":["../../../nodes/ParameterInput/ParameterInput.node.ts"],"names":[],"mappings":";;;AAOA,MAAa,cAAc;IAA3B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE;gBACT,IAAI,EAAE,iBAAiB;aACvB;YACD,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,eAAe;oBAC5B,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE;wBACZ,cAAc,EAAE,IAAI;wBACpB,YAAY,EAAE,CAAC;qBACf;oBACD,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,WAAW;4BACjB,WAAW,EAAE,WAAW;4BACxB,MAAM,EAAE;gCACP;oCACC,WAAW,EAAE,gBAAgB;oCAC7B,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,mCAAmC;oCAChD,WAAW,EAAE,YAAY;iCACzB;gCACD;oCACC,WAAW,EAAE,gBAAgB;oCAC7B,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,QAAQ;oCACjB,OAAO,EAAE;wCACR;4CACC,IAAI,EAAE,QAAQ;4CACd,KAAK,EAAE,QAAQ;yCACf;wCACD;4CACC,IAAI,EAAE,QAAQ;4CACd,KAAK,EAAE,QAAQ;yCACf;wCACD;4CACC,IAAI,EAAE,SAAS;4CACf,KAAK,EAAE,SAAS;yCAChB;wCACD;4CACC,IAAI,EAAE,MAAM;4CACZ,KAAK,EAAE,MAAM;yCACb;wCACD;4CACC,IAAI,EAAE,MAAM;4CACZ,KAAK,EAAE,MAAM;yCACb;qCACD;oCACD,WAAW,EAAE,uBAAuB;iCACpC;gCACD;oCACC,WAAW,EAAE,iBAAiB;oCAC9B,IAAI,EAAE,OAAO;oCACb,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,wBAAwB;iCACrC;6BACD;yBACD;qBACD;iBACD;aACD;SACD,CAAC;IA+BH,CAAC;IA7BA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,6BAA6B;YAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,EAAE,EAAE,CAIxE,CAAC;YAEH,MAAM,UAAU,GAAwB,EAAE,CAAC;YAE3C,8BAA8B;YAC9B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;gBAC9B,gCAAgC;gBAChC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;YAED,+CAA+C;YAC/C,UAAU,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,UAAU;aAChB,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AA7GD,wCA6GC"}
1
+ {"version":3,"file":"ParameterInput.node.js","sourceRoot":"","sources":["../../../nodes/ParameterInput/ParameterInput.node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-hebing-parameter-input",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "description": "A custom n8n node for parameter input with bilingual support",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -38,6 +38,7 @@
38
38
  ]
39
39
  },
40
40
  "devDependencies": {
41
+ "@types/node": "^18.0.0",
41
42
  "@typescript-eslint/parser": "^5.0.0",
42
43
  "eslint": "^8.0.0",
43
44
  "eslint-plugin-n8n-nodes-base": "^1.11.0",