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
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,075 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 81:42:57 |
| Calls: | 13,797 |
| Files: | 186,989 |
| D/L today: |
1,337 files (444M bytes) |
| Messages: | 2,441,057 |