oxe
Version:
A mighty tiny web components framework/library
34 lines (25 loc) • 871 B
JavaScript
import booleans from './booleans.js';
import format from './format.js';
const standardRender = function (binder) {
let data = binder.compute();
const boolean = booleans.includes(binder.name);
// binder.node.value = '';
if (boolean) {
data = data ? true : false;
if (data) binder.node.setAttributeNode(binder.node);
else binder.node.removeAttribute(binder.name);
} else {
data = format(data);
binder.node[ binder.name ] = data;
binder.node.setAttribute(binder.name, data);
}
};
const standardDerender = function (binder) {
const boolean = booleanTypes.includes(binder.name);
if (boolean) {
binder.node.removeAttribute(binder.name);
} else {
binder.node.setAttribute(binder.name, '');
}
};
export default { render: standardRender, derender: standardDerender };