From 6de666a67511ade42f7861ed6e86524ba122edca Mon Sep 17 00:00:00 2001 From: Jan Oberhauser Date: Sat, 29 May 2021 14:03:59 -0500 Subject: [PATCH] :zap: Improve default code in Function nodes --- packages/nodes-base/nodes/Function.node.ts | 13 ++++++++++++- packages/nodes-base/nodes/FunctionItem.node.ts | 11 ++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/nodes-base/nodes/Function.node.ts b/packages/nodes-base/nodes/Function.node.ts index 37c1de1f52..3058468dae 100644 --- a/packages/nodes-base/nodes/Function.node.ts +++ b/packages/nodes-base/nodes/Function.node.ts @@ -32,7 +32,18 @@ export class Function implements INodeType { rows: 10, }, type: 'string', - default: 'items[0].json.myVariable = 1;\nreturn items;', + default: `// Code here will run only once, no matter how many input items there are. +// More info and help: https://docs.n8n.io/nodes/n8n-nodes-base.function + +// Loop over inputs and add a new field called 'myNewField' to the JSON of each one +for (item of items) { + item.json.myNewField = 1; +} + +// You can write logs to the browser console +console.log('Done!'); + +return items;`, description: 'The JavaScript code to execute.', noDataExpression: true, }, diff --git a/packages/nodes-base/nodes/FunctionItem.node.ts b/packages/nodes-base/nodes/FunctionItem.node.ts index 3b3ca5e1df..88142fa530 100644 --- a/packages/nodes-base/nodes/FunctionItem.node.ts +++ b/packages/nodes-base/nodes/FunctionItem.node.ts @@ -34,7 +34,16 @@ export class FunctionItem implements INodeType { rows: 10, }, type: 'string', - default: 'item.myVariable = 1;\nreturn item;', + default: `// Code here will run once per input item. +// More info and help: https://docs.n8n.io/nodes/n8n-nodes-base.functionItem + +// Add a new field called 'myNewField' to the JSON of the item +item.myNewField = 1; + +// You can write logs to the browser console +console.log('Done!'); + +return item;`, description: 'The JavaScript code to execute for each item.', noDataExpression: true, },