UNPKG

@chasemoskal/magical

Version:

web toolkit for lit apps

25 lines (23 loc) 515 B
export const attr = (element: HTMLElement) => ({ string: new Proxy({}, { get(target, key: string) { return element.getAttribute(key) }, set(target, key: string, value: string) { element.setAttribute(key, value.toString()) return true }, }), boolean: new Proxy({}, { get(target, key: string) { return element.hasAttribute(key) }, set(target, key: string, value: any) { if (value) element.setAttribute(key, "") else element.removeAttribute(key) return true }, }), })