UNPKG

supa-seed

Version:

A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support

95 lines 2.79 kB
/** * Template Engine * Handles template processing and code generation */ import * as handlebars from 'handlebars'; export interface TemplateContext { [key: string]: any; } export interface TemplateOptions { helpers?: Record<string, handlebars.HelperDelegate>; partials?: Record<string, string>; strictMode?: boolean; noEscape?: boolean; } export interface TemplateResult { success: boolean; output?: string; error?: string; warnings?: string[]; } export interface RenderResult extends TemplateResult { } export interface TemplateVariable { name: string; type: 'string' | 'number' | 'boolean' | 'array' | 'object'; required?: boolean; defaultValue?: any; description?: string; validation?: { pattern?: string; min?: number; max?: number; enum?: any[]; }; } export interface TemplateEngineOptions extends TemplateOptions { } /** * Basic template interface for external use */ export interface Template { id: string; name: string; description: string; category: string; content?: string; variables?: Record<string, any>; metadata?: Record<string, any>; } export declare class TemplateEngine { private handlebars; private options; constructor(options?: TemplateOptions); /** * Process a template string with given context */ processTemplate(templateString: string, context: TemplateContext): TemplateResult; /** * Process template from file */ processTemplateFile(filePath: string, context: TemplateContext): Promise<TemplateResult>; /** * Register custom helpers */ registerHelpers(helpers: Record<string, handlebars.HelperDelegate>): void; /** * Register partials */ registerPartials(partials: Record<string, string>): void; /** * Register built-in helpers */ private registerBuiltinHelpers; /** * Create a new template engine instance with additional options */ extend(additionalOptions: TemplateOptions): TemplateEngine; /** * Validate template syntax without processing */ validateTemplate(templateString: string): TemplateResult; /** * Get available helpers */ getHelpers(): string[]; /** * Get available partials */ getPartials(): string[]; } export declare function createTemplateEngine(options?: TemplateOptions): TemplateEngine; export declare function processTemplate(templateString: string, context: TemplateContext, options?: TemplateOptions): TemplateResult; export declare function processTemplateFile(filePath: string, context: TemplateContext, options?: TemplateOptions): Promise<TemplateResult>; export default TemplateEngine; //# sourceMappingURL=template-engine.d.ts.map