The shortest DOM machine I have ever written [Not an Aprils Fool joke]

Liste des GroupesRevenir à cl prolog 
Sujet : The shortest DOM machine I have ever written [Not an Aprils Fool joke]
De : janburse (at) *nospam* fastmail.fm (Mild Shock)
Groupes : comp.lang.prolog
Date : 02. Apr 2025, 22:07:58
Autres entêtes
Message-ID : <vsk8vb$mrkk$1@solani.org>
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.20
Hi,
Ok, today was an interesting day. Well yesterday
was also an interesting day , but I didn't want
to post a DOM machine on april fools day.
But yesterday I came up with:
function fiddle_out(data, buf) {
     let i = 0;
     let k = buf.indexOf("<", i);
     while (k !== -1) {
         let k2 = buf.indexOf(">", k+1);
         if (buf.charCodeAt(k+1) === 47) { // '/'
             data.insertAdjacentHTML("beforeend",
                   buf.substring(i, k));
             data = data.parentElement;
             i = k2+1;
             k = buf.indexOf("<", i);
         } else if (buf.charCodeAt(k2-1) !== 47) { // '/'
             data.insertAdjacentHTML("beforeend",
                   buf.substring(i, k2 + 1));
             data = data.lastElementChild;
             i = k2+1;
             k = buf.indexOf("<", i);
         } else {
             k = buf.indexOf("<", k2+1);
         }
     }
     data.insertAdjacentHTML("beforeend", buf.substring(i));
     return data;
}
And today I came up with the idea that fiddle_out
has not only data as an input argument, but also as
a return value. Namely the DOM cursor before and after.
My streams now have general understanding of
Sinks that are state machines. Every Sink can
be a state machine now, and modify this data.
Holy Cow!
Bye

Date Sujet#  Auteur
2 Apr 25 * The shortest DOM machine I have ever written [Not an Aprils Fool joke]2Mild Shock
2 Apr 25 `- Re: The shortest DOM machine I have ever written [Not an Aprils Fool joke]1Mild Shock

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal