fusor-core 0.1.5

Signals, component ownership and the browser DOM runtime for fusor applications
Documentation
1
export function setTextIfChanged(node, value) { if (node.data !== value) node.data = value; } export function setIntegerTextIfChanged(node, number) { const value = '' + number; if (node.data !== value) node.data = value; } export function setIntegerAttribute(node, name, number) { node.setAttribute(name, '' + number); } export function serverRows(container, name, encoded, count, complete) { const keys = count ? encoded.split('\n') : []; const rows = new Array(count); let node = container.firstElementChild; for (let i = 0; i < count; i++) { if (!node) throw 'missing native row'; if (node.getAttribute(name) !== keys[i]) throw 'native row key mismatch'; rows[i] = node; node = node.nextElementSibling; } if (complete ? node : !node) throw complete ? 'unexpected native row' : 'missing native row'; return rows; } const listeners = []; export function listenBundleOk(nodes, index, name, dispatch, slot, generation) { try { const listener = event => dispatch(slot, generation, event); nodes[index].addEventListener(name, listener); listeners[slot] = listener; return true; } catch (error) { removal = error; return false; } } export function unlistenBundleOk(nodes, index, name, slot) { try { const listener = listeners[slot]; listeners[slot] = undefined; nodes[index].removeEventListener(name, listener); return true; } catch (error) { removal = error; return false; } } export function unlistenOk(target, name, slot) { try { const listener = listeners[slot]; listeners[slot] = undefined; target.removeEventListener(name, listener); return true; } catch (error) { removal = error; return false; } } export function insertBeforeOk(parent, node, anchor) { try { parent.insertBefore(node, anchor); return true; } catch (error) { removal = error; return false; } } let removal; export function takeRemovalFailure() { const error = removal; removal = undefined; return error; } export function listenOk(target, name, dispatch, slot, generation) { try { const listener = event => dispatch(slot, generation, event); target.addEventListener(name, listener); listeners[slot] = listener; return true; } catch (error) { removal = error; return false; } }