๐ Schema System Overview
๐ง System Status
- โ Registered Schemas: 0
- โ Architecture: Distributed component-owned
- โ Validation Library: Zod with TypeScript
- โ Auto-Registration: Global schema registry
๐ฏ Active Schemas
๐งช Interactive Schema Testing
- ๐จ themes
- ๐ navbarLinks
- ๐ท๏ธ badgeConfig
- ๐ github
- ๐ version
- ๐ projects
- ๐ฉ Features
๐จ Theme System
Validates theme configuration and CSS file references
Component: ThemeSwitcher
Test Validation:
๐๏ธ Distributed Architecture
๐ Component-Owned Schemas
Each component owns its validation schema:
src/components/
โโโ ThemeSwitcher/
โ โโโ index.tsx
โ โโโ schema.ts โ Component schema
โโโ Projects/
โ โโโ index.tsx
โ โโโ schema.ts โ Component schema
โโโ .../
Benefits:
- โ Component isolation
- โ Better maintainability
- โ Easier testing
- โ Clear ownership
๐ Global Registry
Automatic schema registration and management:
// src/schemas/index.ts
import { validateData } from './index';
// Auto-imports all schemas
const isValid = validateData(
'themes',
themesData
);
Features:
- โ Auto-registration
- โ Centralized validation
- โ Error handling
- โ TypeScript integration
๐ป Implementation Examples
Creating a Component Schema
// src/components/YourComponent/schema.ts
import { z } from 'zod';
export const componentSchema = z.object({
title: z.string(),
items: z.array(z.object({
id: z.string(),
name: z.string(),
optional: z.string().optional()
})),
settings: z.object({
enabled: z.boolean(),
maxItems: z.number().min(1).max(100)
})
});
export const schemaKey = 'yourComponent';
Using Schema Validation
// In your component
import { validateData } from '@site/src/schemas';
export default function YourComponent(props) {
// Validate component data
const isValid = validateData('yourComponent', props.data);
if (!isValid) {
return React.createElement('div', null, 'Invalid configuration');
}
return React.createElement('div', null, 'Valid component content');
}
๐ฏ System Benefits
๐ง Development
- Type-safe validation
- Better error messages
- Automatic IntelliSense
- Catch errors early
๐๏ธ Architecture
- Distributed ownership
- Modular validation
- Easy maintenance
- Clear boundaries
๐ Production
- Runtime validation
- Graceful degradation
- Error reporting
- Configuration safety
๐ Related Resources
Learn more about the schema system and validation architecture: