UNPKG

moy-dom

Version:

A flexiable Virtual DOM library for building modern web interface.

30 lines (29 loc) 735 B
import { domAttrs, boolAttrs, } from '../specialAttrs' /** * [setProps set node propertities with given props] * @param {[DOMElement]} node [the node] * @param {[Object]} props [given props] * @return {[undefined]} [undefined] */ export default function setProps(node, props){ for(let [key, value] of Object.entries(props)){ if(domAttrs[key] || /^on\w+/.test(key)){ node[key] = value === undefined ? null : value }else if(boolAttrs[key]){ if(value){ node.setAttribute(key, key) }else{ node.removeAttribute(key) } }else{ if(value === undefined){ node.removeAttribute(key) }else{ node.setAttribute(key, value) } } } }