xatto
Version:
xatto is View Layer Library based on Function and Context using VirtualDOM. This is developed by forking from jorgebucaran/superfine.
24 lines (23 loc) • 671 B
text/typescript
export function updateAttribute (
element: Element,
name,
value,
oldValue,
isSVG: Boolean,
eventProxy: (e: Event) => void
) {
if (name[0] === 'o' && name[1] === 'n') {
const eventName = name.slice(2)
if (!(value instanceof Function)) {
element.removeEventListener(eventName, eventProxy)
} else if (!(oldValue instanceof Function)) {
element.addEventListener(eventName, eventProxy)
}
} else if (!isSVG && name !== 'list' && name in element) {
element[name] = value == null ? '' : value
} else if (value == null || value === false) {
element.removeAttribute(name)
} else {
element.setAttribute(name, value)
}
}