Skip to content

Commit 36c8d85

Browse files
committed
Introducing Majin Buu as core engine to update any content.
Based on Levenshtein distance, Majin Buu can transform any collection of nodes into a new collection. It's not by accident that it plays so well with node lists that from a shape would like to become another, performing the least amount of DOM operations.
1 parent 529fec6 commit 36c8d85

30 files changed

+9669
-1380
lines changed

.npmignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ _config.yml
99
.DS_Store
1010
.gitignore
1111
.travis.yml
12+
majinbuu.js
13+
hyperhtml.js

coverage/coverage.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

coverage/lcov-report/hyperHTML/hyperhtml.js.html

Lines changed: 72 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,24 @@ <h1>
2020
</h1>
2121
<div class='clearfix'>
2222
<div class='fl pad1y space-right2'>
23-
<span class="strong">100% </span>
23+
<span class="strong">98.95% </span>
2424
<span class="quiet">Statements</span>
25-
<span class='fraction'>567/567</span>
25+
<span class='fraction'>568/574</span>
2626
</div>
2727
<div class='fl pad1y space-right2'>
28-
<span class="strong">100% </span>
28+
<span class="strong">98.81% </span>
2929
<span class="quiet">Branches</span>
30-
<span class='fraction'>332/332</span>
30+
<span class='fraction'>332/336</span>
3131
</div>
3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">100% </span>
33+
<span class="strong">98.92% </span>
3434
<span class="quiet">Functions</span>
35-
<span class='fraction'>92/92</span>
35+
<span class='fraction'>92/93</span>
3636
</div>
3737
<div class='fl pad1y space-right2'>
38-
<span class="strong">100% </span>
38+
<span class="strong">98.92% </span>
3939
<span class="quiet">Lines</span>
40-
<span class='fraction'>548/548</span>
40+
<span class='fraction'>549/555</span>
4141
</div>
4242
</div>
4343
</div>
@@ -1314,7 +1314,27 @@ <h1>
13141314
1269
13151315
1270
13161316
1271
1317-
1272</td><td class="line-coverage quiet"><span class="cline-any cline-yes"></span>
1317+
1272
1318+
1273
1319+
1274
1320+
1275
1321+
1276
1322+
1277
1323+
1278
1324+
1279
1325+
1280
1326+
1281
1327+
1282
1328+
1283
1329+
1284
1330+
1285
1331+
1286
1332+
1287
1333+
1288
1334+
1289
1335+
1290
1336+
1291
1337+
1292</td><td class="line-coverage quiet"><span class="cline-any cline-yes"></span>
13181338
<span class="cline-any cline-neutral">&nbsp;</span>
13191339
<span class="cline-any cline-neutral">&nbsp;</span>
13201340
<span class="cline-any cline-neutral">&nbsp;</span>
@@ -1610,6 +1630,26 @@ <h1>
16101630
<span class="cline-any cline-neutral">&nbsp;</span>
16111631
<span class="cline-any cline-neutral">&nbsp;</span>
16121632
<span class="cline-any cline-neutral">&nbsp;</span>
1633+
<span class="cline-any cline-yes"></span>
1634+
<span class="cline-any cline-no">&nbsp;</span>
1635+
<span class="cline-any cline-neutral">&nbsp;</span>
1636+
<span class="cline-any cline-neutral">&nbsp;</span>
1637+
<span class="cline-any cline-neutral">&nbsp;</span>
1638+
<span class="cline-any cline-neutral">&nbsp;</span>
1639+
<span class="cline-any cline-neutral">&nbsp;</span>
1640+
<span class="cline-any cline-neutral">&nbsp;</span>
1641+
<span class="cline-any cline-neutral">&nbsp;</span>
1642+
<span class="cline-any cline-neutral">&nbsp;</span>
1643+
<span class="cline-any cline-neutral">&nbsp;</span>
1644+
<span class="cline-any cline-no">&nbsp;</span>
1645+
<span class="cline-any cline-neutral">&nbsp;</span>
1646+
<span class="cline-any cline-no">&nbsp;</span>
1647+
<span class="cline-any cline-no">&nbsp;</span>
1648+
<span class="cline-any cline-no">&nbsp;</span>
1649+
<span class="cline-any cline-neutral">&nbsp;</span>
1650+
<span class="cline-any cline-no">&nbsp;</span>
1651+
<span class="cline-any cline-neutral">&nbsp;</span>
1652+
<span class="cline-any cline-neutral">&nbsp;</span>
16131653
<span class="cline-any cline-neutral">&nbsp;</span>
16141654
<span class="cline-any cline-neutral">&nbsp;</span>
16151655
<span class="cline-any cline-yes"></span>
@@ -2585,7 +2625,7 @@ <h1>
25852625
<span class="cline-any cline-neutral">&nbsp;</span>
25862626
<span class="cline-any cline-neutral">&nbsp;</span>
25872627
<span class="cline-any cline-yes"></span>
2588-
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">var hyperHTML = (function (globalDocument) {'use strict';
2628+
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">var hyperHTML = (function (globalDocument, majinbuu) {'use strict';
25892629
&nbsp;
25902630
/*! (c) 2017 Andrea Giammarchi @WebReflection, (ISC) */
25912631
&nbsp;
@@ -2880,6 +2920,26 @@ <h1>
28802920
}
28812921
);
28822922
}
2923+
&nbsp;
2924+
<span class="fstat-no" title="function not covered" > function splice(start, deleteCount) {</span>
2925+
<span class="cstat-no" title="statement not covered" > for (var</span>
2926+
tmp,
2927+
i = start,
2928+
cn = this._childNodes,
2929+
ph = this._placeholder,
2930+
pn = ph.parentNode,
2931+
length = cn.length,
2932+
end = deleteCount == null ? length : (start + deleteCount);
2933+
i &lt; length &amp;&amp; i &lt; end; i++
2934+
) {
2935+
<span class="cstat-no" title="statement not covered" > pn.removeChild(cn[i]);</span>
2936+
}
2937+
<span class="cstat-no" title="statement not covered" > tmp = cn[end] || ph;</span>
2938+
<span class="cstat-no" title="statement not covered" > for (i = 2, length = arguments.length; i &lt; length; i++) {</span>
2939+
<span class="cstat-no" title="statement not covered" > pn.insertBefore(arguments[i], tmp);</span>
2940+
}
2941+
<span class="cstat-no" title="statement not covered" > return cn.splice.apply(cn, arguments);</span>
2942+
}
28832943
&nbsp;
28842944
// `&lt;p&gt;${'any'}&lt;/p&gt;`
28852945
// `&lt;li&gt;a&lt;/li&gt;${'virtual'}&lt;li&gt;c&lt;/li&gt;`
@@ -3852,7 +3912,7 @@ <h1>
38523912
// ---------------------------------------------
38533913
return hyper;
38543914
&nbsp;
3855-
}(document));
3915+
}(document/*!majinbuu*/));
38563916
&nbsp;
38573917
// umd.KISS
38583918
try { module.exports = hyperHTML; } catch(o_O) {}
@@ -3862,7 +3922,7 @@ <h1>
38623922
</div><!-- /wrapper -->
38633923
<div class='footer quiet pad2 space-top1 center small'>
38643924
Code coverage
3865-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun Sep 03 2017 10:41:35 GMT+0100 (BST)
3925+
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Sep 05 2017 14:11:35 GMT+0100 (BST)
38663926
</div>
38673927
</div>
38683928
<script src="../prettify.js"></script>

coverage/lcov-report/hyperHTML/index.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,22 @@ <h1>
2222
<div class='fl pad1y space-right2'>
2323
<span class="strong">100% </span>
2424
<span class="quiet">Statements</span>
25-
<span class='fraction'>567/567</span>
25+
<span class='fraction'>605/605</span>
2626
</div>
2727
<div class='fl pad1y space-right2'>
2828
<span class="strong">100% </span>
2929
<span class="quiet">Branches</span>
30-
<span class='fraction'>332/332</span>
30+
<span class='fraction'>341/341</span>
3131
</div>
3232
<div class='fl pad1y space-right2'>
3333
<span class="strong">100% </span>
3434
<span class="quiet">Functions</span>
35-
<span class='fraction'>92/92</span>
35+
<span class='fraction'>97/97</span>
3636
</div>
3737
<div class='fl pad1y space-right2'>
3838
<span class="strong">100% </span>
3939
<span class="quiet">Lines</span>
40-
<span class='fraction'>548/548</span>
40+
<span class='fraction'>590/590</span>
4141
</div>
4242
</div>
4343
</div>
@@ -59,16 +59,16 @@ <h1>
5959
</tr>
6060
</thead>
6161
<tbody><tr>
62-
<td class="file high" data-value="hyperhtml.js"><a href="hyperhtml.js.html">hyperhtml.js</a></td>
62+
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
6363
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
6464
<td data-value="100" class="pct high">100%</td>
65-
<td data-value="567" class="abs high">567/567</td>
65+
<td data-value="605" class="abs high">605/605</td>
6666
<td data-value="100" class="pct high">100%</td>
67-
<td data-value="332" class="abs high">332/332</td>
67+
<td data-value="341" class="abs high">341/341</td>
6868
<td data-value="100" class="pct high">100%</td>
69-
<td data-value="92" class="abs high">92/92</td>
69+
<td data-value="97" class="abs high">97/97</td>
7070
<td data-value="100" class="pct high">100%</td>
71-
<td data-value="548" class="abs high">548/548</td>
71+
<td data-value="590" class="abs high">590/590</td>
7272
</tr>
7373

7474
</tbody>
@@ -77,7 +77,7 @@ <h1>
7777
</div><!-- /wrapper -->
7878
<div class='footer quiet pad2 space-top1 center small'>
7979
Code coverage
80-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun Sep 03 2017 10:41:35 GMT+0100 (BST)
80+
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Sep 06 2017 16:32:47 GMT+0100 (BST)
8181
</div>
8282
</div>
8383
<script src="../prettify.js"></script>

0 commit comments

Comments
 (0)