choojs / choojs/nanohtml

Support array for multiple roots?

Open
#148 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
688
Forks
48
PR merge metrics
No merged PRs in 30d

Description

Here's a case when multiple roots throws an error:

```js
var html = require('nanohtml')

var nums = [10,20,30]

var el = html`

Hello planet



${nums.map(n =>
html`
${n}
`
)}
`
document.body.appendChild(el)
```

Updating nanohtml's `createFragment` to look something like this solves the problem:

```js
function createFragment (nodes) {
var fragment = document.createDocumentFragment()
for (var i = 0; i < nodes.length; i++) {
if (typeof nodes[i] === 'string') nodes[i] = document.createTextNode(nodes[i])

if (Array.isArray(nodes[i])) {
for (var n=0; n < nodes[i].length; n++) {
fragment.appendChild(nodes[i][n])
}
}
else {
fragment.appendChild(nodes[i])
}
}
return fragment
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.