| 44 | } |
| 45 | |
| 46 | export function createDomNode(tagName: string, { classList = [], attributes = {}, datasets = {} }: ICreateDomOptions = {} as ICreateDomOptions) { |
| 47 | const domNode = document.createElement(tagName); |
| 48 | |
| 49 | for (const className of classList) |
| 50 | domNode.classList.add(className); |
| 51 | |
| 52 | for (const [key, value] of Object.entries(attributes)) |
| 53 | domNode.setAttribute(key, value.toString()); |
| 54 | |
| 55 | for (const [key, value] of Object.entries(datasets)) |
| 56 | domNode.dataset[key] = value.toString(); |
| 57 | |
| 58 | return domNode; |
| 59 | } |
| 60 | |
| 61 | /** |
| 62 | * [description `add` or `remove` className of element |