git.schokokeks.org
Repositories
Help
Report an Issue
fs-draft.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
784b48a
Branches
Tags
master
midgard
vorlage
fs-draft.git
tools
vorlage
erweiterungen
html.js
schon vielversprechend
Christian Fraß
commited
784b48a
at 2018-08-21 21:40:56
html.js
Blame
History
Raw
"use strict"; exports.__esModule = true; /** * @author fenris */ function zeichenkette_zufaellig(laenge) { var interpolieren = function (x, y, t) { return (((1 - t) * x) + ((t) * y)); }; var zeichenkette = ""; for (var i = 0; i < laenge; ++i) { var code = Math.floor(interpolieren(32, 128, Math.random())); zeichenkette += String.fromCharCode(code); } return zeichenkette; } /** * @author kcf */ function escape_(wert) { return (wert .replace(new RegExp("&", "g"), "&") .replace(new RegExp("<", "g"), "<") .replace(new RegExp(">", "g"), ">") .replace(new RegExp("\"", "g"), """) .replace(new RegExp("'", "g"), "'")); } /** * @author kcf */ function squelch(zeichenkette, laenge) { var stuecke = []; var position = 0; var ende = zeichenkette.length; while (position < ende) { var stueck = zeichenkette.slice(position, Math.min(ende, position + laenge)); stuecke.push(stueck); position += laenge; } return ("<span class=\"ninja\">" + (stuecke .map(function (stueck) { return ([ ("<span>" + escape_(zeichenkette_zufaellig(laenge)) + "</span>"), ("<span>" + escape_(stueck) + "</span>"), ]); }) .reduce(function (x, y) { return x.concat(y); }, []) .join("")) + "</span>"); } /** * @author kcf */ function habitus(modifikatoren) { if (!(modifikatoren .some(function (modifikator) { return (((modifikator.art === "escape") && (modifikator.angaben["ziel"] === "html")) || ((modifikator.art === "squelch") && (modifikator.angaben["ziel"] === "html"))); }))) { return modifikatoren.concat([{ "art": "escape", "angaben": { "ziel": "html" } }]); } else { return modifikatoren; } } /** * @author kcf */ function definieren() { return { "name": "html", "modifikatoren": { "escape": [ { "name": "html", "funktion": function () { return function (wert) { return escape_(wert); }; } }, ], "squelch": [ { "name": "html", "funktion": function (args) { return function (wert) { var laenge = ((args.length > 0) ? parseInt(args.shift()) : 2); return squelch(wert, laenge); }; } }, ] }, "habiti": [ { "name": "html", "funktion": function (modifikatoren) { return habitus(modifikatoren); } }, ] }; } exports.definieren = definieren;