javascript / expert
Snippet
Tagged Template Literal Generatoren für Middleware-Intercept-Steuerfluss
Die Kombination von Tagged Template Literals mit Generator-Funktionen ermöglicht die Erstellung deklarativer domänenspezifischer Evaluierungsregeln für die Next.js-Middleware-Ausführung und Zugriffskontrolle.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
export function* routeGuard(strings: TemplateStringsArray, ...values: boolean[]) {for (let i = 0; i < values.length; i++) {if (!values[i]) {yield `Blocked at rule segment: ${strings[i].trim()}`;return;}}yield `Allowed: ${strings.join('').trim()}`;}
nextjs
Erklärung
1
export function* routeGuard(strings: TemplateStringsArray, ...values: boolean[]) {
Deklariert eine Generator-Tag-Funktion, die Literale-Template-Strings und Rest-Parameter für Booleans akzeptiert.
2
for (let i = 0; i < values.length; i++) {
Iteriert sequentiell durch die bereitgestellten booleschen Bedingungsergebnisse.
3
if (!values[i]) {
Prüft, ob der aktuelle Evaluierungsschritt die Autorisierungsbedingung nicht erfüllt hat.
4
yield `Blocked at rule segment: ${strings[i].trim()}`;
Liefert einen Abbruch-String, der auf das fehlgeschlagene Template-Segment hinweist.
5
return;
Beendet den Generator-Steuerfluss sofort nach einem Fehler.
6
}
Schließt den if-Block.
7
}
Schließt die Auswertungsschleife.
8
yield `Allowed: ${strings.join('').trim()}`;
Liefert den Erfolgsstatus, wenn alle Bedingungen erfüllt sind.
9
}
Schließt die Generatorfunktion.