JSFiddle - React, Tailwind, and code Playground
by gianlucaguarini
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.js"></script>
<div id='app'>
</div>
JavaScript
(function(global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.riotDOMBindings = {})));
}(this, (function(exports) {
'use strict';
/**
* Remove the child nodes from any DOM node
* @param {HTMLElement} node - target node
* @returns {undefined}
*/
function cleanNode(node) {
const children = node.childNodes;
children.forEach(n => node.removeChild(n));
}
const EACH = 0;
const IF = 1;
const SIMPLE = 2;
const TAG = 3;
var bindingTypes = {
EACH,
IF,
SIMPLE,
TAG
};
const append = (get, parent, children, start, end, before) => {
if ((end - start) < 2)
parent.insertBefore(get(children[start], 1), before);
else {
const fragment = parent.ownerDocument.createDocumentFragment();
while (start < end)
fragment.appendChild(get(children[start++], 1));
parent.insertBefore(fragment, before);
}
};
const eqeq = (a, b) => a == b;
const identity = O => O;
const indexOf = (
moreNodes,
moreStart,
moreEnd,
lessNodes,
lessStart,
lessEnd,
compare
) => {
const length = lessEnd - lessStart;
/* istanbul ignore if */
if (length < 1)
return -1;
while ((moreEnd - moreStart) >= length) {
let m = moreStart;
let l = lessStart;
while (
m < moreEnd &&
l < lessEnd &&
compare(moreNodes[m], lessNodes[l])
) {
m++;
l++;
}
if (l === lessEnd)
return moreStart;
moreStart = m + 1;
}
return -1;
};
const isReversed = (
futureNodes,
futureEnd,
currentNodes,
currentStart,
currentEnd,
compare
) => {
while (
currentStart < currentEnd &&
compare(
currentNodes[currentStart],
futureNodes[futureEnd - 1]
)) {
currentStart++;
...