From dba4aa02c1a58c5fe28f98d75abe8f85ec63e3bf Mon Sep 17 00:00:00 2001 From: nate smith Date: Wed, 14 Feb 2024 20:40:52 -0800 Subject: [PATCH] i am really sorry --- assets/main.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/assets/main.js b/assets/main.js index b1669dc..f3374cd 100644 --- a/assets/main.js +++ b/assets/main.js @@ -4,6 +4,13 @@ const $$ = document.querySelectorAll.bind(document); const initialLines = 10; +// I am truly sorry +function invoker(methodName) { + return function(a) { + return a[methodName](); + } +} + class Button extends HTMLButtonElement { constructor() { super(); @@ -76,9 +83,7 @@ class LineAdder extends Button { class PoemRegenner extends Button { click() { - $$(".unpinned").forEach((e) => { - e.regen(); - }); + $$(".unpinned").forEach(invoker("regen")); } } @@ -119,12 +124,8 @@ class PoemLines extends HTMLDivElement { constructor() { super(); this.addEventListener("reorder", () => { - this.querySelectorAll("button[is=line-downer]").forEach((e) => { - e.checkDisabled(); - }); - this.querySelectorAll("button[is=line-upper]").forEach((e) => { - e.checkDisabled(); - }); + $$("button[is=line-downer]").forEach(invoker("checkDisabled")); + $$("button[is=line-upper]").forEach(invoker("checkDisabled")); }); } @@ -144,9 +145,7 @@ class PoemLines extends HTMLDivElement { } reset() { - this.querySelectorAll("div.line").forEach((e) => { - e.remove(); - }); + this.querySelectorAll("div.line").forEach(invoker("remove")); this.init() }