« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/util/html.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/html.js')
-rw-r--r--src/util/html.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/util/html.js b/src/util/html.js
index 712a0a68..4e243f7d 100644
--- a/src/util/html.js
+++ b/src/util/html.js
@@ -470,6 +470,18 @@ export class Attributes {
     return delete this.#attributes[attribute];
   }
 
+  push(attribute, ...values) {
+    const oldValue = this.get(attribute);
+    const newValue =
+      (Array.isArray(oldValue)
+        ? oldValue.concat(values)
+     : oldValue
+        ? [oldValue, ...values]
+        : values);
+    this.set(attribute, newValue);
+    return newValue;
+  }
+
   toString() {
     return Object.entries(this.attributes)
       .map(([key, val]) => {