gather-ts
Version:
A powerful code analysis and packaging tool designed for creating AI-friendly code representations for javascript and typescript projects.
30 lines (29 loc) • 812 B
TypeScript
import { IService } from "@/types/services";
import { ILogger } from "@/utils/logging/interfaces/ILogger";
export interface ITemplateVariable {
name: string;
description: string;
required: boolean;
defaultValue?: string;
}
export interface ITemplate {
id: string;
content: string;
variables: ITemplateVariable[];
description?: string;
}
export interface ITemplateContext {
[key: string]: string;
}
export interface ITemplateManagerDeps {
logger: ILogger;
}
export interface ITemplateManagerOptions {
debug?: boolean;
}
export interface ITemplateManager extends IService {
registerTemplate(template: ITemplate): void;
getTemplate(id: string): ITemplate;
render(templateId: string, context: ITemplateContext): string;
hasTemplate(id: string): boolean;
}