@stacksjs/stx
Version:
A performant UI Framework. Powered by Bun.
28 lines • 1.06 kB
TypeScript
import type { ComponentPropsSchema, CustomDirective } from './types';
/**
* Validate component props against a schema
*
* @param props - The props to validate
* @param schema - The props schema
* @param componentName - Component name for error messages
* @returns Array of validation errors (empty if valid)
*
* @example
* ```typescript
* const schema: ComponentPropsSchema = {
* title: { type: 'string', required: true },
* count: { type: 'number', default: 0 }
* }
* const errors = validateComponentProps({ title: 'Hello' }, schema, 'MyComponent')
* ```
*/
export declare function validateComponentProps(props: Record<string, any>, schema: ComponentPropsSchema, componentName: string): string[];
/**
* Apply default values to props from schema
*/
export declare function applyPropDefaults(props: Record<string, any>, schema: ComponentPropsSchema): Record<string, any>;
/**
* Register component directives
*/
export declare function registerComponentDirectives(): CustomDirective[];
export declare const componentDirective: CustomDirective;