UNPKG

ruch

Version:

Revolutionary React TypeScript CLI with hexagonal architecture & AI-powered development assistance. Create maintainable, scalable applications with domain-driven design and integrated AI tooling.

36 lines (30 loc) 1.05 kB
export const getPortTemplate = (domainName: string): string => { const capitalizedName = domainName.charAt(0).toUpperCase() + domainName.slice(1); return `import type { ${capitalizedName}Entity, ${capitalizedName}CreationData, ${capitalizedName}UpdateData } from '../entities/${capitalizedName}'; /** * Port interface for ${capitalizedName} domain * This interface defines the contract that adapters must implement */ export interface ${capitalizedName}Port { /** * Get all ${domainName} entities */ getAll(): Promise<${capitalizedName}Entity[]>; /** * Get a ${domainName} entity by ID */ getById(id: string): Promise<${capitalizedName}Entity>; /** * Create a new ${domainName} entity */ create(data: ${capitalizedName}CreationData): Promise<${capitalizedName}Entity>; /** * Update an existing ${domainName} entity */ update(id: string, data: ${capitalizedName}UpdateData): Promise<${capitalizedName}Entity>; /** * Delete a ${domainName} entity */ delete(id: string): Promise<void>; }`; };