import type { SugarElement } from '../node/SugarElement'; import * as Attribute from './Attribute'; export interface AttributeProperty { readonly is: (element: SugarElement) => boolean; readonly remove: (element: SugarElement) => void; readonly set: (element: SugarElement) => void; } export const AttributeProperty = (attribute: string, value: string): AttributeProperty => { const is = (element: SugarElement): boolean => Attribute.get(element, attribute) === value; const remove = (element: SugarElement): void => Attribute.remove(element, attribute); const set = (element: SugarElement): void => Attribute.set(element, attribute, value); return { is, remove, set }; };