# Long code in function node...how to wrap

**URL:** https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514
**Category:** General
**Tags:** function-node
**Created:** [19 April 2022 20:09 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514 "2022-04-19T20:09:17Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![Tomadoggy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/tomadoggy/32/34065_2.png) [@Tomadoggy](https://discourse.nodered.org/u/Tomadoggy)
#### Post date: [19 April 2022 20:09 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/1 "2022-04-19T20:09:17Z")

</div>

Noob question here....I have a very long string of code within a function node that is difficult to read and cannot figure out how to "wrap" the code inside the window without breaking the functionality. For instance...msg.topic is hundreds of characters in length and I am getting confused by using the scroll bar and would like to format the window for a more plessant means to check for syntax errors etc.

Can someone please provide the characters/syntax for helping me achieve this? Thanks in advance!

---

<div class="post-metadata">

### Author: ![ghayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ghayne/32/39_2.png) [@ghayne](https://discourse.nodered.org/u/ghayne)
#### Post date: [19 April 2022 20:41 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/2 "2022-04-19T20:41:47Z")

</div>

> [@Tomadoggy](#):
>
> For instance...msg.topic is hundreds of characters in length

Why do you need such a long topic?

---

<div class="post-metadata">

### Author: ![Tomadoggy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/tomadoggy/32/34065_2.png) [@Tomadoggy](https://discourse.nodered.org/u/Tomadoggy)
#### Post date: [19 April 2022 20:43 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/3 "2022-04-19T20:43:15Z")

</div>

It is an insert statement into a SQL database:

````auto
msg.topic="INSERT INTO electrodacus (SOC,cell_1,cell_2,cell_3,cell_4,Batt_Amps,Ext_Load) VALUES ("+msg.payload.soc+""+msg.payload.cell1+","+msg.payload.cell2+","+msg.payload.cell3+","+msg.p```

etc....etc...etc...
````

---

<div class="post-metadata">

### Author: ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)
#### Post date: [19 April 2022 20:46 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/4 "2022-04-19T20:46:02Z")

</div>

Use template literals...

```javascript
msg.topic=`
INSERT INTO electrodacus 
(SOC,cell_1,cell_2,cell_3,cell_4,Batt_Amps,Ext_Load) 
VALUES
(${msg.payload.soc}, ${msg.payload.etc}, ...
`

```

---

<div class="post-metadata">

### Author: ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)
#### Post date: [19 April 2022 20:48 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/5 "2022-04-19T20:48:31Z")

</div>

What database? Mysql? MSSQL? Postgres?

I ask because the better/safer way to build a query is to use a parametrised query.

---

<div class="post-metadata">

### Author: ![Tomadoggy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/tomadoggy/32/34065_2.png) [@Tomadoggy](https://discourse.nodered.org/u/Tomadoggy)
#### Post date: [19 April 2022 20:55 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/6 "2022-04-19T20:55:56Z")

</div>

MYSQL and this is an insert statement

---

<div class="post-metadata">

### Author: ![Tomadoggy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/tomadoggy/32/34065_2.png) [@Tomadoggy](https://discourse.nodered.org/u/Tomadoggy)
#### Post date: [19 April 2022 21:00 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/7 "2022-04-19T21:00:40Z")

</div>

I have tried various iterations of using backticks but get an error of either "ER\_WRONG\_VALUE\_COUNT\_ON\_ROW"

With this

```auto
msg.topic=
`INSERT INTO electrodacus
(SOC,cell_1,cell_2,cell_3,cell_4,Batt_Amps,Ext_Load)
VALUES
("+msg.payload.soc+""+msg.payload.cell1+","+msg.payload.cell2+","+msg.payload.cell3+","+msg.payload.cell4+","+msg.payload.battAmps+","+msg.payload.extLoad+")`
msg.payload=[msg.payload.soc,msg.payload.cell1,msg.payload.cell2,msg.payload.cell3,msg.payload.cell4,msg.payload.battAmps];
return msg;

```

Or

ER\_PARSE\_ERROR  
with this

```auto
msg.topic=
`"INSERT INTO electrodacus
(SOC,cell_1,cell_2,cell_3,cell_4,Batt_Amps,Ext_Load)
VALUES
("+msg.payload.soc+""+msg.payload.cell1+","+msg.payload.cell2+","+msg.payload.cell3+","+msg.payload.cell4+","+msg.payload.battAmps+","+msg.payload.extLoad+")"`
msg.payload=[msg.payload.soc,msg.payload.cell1,msg.payload.cell2,msg.payload.cell3,msg.payload.cell4,msg.payload.battAmps];
return msg;

```

---

<div class="post-metadata">

### Author: ![Tomadoggy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/tomadoggy/32/34065_2.png) [@Tomadoggy](https://discourse.nodered.org/u/Tomadoggy)
#### Post date: [19 April 2022 21:23 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/9 "2022-04-19T21:23:36Z")

</div>

I missed the $ sign and corrected:

```auto
msg.topic=`
INSERT INTO electrodacus
(SOC,cell_1, cell_2, cell_3, cell_4, Batt_Amps,Ext_Load)
VALUES
(${msg.payload.soc}, ${msg.payload.cell1}, ${msg.payload.cell2}, ${msg.payload.cell3}, ${msg.payload.cell4}, ${msg.payload.battAmps}, ${msg.payload.extLoad$}
`
msg.payload=[msg.payload.soc,msg.payload.cell1,msg.payload.cell2,msg.payload.cell3,msg.payload.cell4,msg.payload.battAmps];
return msg;

```

But now get this error

```auto
"Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 4"

```

---

<div class="post-metadata">

### Author: ![Tomadoggy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/tomadoggy/32/34065_2.png) [@Tomadoggy](https://discourse.nodered.org/u/Tomadoggy)
#### Post date: [19 April 2022 21:27 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/10 "2022-04-19T21:27:44Z")

</div>

I have to watch my typing...had and extra $, removed and working...thank you so very much!!

```auto
msg.topic=`
INSERT INTO electrodacus
(SOC,cell_1, cell_2, cell_3, cell_4, Batt_Amps,Ext_Load)
VALUES
(${msg.payload.soc}, ${msg.payload.cell1}, ${msg.payload.cell2}, ${msg.payload.cell3}, ${msg.payload.cell4}, ${msg.payload.battAmps}, ${msg.payload.extLoad})
`
msg.payload=[msg.payload.soc,msg.payload.cell1,msg.payload.cell2,msg.payload.cell3,msg.payload.cell4,msg.payload.battAmps];
return msg;

```

---

<div class="post-metadata">

### Author: ![jmorris644](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/jmorris644/32/31964_2.png) [@jmorris644](https://discourse.nodered.org/u/jmorris644)
#### Post date: [20 April 2022 16:57 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/11 "2022-04-20T16:57:44Z")

</div>

I am curious about this as well. I 'see' the syntax, but I do not 'understand' the syntax.

Can someone please explain the ` and the $ and the {}s ? And their function/use?

Thanks

Joe

---

<div class="post-metadata">

### Author: ![Buckskin](https://avatars.discourse-cdn.com/v4/letter/b/b9e5f3/32.png) [@Buckskin](https://discourse.nodered.org/u/Buckskin)
#### Post date: [20 April 2022 20:36 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/12 "2022-04-20T20:36:38Z")

</div>

Look up 'Template Literals'

> **[Template literals (Template strings) - JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)**
>
> Template literals are literals delimited with backtick (\`) characters, allowing for multi-line strings, for string interpolation with embedded expressions, and for special constructs called tagged templates.

---

<div class="post-metadata">

### Author: ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)
#### Post date: [20 April 2022 21:49 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/13 "2022-04-20T21:49:31Z")

</div>

> [@jmorris644](#):
>
> Can someone please explain the ` and the $ and the {}s ? And their function/use?

A simple code example should explain it...

```auto
const myName = " Joe";
const aStringVar = `Hello ${myName}`;
console.log(aStringVar);

//prints: Hello Joe 

```

This example ↑ is a bit simplistic but should spell out what is happening.

  

Here ↓ is another example to bolster the notion that inside of `${}` is actually being evaluated...

```auto
const ninetyNine = 99;
function toHexadecimal(v) {
  return v.toString(16);
}
const result = `${ninetyNine + 1} decimal equals 0x${toHexadecimal(ninetyNine + 1)} hexadecimal`;
console.log(result);

//prints: 100 decimal equals 0x64 hexadecimal

```

  

This makes building strings with lots of dynamic values much more manageable.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [4 May 2022 21:50 UTC](https://discourse.nodered.org/t/long-code-in-function-node-how-to-wrap/61514/14 "2022-05-04T21:50:00Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
