javascript / expert
Snippet
Gehärtete Prop-Validierung zur Laufzeit und Integritätsprüfungen
TypeScript bietet Sicherheit zur Build-Zeit, aber die Integrität zur Laufzeit ist ebenso wichtig, besonders beim Umgang mit Daten von externen APIs oder unsicheren 'any'-Casts. Die Verwendung eines Schema-Validators wie Zod innerhalb eines reaktiven Svelte-Blocks stellt sicher, dass die Komponente frühzeitig abbricht oder Fehler elegant handhabt, wenn unerwartete Daten injiziert werden.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { onMount } from 'svelte';import { z } from 'zod';const UserSchema = z.object({id: z.string().uuid(),role: z.enum(['admin', 'editor', 'viewer']),email: z.string().email()});export let userData;$: {try {UserSchema.parse(userData);} catch (e) {console.error('Integrity violation:', e.errors);throw new Error('Critical component state corruption');}}
svelte
Erklärung
1
UserSchema.parse(userData);
Validiert die Eingabe gegen ein striktes Schema und wirft bei Nichtübereinstimmung einen Fehler.
2
$: { ... }
Führt die Validierung jedes Mal neu aus, wenn sich das 'userData'-Prop ändert, um die kontinuierliche Integrität zu wahren.